[RK3288][Android6.0] 除錯筆記 --- user版本預設顯示開發者選項
阿新 • • 發佈:2019-01-27
Platform: ROCKCHIP
OS: Android 6.0
Kernel: 3.10.92
預設user版本不顯示開發者選項這一欄,需要通過連續點選版本號7次來顯示.
packages\apps\Settings\src\com\android\settings\DeviceInfoSettings.java
而預設開機是否顯示由變數showDev控制
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 645add3..11a9c55 100755
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -1236,9 +1236,11 @@ public class SettingsActivity extends Activity
}
private void updateTilesList(List<DashboardCategory> target) {
- final boolean showDev = mDevelopmentPreferences.getBoolean(
- DevelopmentSettings.PREF_SHOW,
- android.os.Build.TYPE.equals("eng"));
+ /*Kris, 170413, show development options anytime.*/
+ // final boolean showDev = mDevelopmentPreferences.getBoolean(
+ // DevelopmentSettings.PREF_SHOW,
+ //android.os.Build.TYPE.equals("eng"));
+ final boolean showDev = true;
OS: Android 6.0
Kernel: 3.10.92
預設user版本不顯示開發者選項這一欄,需要通過連續點選版本號7次來顯示.
packages\apps\Settings\src\com\android\settings\DeviceInfoSettings.java
static final int TAPS_TO_BE_A_DEVELOPER = 7; public void onResume() { super.onResume(); mDevHitCountdown = getActivity().getSharedPreferences(DevelopmentSettings.PREF_FILE, Context.MODE_PRIVATE).getBoolean(DevelopmentSettings.PREF_SHOW, android.os.Build.TYPE.equals("eng")) ? -1 : TAPS_TO_BE_A_DEVELOPER; mDevHitToast = null; } public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { ...... if (mDevHitCountdown > 0) { mDevHitCountdown--; if (mDevHitCountdown == 0) { getActivity().getSharedPreferences(DevelopmentSettings.PREF_FILE, Context.MODE_PRIVATE).edit().putBoolean( DevelopmentSettings.PREF_SHOW, true).apply(); if (mDevHitToast != null) { mDevHitToast.cancel(); } mDevHitToast = Toast.makeText(getActivity(), R.string.show_dev_on, Toast.LENGTH_LONG); mDevHitToast.show(); // This is good time to index the Developer Options Index.getInstance( getActivity().getApplicationContext()).updateFromClassNameResource( DevelopmentSettings.class.getName(), true, true); } else if (mDevHitCountdown > 0 && mDevHitCountdown < (TAPS_TO_BE_A_DEVELOPER-2)) { if (mDevHitToast != null) { mDevHitToast.cancel(); } mDevHitToast = Toast.makeText(getActivity(), getResources().getQuantityString( R.plurals.show_dev_countdown, mDevHitCountdown, mDevHitCountdown), Toast.LENGTH_SHORT); mDevHitToast.show(); } } else if (mDevHitCountdown < 0) { //點選完7次之後顯示 if (mDevHitToast != null) { mDevHitToast.cancel(); } mDevHitToast = Toast.makeText(getActivity(), R.string.show_dev_already, Toast.LENGTH_LONG); mDevHitToast.show(); } } ...... }
而預設開機是否顯示由變數showDev控制
packages\apps\Settings\src\com\android\settings\SettingsActivity.java
private void updateTilesList(List<DashboardCategory> target) { final boolean showDev = mDevelopmentPreferences.getBoolean( DevelopmentSettings.PREF_SHOW, android.os.Build.TYPE.equals("eng")); //因此eng才返回true ...... } else if (id == R.id.development_settings) { if (!showDev || um.hasUserRestriction( UserManager.DISALLOW_DEBUGGING_FEATURES)) { removeTile = true; //showDev為false則不顯示 } } }
解決方法:
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 645add3..11a9c55 100755
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -1236,9 +1236,11 @@ public class SettingsActivity extends Activity
}
private void updateTilesList(List<DashboardCategory> target) {
- final boolean showDev = mDevelopmentPreferences.getBoolean(
- DevelopmentSettings.PREF_SHOW,
- android.os.Build.TYPE.equals("eng"));
+ /*Kris, 170413, show development options anytime.*/
+ // final boolean showDev = mDevelopmentPreferences.getBoolean(
+ // DevelopmentSettings.PREF_SHOW,
+ //android.os.Build.TYPE.equals("eng"));
+ final boolean showDev = true;