Add new dev settings to debug hardware layers
Change-Id: I2668552d70911a90e173efdf75bc44139ed394c8
This commit is contained in:
@@ -3745,6 +3745,11 @@
|
||||
<!-- UI debug setting: show GPU rendering screen updates summary [CHAR LIMIT=50] -->
|
||||
<string name="show_hw_screen_updates_summary">Flash views inside windows when drawn with the GPU</string>
|
||||
|
||||
<!-- UI debug setting: show when hardware layers get updated [CHAR LIMIT=25] -->
|
||||
<string name="show_hw_layers_updates">Show hardware layers updates</string>
|
||||
<!-- UI debug setting: show hardware layers updates summary [CHAR LIMIT=50] -->
|
||||
<string name="show_hw_layers_updates_summary">Flash hardware layers green when they update</string>
|
||||
|
||||
<!-- UI debug setting: disable use of overlays? [CHAR LIMIT=25] -->
|
||||
<string name="disable_overlays">Disable HW overlays</string>
|
||||
<!-- UI debug setting: disable use of overlays summary [CHAR LIMIT=50] -->
|
||||
|
@@ -100,6 +100,11 @@
|
||||
android:title="@string/show_hw_screen_updates"
|
||||
android:summary="@string/show_hw_screen_updates_summary"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="show_hw_layers_udpates"
|
||||
android:title="@string/show_hw_layers_updates"
|
||||
android:summary="@string/show_hw_layers_updates_summary"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="show_screen_updates"
|
||||
android:title="@string/show_screen_updates"
|
||||
|
@@ -91,6 +91,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";
|
||||
@@ -136,6 +137,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;
|
||||
@@ -188,6 +190,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);
|
||||
@@ -335,7 +338,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
Settings.Secure.ADB_ENABLED, 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 +352,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
updateHardwareUiOptions();
|
||||
updateTrackFrameTimeOptions();
|
||||
updateShowHwScreenUpdatesOptions();
|
||||
updateShowHwLayersUpdatesOptions();
|
||||
updateDebugLayoutOptions();
|
||||
updateAnimationScaleOptions();
|
||||
updateEnableTracesOptions();
|
||||
@@ -581,7 +585,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 +720,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;
|
||||
@@ -850,6 +864,8 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
writeTrackFrameTimeOptions();
|
||||
} else if (preference == mShowHwScreenUpdates) {
|
||||
writeShowHwScreenUpdatesOptions();
|
||||
} else if (preference == mShowHwLayersUpdates) {
|
||||
writeShowHwLayersUpdatesOptions();
|
||||
} else if (preference == mDebugLayout) {
|
||||
writeDebugLayoutOptions();
|
||||
}
|
||||
@@ -941,6 +957,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
|
||||
void pokeSystemProperties() {
|
||||
if (!mDontPokeProperties) {
|
||||
//noinspection unchecked
|
||||
(new SystemPropPoker()).execute();
|
||||
}
|
||||
}
|
||||
@@ -970,7 +987,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 +1022,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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user