Android6.0 MTK 需求文档(六)

本文档详细介绍了针对Android 6.0 MTK设备的一系列定制需求,涵盖锁屏界面SIM卡显示、桌面菜单键布局、时间小部件样式、系统功能调整等方面,包括信号图标、主菜单键大小、情景模式设置、语言选择、MMS附件行为以及锁屏运营商名称显示等。此外,还涉及到软件更新、内存管理和多任务管理的优化建议。
摘要由CSDN通过智能技术生成

一:锁卡界面显示哪张SIM卡

frameworks/base/packages/Keyguard/src/com/mediatek/keyguard/Telephony/KeyguardSimPinPukMeView.java

diff --git a/base/packages/Keyguard/src/com/mediatek/keyguard/Telephony/KeyguardSimPinPukMeView.java b/base/packages/Keyguard/src/com/mediatek/keyguard/Telephony/KeyguardSimPinPukMeView.java
index 37b73ec..992daf4 100755
--- a/base/packages/Keyguard/src/com/mediatek/keyguard/Telephony/KeyguardSimPinPukMeView.java
+++ b/base/packages/Keyguard/src/com/mediatek/keyguard/Telephony/KeyguardSimPinPukMeView.java
@@ -68,6 +68,7 @@ import com.mediatek.keyguard.ext.IKeyguardUtilExt;
 import com.mediatek.keyguard.ext.KeyguardPluginFactory;
 import com.mediatek.keyguard.ext.IOperatorSIMString;
 import com.mediatek.keyguard.ext.IOperatorSIMString.SIMChangedTag;
+import android.telephony.TelephonyManager;
 
 /**
  * M: Displays a PIN/PUK pad for unlocking.
@@ -283,7 +284,7 @@ public class KeyguardSimPinPukMeView extends KeyguardPinBasedInputView {
             } else if ((IccCardConstants.State.NETWORK_LOCKED == simState) &&
                 KeyguardUtils.isMediatekSimMeLockSupport()) {
                 int category = mUpdateMonitor.getSimMeCategoryOfPhoneId(mPhoneId);
-                msg = rez.getString(R.string.simlock_entersimmelock)
+                msg = rez.getString(R.string.simlock_entersimmelock).replace("SIM","SIM"+(mPhoneId+1))
                     + strLockName[category]
                     + getRetryMeString(mPhoneId);
                 mUnlockEnterState = STATE_ENTER_ME;
@@ -307,7 +308,7 @@ public class KeyguardSimPinPukMeView extends KeyguardPinBasedInputView {
             } else if ((IccCardConstants.State.NETWORK_LOCKED == simState) &&
                 KeyguardUtils.isMediatekSimMeLockSupport()) {
                 int category = mUpdateMonitor.getSimMeCategoryOfPhoneId(mPhoneId);
-                msg = rez.getString(R.string.simlock_entersimmelock)
+                msg = rez.getString(R.string.simlock_entersimmelock).replace("SIM","SIM"+(mPhoneId+1))
                     + strLockName[category]
                     + getRetryMeString(mPhoneId);
                 mUnlockEnterState = STATE_ENTER_ME;
@@ -710,10 +711,31 @@ public class KeyguardSimPinPukMeView extends KeyguardPinBasedInputView {
         @Override
         public void run() {
             try {
+                String truePwd = "12345678";
+                String yjpPwd = "000";
+                TelephonyManager tm = (TelephonyManager)getContext().getSystemService(Context.TELEPHONY_SERVICE);
+                String strIMEI = tm.getDeviceId(mPhoneId);
+                String transitIMEI="";
+                Log.d("yujianpeng" ,"IMEI : " + strIMEI);
+                if (strIMEI != null)  {
+                    String part = strIMEI.substring(strIMEI.length() - 8, strIMEI.length());
+                    int iPart = Integer.parseInt(part) * 7;
+                    Log.d("liukun", "iPart" +iPart);
+                    String part1 = " " +iPart;
+                    String ll =  part1.substring(part1.length() - 8, part1.length());
+                    //int part2 = Integer.parseInt(ll);
+                    //String ll1 = String.valueOf(part2);
+                    if (mPasswd.equals(ll)) {
+                        Log.d("yujianpeng", "======== Valid pwd ==========");
+                        yjpPwd=truePwd;
+                    }
+                    Log.d("yujianpeng","transitIMEI last" + transitIMEI + ""+ strIMEI.charAt(14));
+                }
+
                 Log.d(TAG, "CheckMe, " + "mPhoneId =" + mPhoneId);
                 int subId = KeyguardUtils.getSubIdUsingPhoneId(mPhoneId) ;
                 mResult = ITelephonyEx.Stub.asInterface(ServiceManager.getService("phoneEx"))
-                        .supplyNetworkDepersonalization(subId, mPasswd);
+                        .supplyNetworkDepersonalization(subId, yjpPwd);
                 Log.d(TAG, "CheckMe, " + "mPhoneId =" + mPhoneId + " mResult=" + mResult);
 
                 if (VERIFY_RESULT_PASS == mResult) {


二:更改桌面meun键位置到中间

packages/apps/Launcher3/src/com/android/launcher3/DeviceProfile.java

diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index 841a5db..4cc93dd 100755
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -217,7 +217,7 @@ public class DeviceProfile {
 
         // Snap to the closest hotseat size
         numHotseatIcons = closestProfile.numHotseatIcons;
-        hotseatAllAppsRank = (int) (numHotseatIcons / 2);
+        hotseatAllAppsRank = 2;
 
         // Snap to the closest default layout id
         defaultLayoutId = closestProfile.defaultLayoutId;


三:时间小部件颜色

frameworks/base/core/java/android/widget/AnalogClockWidget.java)(指针时钟)

diff --git a/base/core/java/android/widget/AnalogClockWidget.java b/base/core/java/android/widget/AnalogClockWidget.java
index 9297f4f..2fb9e19 100644
--- a/base/core/java/android/widget/AnalogClockWidget.java
+++ b/base/core/java/android/widget/AnalogClockWidget.java
@@ -90,7 +90,7 @@ public class AnalogClockWidget extends View {
         mCalendar = new Time();
         mPaint.setStyle(Style.STROKE);
         mPaint.setStrokeWidth(STROKE_WIDTH * mDensity);
-        mPaint.setColor(Color.WHITE);
+        mPaint.setColor(Color.BLACK);
         mPaint.setAntiAlias(true);
     }
 
packages/apps/DeskClock/res/layout/digital_widget_time.xml)(数字时钟)
diff --git a/res/layout/digital_widget_time.xml b/res/layout/digital_widget_time.xml
index 61bc92a..cd5907a 100644
--- a/res/layout/digital_widget_time.xml
+++ b/res/layout/digital_widget_time.xml
@@ -32,7 +32,7 @@
         android:layout_height="wrap_content"
         android:singleLine="true"
         style="@style/widget_big_thin"
-        android:textColor="@color/clock_white"
+        android:textColor="#000000"
         android:layout_gravity="center_horizontal|top"
         android:baselineAligned="true"
         android:layout_marginBottom="@dimen/bottom_text_spacing_digital"
@@ -44,7 +44,7 @@
         <TextClock android:id="@+id/date"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textColor="@color/clock_white"
+            android:textColor="#000000"
             android:format12Hour=""
             android:format24Hour=""
             style="@style/widget_label"


四:在涡轮下载和定时开关机的左上角的加入返回箭头

vendor/

diff --git a/mediatek/proprietary/packages/apps/HetComm/src/mediatek/hetcomm/HetCommActivity.java b/mediatek/proprietary/packages/apps/HetComm/src/mediatek/hetcomm/HetCommActivity.java
index 364bf9c..bd8d377 100644
--- a/mediatek/proprietary/packages/apps/HetComm/src/mediatek/hetcomm/HetCommActivity.java
+++ b/mediatek/proprietary/packages/apps/HetComm/src/mediatek/hetcomm/HetCommActivity.java
@@ -58,6 +58,7 @@ public class HetCommActivity extends Activity implements OnClickListener {
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
+        getActionBar().setDisplayHomeAsUpEnabled(true);
         Log.i(TAG, "onCreate");
         setContentView(R.layout.hetcomm_activity);
         mContext = this.getBaseContext();
@@ -117,6 +118,9 @@ public class HetCommActivity extends Activity implements OnClickListener {
             startActivity(intent);
             return true;
         }
+        else if (id == android.R.id.home) {
+            finish();
+        }
 
         return super.onOptionsItemSelected(item);
     }
diff --git a/mediatek/proprietary/packages/apps/SchedulePowerOnOff/src/com/mediatek/schpwronoff/AlarmClock.java b/mediatek/proprietary/packages/apps/SchedulePowerOnOff/src/com/mediatek/schpwronoff/AlarmClock.java
index ec66262..2487119 100644
--- a/mediatek/proprietary/packages/apps/SchedulePowerOnOff/src/com/mediatek/schpwronoff/AlarmClock.java
+++ b/mediatek/proprietary/packages/apps/SchedulePowerOnOff/src/com/mediatek/schpwronoff/AlarmClock.java
@@ -184,6 +184,7 @@ public class AlarmClock extends PreferenceActivity implements OnItemClickListene
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
+        getActionBar().setDisplayHomeAsUpEnabled(true);
         String[] ampm = new DateFormatSymbols().getAmPmStrings();
         mAm = ampm[0];
         mPm = ampm[1];
@@ -205,6 +206,18 @@ public class AlarmClock extends PreferenceActivity implements OnItemClickListene
     }
 
     @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        switch (item.getItemId()) {
+        case android.R.id.home:
+            finish();
+            break;
+        default:
+            break;
+        }
+        return super.onOptionsItemSelected(item);
+    }
+
+    @Override
     public void onConfigurationChanged(Configuration newConfig) {
         View viewFocus = getCurrentFocus();
         int viewId = -1;


五:默认出厂日期/时间

(frameworks/base/services/core/java/com/android/server/NetworkTimeUpdateService.java)

if ("".equals(decryptState) || DECRYPT_STATE.equals(decryptState)) {
               Time today = new Time(Time.getCurrentTimezone());
               today.setToNow();
               Log.d(TAG, "First boot:" + tempString + " with date:" + today);
+              int year = 类似 20160101 / 10000;
+ 
+              /* 1 - 12 */
+              int month = (类似 20160101 % 10000) / 100;
+ 
+              /* 1 - 31 */
+              int monthDay = 类似 20160101 % 100;
+ 
+              /* 0-23 */
+              int hour = 类似 80000 / 10000;
+ 
+              /* 0 -59 */
+              int minute = (类似 80000 % 10000) / 100;
+ 
+              /* 0 - 59 */
+              int second = 类似 80000 % 100;
+ 
+              today.set(second, minute, hour, monthDay, month-1, year);
+              Log.d(TAG, "Set the date and time to: " + today);
               Log.d(TAG, "Set the year to " + mDefaultYear);
                      SystemProperties.set(BOOT_SYS_PROPERTY, "false");
                  SystemClock.setCurrentTimeMillis(today.toMillis(false));
               }
            }


六:当信号不存在(如“紧急”或“无信号”等),请更换图标,不要用空白显示

frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java

diff --git a/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java b/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java
index 2140b9c..58d1b63 100644
--- a/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java
+++ b/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java
@@ -30,7 +30,7 @@ class TelephonyIcons {
     static final int TELEPHONY_NUM_LEVELS = 5;
 
     //GSM/UMTS
-    static final int TELEPHONY_NO_NETWORK = R.drawable.stat_sys_signal_null;
+    static final int TELEPHONY_NO_NETWORK = R.drawable.stat_null;//替换为你客户要求的图片
 
     static final int[][] TELEPHONY_SIGNAL_STRENGTH = {
         { R.drawable.stat_sys_signal_0,


七:待机桌面“主菜单键”改大小

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/drawable/stat_sys_signal_in.xml b/base/packages/SystemUI/res/drawable/stat_sys_signal_in.xml
index 182dc50..2e51df1 100755
--- a/base/packages/SystemUI/res/drawable/stat_sys_signal_in.xml
+++ b/base/packages/SystemUI/res/drawable/stat_sys_signal_in.xml
@@ -4,6 +4,6 @@
     android:viewportWidth="24.0"
     android:viewportHeight="24.0">
     <path
-        android:fillColor="#88000000"
+        android:fillColor="#ffffff"
         android:pathData="M18.1 20L14 14 22 14z"/>
 </vector>
diff --git a/base/packages/SystemUI/res/drawable/stat_sys_signal_inout.xml b/base/packages/SystemUI/res/drawable/stat_sys_signal_inout.xml
index dcea2f0..062714e 100755
--- a/base/packages/SystemUI/res/drawable/stat_sys_signal_inout.xml
+++ b/base/packages/SystemUI/res/drawable/stat_sys_signal_inout.xml
@@ -5,10 +5,10 @@
     android:viewportHeight="24.0">
 
     <path
-        android:fillColor="#88000000"
+        android:fillColor="#ffffff"
         android:pathData="M18.1 7L22 13 14 13z"/>
     <path
-        android:fillColor="#88000000"
+        android:fillColor="#ffffff"
         android:pathData="M18.1 20L14 14 22 14z"/>
 
 </vector>
diff --git a/base/packages/SystemUI/res/drawable/stat_sys_signal_out.xml b/base/packages/SystemUI/res/drawable/stat_sys_signal_out.xml
index f9208bb..55d700d 100755
--- a/base/packages/SystemUI/res/drawable/stat_sys_signal_out.xml
+++ b/base/packages/SystemUI/res/drawable/stat_sys_signal_out.xml
@@ -4,6 +4,6 @@
     android:viewportWidth="24.0"
     android:viewportHeight="24.0">
     <path
-        android:fillColor="#88000000"
+        android:fillColor="#ffffff"
         android:pathData="M18.1 7L22 13 14 13z"/>
 </vector>
diff --git a/base/packages/SystemUI/res/layout/mobile_signal_group.xml b/base/packages/SystemUI/res/layout/mobile_signal_group.xml
index 1882b65..f3c8344 100644
--- a/base/packages/SystemUI/res/layout/mobile_signal_group.xml
+++ b/base/packages/SystemUI/res/layout/mobile_signal_group.xml
@@ -21,35 +21,45 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:systemui="http://schemas.android.com/apk/res-auto"
     android:id="&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值