一:相机连拍声音要比成像速度快
(vendor/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/util/CaptureSound.java)
diff --git a/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/util/CaptureSound.java b/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/util/CaptureSound.java
index da3f719..eda174c 100755
--- a/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/util/CaptureSound.java
+++ b/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/util/CaptureSound.java
@@ -73,12 +73,13 @@ public class CaptureSound {
// force load if user don't call load before play.
load();
}
- mStreamId = mBurstSound.play(mSoundId, 1.0f, 1.0f, 1, -1, 1.0f);
+ mStreamId = mBurstSound.play(mSoundId, 1.0f, 1.0f, 1, -1, 0.5f);
if (mStreamId == 0) {
// play failed,load and play again.
load();
mUserCount--;
- mStreamId = mBurstSound.play(mSoundId, 1.0f, 1.0f, 1, -1, 1.0f);
+ mStreamId = mBurstSound.play(mSoundId, 1.0f, 1.0f, 1, -1, 0.5f);
Log.i(TAG, "[play]done mStreamId = " + mStreamId);
}
}
二:禁用USSD
(framworks/opt/telephony/src/java/com/android/internal/telephony/gsm/GsmMmiCode.java)
+diff --git a/opt/telephony/src/java/com/android/internal/telephony/gsm/GsmMmiCode.java b/opt/telephony/src/java/com/android/internal/telephony/gsm/GsmMmiCode.java
+index 621aab7..cafaccb 100644
+--- a/opt/telephony/src/java/com/android/internal/telephony/gsm/GsmMmiCode.java
++++ b/opt/telephony/src/java/com/android/internal/telephony/gsm/GsmMmiCode.java
+@@ -765,12 +765,12 @@ public final class GsmMmiCode extends Handler implements MmiCode {
+ static private boolean isShortCodeUSSD(String dialString, GSMPhone phone) {
+ if (dialString != null && dialString.length() <= MAX_LENGTH_SHORT_CODE) {
+ if (phone.isInCall()) {
+- return true;
++ return false;
+ }
+
+ if (dialString.length() != MAX_LENGTH_SHORT_CODE ||
+ dialString.charAt(0) != '1') {
+- return true;
++ return false;
+ }
+ }
+ return false;
三:桌面添加联系人小部件,点击拨号,提示需要开启权限
(frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java)
diff --git a/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java b/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java
index 73418b0..94c94ff 100644
--- a/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java
+++ b/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java
@@ -259,6 +259,10 @@ final class DefaultPermissionGrantPolicy {
syncAdapterPackagesProvider.getPackages(CalendarContract.AUTHORITY, userId) : null;
synchronized (mService.mPackages) {
+ PackageParser.Package launcherPackage = getSystemPackageLPr("com.android.launcher3");
+ if (launcherPackage != null) {
+ grantRuntimePermissionsLPw(launcherPackage, PHONE_PERMISSIONS, true, userId);
+ }
// Installer
PackageParser.Package installerPackage = getSystemPackageLPr(
mService.mRequiredInstallerPackage);
四:状态栏显示信号旁的网络标志
(frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java)
boolean anyMobileVisible = false;
/// M: Support for [Network Type on Statusbar]
/// A spacer is set between networktype and WIFI icon @ {
+ if (能进去就是允许显示) {
anyMobileVisible = true;
+ }
/// @ }
int firstMobileTypeId = 0;
private void setNetworkIcon() {
// Network type is CTA feature, so non CTA project should not set this.
+ if (不能进去就是允许显示) {
+ return;
+ }
if (mNetworkIcon == 0) {
mNetworkType.setVisibility(View.GONE);
} else {
mNetworkType.setImageResource(mNetworkIcon);
mNetworkType.setVisibility(View.VISIBLE);
}
}
五:插入漫游4G卡,进入浏览器输入网址正常工作时,状态栏图标需要做成附图显示
(frameworks/)
diff --git a/base/packages/SystemUI/extcb/com/mediatek/systemui/statusbar/extcb/NetworkType.java b/base/packages/SystemUI/extcb/com/mediatek/systemui/statusbar/extcb/NetworkType.java
index 6d666bd..41f04c4 100755
--- a/base/packages/SystemUI/extcb/com/mediatek/systemui/statusbar/extcb/NetworkType.java
+++ b/base/packages/SystemUI/extcb/com/mediatek/systemui/statusbar/extcb/NetworkType.java
@@ -23,7 +23,7 @@ import static android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN;
*/
public enum NetworkType {
- Type_G(0), Type_3G(1), Type_1X(2), Type_1X3G(3), Type_4G(4), Type_E(5);
+ Type_G(0), Type_3G(1), Type_1X(2), Type_1X3G(3), Type_4G(4), Type_E(5), Type_R(6);
private int mTypeId;
diff --git a/base/packages/SystemUI/res/layout/mobile_signal_group.xml b/base/packages/SystemUI/res/layout/mobile_signal_group.xml
index 1882b65..d3be767 100644
--- a/base/packages/SystemUI/res/layout/mobile_signal_group.xml
+++ b/base/packages/SystemUI/res/layout/mobile_signal_group.xml
@@ -39,11 +39,22 @@
android:alpha="0.0"
systemui:hasOverlappingRendering="false"
/>
- <ImageView
- android:id="@+id/mobile_type"
+ <RelativeLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
- />
+ >
+ <ImageView
+ android:id="@+id/mobile_r_type"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ />
+ <ImageView
+ android:id="@+id/mobile_type"
+ android:layout_toRightOf ="@id/mobile_r_type"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ />
+ </RelativeLayout>
<!--
-->
<ImageView
diff --git a/base/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/base/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
index f785be8..8b75fa4 100644
--- a/base/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
+++ b/base/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
@@ -63,6 +63,7 @@ import java.util.List;
*/
import com.android.featureoption.FeatureOption;
// End of Vanzo:tanglei
+import com.mediatek.systemui.statusbar.extcb.NetworkType;
// Intimately tied to the design of res/layout/signal_cluster_view.xml
public class SignalClusterView
@@ -331,6 +332,12 @@ public class SignalClusterView
apply();
}
+ public void setRType(NetworkType networkType, int subId) {
+ Log.d(TAG, "setNetworkType(" + subId + "), NetworkType= " + networkType);
+ PhoneState state = getOrInflateState(subId);
+ state.mRType = networkType;
+ }
+
@Override
public void setEthernetIndicators(IconState state) {
mEthernetVisible = state.visible && !mBlockEthernet;
@@ -667,6 +674,8 @@ public class SignalClusterView
/// Support [SIM Indicator]
private int mSignalBackgroundIconId;
+ private NetworkType mRType;//ROAMING
+ private ImageView mRNetworkType;//ROAMING img
/// @ }
/*
* add signal up and down icon
@@ -705,6 +714,7 @@ public class SignalClusterView
mMobileDark = (ImageView) root.findViewById(R.id.mobile_signal_dark);
mMobileType = (ImageView) root.findViewById(R.id.mobile_type);
mNetworkType = (ImageView) root.findViewById(R.id.network_type);
+ mRNetworkType = (ImageView) root.findViewById(R.id.mobile_r_type);
/// M: Add for CT 6M. adjust data and activity icon. @{
if (FeatureOptionUtils.isMTK_CT6M_SUPPORT()) {
// add primary sim card
@@ -764,6 +774,16 @@ public class SignalClusterView
ad.start();
}
}
+ if (!mIsAirplaneMode && mRType != null) {
+ int id = R.drawable.stat_sys_data_fully_connected_roam;
+ Log.d(TAG, "apply(), mNetworkType= " + mNetworkType + " resId= " + id);
+ mRNetworkType.setImageResource(id);
+ mRNetworkType.setVisibility(View.VISIBLE);
+ } else {
+ mRNetworkType.setImageDrawable(null);
+ mRNetworkType.setVisibility(View.GONE);
+ }
+
/// M: Add for CT6M. add activity icon @{
if (FeatureOptionUtils.isMTK_CT6M_SUPPORT()) {
mMobileDataActivity.setImageResource(
diff --git a/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/CallbackHandler.java b/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/CallbackHandler.java
index 32300f2..e811910 100644
--- a/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/CallbackHandler.java
+++ b/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/CallbackHandler.java
@@ -28,6 +28,7 @@ import com.mediatek.systemui.statusbar.defaultaccount.DefaultAccountStatus;
import java.util.ArrayList;
import java.util.List;
+import com.mediatek.systemui.statusbar.extcb.NetworkType;
/**
* Implements network listeners and forwards the calls along onto other listeners but on
@@ -152,6 +153,19 @@ public class CallbackHandler extends Handler implements EmergencyListener, Signa
}
@Override
+ public void setRType(final NetworkType networkType, final int subId) {
+ post(new Runnable() {
+ @Override
+ public void run() {
+ for (SignalCallback signalCluster : mSignalCallbacks) {
+ ///M: Support[Network Type on StatusBar]. Add one more parameter networkIcon.
+ signalCluster.setRType(networkType, subId);
+ }
+ }
+ });
+ }
+
+ @Override
public void setSubs(List<SubscriptionInfo> subs) {
obtainMessage(MSG_SUBS_CHANGED, subs).sendToTarget();
}
diff --git a/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
index 3c6f366..0c0986e 100644
--- a/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
+++ b/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
@@ -59,6 +59,7 @@ import java.util.Objects;
*/
import com.android.featureoption.FeatureOption;
// End of Vanzo: yucheng
+import com.mediatek.systemui.statusbar.extcb.NetworkType;
public class MobileSignalController extends SignalController<
@@ -94,6 +95,7 @@ public class MobileSignalController extends S