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