From 59e3152a0ecccd2e88d38854d9adf3d67841cee1 Mon Sep 17 00:00:00 2001 From: Kiyoung Kim Date: Thu, 20 Dec 2018 18:36:27 +0900 Subject: [PATCH] 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: If0b7658e4f04848a6a068c18e93026591b7b5518 Merged-In: I83b40ddfcde32d8d03fae73f5c252013933c466c --- .../ForceMSAAPreferenceController.java | 12 ++++-------- .../RtlLayoutPreferenceController.java | 6 ++---- .../ShowLayoutBoundsPreferenceController.java | 10 ++++------ .../development/qstile/DevelopmentTiles.java | 7 ++++--- .../ForceMSAAPreferenceControllerTest.java | 12 +++++------- .../ShowLayoutBoundsPreferenceControllerTest.java | 15 ++++++--------- .../testutils/shadow/ShadowTextUtils.java | 4 ++-- 7 files changed, 27 insertions(+), 39 deletions(-) diff --git a/src/com/android/settings/development/ForceMSAAPreferenceController.java b/src/com/android/settings/development/ForceMSAAPreferenceController.java index 17b5e4bdaca..cb3afa57a0c 100644 --- a/src/com/android/settings/development/ForceMSAAPreferenceController.java +++ b/src/com/android/settings/development/ForceMSAAPreferenceController.java @@ -17,7 +17,7 @@ package com.android.settings.development; import android.content.Context; -import android.os.SystemProperties; +import android.sysprop.DisplayProperties; import androidx.annotation.VisibleForTesting; import androidx.preference.SwitchPreference; import androidx.preference.Preference; @@ -31,9 +31,6 @@ public class ForceMSAAPreferenceController extends DeveloperOptionsPreferenceCon private static final String FORCE_MSAA_KEY = "force_msaa"; - @VisibleForTesting - static final String MSAA_PROPERTY = "debug.egl.force_msaa"; - public ForceMSAAPreferenceController(Context context) { super(context); } @@ -46,22 +43,21 @@ public class ForceMSAAPreferenceController extends DeveloperOptionsPreferenceCon @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final boolean isEnabled = (Boolean) newValue; - SystemProperties.set(MSAA_PROPERTY, - isEnabled ? Boolean.toString(true) : Boolean.toString(false)); + DisplayProperties.debug_force_msaa(isEnabled); SystemPropPoker.getInstance().poke(); return true; } @Override 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); } @Override protected void onDeveloperOptionsSwitchDisabled() { super.onDeveloperOptionsSwitchDisabled(); - SystemProperties.set(MSAA_PROPERTY, Boolean.toString(false)); + DisplayProperties.debug_force_msaa(false); ((SwitchPreference) mPreference).setChecked(false); } } diff --git a/src/com/android/settings/development/RtlLayoutPreferenceController.java b/src/com/android/settings/development/RtlLayoutPreferenceController.java index a88f16f90bd..9abd997c81a 100644 --- a/src/com/android/settings/development/RtlLayoutPreferenceController.java +++ b/src/com/android/settings/development/RtlLayoutPreferenceController.java @@ -17,8 +17,8 @@ package com.android.settings.development; import android.content.Context; -import android.os.SystemProperties; import android.provider.Settings; +import android.sysprop.DisplayProperties; import androidx.annotation.VisibleForTesting; import androidx.preference.SwitchPreference; import androidx.preference.Preference; @@ -78,8 +78,6 @@ public class RtlLayoutPreferenceController extends DeveloperOptionsPreferenceCon Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.DEVELOPMENT_FORCE_RTL, isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF); - SystemProperties.set(Settings.Global.DEVELOPMENT_FORCE_RTL, - isEnabled ? Integer.toString(SETTING_VALUE_ON) - : Integer.toString(SETTING_VALUE_OFF)); + DisplayProperties.debug_force_rtl(isEnabled); } } diff --git a/src/com/android/settings/development/ShowLayoutBoundsPreferenceController.java b/src/com/android/settings/development/ShowLayoutBoundsPreferenceController.java index 4d3fdbf6ca7..67be6f8e6f4 100644 --- a/src/com/android/settings/development/ShowLayoutBoundsPreferenceController.java +++ b/src/com/android/settings/development/ShowLayoutBoundsPreferenceController.java @@ -17,7 +17,7 @@ package com.android.settings.development; import android.content.Context; -import android.os.SystemProperties; +import android.sysprop.DisplayProperties; import androidx.preference.SwitchPreference; import androidx.preference.Preference; import android.view.View; @@ -43,23 +43,21 @@ public class ShowLayoutBoundsPreferenceController extends DeveloperOptionsPrefer @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final boolean isEnabled = (Boolean) newValue; - SystemProperties.set(View.DEBUG_LAYOUT_PROPERTY, - isEnabled ? Boolean.toString(true) : Boolean.toString(false)); + DisplayProperties.debug_layout(isEnabled); SystemPropPoker.getInstance().poke(); return true; } @Override public void updateState(Preference preference) { - final boolean isEnabled = SystemProperties.getBoolean(View.DEBUG_LAYOUT_PROPERTY, - false /* default */); + final boolean isEnabled = DisplayProperties.debug_layout().orElse(false); ((SwitchPreference) mPreference).setChecked(isEnabled); } @Override protected void onDeveloperOptionsSwitchDisabled() { super.onDeveloperOptionsSwitchDisabled(); - SystemProperties.set(View.DEBUG_LAYOUT_PROPERTY, Boolean.toString(false)); + DisplayProperties.debug_layout(false); ((SwitchPreference) mPreference).setChecked(false); } } diff --git a/src/com/android/settings/development/qstile/DevelopmentTiles.java b/src/com/android/settings/development/qstile/DevelopmentTiles.java index 1094ab9c7bb..8dd56d5671d 100644 --- a/src/com/android/settings/development/qstile/DevelopmentTiles.java +++ b/src/com/android/settings/development/qstile/DevelopmentTiles.java @@ -25,6 +25,7 @@ import android.os.SystemProperties; import android.provider.Settings; import android.service.quicksettings.Tile; import android.service.quicksettings.TileService; +import android.sysprop.DisplayProperties; import androidx.annotation.VisibleForTesting; import android.util.Log; import android.view.IWindowManager; @@ -68,12 +69,12 @@ public abstract class DevelopmentTiles extends TileService { @Override protected boolean isEnabled() { - return SystemProperties.getBoolean(View.DEBUG_LAYOUT_PROPERTY, false); + return DisplayProperties.debug_layout().orElse(false); } @Override protected void setIsEnabled(boolean isEnabled) { - SystemProperties.set(View.DEBUG_LAYOUT_PROPERTY, isEnabled ? "true" : "false"); + DisplayProperties.debug_layout(isEnabled); } } @@ -109,7 +110,7 @@ public abstract class DevelopmentTiles extends TileService { protected void setIsEnabled(boolean isEnabled) { Settings.Global.putInt( 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()); } } diff --git a/tests/robotests/src/com/android/settings/development/ForceMSAAPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/ForceMSAAPreferenceControllerTest.java index aceb714cf40..4829d3e92db 100644 --- a/tests/robotests/src/com/android/settings/development/ForceMSAAPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/development/ForceMSAAPreferenceControllerTest.java @@ -21,7 +21,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.Context; -import android.os.SystemProperties; +import android.sysprop.DisplayProperties; import androidx.preference.SwitchPreference; import androidx.preference.PreferenceScreen; @@ -59,8 +59,7 @@ public class ForceMSAAPreferenceControllerTest { public void onPreferenceChanged_settingEnabled_turnOnForceMsaa() { mController.onPreferenceChange(mPreference, true /* new value */); - final boolean mode = SystemProperties - .getBoolean(ForceMSAAPreferenceController.MSAA_PROPERTY, false /* default */); + final boolean mode = DisplayProperties.debug_force_msaa().orElse(false); assertThat(mode).isTrue(); } @@ -69,15 +68,14 @@ public class ForceMSAAPreferenceControllerTest { public void onPreferenceChanged_settingDisabled_turnOffForceMsaa() { mController.onPreferenceChange(mPreference, false /* new value */); - final boolean mode = SystemProperties - .getBoolean(ForceMSAAPreferenceController.MSAA_PROPERTY, false /* default */); + final boolean mode = DisplayProperties.debug_force_msaa().orElse(false); assertThat(mode).isFalse(); } @Test public void updateState_settingEnabled_preferenceShouldBeChecked() { - SystemProperties.set(ForceMSAAPreferenceController.MSAA_PROPERTY, Boolean.toString(true)); + DisplayProperties.debug_force_msaa(true); mController.updateState(mPreference); verify(mPreference).setChecked(true); @@ -85,7 +83,7 @@ public class ForceMSAAPreferenceControllerTest { @Test public void updateState_settingDisabled_preferenceShouldNotBeChecked() { - SystemProperties.set(ForceMSAAPreferenceController.MSAA_PROPERTY, Boolean.toString(false)); + DisplayProperties.debug_force_msaa(false); mController.updateState(mPreference); verify(mPreference).setChecked(false); diff --git a/tests/robotests/src/com/android/settings/development/ShowLayoutBoundsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/ShowLayoutBoundsPreferenceControllerTest.java index c18857acce2..af90c151aaa 100644 --- a/tests/robotests/src/com/android/settings/development/ShowLayoutBoundsPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/development/ShowLayoutBoundsPreferenceControllerTest.java @@ -20,7 +20,7 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.os.SystemProperties; +import android.sysprop.DisplayProperties; import androidx.preference.SwitchPreference; import androidx.preference.PreferenceScreen; import android.view.View; @@ -57,8 +57,7 @@ public class ShowLayoutBoundsPreferenceControllerTest { public void onPreferenceChanged_settingEnabled_turnOnShowLayoutBounds() { mController.onPreferenceChange(mPreference, true /* new value */); - final boolean mode = - SystemProperties.getBoolean(View.DEBUG_LAYOUT_PROPERTY, false /* default */); + final boolean mode = DisplayProperties.debug_layout().orElse(false); assertThat(mode).isTrue(); } @@ -67,15 +66,14 @@ public class ShowLayoutBoundsPreferenceControllerTest { public void onPreferenceChanged_settingDisabled_turnOffShowLayoutBounds() { mController.onPreferenceChange(mPreference, false /* new value */); - final boolean mode = - SystemProperties.getBoolean(View.DEBUG_LAYOUT_PROPERTY, false /* default */); + final boolean mode = DisplayProperties.debug_layout().orElse(false); assertThat(mode).isFalse(); } @Test public void updateState_settingEnabled_preferenceShouldBeChecked() { - SystemProperties.set(View.DEBUG_LAYOUT_PROPERTY, Boolean.toString(true)); + DisplayProperties.debug_layout(true); mController.updateState(mPreference); verify(mPreference).setChecked(true); @@ -83,7 +81,7 @@ public class ShowLayoutBoundsPreferenceControllerTest { @Test public void updateState_settingDisabled_preferenceShouldNotBeChecked() { - SystemProperties.set(View.DEBUG_LAYOUT_PROPERTY, Boolean.toString(false)); + DisplayProperties.debug_layout(false); mController.updateState(mPreference); verify(mPreference).setChecked(false); @@ -93,8 +91,7 @@ public class ShowLayoutBoundsPreferenceControllerTest { public void onDeveloperOptionsDisabled_shouldDisablePreference() { mController.onDeveloperOptionsDisabled(); - final boolean mode = - SystemProperties.getBoolean(View.DEBUG_LAYOUT_PROPERTY, false /* default */); + final boolean mode = DisplayProperties.debug_layout().orElse(false); assertThat(mode).isFalse(); verify(mPreference).setEnabled(false); diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowTextUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowTextUtils.java index 03991e64e3e..f56b45d7741 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowTextUtils.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowTextUtils.java @@ -17,8 +17,8 @@ package com.android.settings.testutils.shadow; import android.icu.util.ULocale; -import android.os.SystemProperties; import android.provider.Settings; +import android.sysprop.DisplayProperties; import android.text.TextUtils; import android.view.View; import java.util.Locale; @@ -38,7 +38,7 @@ public class ShadowTextUtils { return ((locale != null && !locale.equals(Locale.ROOT) && ULocale.forLocale(locale).isRightToLeft()) // If forcing into RTL layout mode, return RTL as default - || SystemProperties.getBoolean(Settings.Global.DEVELOPMENT_FORCE_RTL, false)) + || DisplayProperties.debug_force_rtl().orElse(false)) ? View.LAYOUT_DIRECTION_RTL : View.LAYOUT_DIRECTION_LTR; }