1. 程式人生 > >Android6.0 MTK 需求文件(四)

Android6.0 MTK 需求文件(四)

一:取消使用者模式

(frameworks/)

diff --git a/base/packages/SystemUI/res/layout/keyguard_status_bar.xml b/base/packages/SystemUI/res/layout/keyguard_status_bar.xml
index b5f917a..9eb3ce9 100644
--- a/base/packages/SystemUI/res/layout/keyguard_status_bar.xml
+++ b/base/packages/SystemUI/res/layout/keyguard_status_bar.xml
@@ -29,6 +29,7 @@
         android:layout_width="@dimen/multi_user_switch_width_keyguard"
         android:layout_height="@dimen/status_bar_header_height_keyguard"
         android:layout_alignParentEnd="true"
+        android:visibility="gone"
         android:background="@drawable/ripple_drawable"
         android:layout_marginEnd="@dimen/multi_user_switch_keyguard_margin">
         <ImageView android:id="@+id/multi_user_avatar"
@@ -41,7 +42,7 @@
     <LinearLayout android:id="@+id/system_icons_super_container"
         android:layout_width="wrap_content"
         android:layout_height="@dimen/status_bar_header_height"
-        android:layout_toStartOf="@id/multi_user_switch"
+        android:layout_alignParentEnd="true"
         android:layout_alignWithParentIfMissing="true"
         android:layout_marginStart="16dp"
         android:paddingEnd="@dimen/system_icons_keyguard_padding_end">
diff --git a/base/packages/SystemUI/res/layout/status_bar_expanded_header.xml b/base/packages/SystemUI/res/layout/status_bar_expanded_header.xml
index 5eca471..8659a02 100644
--- a/base/packages/SystemUI/res/layout/status_bar_expanded_header.xml
+++ b/base/packages/SystemUI/res/layout/status_bar_expanded_header.xml
@@ -35,6 +35,7 @@
     <com.android.systemui.statusbar.phone.MultiUserSwitch android:id="@+id/multi_user_switch"
         android:layout_width="@dimen/multi_user_switch_width_collapsed"
         android:layout_height="@dimen/status_bar_header_height"
+        android:visibility="gone"
         android:layout_alignParentEnd="true"
         android:background="@drawable/ripple_drawable" >
         <ImageView android:id="@+id/multi_user_avatar"
@@ -50,7 +51,7 @@
         android:layout_height="@dimen/status_bar_header_height"
         android:clipChildren="false"
         android:clipToPadding="false"
-        android:layout_toStartOf="@id/multi_user_switch">
+        android:layout_alignParentEnd="true">
 
         <com.android.systemui.statusbar.phone.SettingsButton android:id="@+id/settings_button"
             style="@android:style/Widget.Material.Button.Borderless"

(packages/apps/Settings/src/com/android/settings/SettingsActivity.java)

diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 8527713..2312ab9 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -1393,6 +1393,7 @@ public class SettingsActivity extends Activity
                             || Utils.isMonkeyRunning()) {
                         removeTile = true;
                     }
+                        removeTile = true;
                 } else if (id == R.id.nfc_payment_settings) {
                     if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)) {
                         removeTile = true;


二:mtp和ptp可不加下劃線

(frameworks/)

diff --git a/av/media/mtp/MtpServer.cpp b/av/media/mtp/MtpServer.cpp
index 769c9b7..29a2f9d 100755
--- a/av/media/mtp/MtpServer.cpp
+++ b/av/media/mtp/MtpServer.cpp
@@ -499,7 +499,7 @@ MtpResponseCode MtpServer::doGetDeviceInfo() {
     mData.putString(string);   // Manufacturer
 
     property_get("ro.product.model", prop_value, "MTP Device");
-    string.set(prop_value);
+    string.set("不加下劃線的mtp名稱");
     mData.putString(string);   // Model
     string.set("1.0");
     mData.putString(string);   // Device Version
diff --git a/base/media/java/android/mtp/MtpDatabase.java b/base/media/java/android/mtp/MtpDatabase.java
index 0100695..4898a23 100755
--- a/base/media/java/android/mtp/MtpDatabase.java
+++ b/base/media/java/android/mtp/MtpDatabase.java
@@ -41,6 +41,7 @@ import java.io.File;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Locale;
+import android.os.SystemProperties;
 
 /**
  * {@hide}
@@ -844,17 +845,82 @@ public class MtpDatabase {
     private int getDeviceProperty(int property, long[] outIntValue, char[] outStringValue) {
         Log.d(TAG, "getDeviceProperty  property = 0x" + Integer.toHexString(property));
 
+        String value = "",deviceName;
+        int length = 0,lengthDeviceName = 0;
         switch (property) {
             case MtpConstants.DEVICE_PROPERTY_SYNCHRONIZATION_PARTNER:
+                //Ainge
+                // writable string properties kept in shared preferences
+                value = mDeviceProperties.getString(Integer.toString(property), ""); 
+                length = value.length();
+                if (length > 255) {
+                    length = 255; 
+                }    
+                value.getChars(0, length, outStringValue, 0);
+                outStringValue[length] = 0; 
+                /// M: Added for USB Develpment debug, more log for more debuging help @{
+                if(length > 0) { 
+                    Log.d(TAG, "getDeviceProperty  property = " + Integer.toHexString(property));
+                    Log.d(TAG, "getDeviceProperty  value = " + value + ", length = " + length);
+                }    
+                Log.d(TAG, "getDeviceProperty  length = " + length);
+
+                /// M: Added Modification for ALPS00278882 @{
+                // Return the device name for the PC display if the FriendlyName is empty!!
+                deviceName = "不加下劃線的ptp名稱";
+
+                lengthDeviceName = deviceName.length();
+                if (lengthDeviceName > 255) {
+                    lengthDeviceName = 255; 
+                }    
+                if(lengthDeviceName >0) {
+                    deviceName.getChars(0, lengthDeviceName, outStringValue, 0);
+                    outStringValue[lengthDeviceName] = 0; 
+                    Log.d(TAG, "getDeviceProperty  deviceName = " + deviceName + ", lengthDeviceName = " + lengthDeviceName);
+                } else {
+                    Log.d(TAG, "getDeviceProperty  lengthDeviceName = " + lengthDeviceName);
+                }    
+                /// M: @}
+                //Ainge
+                return MtpConstants.RESPONSE_OK;
             case MtpConstants.DEVICE_PROPERTY_DEVICE_FRIENDLY_NAME:
                 // writable string properties kept in shared preferences
-                String value = mDeviceProperties.getString(Integer.toString(property), "");
-                int length = value.length();
+                value = mDeviceProperties.getString(Integer.toString(property), "");
+                length = value.length();
                 if (length > 255) {
                     length = 255;
                 }
                 value.getChars(0, length, outStringValue, 0);
                 outStringValue[length] = 0;
+                /// M: Added for USB Develpment debug, more log for more debuging help @{
+                if(length > 0) {
+                    Log.d(TAG, "getDeviceProperty  property = " + Integer.toHexString(property));
+                    Log.d(TAG, "getDeviceProperty  value = " + value + ", length = " + length);
+                }
+                else if(SystemProperties.get("ro.sys.usb.mtp.whql.enable").equals("0"))
+                {
+                    Log.d(TAG, "getDeviceProperty  length = " + length);
+                    /// M: Added Modification for ALPS00278882 @{
+                    if(property == MtpConstants.DEVICE_PROPERTY_DEVICE_FRIENDLY_NAME) {
+                        // Return the device name for the PC display if the FriendlyName is empty!!
+                        deviceName = "Nova i4";
+
+                        lengthDeviceName = deviceName.length();
+                        if (lengthDeviceName > 255) {
+                            lengthDeviceName = 255;
+                        }
+                        if(lengthDeviceName >0) {
+                            deviceName.getChars(0, lengthDeviceName, outStringValue, 0);
+                            outStringValue[lengthDeviceName] = 0;
+                            Log.d(TAG, "getDeviceProperty  deviceName = " + deviceName + ", lengthDeviceName = " + lengthDeviceName);
+                        } else {
+                            Log.d(TAG, "getDeviceProperty  lengthDeviceName = " + lengthDeviceName);
+                        }
+                    }
+                    /// M: @}
+                }
+                /// M: @}
+
                 return MtpConstants.RESPONSE_OK;
 
             case MtpConstants.DEVICE_PROPERTY_IMAGE_SIZE:



三:預設顯示通話記錄介面


(packages/apps/Dialer/src/com/android/dialer/list/ListsFragment.java)

diff --git a/src/com/android/dialer/list/ListsFragment.java b/src/com/android/dialer/list/ListsFragment.java
index f01a475..5a3e706 100644
--- a/src/com/android/dialer/list/ListsFragment.java
+++ b/src/com/android/dialer/list/ListsFragment.java
@@ -214,7 +214,7 @@ public class ListsFragment extends Fragment
         mViewPager.setAdapter(mViewPagerAdapter);
         mViewPager.setOffscreenPageLimit(TAB_COUNT_WITH_VOICEMAIL - 1);
         mViewPager.setOnPageChangeListener(this);
-        showTab(TAB_INDEX_SPEED_DIAL);
+        showTab(TAB_INDEX_RECENTS);
 
         mTabTitles = new String[TAB_COUNT_WITH_VOICEMAIL];
         mTabTitles[TAB_INDEX_SPEED_DIAL] = getResources().getString(R.string.tab_speed_dial);


四:開機卡頓的情況下,剛進入Launcher就點選主選單按鈕的話,主選單圖示會和桌面圖示會重疊顯示

(packages/apps/Launcher3/src/com/android/launcher3/Launcher.java)

其實很簡單,只要讓使用者第一次點選時休眠2S就好了

diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 9366659..8b3ea5a 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -255,7 +255,7 @@ public class Launcher extends Activity
     public static final int EXIT_SPRINGLOADED_MODE_SHORT_TIMEOUT = 300;
     private static final int ON_ACTIVITY_RESULT_ANIMATION_DELAY = 500;
     private static final int ACTIVITY_START_DELAY = 1000;
-
+    private int mSleep = 0;
     private HashMap<Integer, Integer> mItemIdToViewId = new HashMap<Integer, Integer>();
     private static final AtomicInteger sNextGeneratedId = new AtomicInteger(1);
 
@@ -2887,7 +2887,19 @@ public class Launcher extends Activity
                 onClickFolderIcon(v);
             }
         } else if (v == mAllAppsButton) {
-            onClickAllAppsButton(v);
+            if(mSleep == 0){
+                Handler handler = new Handler();
+                handler.postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        mSleep = 1;
+                        onClickAllAppsButton(mAllAppsButton);
+                    }
+                }, 2000);
+            }
+            else{
+                onClickAllAppsButton(v);
+            }
         } else if (tag instanceof AppInfo) {
             startAppShortcutOrInfoActivity(v);
         } else if (tag instanceof LauncherAppWidgetInfo) {


五:主選單介面做成全透明

(packages/apps/Launcher3/)

diff --git a/res/values/styles.xml b/res/values/styles.xml
index 7d60cbe..dc9511c 100755
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -41,7 +41,7 @@
 
     <style name="Icon.AllApps">
         <item name="android:background">@null</item>
-        <item name="android:textColor">@color/quantum_panel_text_color</item>
+        <item name="android:textColor">@color/outline_color</item>
         <item name="android:drawablePadding">@dimen/dynamic_grid_icon_drawable_padding</item>
         <item name="android:shadowRadius">0</item>
         <item name="customShadows">false</item>
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java
index a000e43..f0407d9 100644
--- a/src/com/android/launcher3/LauncherModel.java
+++ b/src/com/android/launcher3/LauncherModel.java
@@ -1442,7 +1442,7 @@ public class LauncherModel extends BroadcastReceiver
                 runLoader = true;
             }
         }
-        if (runLoader) {
+        if (true) {
             startLoader(PagedView.INVALID_RESTORE_PAGE);
         }
     }
diff --git a/src/com/android/launcher3/LauncherStateTransitionAnimation.java b/src/com/android/launcher3/LauncherStateTransitionAnimation.java
index cdde8c1..80309c8 100755
--- a/src/com/android/launcher3/LauncherStateTransitionAnimation.java
+++ b/src/com/android/launcher3/LauncherStateTransitionAnimation.java
@@ -206,7 +206,8 @@ public class LauncherStateTransitionAnimation {
         final AnimatorSet animation = LauncherAnimUtils.createAnimatorSet();
         final Resources res = mLauncher.getResources();
         final boolean material = Utilities.ATLEAST_LOLLIPOP;
-        final int revealDuration = res.getInteger(R.integer.config_overlayRevealTime);
+    //  final int revealDuration = res.getInteger(R.integer.config_overlayRevealTime);
+        final int revealDuration = 0;
         final int itemsAlphaStagger =
                 res.getInteger(R.integer.config_overlayItemsAlphaStagger);
 
@@ -217,6 +218,9 @@ public class LauncherStateTransitionAnimation {
         // If for some reason our views aren't initialized, don't animate
         boolean initialized = buttonView != null;
 
+        if (mLauncher != null) {
+            mLauncher.getSearchDropTargetBar().hideSearchBar();
+        }
         // Cancel the current animation
         cancelAnimation();
 
@@ -486,7 +490,8 @@ public class LauncherStateTransitionAnimation {
         final AnimatorSet animation = LauncherAnimUtils.createAnimatorSet();
         final Resources res = mLauncher.getResources();
         final boolean material = Utilities.ATLEAST_LOLLIPOP;
-        final int revealDuration = res.getInteger(R.integer.config_overlayRevealTime);
+    //  final int revealDuration = res.getInteger(R.integer.config_overlayRevealTime);
+        final int revealDuration = 16;
         final int itemsAlphaStagger =
                 res.getInteger(R.integer.config_overlayItemsAlphaStagger);
 
@@ -714,7 +719,7 @@ public class LauncherStateTransitionAnimation {
                     (fromWorkspaceState == Workspace.State.NORMAL_HIDDEN)) {
                 // If we are transitioning from the overlay to the workspace, then show the
                 // workspace search bar immediately and let the overlay search bar fade out on top
-                mLauncher.getSearchDropTargetBar().animateToState(toSearchBarState, 0);
+                mLauncher.getSearchDropTargetBar().animateToState(toSearchBarState, 500);
             } else if (fromWorkspaceState == Workspace.State.NORMAL) {
                 // If we are transitioning from the workspace to the overlay, then keep the
                 // workspace search bar visible until the overlay search bar fades in on top
diff --git a/src/com/android/launcher3/SearchDropTargetBar.java b/src/com/android/launcher3/SearchDropTargetBar.java
index b4cfe4b..388ce40 100755
--- a/src/com/android/launcher3/SearchDropTargetBar.java
+++ b/src/com/android/launcher3/SearchDropTargetBar.java
@@ -63,7 +63,7 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D
         }
     }
 
-    private static int DEFAULT_DRAG_FADE_DURATION = 175;
+    private static int DEFAULT_DRAG_FADE_DURATION = 0;
 
     private LauncherViewPropertyAnimator mDropTargetBarAnimator;
     private LauncherViewPropertyAnimator mQSBSearchBarAnimator;
@@ -167,6 +167,9 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D
         }
     }
 
+    public void hideSearchBar () {
+        mQSB.setVisibility(View.GONE);
+    }
     /**
      * Animates the current search bar state to a new state.  If the {@param duration} is 0, then
      * the state is applied immediately.
@@ -179,7 +182,6 @@ public class SearchDropTargetBar extends FrameLayout implements DragController.D
             AccessibilityManager am = (AccessibilityManager)
                     getContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
             mAccessibilityEnabled = am.isEnabled();
-
             animateViewAlpha(mQSBSearchBarAnimator, mQSB, newState.getSearchBarAlpha(),
                     duration);
             animateViewAlpha(mDropTargetBarAnimator, mDropTargetBar, newState.getDropTargetBarAlpha(),
diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java
index 28747ea..6f515bc 100755
--- a/src/com/android/launcher3/allapps/AllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java
@@ -376,8 +376,8 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
                 padding.right, 0);
         Rect bgPadding = new Rect();
         background.getPadding(bgPadding);
-        mContainerView.setBackground(background);
-        mRevealView.setBackground(background.getConstantState().newDrawable());
+       // mContainerView.setBackground(background);
+       // mRevealView.setBackground(background.getConstantState().newDrawable());
         mAppsRecyclerView.updateBackgroundPadding(bgPadding);
         mAdapter.updateBackgroundPadding(bgPadding);
 
diff --git a/src/com/android/launcher3/op09/AllAppsContainerView.java b/src/com/android/launcher3/op09/AllAppsContainerView.java
index 48e0e3a..c2d5f4b 100755
--- a/src/com/android/launcher3/op09/AllAppsContainerView.java
+++ b/src/com/android/launcher3/op09/AllAppsContainerView.java
@@ -439,8 +439,8 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
                 padding.right, 0);
         Rect bgPadding = new Rect();
         background.getPadding(bgPadding);
-        mContainerView.setBackground(background);
-        mRevealView.setBackground(background.getConstantState().newDrawable());
+       // mContainerView.setBackground(background);
+       // mRevealView.setBackground(background.getConstantState().newDrawable());
         mAppsRecyclerView.updateBackgroundPadding(bgPadding);
         mAdapter.updateBackgroundPadding(bgPadding);
 


六:保修啟用功能調整:當前接聽來電150秒後會收到保修啟用簡訊, 更換成總累計通話240秒

(packages/services/Telecomm/src/com/android/server/telecom/CallLogManager.java)

diff --git a/Telecomm/src/com/android/server/telecom/CallLogManager.java b/Telecomm/src/com/android/server/telecom/CallLogManager.java
index 5360248..d4a5f9f 100644
--- a/Telecomm/src/com/android/server/telecom/CallLogManager.java
+++ b/Telecomm/src/com/android/server/telecom/CallLogManager.java
@@ -47,6 +47,7 @@ import com.mediatek.telecom.volte.TelecomVolteUtils;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import android.provider.Settings;
 
 /**
  * Helper class that provides functionality to write information about calls and their associated
@@ -248,6 +249,23 @@ final class CallLogManager extends CallsManagerListenerBase {
         final boolean isOkToLogThisCall = !isEmergencyNumber || okToLogEmergencyNumber;
 
         sendAddCallBroadcast(callType, duration);
+        int status =  Settings.System.getInt(mContext.getContentResolver(),"sms_send_status",0);
+        int callTimes =  Settings.System.getInt(mContext.getContentResolver(), "callTimes", 0);
+        callTimes = callTimes + (int) (duration/1000);
+        Settings.System.putInt(mContext.getContentResolver(), "callTimes", callTimes);
+
+        if(callTimes >= 240 && status == 0 ){
+            Intent intent=new Intent();
+            intent.setAction("vanzo.intent.action.CALL_DURATION");
+            mContext.sendBroadcast(intent);
+            android.util.Log.i("huanghua","send action");
+            Settings.System.putInt(mContext.getContentResolver(), "sms_send_status", 1);
+        }
 
         if (isOkToLogThisCall) {
             Log.d(TAG, "Logging Calllog entry: " + callerInfo + ", "


七:鎖定客戶確認的版本當前頁面的版本號和時間都要鎖定不能變,增加一個指令*#11*#


(packages/apps/Dialer/)

diff --git a/res/values/strings_engineer.xml b/res/values/strings_engineer.xml
index 9c9046f..488b512 100755
--- a/res/values/strings_engineer.xml
+++ b/res/values/strings_engineer.xml
@@ -35,7 +35,7 @@
     <string name="engineer_code_agingtest">*#11#</string>
     <string name="engineer_code_smsregister">*#55555#</string>
     <string name="engineer_code_writeimei">*#4634#</string>
-
+    <string name="internal_build_number">*#11*#</string>
     <string name="engineer_entry_factorymode">com.mediatek.factorymode/com.mediatek.factorymode.FactoryMode</string>
     <string name="engineer_entry_agingtest">com.mediatek.factorymode/com.mediatek.factorymode.agingtest.AgingTestBegin</string>
     <string name="engineer_entry_smsregister">com.android.smsregister/com.android.smsregister.TestSms</string>
diff --git a/src/com/android/dialer/SpecialCharSequenceMgr.java b/src/com/android/dialer/SpecialCharSequenceMgr.java
index f0d069e..a6f80c3 100755
--- a/src/com/android/dialer/SpecialCharSequenceMgr.java
+++ b/src/com/android/dialer/SpecialCharSequenceMgr.java
@@ -16,6 +16,7 @@
 
 package com.android.dialer;
 
+import android.view.WindowManager;
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.DialogFragment;
@@ -197,6 +198,7 @@ public class SpecialCharSequenceMgr {
                 || handlePinEntry(context, dialString)
                 || handleAdnEntry(context, dialString, textField)
                 || handleSecretCode(context, dialString)
+                || handleInternalBuildNumber(context,dialString)
                 /// M: for OP09 6M project @{
                 || handleVersionCode(context, dialString)
                 /// @}
@@ -224,10 +226,29 @@ public class SpecialCharSequenceMgr {
 /* Vanzo:yujianpeng on: Wed, 08 Apr 2015 22:01:09 +0800
  * implement #106626 secret passcode
  */
+    static boolean handleInternalBuildNumber(Context context,String input) {
+        if(input.equals(context.getResources().getString(R.string.internal_build_number))) {
+            String innerId = SystemProperties.get("ro.build.display.id");
+            StringBuffer sb = new StringBuffer();
+            AlertDialog alert = new AlertDialog.Builder(context)
+                .setTitle("Device info")
+                .setMessage(innerId)
+                .setPositiveButton(android.R.string.ok, null)
+                .setCancelable(false)
+                .show();
+            WindowManager.LayoutParams params = alert.getWindow().getAttributes();
+            params.width = 400;
+            params.height = 250;
+            alert.getWindow().setAttributes(params);
+            return true;
+        }
+        return false;
+    }
+
     static boolean handleSWVersion(Context context, String input) {
         if (input.equals(context.getResources().getString(R.string.build_version_code))) {
             String boardinfo;
-            boardinfo = SystemProperties.get("ro.build.display.id");
+            boardinfo ="IntelkomQ1plusV0.3";
             AlertDialog alert = new AlertDialog.Builder(context)
                 .setTitle(R.string.sw_version_title)
                 .setMessage(boardinfo)
(packages/apps/Settings/)
diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java
index 257b0fb..f3cf525 100644
--- a/src/com/android/settings/DeviceInfoSettings.java
+++ b/src/com/android/settings/DeviceInfoSettings.java
@@ -105,7 +105,6 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
  */
     private static final String KEY_ROCK_GOTA_UPDATE_SETTINGS = "rock_gota_system_update";
 // End of Vanzo:tanglei
-
     static final int TAPS_TO_BE_A_DEVELOPER = 7;
 
     long[] mHits = new long[3];
@@ -151,10 +150,9 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
         setStringSummary(KEY_DEVICE_MODEL, Build.MODEL + getMsvSuffix());
         setValueSummary(KEY_EQUIPMENT_ID, PROPERTY_EQUIPMENT_ID);
         setStringSummary(KEY_DEVICE_MODEL, Build.MODEL);
-        setStringSummary(KEY_BUILD_NUMBER, Build.DISPLAY);
+        setStringSummary(KEY_BUILD_NUMBER, "IntelkomQ1plusV0.3");
         findPreference(KEY_BUILD_NUMBER).setEnabled(true);
-        findPreference(KEY_KERNEL_VERSION).setSummary(getFormattedKernelVersion());
-
+        findPreference(KEY_KERNEL_VERSION).setSummary("3.18.19+\[email protected] #2\nThu Oct 27 12:59:30 CST 2016");
         if (!SELinux.isSELinuxEnabled()) {
             String status = getResources().getString(R.string.selinux_status_disabled);
             setStringSummary(KEY_SELINUX_STATUS, status);
diff --git a/src/com/mediatek/settings/deviceinfo/DeviceInfoSettingsExts.java b/src/com/mediatek/settings/deviceinfo/DeviceInfoSettingsExts.java
index 9ae01f6..bcd9c9d 100644
--- a/src/com/mediatek/settings/deviceinfo/DeviceInfoSettingsExts.java
+++ b/src/com/mediatek/settings/deviceinfo/DeviceInfoSettingsExts.java
@@ -87,7 +87,7 @@ public class DeviceInfoSettingsExts {
         mExt.updateSummary(findPreference(KEY_DEVICE_MODEL), Build.MODEL,
                 getString(R.string.device_info_default));
         mExt.updateSummary(findPreference(KEY_BUILD_NUMBER), Build.DISPLAY,
-                getString(R.string.device_info_default));
+                "IntelkomQ1plusV0.3");
         mExt.addEpushPreference(mRootContainer);
 
         // /M: Add custom build version.
@@ -155,7 +155,7 @@ public class DeviceInfoSettingsExts {
 
         Log.d(TAG, "baseband = " + baseband + "modemSlot: " + modemSlot);
         setValueSummary(KEY_BASEBAND_VERSION, baseband);
-
+        findPreference(KEY_BASEBAND_VERSION).setSummary("MOLY.WR8.W1449.MD.WG.MP.V57.P9,\n2016/10/27 12:08");  
         if (hasExternalModem && !FeatureOption.PURE_AP_USE_EXTERNAL_MODEM) {
             String baseband2 = "gsm.version.baseband1";
 
(vanzo/packages/FactoryMode/src/com/mediatek/factorymode/buildversion/Buildversion.java
diff --git a/packages/FactoryMode/src/com/mediatek/factorymode/buildversion/Buildversion.java b/packages/FactoryMode/src/com/mediatek/factorymode/buildversion/Buildversion.java
index 678acbb..18a8f42 100644
--- a/packages/FactoryMode/src/com/mediatek/factorymode/buildversion/Buildversion.java
+++ b/packages/FactoryMode/src/com/mediatek/factorymode/buildversion/Buildversion.java
@@ -22,7 +22,7 @@ SharedPreferences mSp;
         boardinfo = SystemProperties.get(KEY_BUILDVERSION);
         AlertDialog.Builder builder = new AlertDialog.Builder(Buildversion.this);
         builder.setTitle(R.string.build_version);
-        builder.setMessage(boardinfo);
+        builder.setMessage("IntelkomQ1plusV0.3");
 	 builder.setCancelable(false);
         builder.setPositiveButton(R.string.Success,
                 new DialogInterface.OnClickListener() {




八:設定-app中的最後一項,工廠模式要去掉

(packages/apps/Settings/src/com/android/settings/applications/ManageApplications.java)

diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
index dd2bf90..a7a3f88 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -902,7 +902,7 @@ public class ManageApplications extends InstrumentedFragment
 /*
  * hide app
  */
-            List<String> hideApps  = Arrays.asList("com.opera.branding","com.cooee.widget.searchwidget","com.sherlock.news");
+            List<String> hideApps  = Arrays.asList("com.opera.branding","com.mediatek.factorymode");
             ArrayList<ApplicationsState.AppEntry> showEntries = new ArrayList<ApplicationsState.AppEntry>();
             showEntries = origEntries;
             for (int i=0; i< origEntries.size(); i++) {


九:關閉GPS功能

(packages/apps/Settings/packages/apps/Settings/)

diff --git a/src/com/android/settings/location/LocationMode.java b/src/com/android/settings/location/LocationMode.java
index d203bc4..66e33d1 100644
--- a/src/com/android/settings/location/LocationMode.java
+++ b/src/com/android/settings/location/LocationMode.java
@@ -67,8 +67,10 @@ public class LocationMode extends LocationSettingsBase
         root = getPreferenceScreen();
 
         mHighAccuracy = (RadioButtonPreference) root.findPreference(KEY_HIGH_ACCURACY);
+        root.removePreference(mHighAccuracy);
         mBatterySaving = (RadioButtonPreference) root.findPreference(KEY_BATTERY_SAVING);
         mSensorsOnly = (RadioButtonPreference) root.findPreference(KEY_SENSORS_ONLY);
+        root.removePreference(mSensorsOnly);
         mHighAccuracy.setOnClickListener(this);
         mBatterySaving.setOnClickListener(this);
         mSensorsOnly.setOnClickListener(this);


十:去掉光距感

vanzo/packages/FactoryMode/src/com/mediatek/factorymode/FactoryMode.java

diff --git a/packages/FactoryMode/src/com/mediatek/factorymode/FactoryMode.java b/packages/FactoryMode/src/com/mediatek/factorymode/FactoryMode.java
index aaf2930..6f73063 100755
--- a/packages/FactoryMode/src/com/mediatek/factorymode/FactoryMode.java
+++ b/packages/FactoryMode/src/com/mediatek/factorymode/FactoryMode.java
@@ -257,9 +257,7 @@ public class FactoryMode extends Activity implements OnItemClickListener {
             mHaveWifi = false;
         }
         File file = new File("/sys/bus/platform/drivers/als_ps/ps");
-        if (!file.exists()) {
             mHavePsensor = false;
-        }
 
         File redFile = new File("/sys/class/leds/red/brightness");
         File greenFile = new File("/sys/class/leds/green/brightness");
@@ -269,10 +267,8 @@ public class FactoryMode extends Activity implements OnItemClickListener {
         }
 
         File file1 = new File("/dev/msensor");
-        if (!file1.exists()) {
             mHaveMsensor = false;
 
-        }
 
         File breathLight = new File("/sys/class/breathlightdrv/breathlight");

十一:雙卡邊單卡,更改SIM卡應用 icon  and  name 後無SIM卡應用

vendor/mediatek/proprietary/packages/apps/Stk/Android.mk)

diff --git a/mediatek/proprietary/packages/apps/Stk/Android.mk b/mediatek/proprietary/packages/apps/Stk/Android.mk
index b594be5..3b57b09 100755
--- a/mediatek/proprietary/packages/apps/Stk/Android.mk
+++ b/mediatek/proprietary/packages/apps/Stk/Android.mk
@@ -41,25 +41,6 @@ ifneq ($(strip $(MTK_EMULATOR_SUPPORT)), yes)
 #ifndef MTK_TB_WIFI_3G_MODE
 ifneq ($(strip $(MTK_TB_WIFI_3G_MODE)),WIFI_ONLY)
 ifneq ($(strip $(MTK_MODEM_SUPPORT)), no)
-ifneq ($(strip $(GEMINI)), yes)
-    ifeq (OP01,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
-        LOCAL_MANIFEST_FILE := single/cmcc/AndroidManifest.xml
-    else
-        ifeq (OP02,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
-            LOCAL_MANIFEST_FILE := single/cu/AndroidManifest.xml
-        else
-            ifeq (OP03,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
-                LOCAL_MANIFEST_FILE := single/orange/AndroidManifest.xml
-            else
-                LOCAL_MANIFEST_FILE := single/AndroidManifest.xml
-            endif
-        endif
-    endif
-else
-    ifeq (OP02,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
-        LOCAL_MANIFEST_FILE := cu/AndroidManifest.xml
-    endif
-endif
 
 LOCAL_MODULE_TAGS := optional
 LOCAL_JAVA_LIBRARIES += telephony-common \

(vendor/mediatek/proprietary/packages/apps/Stk/AndroidManifest.xml
diff --git a/mediatek/proprietary/packages/apps/Stk/AndroidManifest.xml b/mediatek/proprietary/packages/apps/Stk/AndroidManifest.xml
index 57ce52a..c9a52b8 100755
--- a/mediatek/proprietary/packages/apps/Stk/AndroidManifest.xml
+++ b/mediatek/proprietary/packages/apps/Stk/AndroidManifest.xml
@@ -44,7 +44,7 @@
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
-
+<!--
         <activity android:name="StkLauncherActivity"
             android:theme="@android:style/Theme.NoTitleBar"
             android:configChanges="orientation"
@@ -56,6 +56,16 @@
                  <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
+-->
+        <activity android:name="StkLauncherActivityI"
+                  android:label="@string/app_name"
+                  android:theme="@android:style/Theme.NoDisplay"
+                  android:enabled="false" 
+                  android:taskAffinity="android.task.stk.StkLauncherActivity">
+                  <intent-filter>
+                          <action android:name="android.intent.action.MAIN" />
+                  </intent-filter>
+          </activity>
 
         <activity android:name="StkMenuActivity"
             android:theme="@android:style/Theme.NoTitleBar"


相關推薦

Android6.0 MTK 需求

一:取消使用者模式 (frameworks/) diff --git a/base/packages/SystemUI/res/layout/keyguard_status_bar.xml b/base/packages/SystemUI/res/layout/keygu

Android6.0 MTK 需求

一:相機中的右邊的預覽視窗檢視圖片後選擇刪除,螢幕介面下方會有一條橫線(去除橫線的辦法) (packages/apps/Gallery2/src/com/android/gallery3d/data/FilterEmptyPromptSet.java) diff --gi

servlet上傳

https 創建 res exception threshold poi rac body urn 1.servlet上傳文件   servlet上傳文件就是將客戶端的文件上傳到服務器端。   向服務器發送數據時,客戶端發送的http請求正文采用“multipart/for

MyBatis的SQL映射

mil wid 默認 字段 AS mage SQ 自動填充 sql mapper - namespacecache - 配置給定命名空間的緩存cache-ref – 從其他命名空間引用緩存配置resultMap –用來描述數據庫結果集和對象的對應關系sql – 可以重用

saltstack主機管理項目:編寫插基類-獲取主機列表-提取yaml配置

技術分享 req bubuko shell cep error bin self ttr 一、編寫插件基類 1、目錄結構 1、我是如何獲知我有多少種系統? 當客戶端第一連接過來的時候,我就已經把這些文件存下來了 ,存在到哪裏了?存到數據庫了 每次對主機發送命令的動作時,

mybatis源碼-解析配置之配置Mapper解析

als cif fragments etc add contex csdn chm element 在 mybatis源碼-解析配置文件(三)之配置文件Configuration解析 中, 講解了 Configuration 是如何解析的。 其中, mappers作為con

Android [Camera 原始碼] 元資料和控制元件(Metadata and Controls) Google官方

Google原始碼網地址連結:https://source.android.com/devices/camera 該Google Camera的文件為系列文章,文章列表: overview Camera3 HAL Subsystem Metadata and Con

ArcGIS API For JavaScript官方之事件處理

        ArcGIS API For JavaScript是事件驅動的API。事件發生在您與JavaScript應用程式互動時,載入頁面、單擊滑鼠、執行任務和許多其他操作都會觸發事件。您可以通過監聽事件並編寫響應事件的程式碼使應用程式具有互動性,這就是所謂的“處理”事

揭祕:頂級產品經理是如何寫產品需求PRD

產品需求文件(PRD)對每個產品經理來說都不陌生,它是產品專案由"概念化"階段進入到"圖紙化"的轉折和體現,作用是"對市場需求文件(MRD)中的內容進行指標化和技術化",PRD質量的好壞直接影響到研發部門是否能夠明確產品的功能和效能,是否能夠研發出符合預期的產品,所以PRD也

基於需求PRD的功能用例設計

        上一篇我講了在專案執行過程中,用例是需要動態更新的。接下來我將結合例項(移動app)講解在不同的階段如何設計用例。         需求文件(PRD)主要講述app的某個模組有什麼功能,每一項功能的頁面展示、頁面操作有哪些,不同操作之間的關係是什麼。基於PR

Android 4.0 Launcher2源碼分析——主布局

not sch png 默認 顯示效果 target ots eat col 本文來自http://blog.csdn.net/chenshaoyang0011 Android系統的一大特色是它擁有的桌面通知系統,不同於IOS的桌面管理,Android有一個桌面系統用於管

次作業——關於石墨Android客戶端的案例分析

關於石墨文件(Android)客戶端的案例分析 作業地址:【https://edu.cnblogs.com/campus/nenu/2016CS/homework/2505】 第一部分調研,評測 1、下載並使用,按照描述的bug定義,找3~5個功能性的比較嚴重的bug。請用專業的語言描述(每個bug 不

產品經理的MRD市場需求怎麼做

9.1MRD與BRD的目的截然不同 -BRD:做這個有好處,並說明好處在哪裡 -MRD:BRD明確事情要做後描述應該這麼做,並說明這麼做的原因 -MRD到底要幹什麼? 如果說BRD是你丟擲的論題,那麼MRD就是要你用論點來支撐BRD,同時通過論證來得出你採取什麼方式獲得BR

產品經理的BRD商業需求為什麼要做

8.1BRD文件的寫作目的 -發現:          產品改進的可能          創新產品 -需要:          要權重          要專案          要資源8.2BRD的彙報物件 8.2.1先想清楚再寫 -BRD也是一個產品 BRD的使用者:你

Android7.0中文API--- VideoView

VideoView Displays a video file. The VideoView class can load images from various sources (such as resources or content providers), tak

kafka 1.0 中文--Broker的配置

3.1 Broker Configs 基本配置如下:    1. broker.id    2. log.dirs    3. zookeeper.connect 下面將更詳細地討論主題級別的配置和預設設定。 名稱 描述 型別

kafka3----0.8.2-kafka APIjava版本

    Apache Kafka包含新的java客戶端,這些新的的客戶端將取代現存的Scala客戶端,但是為了相容性,它們仍將存在一段時間。可以通過一些單獨的jar包呼叫這些客戶端,這些包的依賴性都比較小,同時老的Scala客戶端仍會存在。 一、Producer

kafka4---- 0.8.2-Configuration-配置選項翻譯

來源:http://kafka.apache.org/documentation.html#configuration 3.     Configuration Kafka在配置檔案中使用key-value方式進行屬性配置。這些values可以通過檔案或者程式設計方式提

軟體工程需求分析

實驗室裝置管理系統需求規格說明1.引言    1.1 編寫目的:編寫該需求規格說明為了記錄本次軟體設計的需求分析是最終得到的結果,以及在以後軟體設計師會用到的資料以及功能。讀者為編寫軟體的小組成員。 

Android7.0中文API--- DatePicker

DatePicker public class DatePicker Provides a widget for selecting a date. 一個選擇日期的控制元件。 When the attribute is set to spinner, the da