Schematize Display system properties

Properties accessed across partitions are now schematized and will
become APIs to make explicit interfaces among partitions.

Bug: 117924132
Test: m -j
Change-Id: I83b40ddfcde32d8d03fae73f5c252013933c466c
This commit is contained in:
Kiyoung Kim
2018-12-20 18:36:27 +09:00
parent 95ca4bf581
commit 1a3425ed2a
6 changed files with 25 additions and 37 deletions

View File

@@ -17,7 +17,7 @@
package com.android.settings.development; package com.android.settings.development;
import android.content.Context; import android.content.Context;
import android.os.SystemProperties; import android.sysprop.DisplayProperties;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference; import androidx.preference.Preference;
@@ -32,9 +32,6 @@ public class ForceMSAAPreferenceController extends DeveloperOptionsPreferenceCon
private static final String FORCE_MSAA_KEY = "force_msaa"; private static final String FORCE_MSAA_KEY = "force_msaa";
@VisibleForTesting
static final String MSAA_PROPERTY = "debug.egl.force_msaa";
public ForceMSAAPreferenceController(Context context) { public ForceMSAAPreferenceController(Context context) {
super(context); super(context);
} }
@@ -47,22 +44,21 @@ public class ForceMSAAPreferenceController extends DeveloperOptionsPreferenceCon
@Override @Override
public boolean onPreferenceChange(Preference preference, Object newValue) { public boolean onPreferenceChange(Preference preference, Object newValue) {
final boolean isEnabled = (Boolean) newValue; final boolean isEnabled = (Boolean) newValue;
SystemProperties.set(MSAA_PROPERTY, DisplayProperties.debug_force_msaa(isEnabled);
isEnabled ? Boolean.toString(true) : Boolean.toString(false));
SystemPropPoker.getInstance().poke(); SystemPropPoker.getInstance().poke();
return true; return true;
} }
@Override @Override
public void updateState(Preference preference) { public void updateState(Preference preference) {
final boolean isEnabled = SystemProperties.getBoolean(MSAA_PROPERTY, false /* default */); final boolean isEnabled = DisplayProperties.debug_force_msaa().orElse(false);
((SwitchPreference) mPreference).setChecked(isEnabled); ((SwitchPreference) mPreference).setChecked(isEnabled);
} }
@Override @Override
protected void onDeveloperOptionsSwitchDisabled() { protected void onDeveloperOptionsSwitchDisabled() {
super.onDeveloperOptionsSwitchDisabled(); super.onDeveloperOptionsSwitchDisabled();
SystemProperties.set(MSAA_PROPERTY, Boolean.toString(false)); DisplayProperties.debug_force_msaa(false);
((SwitchPreference) mPreference).setChecked(false); ((SwitchPreference) mPreference).setChecked(false);
} }
} }

View File

@@ -17,8 +17,8 @@
package com.android.settings.development; package com.android.settings.development;
import android.content.Context; import android.content.Context;
import android.os.SystemProperties;
import android.provider.Settings; import android.provider.Settings;
import android.sysprop.DisplayProperties;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference; import androidx.preference.Preference;
@@ -79,8 +79,6 @@ public class RtlLayoutPreferenceController extends DeveloperOptionsPreferenceCon
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.DEVELOPMENT_FORCE_RTL, Settings.Global.DEVELOPMENT_FORCE_RTL,
isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF); isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF);
SystemProperties.set(Settings.Global.DEVELOPMENT_FORCE_RTL, DisplayProperties.debug_force_rtl(isEnabled);
isEnabled ? Integer.toString(SETTING_VALUE_ON)
: Integer.toString(SETTING_VALUE_OFF));
} }
} }

View File

@@ -17,7 +17,7 @@
package com.android.settings.development; package com.android.settings.development;
import android.content.Context; import android.content.Context;
import android.os.SystemProperties; import android.sysprop.DisplayProperties;
import android.view.View; import android.view.View;
import androidx.preference.Preference; import androidx.preference.Preference;
@@ -44,23 +44,21 @@ public class ShowLayoutBoundsPreferenceController extends DeveloperOptionsPrefer
@Override @Override
public boolean onPreferenceChange(Preference preference, Object newValue) { public boolean onPreferenceChange(Preference preference, Object newValue) {
final boolean isEnabled = (Boolean) newValue; final boolean isEnabled = (Boolean) newValue;
SystemProperties.set(View.DEBUG_LAYOUT_PROPERTY, DisplayProperties.debug_layout(isEnabled);
isEnabled ? Boolean.toString(true) : Boolean.toString(false));
SystemPropPoker.getInstance().poke(); SystemPropPoker.getInstance().poke();
return true; return true;
} }
@Override @Override
public void updateState(Preference preference) { public void updateState(Preference preference) {
final boolean isEnabled = SystemProperties.getBoolean(View.DEBUG_LAYOUT_PROPERTY, final boolean isEnabled = DisplayProperties.debug_layout().orElse(false);
false /* default */);
((SwitchPreference) mPreference).setChecked(isEnabled); ((SwitchPreference) mPreference).setChecked(isEnabled);
} }
@Override @Override
protected void onDeveloperOptionsSwitchDisabled() { protected void onDeveloperOptionsSwitchDisabled() {
super.onDeveloperOptionsSwitchDisabled(); super.onDeveloperOptionsSwitchDisabled();
SystemProperties.set(View.DEBUG_LAYOUT_PROPERTY, Boolean.toString(false)); DisplayProperties.debug_layout(false);
((SwitchPreference) mPreference).setChecked(false); ((SwitchPreference) mPreference).setChecked(false);
} }
} }

View File

@@ -27,6 +27,7 @@ import android.os.SystemProperties;
import android.provider.Settings; import android.provider.Settings;
import android.service.quicksettings.Tile; import android.service.quicksettings.Tile;
import android.service.quicksettings.TileService; import android.service.quicksettings.TileService;
import android.sysprop.DisplayProperties;
import android.util.Log; import android.util.Log;
import android.view.IWindowManager; import android.view.IWindowManager;
import android.view.ThreadedRenderer; import android.view.ThreadedRenderer;
@@ -98,12 +99,12 @@ public abstract class DevelopmentTiles extends TileService {
@Override @Override
protected boolean isEnabled() { protected boolean isEnabled() {
return SystemProperties.getBoolean(View.DEBUG_LAYOUT_PROPERTY, false); return DisplayProperties.debug_layout().orElse(false);
} }
@Override @Override
protected void setIsEnabled(boolean isEnabled) { protected void setIsEnabled(boolean isEnabled) {
SystemProperties.set(View.DEBUG_LAYOUT_PROPERTY, isEnabled ? "true" : "false"); DisplayProperties.debug_layout(isEnabled);
} }
} }
@@ -139,7 +140,7 @@ public abstract class DevelopmentTiles extends TileService {
protected void setIsEnabled(boolean isEnabled) { protected void setIsEnabled(boolean isEnabled) {
Settings.Global.putInt( Settings.Global.putInt(
getContentResolver(), Settings.Global.DEVELOPMENT_FORCE_RTL, isEnabled ? 1 : 0); getContentResolver(), Settings.Global.DEVELOPMENT_FORCE_RTL, isEnabled ? 1 : 0);
SystemProperties.set(Settings.Global.DEVELOPMENT_FORCE_RTL, isEnabled ? "1" : "0"); DisplayProperties.debug_force_rtl(isEnabled);
LocalePicker.updateLocales(getResources().getConfiguration().getLocales()); LocalePicker.updateLocales(getResources().getConfiguration().getLocales());
} }
} }

View File

@@ -22,7 +22,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.os.SystemProperties; import android.sysprop.DisplayProperties;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference; import androidx.preference.SwitchPreference;
@@ -60,8 +60,7 @@ public class ForceMSAAPreferenceControllerTest {
public void onPreferenceChanged_settingEnabled_turnOnForceMsaa() { public void onPreferenceChanged_settingEnabled_turnOnForceMsaa() {
mController.onPreferenceChange(mPreference, true /* new value */); mController.onPreferenceChange(mPreference, true /* new value */);
final boolean mode = SystemProperties final boolean mode = DisplayProperties.debug_force_msaa().orElse(false);
.getBoolean(ForceMSAAPreferenceController.MSAA_PROPERTY, false /* default */);
assertThat(mode).isTrue(); assertThat(mode).isTrue();
} }
@@ -70,15 +69,14 @@ public class ForceMSAAPreferenceControllerTest {
public void onPreferenceChanged_settingDisabled_turnOffForceMsaa() { public void onPreferenceChanged_settingDisabled_turnOffForceMsaa() {
mController.onPreferenceChange(mPreference, false /* new value */); mController.onPreferenceChange(mPreference, false /* new value */);
final boolean mode = SystemProperties final boolean mode = DisplayProperties.debug_force_msaa().orElse(false);
.getBoolean(ForceMSAAPreferenceController.MSAA_PROPERTY, false /* default */);
assertThat(mode).isFalse(); assertThat(mode).isFalse();
} }
@Test @Test
public void updateState_settingEnabled_preferenceShouldBeChecked() { public void updateState_settingEnabled_preferenceShouldBeChecked() {
SystemProperties.set(ForceMSAAPreferenceController.MSAA_PROPERTY, Boolean.toString(true)); DisplayProperties.debug_force_msaa(true);
mController.updateState(mPreference); mController.updateState(mPreference);
verify(mPreference).setChecked(true); verify(mPreference).setChecked(true);
@@ -86,7 +84,7 @@ public class ForceMSAAPreferenceControllerTest {
@Test @Test
public void updateState_settingDisabled_preferenceShouldNotBeChecked() { public void updateState_settingDisabled_preferenceShouldNotBeChecked() {
SystemProperties.set(ForceMSAAPreferenceController.MSAA_PROPERTY, Boolean.toString(false)); DisplayProperties.debug_force_msaa(false);
mController.updateState(mPreference); mController.updateState(mPreference);
verify(mPreference).setChecked(false); verify(mPreference).setChecked(false);

View File

@@ -21,7 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.os.SystemProperties; import android.sysprop.DisplayProperties;
import android.view.View; import android.view.View;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
@@ -58,8 +58,7 @@ public class ShowLayoutBoundsPreferenceControllerTest {
public void onPreferenceChanged_settingEnabled_turnOnShowLayoutBounds() { public void onPreferenceChanged_settingEnabled_turnOnShowLayoutBounds() {
mController.onPreferenceChange(mPreference, true /* new value */); mController.onPreferenceChange(mPreference, true /* new value */);
final boolean mode = final boolean mode = DisplayProperties.debug_layout().orElse(false);
SystemProperties.getBoolean(View.DEBUG_LAYOUT_PROPERTY, false /* default */);
assertThat(mode).isTrue(); assertThat(mode).isTrue();
} }
@@ -68,15 +67,14 @@ public class ShowLayoutBoundsPreferenceControllerTest {
public void onPreferenceChanged_settingDisabled_turnOffShowLayoutBounds() { public void onPreferenceChanged_settingDisabled_turnOffShowLayoutBounds() {
mController.onPreferenceChange(mPreference, false /* new value */); mController.onPreferenceChange(mPreference, false /* new value */);
final boolean mode = final boolean mode = DisplayProperties.debug_layout().orElse(false);
SystemProperties.getBoolean(View.DEBUG_LAYOUT_PROPERTY, false /* default */);
assertThat(mode).isFalse(); assertThat(mode).isFalse();
} }
@Test @Test
public void updateState_settingEnabled_preferenceShouldBeChecked() { public void updateState_settingEnabled_preferenceShouldBeChecked() {
SystemProperties.set(View.DEBUG_LAYOUT_PROPERTY, Boolean.toString(true)); DisplayProperties.debug_layout(true);
mController.updateState(mPreference); mController.updateState(mPreference);
verify(mPreference).setChecked(true); verify(mPreference).setChecked(true);
@@ -84,7 +82,7 @@ public class ShowLayoutBoundsPreferenceControllerTest {
@Test @Test
public void updateState_settingDisabled_preferenceShouldNotBeChecked() { public void updateState_settingDisabled_preferenceShouldNotBeChecked() {
SystemProperties.set(View.DEBUG_LAYOUT_PROPERTY, Boolean.toString(false)); DisplayProperties.debug_layout(false);
mController.updateState(mPreference); mController.updateState(mPreference);
verify(mPreference).setChecked(false); verify(mPreference).setChecked(false);
@@ -94,8 +92,7 @@ public class ShowLayoutBoundsPreferenceControllerTest {
public void onDeveloperOptionsDisabled_shouldDisablePreference() { public void onDeveloperOptionsDisabled_shouldDisablePreference() {
mController.onDeveloperOptionsDisabled(); mController.onDeveloperOptionsDisabled();
final boolean mode = final boolean mode = DisplayProperties.debug_layout().orElse(false);
SystemProperties.getBoolean(View.DEBUG_LAYOUT_PROPERTY, false /* default */);
assertThat(mode).isFalse(); assertThat(mode).isFalse();
verify(mPreference).setEnabled(false); verify(mPreference).setEnabled(false);