am 87ca7017
: Tweak development settings to report system property changes.
* commit '87ca70172cc25ed2195d310b71d9c652a0757b88': Tweak development settings to report system property changes.
This commit is contained in:
@@ -30,6 +30,7 @@ import android.content.DialogInterface;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
import android.os.AsyncTask;
|
||||||
import android.os.BatteryManager;
|
import android.os.BatteryManager;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -49,6 +50,7 @@ import android.preference.PreferenceScreen;
|
|||||||
import android.preference.Preference.OnPreferenceChangeListener;
|
import android.preference.Preference.OnPreferenceChangeListener;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
import android.view.HardwareRenderer;
|
import android.view.HardwareRenderer;
|
||||||
import android.view.IWindowManager;
|
import android.view.IWindowManager;
|
||||||
@@ -103,6 +105,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
private Switch mEnabledSwitch;
|
private Switch mEnabledSwitch;
|
||||||
private boolean mLastEnabledState;
|
private boolean mLastEnabledState;
|
||||||
private boolean mHaveDebugSettings;
|
private boolean mHaveDebugSettings;
|
||||||
|
private boolean mDontPokeProperties;
|
||||||
|
|
||||||
private CheckBoxPreference mEnableAdb;
|
private CheckBoxPreference mEnableAdb;
|
||||||
private CheckBoxPreference mKeepScreenOn;
|
private CheckBoxPreference mKeepScreenOn;
|
||||||
@@ -327,6 +330,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void resetDangerousOptions() {
|
private void resetDangerousOptions() {
|
||||||
|
mDontPokeProperties = true;
|
||||||
for (int i=0; i<mResetCbPrefs.size(); i++) {
|
for (int i=0; i<mResetCbPrefs.size(); i++) {
|
||||||
CheckBoxPreference cb = mResetCbPrefs.get(i);
|
CheckBoxPreference cb = mResetCbPrefs.get(i);
|
||||||
if (cb.isChecked()) {
|
if (cb.isChecked()) {
|
||||||
@@ -342,6 +346,8 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
writeAppProcessLimitOptions(null);
|
writeAppProcessLimitOptions(null);
|
||||||
mHaveDebugSettings = false;
|
mHaveDebugSettings = false;
|
||||||
updateAllOptions();
|
updateAllOptions();
|
||||||
|
mDontPokeProperties = false;
|
||||||
|
pokeSystemProperties();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateHdcpValues() {
|
private void updateHdcpValues() {
|
||||||
@@ -526,6 +532,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
|
|
||||||
private void writeHardwareUiOptions() {
|
private void writeHardwareUiOptions() {
|
||||||
SystemProperties.set(HARDWARE_UI_PROPERTY, mForceHardwareUi.isChecked() ? "true" : "false");
|
SystemProperties.set(HARDWARE_UI_PROPERTY, mForceHardwareUi.isChecked() ? "true" : "false");
|
||||||
|
pokeSystemProperties();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateTrackFrameTimeOptions() {
|
private void updateTrackFrameTimeOptions() {
|
||||||
@@ -536,6 +543,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
private void writeTrackFrameTimeOptions() {
|
private void writeTrackFrameTimeOptions() {
|
||||||
SystemProperties.set(HardwareRenderer.PROFILE_PROPERTY,
|
SystemProperties.set(HardwareRenderer.PROFILE_PROPERTY,
|
||||||
mTrackFrameTime.isChecked() ? "true" : "false");
|
mTrackFrameTime.isChecked() ? "true" : "false");
|
||||||
|
pokeSystemProperties();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateShowHwScreenUpdatesOptions() {
|
private void updateShowHwScreenUpdatesOptions() {
|
||||||
@@ -546,6 +554,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
private void writeShowHwScreenUpdatesOptions() {
|
private void writeShowHwScreenUpdatesOptions() {
|
||||||
SystemProperties.set(HardwareRenderer.DEBUG_DIRTY_REGIONS_PROPERTY,
|
SystemProperties.set(HardwareRenderer.DEBUG_DIRTY_REGIONS_PROPERTY,
|
||||||
mShowHwScreenUpdates.isChecked() ? "true" : "false");
|
mShowHwScreenUpdates.isChecked() ? "true" : "false");
|
||||||
|
pokeSystemProperties();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateDebugLayoutOptions() {
|
private void updateDebugLayoutOptions() {
|
||||||
@@ -556,6 +565,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
private void writeDebugLayoutOptions() {
|
private void writeDebugLayoutOptions() {
|
||||||
SystemProperties.set(View.DEBUG_LAYOUT_PROPERTY,
|
SystemProperties.set(View.DEBUG_LAYOUT_PROPERTY,
|
||||||
mDebugLayout.isChecked() ? "true" : "false");
|
mDebugLayout.isChecked() ? "true" : "false");
|
||||||
|
pokeSystemProperties();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateCpuUsageOptions() {
|
private void updateCpuUsageOptions() {
|
||||||
@@ -705,6 +715,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
private void writeEnableTracesOptions(long value) {
|
private void writeEnableTracesOptions(long value) {
|
||||||
SystemProperties.set(Trace.PROPERTY_TRACE_TAG_ENABLEFLAGS,
|
SystemProperties.set(Trace.PROPERTY_TRACE_TAG_ENABLEFLAGS,
|
||||||
"0x" + Long.toString(value, 16));
|
"0x" + Long.toString(value, 16));
|
||||||
|
pokeSystemProperties();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -817,6 +828,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
if (HDCP_CHECKING_KEY.equals(preference.getKey())) {
|
if (HDCP_CHECKING_KEY.equals(preference.getKey())) {
|
||||||
SystemProperties.set(HDCP_CHECKING_PROPERTY, newValue.toString());
|
SystemProperties.set(HDCP_CHECKING_PROPERTY, newValue.toString());
|
||||||
updateHdcpValues();
|
updateHdcpValues();
|
||||||
|
pokeSystemProperties();
|
||||||
return true;
|
return true;
|
||||||
} else if (preference == mWindowAnimationScale) {
|
} else if (preference == mWindowAnimationScale) {
|
||||||
writeAnimationScaleOption(0, mWindowAnimationScale, newValue);
|
writeAnimationScaleOption(0, mWindowAnimationScale, newValue);
|
||||||
@@ -892,4 +904,34 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
dismissDialogs();
|
dismissDialogs();
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void pokeSystemProperties() {
|
||||||
|
if (!mDontPokeProperties) {
|
||||||
|
(new SystemPropPoker()).execute();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static class SystemPropPoker extends AsyncTask<Void, Void, Void> {
|
||||||
|
@Override
|
||||||
|
protected Void doInBackground(Void... params) {
|
||||||
|
String[] services;
|
||||||
|
try {
|
||||||
|
services = ServiceManager.listServices();
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
for (String service : services) {
|
||||||
|
IBinder obj = ServiceManager.checkService(service);
|
||||||
|
if (obj != null) {
|
||||||
|
Parcel data = Parcel.obtain();
|
||||||
|
try {
|
||||||
|
obj.transact(IBinder.SYSPROPS_TRANSACTION, data, null, 0);
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
}
|
||||||
|
data.recycle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user