New dev setting to turn off HW overlays.
Change-Id: I747ac6d90dfb8a7a0bbf547ce7cae8ee86f8d5d0
This commit is contained in:
@@ -3504,6 +3504,11 @@
|
||||
<!-- UI debug setting: show screen updates summary [CHAR LIMIT=50] -->
|
||||
<string name="show_screen_updates_summary">Flash areas of screen when they update</string>
|
||||
|
||||
<!-- UI debug setting: disable use of overlays? [CHAR LIMIT=25] -->
|
||||
<string name="disable_overlays">Disable overlays</string>
|
||||
<!-- UI debug setting: disable use of overlays summary [CHAR LIMIT=50] -->
|
||||
<string name="disable_overlays_summary">Don\'t use overlays for screen compositing</string>
|
||||
|
||||
<!-- UI debug setting: show how CPU is being used? [CHAR LIMIT=25] -->
|
||||
<string name="show_cpu_usage">Show CPU usage</string>
|
||||
<!-- UI debug setting: show cpu usage summary [CHAR LIMIT=50] -->
|
||||
|
@@ -80,6 +80,11 @@
|
||||
android:title="@string/show_screen_updates"
|
||||
android:summary="@string/show_screen_updates_summary"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="disable_overlays"
|
||||
android:title="@string/disable_overlays"
|
||||
android:summary="@string/disable_overlays_summary"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="show_cpu_usage"
|
||||
android:title="@string/show_cpu_usage"
|
||||
|
@@ -42,7 +42,6 @@ import android.os.SystemProperties;
|
||||
import android.preference.CheckBoxPreference;
|
||||
import android.preference.ListPreference;
|
||||
import android.preference.Preference;
|
||||
import android.preference.PreferenceActivity;
|
||||
import android.preference.PreferenceFragment;
|
||||
import android.preference.PreferenceScreen;
|
||||
import android.preference.Preference.OnPreferenceChangeListener;
|
||||
@@ -74,6 +73,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
private static final String POINTER_LOCATION_KEY = "pointer_location";
|
||||
private static final String SHOW_TOUCHES_KEY = "show_touches";
|
||||
private static final String SHOW_SCREEN_UPDATES_KEY = "show_screen_updates";
|
||||
private static final String DISABLE_OVERLAYS_KEY = "disable_overlays";
|
||||
private static final String SHOW_CPU_USAGE_KEY = "show_cpu_usage";
|
||||
private static final String FORCE_HARDWARE_UI_KEY = "force_hw_ui";
|
||||
private static final String WINDOW_ANIMATION_SCALE_KEY = "window_animation_scale";
|
||||
@@ -101,6 +101,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
private CheckBoxPreference mPointerLocation;
|
||||
private CheckBoxPreference mShowTouches;
|
||||
private CheckBoxPreference mShowScreenUpdates;
|
||||
private CheckBoxPreference mDisableOverlays;
|
||||
private CheckBoxPreference mShowCpuUsage;
|
||||
private CheckBoxPreference mForceHardwareUi;
|
||||
private ListPreference mWindowAnimationScale;
|
||||
@@ -156,6 +157,9 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
mShowScreenUpdates = (CheckBoxPreference) findPreference(SHOW_SCREEN_UPDATES_KEY);
|
||||
mAllPrefs.add(mShowScreenUpdates);
|
||||
mResetCbPrefs.add(mShowScreenUpdates);
|
||||
mDisableOverlays = (CheckBoxPreference) findPreference(DISABLE_OVERLAYS_KEY);
|
||||
mAllPrefs.add(mDisableOverlays);
|
||||
mResetCbPrefs.add(mDisableOverlays);
|
||||
mShowCpuUsage = (CheckBoxPreference) findPreference(SHOW_CPU_USAGE_KEY);
|
||||
mAllPrefs.add(mShowCpuUsage);
|
||||
mResetCbPrefs.add(mShowCpuUsage);
|
||||
@@ -391,6 +395,8 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
mShowScreenUpdates.setChecked(showUpdates != 0);
|
||||
@SuppressWarnings("unused")
|
||||
int showBackground = reply.readInt();
|
||||
int disableOverlays = reply.readInt();
|
||||
mDisableOverlays.setChecked(disableOverlays != 0);
|
||||
reply.recycle();
|
||||
data.recycle();
|
||||
}
|
||||
@@ -398,13 +404,14 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
}
|
||||
}
|
||||
|
||||
private void writeFlingerOptions() {
|
||||
private void writeShowUpdatesOption() {
|
||||
try {
|
||||
IBinder flinger = ServiceManager.getService("SurfaceFlinger");
|
||||
if (flinger != null) {
|
||||
Parcel data = Parcel.obtain();
|
||||
data.writeInterfaceToken("android.ui.ISurfaceComposer");
|
||||
data.writeInt(mShowScreenUpdates.isChecked() ? 1 : 0);
|
||||
final int showUpdates = mShowScreenUpdates.isChecked() ? 1 : 0;
|
||||
data.writeInt(showUpdates);
|
||||
flinger.transact(1002, data, null, 0);
|
||||
data.recycle();
|
||||
|
||||
@@ -414,6 +421,23 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
}
|
||||
}
|
||||
|
||||
private void writeDisableOverlaysOption() {
|
||||
try {
|
||||
IBinder flinger = ServiceManager.getService("SurfaceFlinger");
|
||||
if (flinger != null) {
|
||||
Parcel data = Parcel.obtain();
|
||||
data.writeInterfaceToken("android.ui.ISurfaceComposer");
|
||||
final int disableOverlays = mDisableOverlays.isChecked() ? 1 : 0;
|
||||
data.writeInt(disableOverlays);
|
||||
flinger.transact(1008, data, null, 0);
|
||||
data.recycle();
|
||||
|
||||
updateFlingerOptions();
|
||||
}
|
||||
} catch (RemoteException ex) {
|
||||
}
|
||||
}
|
||||
|
||||
private void updateHardwareUiOptions() {
|
||||
mForceHardwareUi.setChecked(SystemProperties.getBoolean(HARDWARE_UI_PROPERTY, false));
|
||||
}
|
||||
@@ -590,7 +614,9 @@ public class DevelopmentSettings extends PreferenceFragment
|
||||
} else if (preference == mShowTouches) {
|
||||
writeShowTouchesOptions();
|
||||
} else if (preference == mShowScreenUpdates) {
|
||||
writeFlingerOptions();
|
||||
writeShowUpdatesOption();
|
||||
} else if (preference == mDisableOverlays) {
|
||||
writeDisableOverlaysOption();
|
||||
} else if (preference == mShowCpuUsage) {
|
||||
writeCpuUsageOptions();
|
||||
} else if (preference == mImmediatelyDestroyActivities) {
|
||||
|
Reference in New Issue
Block a user