diff options
Diffstat (limited to 'src/com/android/settings/DevelopmentSettings.java')
-rw-r--r-- | src/com/android/settings/DevelopmentSettings.java | 40 |
1 files changed, 33 insertions, 7 deletions
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index f5789ae..fc1b096 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -79,6 +79,7 @@ public class DevelopmentSettings extends PreferenceFragment private static final String ENFORCE_READ_EXTERNAL = "enforce_read_external"; private static final String LOCAL_BACKUP_PASSWORD = "local_backup_password"; private static final String HARDWARE_UI_PROPERTY = "persist.sys.ui.hw"; + private static final String BUGREPORT_IN_POWER_KEY = "bugreport_in_power"; private static final String DEBUG_APP_KEY = "debug_app"; private static final String WAIT_FOR_DEBUGGER_KEY = "wait_for_debugger"; @@ -91,6 +92,7 @@ public class DevelopmentSettings extends PreferenceFragment private static final String FORCE_HARDWARE_UI_KEY = "force_hw_ui"; private static final String TRACK_FRAME_TIME_KEY = "track_frame_time"; private static final String SHOW_HW_SCREEN_UPDATES_KEY = "show_hw_screen_udpates"; + private static final String SHOW_HW_LAYERS_UPDATES_KEY = "show_hw_layers_udpates"; private static final String DEBUG_LAYOUT_KEY = "debug_layout"; private static final String WINDOW_ANIMATION_SCALE_KEY = "window_animation_scale"; private static final String TRANSITION_ANIMATION_SCALE_KEY = "transition_animation_scale"; @@ -118,6 +120,7 @@ public class DevelopmentSettings extends PreferenceFragment private boolean mDontPokeProperties; private CheckBoxPreference mEnableAdb; + private CheckBoxPreference mBugreportInPower; private CheckBoxPreference mKeepScreenOn; private CheckBoxPreference mEnforceReadExternal; private CheckBoxPreference mAllowMockLocation; @@ -136,6 +139,7 @@ public class DevelopmentSettings extends PreferenceFragment private CheckBoxPreference mForceHardwareUi; private CheckBoxPreference mTrackFrameTime; private CheckBoxPreference mShowHwScreenUpdates; + private CheckBoxPreference mShowHwLayersUpdates; private CheckBoxPreference mDebugLayout; private ListPreference mWindowAnimationScale; private ListPreference mTransitionAnimationScale; @@ -170,6 +174,7 @@ public class DevelopmentSettings extends PreferenceFragment addPreferencesFromResource(R.xml.development_prefs); mEnableAdb = findAndInitCheckboxPref(ENABLE_ADB); + mBugreportInPower = findAndInitCheckboxPref(BUGREPORT_IN_POWER_KEY); mKeepScreenOn = findAndInitCheckboxPref(KEEP_SCREEN_ON); mEnforceReadExternal = findAndInitCheckboxPref(ENFORCE_READ_EXTERNAL); mAllowMockLocation = findAndInitCheckboxPref(ALLOW_MOCK_LOCATION); @@ -188,6 +193,7 @@ public class DevelopmentSettings extends PreferenceFragment mForceHardwareUi = findAndInitCheckboxPref(FORCE_HARDWARE_UI_KEY); mTrackFrameTime = findAndInitCheckboxPref(TRACK_FRAME_TIME_KEY); mShowHwScreenUpdates = findAndInitCheckboxPref(SHOW_HW_SCREEN_UPDATES_KEY); + mShowHwLayersUpdates = findAndInitCheckboxPref(SHOW_HW_LAYERS_UPDATES_KEY); mDebugLayout = findAndInitCheckboxPref(DEBUG_LAYOUT_KEY); mWindowAnimationScale = (ListPreference) findPreference(WINDOW_ANIMATION_SCALE_KEY); mAllPrefs.add(mWindowAnimationScale); @@ -260,7 +266,7 @@ public class DevelopmentSettings extends PreferenceFragment activity.getActionBar().setCustomView(mEnabledSwitch, new ActionBar.LayoutParams( ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT, - Gravity.CENTER_VERTICAL | Gravity.RIGHT)); + Gravity.CENTER_VERTICAL | Gravity.END)); } @Override @@ -333,9 +339,11 @@ public class DevelopmentSettings extends PreferenceFragment mHaveDebugSettings = false; updateCheckBox(mEnableAdb, Settings.Secure.getInt(cr, Settings.Secure.ADB_ENABLED, 0) != 0); + updateCheckBox(mBugreportInPower, Settings.Secure.getInt(cr, + Settings.Secure.BUGREPORT_IN_POWER_MENU, 0) != 0); updateCheckBox(mKeepScreenOn, Settings.System.getInt(cr, Settings.System.STAY_ON_WHILE_PLUGGED_IN, 0) != 0); - updateCheckBox(mEnforceReadExternal, isPermissionEnforced(context, READ_EXTERNAL_STORAGE)); + updateCheckBox(mEnforceReadExternal, isPermissionEnforced(READ_EXTERNAL_STORAGE)); updateCheckBox(mAllowMockLocation, Settings.Secure.getInt(cr, Settings.Secure.ALLOW_MOCK_LOCATION, 0) != 0); updateHdcpValues(); @@ -349,6 +357,7 @@ public class DevelopmentSettings extends PreferenceFragment updateHardwareUiOptions(); updateTrackFrameTimeOptions(); updateShowHwScreenUpdatesOptions(); + updateShowHwLayersUpdatesOptions(); updateDebugLayoutOptions(); updateAnimationScaleOptions(); updateEnableTracesOptions(); @@ -581,7 +590,18 @@ public class DevelopmentSettings extends PreferenceFragment private void writeShowHwScreenUpdatesOptions() { SystemProperties.set(HardwareRenderer.DEBUG_DIRTY_REGIONS_PROPERTY, - mShowHwScreenUpdates.isChecked() ? "true" : "false"); + mShowHwScreenUpdates.isChecked() ? "true" : null); + pokeSystemProperties(); + } + + private void updateShowHwLayersUpdatesOptions() { + updateCheckBox(mShowHwLayersUpdates, SystemProperties.getBoolean( + HardwareRenderer.DEBUG_SHOW_LAYERS_UPDATES_PROPERTY, false)); + } + + private void writeShowHwLayersUpdatesOptions() { + SystemProperties.set(HardwareRenderer.DEBUG_SHOW_LAYERS_UPDATES_PROPERTY, + mShowHwLayersUpdates.isChecked() ? "true" : null); pokeSystemProperties(); } @@ -705,7 +725,6 @@ public class DevelopmentSettings extends PreferenceFragment } private void updateEnableTracesOptions() { - String strValue = SystemProperties.get(Trace.PROPERTY_TRACE_TAG_ENABLEFLAGS); long flags = SystemProperties.getLong(Trace.PROPERTY_TRACE_TAG_ENABLEFLAGS, 0); String[] values = mEnableTracesPref.getEntryValues(); int numSet = 0; @@ -809,6 +828,10 @@ public class DevelopmentSettings extends PreferenceFragment Settings.Secure.putInt(getActivity().getContentResolver(), Settings.Secure.ADB_ENABLED, 0); } + } else if (preference == mBugreportInPower) { + Settings.Secure.putInt(getActivity().getContentResolver(), + Settings.Secure.BUGREPORT_IN_POWER_MENU, + mBugreportInPower.isChecked() ? 1 : 0); } else if (preference == mKeepScreenOn) { Settings.System.putInt(getActivity().getContentResolver(), Settings.System.STAY_ON_WHILE_PLUGGED_IN, @@ -850,6 +873,8 @@ public class DevelopmentSettings extends PreferenceFragment writeTrackFrameTimeOptions(); } else if (preference == mShowHwScreenUpdates) { writeShowHwScreenUpdatesOptions(); + } else if (preference == mShowHwLayersUpdates) { + writeShowHwLayersUpdatesOptions(); } else if (preference == mDebugLayout) { writeDebugLayoutOptions(); } @@ -941,6 +966,7 @@ public class DevelopmentSettings extends PreferenceFragment void pokeSystemProperties() { if (!mDontPokeProperties) { + //noinspection unchecked (new SystemPropPoker()).execute(); } } @@ -970,7 +996,7 @@ public class DevelopmentSettings extends PreferenceFragment } /** - * Dialog to confirm enforcement of {@link #READ_EXTERNAL_STORAGE}. + * Dialog to confirm enforcement of {@link android.Manifest.permission#READ_EXTERNAL_STORAGE}. */ public static class ConfirmEnforceFragment extends DialogFragment { public static void show(DevelopmentSettings parent) { @@ -1005,9 +1031,9 @@ public class DevelopmentSettings extends PreferenceFragment } } - private static boolean isPermissionEnforced(Context context, String permission) { + private static boolean isPermissionEnforced(String permission) { try { - return ActivityThread.getPackageManager().isPermissionEnforced(READ_EXTERNAL_STORAGE); + return ActivityThread.getPackageManager().isPermissionEnforced(permission); } catch (RemoteException e) { throw new RuntimeException("Problem talking with PackageManager", e); } |