Android7.0 MTK 需求文档(二)

来源:互联网 发布:淘宝宝贝尺码自定义 编辑:程序博客网 时间:2024/06/16 12:00

一:去除摄像头的假对焦框

(vendor/)

(mediatek/proprietary/packages/apps/Camera/src/com/android/camera/FocusManager.java)

 import java.util.ArrayList; import java.util.List;+import com.android.camera.ui.FocusIndicatorRotateLayout.Listener;  /**  * A class that handles everything about focus in still picture mode. This also handles the metering@@ -56,7 +57,7 @@ import java.util.List;  * Touch the screen to change metering area.  */ public class FocusManager implements CameraActivity.OnOrientationListener,-        CameraActivity.OnParametersReadyListener {+        CameraActivity.OnParametersReadyListener,FocusIndicatorRotateLayout.Listener {     private static final String TAG = "FocusManager";      private static final int RESET_TOUCH_FOCUS = 0;@@ -86,6 +87,11 @@ public class FocusManager implements CameraActivity.OnOrientationListener,     private Matrix mMatrix;     private Matrix mObjextMatrix; +    private boolean mNeedPlaySound = false;     // The parent layout that includes only the focus indicator.     private FocusIndicatorRotateLayout mFocusIndicatorRotateLayout;     // The focus indicator view that holds the image resource.@@ -228,6 +234,14 @@ public class FocusManager implements CameraActivity.OnOrientationListener,         mParameters = parameters;         mFocusAreaSupported = (mParameters.getMaxNumFocusAreas() > 0 && isSupported(                 Parameters.FOCUS_MODE_AUTO, mParameters.getSupportedFocusModes()));+        if (mFocusIndicatorRotateLayout != null) {+            mFocusIndicatorRotateLayout.mCustomFocusSupported = mFocusAreaSupported;+            mFocusIndicatorRotateLayout.setCustomListener(this);+        }         // mLockAeAwbNeeded = (mInitialParameters.isAutoExposureLockSupported()         // ||         // mInitialParameters.isAutoWhiteBalanceLockSupported());@@ -427,9 +441,23 @@ public class FocusManager implements CameraActivity.OnOrientationListener,         }         mListener.setFocusParameters();         if (moving) {+            if (!mFocusAreaSupported) {+                Log.e("vanzo","mNeedPlaySound-->false");+                mNeedPlaySound = false;+            }             mFocusIndicatorRotateLayout.showStart();         } else {+/*             mFocusIndicatorRotateLayout.showSuccess(true);+ */+            if (mFocusAreaSupported)+                mFocusIndicatorRotateLayout.showSuccess(true);         }     } @@ -453,7 +481,11 @@ public class FocusManager implements CameraActivity.OnOrientationListener,         // Check if metering area or focus area is supported.         if (!mFocusAreaSupported) {             Log.i(TAG, "[onSingleTapUp] mFocusAreaSupported is false"); +        //  return;         }         if (!mInitialized || mState == STATE_FOCUSING_SNAP_ON_FINISH || mState == STATE_UNKNOWN) {             return;@@ -528,6 +560,14 @@ public class FocusManager implements CameraActivity.OnOrientationListener,         // it can't be called twice when focusing.         mListener.stopFaceDetection(); +            if (!mFocusAreaSupported) {+                Log.e("vanzo","mNeedPlaySound-->true");+                mNeedPlaySound = true;+            }         // Set the focus area and metering area.         mListener.setFocusParameters();         Log.i(TAG, "onSingleTapUp,  mFocusAreaSupported " + mFocusAreaSupported);@@ -573,7 +613,13 @@ public class FocusManager implements CameraActivity.OnOrientationListener,             getFrameview().resume();         }         mState = STATE_IDLE;+/*         updateFocusUI();+ */+        if (mFocusAreaSupported)+            updateFocusUI();+// End of Vanzo:tangshenghu         mHandler.removeMessages(RESET_TOUCH_FOCUS);     } @@ -968,4 +1014,13 @@ public class FocusManager implements CameraActivity.OnOrientationListener,         return isSupported;     } +    @Override+    public void playFocusSound() {+        if (mListener != null && mNeedPlaySound)+            mListener.playSound(MediaActionSound.FOCUS_COMPLETE);+    } }

(mediatek/proprietary/packages/apps/Camera/src/com/android/camera/actor/PhotoActor.java)

         // The next steps will be excuted only at the first time.         mCameraActivity.getFrameManager().initializeFrameView(false);         mIsInitialized = true;+        mHandler.postDelayed(new Runnable() {+            public void run() {+            if(mCameraActivity==null||mCameraActivity.getParameters()==null){+                return;+             }+            if (mCameraActivity.getParameters().getMaxNumFocusAreas() == 0)+                mCameraActivity.getFocusManager().onAutoFocusMoving(true);+            }+        }, 1000);     }          private void startPreview(boolean needStop) {@@ -983,7 +996,13 @@ public class PhotoActor extends CameraActor implements FocusManager.Listener,                          if (mModuleManager.onSingleTapUp(view, x, y)) {                 Log.i(TAG, "[onSingleTapUp] module manager has handled it,return.");+            //  return;+                if (mCameraActivity.getCameraId() == 1)+                    return;             }              focusManager.onSingleTapUp(x, y);

(mediatek/proprietary/packages/apps/Camera/src/com/android/camera/ui/FocusIndicatorRotateLayout.java)

     private Runnable mDisappear = new Disappear();     private Runnable mEndAction = new EndAction();+    private Runnable mShowAction = new ShowAction();+    public boolean mCustomFocusSupported = true;+    Listener mListener = null;+    public interface Listener {+        void playFocusSound();+    }     private static final int SCALING_UP_TIME = 1000;     private static final int SCALING_DOWN_TIME = 200;     private static final int DISAPPEAR_TIMEOUT = 200;@@ -100,8 +110,20 @@ public class FocusIndicatorRotateLayout extends RotateLayout implements FocusInd         Log.d(TAG, "showStart mState = " + mState);         if (mState == STATE_IDLE) {             setDrawable(R.drawable.ic_focus_focusing);+/*             animate().withLayer().setDuration(SCALING_UP_TIME).scaleX(1.5f).scaleY(1.5f);             mState = STATE_FOCUSING;+ */+            if (mCustomFocusSupported) {+                animate().withLayer().setDuration(SCALING_UP_TIME).scaleX(1.5f).scaleY(1.5f);+                mState = STATE_FOCUSING;+            } else {+                mState = STATE_FOCUSING;+                animate().withLayer().setDuration(SCALING_UP_TIME)+                        .scaleX(1.5f).scaleY(1.5f).withEndAction(mShowAction);+            }         }     } @@ -113,6 +135,12 @@ public class FocusIndicatorRotateLayout extends RotateLayout implements FocusInd             animate().withLayer().setDuration(SCALING_DOWN_TIME).scaleX(1f).scaleY(1f)                     .withEndAction(timeout ? mEndAction : null);             mState = STATE_FINISHING;+            if (!mCustomFocusSupported && mListener != null)+                mListener.playFocusSound();         }     } @@ -145,6 +173,17 @@ public class FocusIndicatorRotateLayout extends RotateLayout implements FocusInd         }     } +    private class ShowAction implements Runnable {+        @Override+        public void run() {+            // Keep the focus indicator for some time.+            showSuccess(true);+        }+    }     private class Disappear implements Runnable {         @Override         public void run() {@@ -175,4 +214,11 @@ public class FocusIndicatorRotateLayout extends RotateLayout implements FocusInd         }         return true;     }+    public void setCustomListener(Listener listener) {+        mListener = listener;+    }

二:插卡开机时去掉通知栏中的读取sim卡联系人的提示消息
(packages/apps/Contacts/SimProcessor/src/com/mediatek/simprocessor/SimProcessorService.java)

         ExtensionManager.registerApplicationContext(getApplication());         mProcessorManager = new SimProcessorManager(this, mListener); +/*         Notification notification = new Notification(android.R.drawable.ic_dialog_alert,                 ONGOING_NOTIFICATION, System.currentTimeMillis());         startForeground(ONGOING_NOTIFICATION_ID, notification);+*/     }      @Override@@ -100,7 +102,7 @@ public class SimProcessorService extends Service {     public void onDestroy() {         super.onDestroy();         Log.i(TAG, "[onDestroy]...");-        stopForeground(true);+//        stopForeground(true);         System.exit(0);     }

三:更换默认锁屏壁纸
(frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java)

diff --git a/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.javaindex 9cf7063..d896704 100644--- a/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java+++ b/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java@@ -51,6 +51,7 @@ import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable;+import android.graphics.Bitmap; import android.inputmethodservice.InputMethodService; import android.media.AudioAttributes; import android.media.MediaMetadata;@@ -176,6 +177,11 @@ import com.android.systemui.statusbar.stack.NotificationStackScrollLayout.OnChil import com.android.systemui.statusbar.stack.StackStateAnimator; import com.android.systemui.statusbar.stack.StackViewState; import com.android.systemui.volume.VolumeComponent;+import android.app.WallpaperManager;+import java.io.ByteArrayInputStream;+import java.io.ByteArrayOutputStream;+import java.io.IOException;+import android.provider.Settings; /// M: BMW import com.mediatek.multiwindow.MultiWindowManager; @@ -749,6 +755,28 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,          mScreenPinningRequest = new ScreenPinningRequest(mContext);         mFalsingManager = FalsingManager.getInstance(mContext);+/* + * TODO: replace this line with your comment+ */+        if(Settings.System.getInt(mContext.getContentResolver(),"def_lock_wall_vanzo",0) != 1){+            Settings.System.putInt(mContext.getContentResolver(),"def_lock_wall_vanzo" , 1);+            WallpaperManager wallpaperManager = WallpaperManager.getInstance(mContext);+            BitmapDrawable bitmapDrawable = (BitmapDrawable)mContext.getResources().getDrawable(R.drawable.default_lock_wallpaper);+            Bitmap defaultLockWallpaper = bitmapDrawable.getBitmap();+            ByteArrayOutputStream tmpOut = new ByteArrayOutputStream(2048);+            if (defaultLockWallpaper.compress(Bitmap.CompressFormat.PNG, 100,tmpOut)) {+                try {+                    byte[] outByteArray = tmpOut.toByteArray();+                    wallpaperManager.setStream(new ByteArrayInputStream(outByteArray), +                            null, true, WallpaperManager.FLAG_LOCK);+                } catch (IOException e) {+                    Log.e(TAG, "IOException", e);+                } catch (SecurityException e) {+                    Log.w(TAG, "SecurityException", e);+                }+            }+        }     }      protected void createIconController() {

四:未接来电或未读短信没有显示未读数量
(packages/providers/)
(ContactsProvider/src/com/android/providers/contacts/DbModifierWithNotification.java)

diff --git a/ContactsProvider/src/com/android/providers/contacts/DbModifierWithNotification.java b/ContactsProvider/src/com/android/providers/contacts/DbModifierWithNotification.javaindex 70c56d6..0916739 100644--- a/ContactsProvider/src/com/android/providers/contacts/DbModifierWithNotification.java+++ b/ContactsProvider/src/com/android/providers/contacts/DbModifierWithNotification.java@@ -113,6 +113,15 @@ public class DbModifierWithNotification implements DatabaseModifier {             notifyCallLogChange();         } +/*+ * launcher show unread call+ */+        /** M: notify miss call & unread VVM count @{ */+        if (rowId > 0) {+            notifyNewCallsCount();+        }+         return rowId;     } @@ -131,6 +140,15 @@ public class DbModifierWithNotification implements DatabaseModifier {             notifyCallLogChange();         } +/*+ * launcher show unread call+ */+        /** M: notify miss call & unread VVM count @{ */+        if (rowId > 0) {+            notifyNewCallsCount();+        }+         return rowId;     } @@ -145,6 +163,17 @@ public class DbModifierWithNotification implements DatabaseModifier {         }     } +/*+ * launcher show unread call+ */+    /**+     * M: notify launcher to display the count of missed call & VVM.+     * */+    private void notifyNewCallsCount() {+        CallLogProviderEx.notifyNewCallsCount(mContext);+    }+     private void notifyVoicemailChangeOnInsert(Uri notificationUri, Set<String> packagesModified) {         if (mIsCallsTable) {             notifyVoicemailChange(notificationUri, packagesModified,@@ -183,6 +212,15 @@ public class DbModifierWithNotification implements DatabaseModifier {             notifyCallLogChange();         } +/*+ * launcher show unread call+ */+        /** M: notify miss call & unread VVM count @{ */+        if (count > 0) {+            notifyNewCallsCount();+        }+         return count;     } @@ -217,6 +255,15 @@ public class DbModifierWithNotification implements DatabaseModifier {             notifyCallLogChange();         } + /*+ * launcher show unread call+ */+        /** M: notify miss call & unread VVM count @{ */+        if (count > 0) {+            notifyNewCallsCount();+        }+         return count;     }
(ContactsProvider/src/com/mediatek/providers/contacts/CallLogProviderEx.java)

diff --git a/ContactsProvider/src/com/mediatek/providers/contacts/CallLogProviderEx.java b/ContactsProvider/src/com/mediatek/providers/contacts/CallLogProviderEx.javaindex 1f6aaa4..61b9913 100755--- a/ContactsProvider/src/com/mediatek/providers/contacts/CallLogProviderEx.java+++ b/ContactsProvider/src/com/mediatek/providers/contacts/CallLogProviderEx.java@@ -26,10 +26,15 @@ import android.content.ContentUris; import android.content.ContentValues; import android.content.Context; import android.content.UriMatcher;+import android.content.ComponentName;+import android.content.Intent; import android.database.Cursor; import android.database.DatabaseUtils; import android.database.sqlite.SQLiteDatabase;+import android.database.sqlite.SQLiteException; import android.database.sqlite.SQLiteQueryBuilder;+import android.database.sqlite.SQLiteStatement;+import android.database.sqlite.SQLiteDiskIOException; import android.net.Uri; import android.os.UserHandle; import android.os.UserManager;@@ -41,12 +46,16 @@ import android.telephony.PhoneNumberUtils; import android.text.TextUtils; import android.util.Log; +import com.android.providers.contacts.ContactsDatabaseHelper;+import android.provider.Settings; import com.android.providers.contacts.CallLogDatabaseHelper; import com.android.providers.contacts.CallLogDatabaseHelper.Tables; import com.android.providers.contacts.ContactsProvider2; import com.android.providers.contacts.DatabaseModifier; import com.android.providers.contacts.DbModifierWithNotification; import com.android.providers.contacts.VoicemailPermissions;+import com.android.providers.contacts.ContactsDatabaseHelper.DbProperties;+import com.android.providers.contacts.util.SelectionBuilder; import com.android.providers.contacts.util.UserUtils; import com.mediatek.providers.contacts.CallLogSearchSupport; import com.mediatek.providers.contacts.ContactsProviderUtils;@@ -87,6 +96,18 @@ public class CallLogProviderEx {         mContext = context;     } +    private interface LegacyConstants {+        /** Table name used in the contacts DB.*/+        String CALLS_LEGACY = "calls";++        /** Table name used in the contacts DB.*/+        String VOICEMAIL_STATUS_LEGACY = "voicemail_status";++        /** Prop name used in the contacts DB.*/+        String CALL_LOG_LAST_SYNCED_LEGACY = "call_log_last_synced";+    }++     public static synchronized CallLogProviderEx getInstance(Context context) {         if (sCallLogProviderEx == null) {             sCallLogProviderEx = new CallLogProviderEx(context);@@ -240,6 +261,73 @@ public class CallLogProviderEx {                         .appendPath("call_log").build(), null, false);     } +    // send new Calls broadcast to launcher to update unread icon+    public static final void notifyNewCallsCount(Context context) {+        SQLiteDatabase db = null;+        Cursor c = null;+        int newCallsCount = 0;+/*+        try {+            Cursor cursor = context.getContentResolver().query(CallLog.Calls.CONTENT_URI,+                    new String[] { Calls.TYPE }, " type=?",+                    new String[] { Calls.MISSED_TYPE + ""}, "date desc");+            if (cursor != null) {+                newCallsCount = cursor.getCount();+                cursor.close();+                android.util.Log.d("yjp", "    newCallsCount : " + newCallsCount);+            } +            android.util.Log.d("yjp", "    cursor  : " + cursor);+        }catch (SecurityException e ) {+            android.util.Log.d("yjp", "  also return ");+        //    return ;+        }+ */+        try {+            db = getDatabaseHelper(context).getWritableDatabase();++            if (db == null || context == null) {+                LogUtils.w(TAG, "[notifyNewCallsCount] Cannot notify with null db or context.");+                return;+            }+            android.util.Log.d("yjp", "    notifyNewCallsCount  db : " + db  + "\n   Tables.CALLS : " + Tables.CALLS);+            db.beginTransaction();+            c = db.rawQuery("SELECT count(*) FROM " + Tables.CALLS+                    + " WHERE " + Calls.TYPE + " in (" + Calls.MISSED_TYPE+                    + "," + Calls.VOICEMAIL_TYPE+                    + ") AND " + Calls.NEW + "=1", null);+            if (c != null && c.moveToFirst()) {+                newCallsCount = c.getInt(0);+            }+        } catch (SQLiteException e) {+            LogUtils.w(TAG, "[notifyNewCallsCount] SQLiteException:" + e);+            return;+        } finally {+            if (c != null) {+                c.close();+            }+            db.endTransaction();+        }++        LogUtils.i(TAG, "[notifyNewCallsCount] newCallsCount = " + newCallsCount);+        //send count=0 to clear the unread icon+        if (newCallsCount >= 0) {+            Intent newIntent = new Intent(Intent.ACTION_UNREAD_CHANGED);+            newIntent.putExtra(Intent.EXTRA_UNREAD_NUMBER, newCallsCount);+            newIntent.putExtra(Intent.EXTRA_UNREAD_COMPONENT,+                    new ComponentName(ConstantsUtils.CONTACTS_PACKAGE,+                    ConstantsUtils.CONTACTS_DIALTACTS_ACTIVITY));+            context.sendBroadcast(newIntent);+            // use the public key CONTACTS_UNREAD_KEY that statement in Setting Provider.+            Settings.System.putInt(context.getContentResolver(),+                    "com_android_contacts_mtk_unread", Integer.valueOf(newCallsCount));+        }+    }++    protected static CallLogDatabaseHelper getDatabaseHelper(final Context context) {+        return CallLogDatabaseHelper.getInstance(context);+    }+     /**      * Returns a {@link DatabaseModifier} that takes care of sending necessary notifications      * after the operation is performed.

五:wifi热点名称自定义

(frameworks/)

diff --git a/opt/net/wifi/service/Android.mk b/opt/net/wifi/service/Android.mkindex d4becf8..e577516 100644--- a/opt/net/wifi/service/Android.mk+++ b/opt/net/wifi/service/Android.mk@@ -39,6 +39,8 @@ LOCAL_SRC_FILES := \  LOCAL_MODULE := libwifi-hal +LOCAL_JAVA_LIBRARIES := bouncycastle conscrypt services telephony-common+ include $(BUILD_STATIC_LIBRARY)  # Make HAL stub library 2diff --git a/opt/net/wifi/service/java/com/android/server/wifi/WifiApConfigStore.java b/opt/net/wifi/service/java/com/android/server/wifi/WifiApConfigStore.javaindex a4cd27a..d56740b 100644--- a/opt/net/wifi/service/java/com/android/server/wifi/WifiApConfigStore.java+++ b/opt/net/wifi/service/java/com/android/server/wifi/WifiApConfigStore.java@@ -29,7 +29,7 @@ import android.os.Handler; import android.os.Message; import android.os.Messenger; import android.util.Log;-+import android.text.TextUtils; import com.android.internal.util.AsyncChannel; import com.android.internal.R; import com.android.internal.util.State;@@ -246,7 +246,14 @@ class WifiApConfigStore extends StateMachine {        will keep the device secure after the update */     private void setDefaultApConfiguration() {         WifiConfiguration config = new WifiConfiguration();-        IWifiFwkExt wifiFwkExt = MPlugin.createInstance(IWifiFwkExt.class.getName(), mContext);+        int RandomNum = (int)(Math.random()*(9999-1000+1))+1000;+        String tempSSID = "Kata L1_" + RandomNum;+        Log.i("rmy", "tempSSID="+tempSSID);+        config.SSID = tempSSID;+        if (TextUtils.isEmpty(config.SSID)) {+            config.SSID = mContext.getString(R.string.wifi_tether_configure_ssid_default);+        }+        /*IWifiFwkExt wifiFwkExt = MPlugin.createInstance(IWifiFwkExt.class.getName(), mContext);         if (SystemProperties.get("ro.mtk_bsp_package").equals("1")) {             if (wifiFwkExt != null) {                 config.SSID = wifiFwkExt.getApDefaultSsid();@@ -263,7 +270,7 @@ class WifiApConfigStore extends StateMachine {                 config.SSID = config.SSID + random.nextInt(1000);                 Log.d(TAG, "setDefaultApConfiguration, SSID:" + config.SSID);             }-        }+        }*/         config.allowedKeyManagement.set(KeyMgmt.WPA2_PSK);         String randomUUID = UUID.randomUUID().toString();         //first 12 chars from xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx

六:camera中的GPS开关
(vendor/)

diff --git a/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/setting/SettingUtils.java b/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/setting/SettingUtils.javaindex 2894994..e48f37e 100755--- a/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/setting/SettingUtils.java+++ b/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/setting/SettingUtils.java@@ -949,7 +949,7 @@ public class SettingUtils {         }         if (version == 2) {             editor.putString(SettingConstants.KEY_RECORD_LOCATION,-                    pref.getBoolean(SettingConstants.KEY_RECORD_LOCATION, false) ?+                    pref.getBoolean(SettingConstants.KEY_RECORD_LOCATION, true) ?                              RecordLocationPreference.VALUE_ON                             : RecordLocationPreference.VALUE_NONE);             version = 3;diff --git a/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/v2/setting/SettingCtrl.java b/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/v2/setting/SettingCtrl.javaindex cc6bbfd..be4fd74 100755--- a/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/v2/setting/SettingCtrl.java+++ b/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/v2/setting/SettingCtrl.java@@ -959,7 +959,7 @@ public class SettingCtrl {         }         if (version == 2) {             editor.putString(SettingKeys.KEY_RECORD_LOCATION,-                    pref.getBoolean(SettingKeys.KEY_RECORD_LOCATION, false)+                    pref.getBoolean(SettingKeys.KEY_RECORD_LOCATION, true)                     ? "on" : "none");             version = 3;         }

七:设置 > 语言合输入法 > 个人字典中添加默认字符
(packages/apps/Settings/)

diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.javaindex a1cbbd3..e8f7507 100644--- a/src/com/android/settings/SettingsActivity.java+++ b/src/com/android/settings/SettingsActivity.java@@ -149,6 +149,11 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set;+import android.content.ContentResolver;+import android.net.Uri;+import android.provider.UserDictionary.Words;+import android.provider.UserDictionary;+import android.content.ContentValues;  /* Vanzo:tanglei on: Mon, 26 Jan 2015 16:35:50 +0800  */@@ -908,6 +913,36 @@ public class SettingsActivity extends Activity         if(mDisplaySearch && !TextUtils.isEmpty(mSearchQuery)) {             onQueryTextSubmit(mSearchQuery);         }++        if (android.provider.Settings.System.getInt(this.getContentResolver(),"first_write_contentvalues", 0) == 0) {+            ContentResolver resolver = getContentResolver();+            int COLUMN_COUNT = 5;+            ContentValues values = new ContentValues(COLUMN_COUNT);+            values.put(UserDictionary.Words.WORD, "Kata");+            values.put(UserDictionary.Words.SHORTCUT, "Kata");+            values.put(UserDictionary.Words.FREQUENCY, 250);+            Uri result = resolver.insert(UserDictionary.Words.CONTENT_URI, values);++            values = new ContentValues(COLUMN_COUNT);+            values.put(UserDictionary.Words.WORD, "KataCloud");+            values.put(UserDictionary.Words.SHORTCUT, "KataCloud");+            values.put(UserDictionary.Words.FREQUENCY, 250);+            result = resolver.insert(UserDictionary.Words.CONTENT_URI, values);++            values = new ContentValues(COLUMN_COUNT);+            values.put(UserDictionary.Words.WORD, "128Online");+            values.put(UserDictionary.Words.SHORTCUT, "128Online");+            values.put(UserDictionary.Words.FREQUENCY, 250);+            result = resolver.insert(UserDictionary.Words.CONTENT_URI, values);++            values = new ContentValues(COLUMN_COUNT);+            values.put(UserDictionary.Words.WORD, "Owtel");+            values.put(UserDictionary.Words.SHORTCUT, "Owtel");+            values.put(UserDictionary.Words.FREQUENCY, 250);+            result = resolver.insert(UserDictionary.Words.CONTENT_URI, values);++            android.provider.Settings.System.putInt(this.getContentResolver(),"first_write_contentvalues", 1);+        }     }      @Override

八:图库中图片拉伸放大倍数

(packages/apps/Gallery2/)

diff --git a/src/com/android/gallery3d/ui/PositionController.java b/src/com/android/gallery3d/ui/PositionController.javaindex 07dc434..562b99b 100755--- a/src/com/android/gallery3d/ui/PositionController.java+++ b/src/com/android/gallery3d/ui/PositionController.java@@ -90,7 +90,7 @@ public class PositionController {      // We try to scale up the image to fill the screen. But in order not to     // scale too much for small icons, we limit the max up-scaling factor here.-    private static final float SCALE_LIMIT = 4;+    private static final float SCALE_LIMIT = 2.5f;      // For user's gestures, we give a temporary extra scaling range which goes     // above or below the usual scaling limits.

九:图库中双击图片放大倍数

(packages/apps/Gallery2)

diff --git a/src/com/android/gallery3d/ui/PositionController.java b/src/com/android/gallery3d/ui/PositionController.javaindex 07dc434..562b99b 100755--- a/src/com/android/gallery3d/ui/PositionController.java+++ b/src/com/android/gallery3d/ui/PositionController.java@@ -90,7 +90,7 @@ public class PositionController {      // We try to scale up the image to fill the screen. But in order not to     // scale too much for small icons, we limit the max up-scaling factor here.-    private static final float SCALE_LIMIT = 4;+    private static final float SCALE_LIMIT = 2.5f;      // For user's gestures, we give a temporary extra scaling range which goes     // above or below the usual scaling limits.

十:默认MTK fota
1) 加入ngm宏
NGM_SYSTEM_UPDATE_SUPPORT_FOR_80M=yes
2) 删除广升 fota
ADUPS_FOTA_SUPPORT=no
3) 配置fota网址
(vanzo/)

diff --git a/packages/SystemUpdate_for_80m/res/values/address.xml b/packages/SystemUpdate_for_80m/res/values/address.xmlindex e891226..20261f7 100755--- a/packages/SystemUpdate_for_80m/res/values/address.xml+++ b/packages/SystemUpdate_for_80m/res/values/address.xml@@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <resources>-    <string name="address_login" translatable="false">http://ota.ngmitalia.it/fota/download/login.php</string>-    <string name="address_check_version" translatable="false">http://ota.ngmitalia.it/fota/download/checkversion.php</string>-    <string name="address_download_full" translatable="false">http://ota.ngmitalia.it/fota/download/downloadfullota.php</string>-    <string name="address_download_delta" translatable="false">http://ota.ngmitalia.it/fota/download/download.php</string>+    <string name="address_login" translatable="false">客户提供</string>+    <string name="address_check_version" translatable="false">客户提供</string>+    <string name="address_download_full" translatable="false">客户提供</string>+    <string name="address_download_delta" translatable="false">客户提供</string>     <string name="address_update_result" translatable="false">updateResult</string>     <string name="gms_load_flag" translatable="false">/system/etc/permissions/com.google.android.gms.releasenote.xml</string>     </resources>

4) 加入fota入口
(packages/apps/Settings/)

diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xmlindex 94e27ea..4e3a489 100644--- a/res/values-zh-rCN/strings.xml+++ b/res/values-zh-rCN/strings.xml@@ -20,6 +20,7 @@     <string name="no" msgid="6731231425810196216">"否"</string>     <string name="create" msgid="3578857613172647409">"创建"</string>     <string name="allow" msgid="3349662621170855910">"允许"</string>+    <string name="system_update">系统升级</string>     <string name="deny" msgid="6947806159746484865">"拒绝"</string>     <string name="dlg_close" msgid="7471087791340790015">"关闭"</string>     <string name="dlg_switch" msgid="6243971420240639064">"切换"</string>diff --git a/res/values/strings.xml b/res/values/strings.xmlindex ad5ca8c..202090e 100644--- a/res/values/strings.xml+++ b/res/values/strings.xml@@ -29,7 +29,7 @@     <string name="dlg_close">Close</string>     <!-- Strings for Dialog switch button [CHAR LIMIT=20] -->     <string name="dlg_switch">Switch</string>-+    <string name="system_update">System Update</string>     <!-- Device Info --> <skip />     <!-- Device Info screen. Used for a status item's value when the proper value is not known -->     <string name="device_info_default">Unknown</string>diff --git a/res/xml/device_info_settings.xml b/res/xml/device_info_settings.xmlindex 06d543a..f2dd846 100644--- a/res/xml/device_info_settings.xml+++ b/res/xml/device_info_settings.xml@@ -65,6 +65,13 @@      android:summary="@string/software_updates_more_summary" > </PreferenceScreen> +        <PreferenceScreen android:key="system_version"+                android:title="@string/system_update">+            <intent android:action="android.intent.action.MAIN"+                    android:targetPackage="com.mediatek.systemupdate"+                    android:targetClass="com.mediatek.systemupdate.MainEntry" />+        </PreferenceScreen>+         <!-- Device status - launches activity -->         <PreferenceScreen android:key="status_info"                 android:title="@string/device_status"


十一:otg做成5.1的样子,在filemanager中显示

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

diff --git a/base/services/core/java/com/android/server/MountService.java b/base/services/core/java/com/android/server/MountService.java  2 index 7204af3..f38c4b0 100755 --- a/base/services/core/java/com/android/server/MountService.java +++ b/base/services/core/java/com/android/server/MountService.java@@ -1301,7 +1301,7 @@ class MountService extends IMountService.Stub              // Adoptable public disks are visible to apps, since they meet              // public API requirement of being in a stable location.-            if (vol.disk.isAdoptable() || vol.isPhoneStorage()) {+            if (vol.disk.isAdoptable() || vol.isPhoneStorage() || vol.isUSBOTG()) {                 vol.mountFlags |= VolumeInfo.MOUNT_FLAG_VISIBLE;             }

十二:进入相机时亮度最大,退出还原

(vendor/mediatek/proprietary/packages/apps/Camera/src/com/android/camera/CameraActivity.java)

diff --git a/mediatek/proprietary/packages/apps/Camera/src/com/android/camera/CameraActivity.java b/mediatek/proprietary/packages/apps/Camera/src/com/android/camera/CameraActivity.javaindex 4f3234c..a68047a 100755--- a/mediatek/proprietary/packages/apps/Camera/src/com/android/camera/CameraActivity.java+++ b/mediatek/proprietary/packages/apps/Camera/src/com/android/camera/CameraActivity.java@@ -394,7 +394,14 @@ public class CameraActivity extends ActivityBase implements         CameraPerformanceTracker.onEvent(TAG,                 CameraPerformanceTracker.NAME_CAMERA_ON_RESUME,                 CameraPerformanceTracker.ISEND);+        setScreenBrightness(1.0f);     }+     private void setScreenBrightness(float value) {+          WindowManager.LayoutParams params = this.getWindow().getAttributes();+          params.screenBrightness = value;+          this.getWindow().setAttributes(params);+    }+           /**      * the result if CameraActivity permission check.


十三:相机中的GPS默认开启

(vendor/)

diff --git a/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/setting/SettingUtils.java b/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/setting/SettingUtils.javaindex 2894994..e48f37e 100755--- a/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/setting/SettingUtils.java+++ b/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/setting/SettingUtils.java@@ -949,7 +949,7 @@ public class SettingUtils {         }         if (version == 2) {             editor.putString(SettingConstants.KEY_RECORD_LOCATION,-                    pref.getBoolean(SettingConstants.KEY_RECORD_LOCATION, false) ?+                    pref.getBoolean(SettingConstants.KEY_RECORD_LOCATION, true) ?                              RecordLocationPreference.VALUE_ON                             : RecordLocationPreference.VALUE_NONE);             version = 3;diff --git a/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/v2/setting/SettingCtrl.java b/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/v2/setting/SettingCtrl.javaindex cc6bbfd..be4fd74 100755--- a/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/v2/setting/SettingCtrl.java+++ b/mediatek/proprietary/packages/apps/Camera/src/com/mediatek/camera/v2/setting/SettingCtrl.java@@ -959,7 +959,7 @@ public class SettingCtrl {         }         if (version == 2) {             editor.putString(SettingKeys.KEY_RECORD_LOCATION,-                    pref.getBoolean(SettingKeys.KEY_RECORD_LOCATION, false)+                    pref.getBoolean(SettingKeys.KEY_RECORD_LOCATION, true)                     ? "on" : "none");             version = 3;         }


十四:开机动画完成后,闪半张壁纸

7.0 默认不滑动的壁纸宽不用X2

frameworks/

diff --git a/base/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/base/services/core/java/com/android/server/wallpaper/WallpaperManagerService.javaindex 33ec45a..c62e223 100644--- a/base/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java+++ b/base/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java@@ -2003,9 +2003,13 @@ public class WallpaperManagerService extends IWallpaperManager.Stub {     private void ensureSaneWallpaperData(WallpaperData wallpaper) {         // We always want to have some reasonable width hint.         int baseSize = getMaximumSizeDimension();+/* Vanzo:zhongyeqing on: Thu, 22 Jun 2017 15:43:08 +0800+ * TODO: replace this line with your comment         if (wallpaper.width < baseSize) {             wallpaper.width = baseSize;         }+ */+// End of Vanzo: zhongyeqing         if (wallpaper.height < baseSize) {             wallpaper.height = baseSize;         }

(packages/apps/Launcher3/)

diff --git a/WallpaperPicker/res/values/dimens.xml b/WallpaperPicker/res/values/dimens.xmlindex 0447c6d..a1ff7b7 100755--- a/WallpaperPicker/res/values/dimens.xml+++ b/WallpaperPicker/res/values/dimens.xml@@ -16,7 +16,7 @@  <resources> <!-- Wallpaper picker -->-    <dimen name="wallpaperThumbnailWidth">106.5dp</dimen>-    <dimen name="wallpaperThumbnailHeight">94.5dp</dimen>+    <dimen name="wallpaperThumbnailWidth">48dp</dimen>+    <dimen name="wallpaperThumbnailHeight">85dp</dimen>     <dimen name="wallpaperItemIconSize">32dp</dimen> </resources>diff --git a/src/com/android/launcher3/util/WallpaperUtils.java b/src/com/android/launcher3/util/WallpaperUtils.javaindex b9fccbc..6a78892 100755--- a/src/com/android/launcher3/util/WallpaperUtils.java+++ b/src/com/android/launcher3/util/WallpaperUtils.java@@ -110,13 +110,15 @@ public final class WallpaperUtils {              // We need to ensure that there is enough extra space in the wallpaper             // for the intended parallax effects+            Point realSize = new Point();+            windowManager.getDefaultDisplay().getRealSize(realSize);             final int defaultWidth, defaultHeight;             if (res.getConfiguration().smallestScreenWidthDp >= 720) {                 defaultWidth = (int) (maxDim * wallpaperTravelToScreenWidthRatio(maxDim, minDim));                 defaultHeight = maxDim;             } else {-                defaultWidth = Math.max((int) (minDim * WALLPAPER_SCREENS_SPAN), maxDim);-                defaultHeight = maxDim;+                defaultWidth = realSize.x;+                defaultHeight = realSize.y;             }             sDefaultWallpaperSize = new Point(defaultWidth, defaultHeight);         }


十五:7.0 默认 mtp

(frameworks/base/services/usb/java/com/android/server/usb/UsbDeviceManager.java)

diff --git a/base/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/base/services/usb/java/com/android/server/usb/UsbDeviceManager.javaindex 9d3b655..4ac7646 100644--- a/base/services/usb/java/com/android/server/usb/UsbDeviceManager.java+++ b/base/services/usb/java/com/android/server/usb/UsbDeviceManager.java@@ -453,7 +453,7 @@ functions = addFunction(functions, UsbManager.USB_FUNCTION_ACM);         private boolean mHostConnected;         private boolean mSourcePower;         private boolean mConfigured;-        private boolean mUsbDataUnlocked;+        private boolean mUsbDataUnlocked = true;         private String mCurrentFunctions;         private String mDefaultFunctions;         private boolean mCurrentFunctionsApplied;@@ -1361,7 +1361,7 @@ functions = addFunction(functions, UsbManager.USB_FUNCTION_ACM);                     mUsbConfigured = mConfigured;                     if (!mConnected) {                         // When a disconnect occurs, relock access to sensitive user data-                        mUsbDataUnlocked = false;+                    //  mUsbDataUnlocked = false;                     }                     updateUsbNotification();                     updateAdbNotification();@@ -1370,7 +1370,7 @@ functions = addFunction(functions, UsbManager.USB_FUNCTION_ACM);                         updateCurrentAccessory();                     } else if (!mConnected) {                         // restore defaults when USB is disconnected-                        setEnabledFunctions(null, false);+                  //    setEnabledFunctions(null, false);                     }                     if (mBootCompleted) {                         updateUsbStateBroadcastIfNeeded();

十六:7.0 电脑上显示的mtp名字

(frameworks/)

diff --git a/av/media/mtp/MtpServer.cpp b/av/media/mtp/MtpServer.cppindex 9f5d3b7..2a219be 100755--- a/av/media/mtp/MtpServer.cpp+++ b/av/media/mtp/MtpServer.cpp@@ -500,7 +500,13 @@ MtpResponseCode MtpServer::doGetDeviceInfo() {     mData.putString(string);   // Manufacturer      property_get("ro.product.model", prop_value, "MTP Device");++/*+ * TODO: replace this line with your comment     string.set(prop_value);+ */+    string.set("ADVAN S50H");+// End of     mData.putString(string);   // Model     string.set("1.0");     mData.putString(string);   // Device Versiondiff --git a/base/media/java/android/mtp/MtpDatabase.java b/base/media/java/android/mtp/MtpDatabase.javaindex 794b893..027395b 100755--- a/base/media/java/android/mtp/MtpDatabase.java+++ b/base/media/java/android/mtp/MtpDatabase.java@@ -44,6 +44,7 @@ import java.io.IOException; import java.util.HashMap; import java.util.Locale; import java.util.concurrent.atomic.AtomicBoolean;+import android.os.SystemProperties;  /**  * {@hide}@@ -851,18 +852,81 @@ public class MtpDatabase implements AutoCloseable {      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 = "ADVAN S50H";+               +                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: @}+                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();+                //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 = "ADVAN S50H";+                        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:

十七:设置 > SIM卡应用 > 短信            删除总是询问

(packages/apps/Settings/)

(ext/src/com/mediatek/settings/ext/DefaultRCSSettings.java)

diff --git a/ext/src/com/mediatek/settings/ext/DefaultRCSSettings.java b/ext/src/com/mediatek/settings/ext/DefaultRCSSettings.java   index 38b192b..2ea8474 100644   --- a/ext/src/com/mediatek/settings/ext/DefaultRCSSettings.java   +++ b/ext/src/com/mediatek/settings/ext/DefaultRCSSettings.java   @@ -29,7 +29,7 @@ public class DefaultRCSSettings implements IRCSSettings {         */        public boolean isNeedAskFirstItemForSms() {           Log.d("@M_" + TAG, "isNeedAskFirstItemForSms");  -        return true;  +        return false;       }         /**

(src/com/android/settings/sim/SimDialogActivity.java)

@@ -619,13 +626,9 @@ public class SimDialogActivity extends Activity {            if (value < 1) {               int length = subInfoList == null ? 0 : subInfoList.size();  -            if (length == 1) {                   subId = subInfoList.get(value).getSubscriptionId();  -            } else {  -                subId = DefaultSmsSimSettings.ASK_USER_SUB_ID;  -            }           } else if (value >= 1 && value < subInfoList.size() + 1) {  -            subId = subInfoList.get(value - 1).getSubscriptionId();  +            subId = subInfoList.get(value).getSubscriptionId();           } else {               /// M: for plug-in               subId = mSimManagementExt.getDefaultSmsSubIdForAuto();


十八:设置 > SIM卡应用 > 短信       默认SIM卡1

(packages/apps/Settings/)

(src/com/android/settings/sim/SimDialogActivity.java)

@@ -72,6 +72,7 @@ public class SimDialogActivity extends Activity {       public static final int CALLS_PICK = 1;       public static final int SMS_PICK = 2;       public static final int PREFERRED_PICK = 3;  +    public static final int DEFAULT_DATA_PICK = 4;         @Override       protected void onCreate(Bundle savedInstanceState) {  @@ -118,6 +119,9 @@ public class SimDialogActivity extends Activity {                   /// @}                   displayPreferredDialog(extras.getInt(PREFERRED_SIM));                   break;  +            case DEFAULT_DATA_PICK:  +                setDefaultSmsSubId(this,extras.getInt(PREFERRED_SIM));  +                break;               default:                   throw new IllegalArgumentException("Invalid dialog type " + dialogType + " sent.");           }


(src/com/android/settings/sim/SimSelectNotification.java)

@@ -172,27 +174,43 @@ public class SimSelectNotification extends BroadcastReceiver {              /// @}               // If there is only one subscription, ask if user wants to use if for everything +            Log.i("rmy", "---------- one sim --------------");              Intent newIntent = new Intent(context, SimDialogActivity.class);              newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); -            newIntent.putExtra(SimDialogActivity.DIALOG_TYPE_KEY, SimDialogActivity.PREFERRED_PICK); -            newIntent.putExtra(SimDialogActivity.PREFERRED_SIM, sil.get(0).getSimSlotIndex()); +            newIntent.putExtra(SimDialogActivity.DIALOG_TYPE_KEY, SimDialogActivity.DEFAULT_DATA_PICK); +            Log.i("rmy", "getSimSlotIndex() ="+ sil.get(0).getSimSlotIndex()); +            Log.i("rmy", "getSubscriptionId() = "+ sil.get(0).getSubscriptionId()); +            newIntent.putExtra(SimDialogActivity.PREFERRED_SIM, sil.get(0).getSubscriptionId());              context.startActivity(newIntent); +            setDefaultSmsSubId(context,sil.get(0).getSubscriptionId()); +              /// M: for [C2K OMH Warning]              OmhEventHandler.getInstance(context).sendEmptyMessage(OmhEventHandler.SET_BUSY); -        } else if (!dataSelected || -            /// M: Op01 open market request. @{ -                SystemProperties.get("ro.cmcc_light_cust_support").equals("1")) { -            /// @} +            } else{ +            Log.i("rmy", "---------- two sim --------------");              // If there are multiple, ensure they pick default data -            Intent newIntent = new Intent(context, SimDialogActivity.class); -            newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); -            newIntent.putExtra(SimDialogActivity.DIALOG_TYPE_KEY, SimDialogActivity.DATA_PICK); -            context.startActivity(newIntent); -            /// M: for [C2K OMH Warning] -            OmhEventHandler.getInstance(context).sendEmptyMessage(OmhEventHandler.SET_BUSY); +            if (!dataSelected){ +                Intent newIntent = new Intent(context, SimDialogActivity.class); +                newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); +                newIntent.putExtra(SimDialogActivity.DIALOG_TYPE_KEY, SimDialogActivity.DEFAULT_DATA_PICK); +                newIntent.putExtra(SimDialogActivity.PREFERRED_SIM, sil.get(0).getSubscriptionId()); +                context.startActivity(newIntent); +            } + +            if (!smsSelected){ +                setDefaultSmsSubId(context,sil.get(0).getSubscriptionId()); +            }

原创粉丝点击