Loading packages/SettingsProvider/res/values/defaults.xml +3 −0 Original line number Diff line number Diff line Loading @@ -341,4 +341,7 @@ <!-- The default ringer mode. See `AudioManager` for list of valid values. --> <integer name="def_ringer_mode">2</integer> <!-- Caps minsum contrast from -1.0 (Material API) to 0.0 (Android Support)--> <bool name="config_increaseMinContrast">true</bool> </resources> packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java +15 −0 Original line number Diff line number Diff line Loading @@ -1107,6 +1107,21 @@ public class SettingsBackupAgent extends BackupAgentHelper { Log.d(TAG, "Restored font scale from: " + toRestore + " to " + value); } if (Settings.Secure.CONTRAST_LEVEL.equals(key)) { boolean increaseMinContrast = getBaseContext().getResources() .getBoolean(R.bool.config_increaseMinContrast); float valueFloat; try { valueFloat = Float.parseFloat(value); } catch (NumberFormatException e) { valueFloat = 0.0f; } float newValue = Math.max(valueFloat, increaseMinContrast ? 0.0f : -1.0f); value = String.valueOf(newValue); } settingsHelper.restoreValue(this, cr, contentValues, destination, key, value, mRestoredFromSdkInt); Loading packages/SettingsProvider/test/src/com/android/providers/settings/SettingsBackupAgentTest.java +44 −7 Original line number Diff line number Diff line Loading @@ -16,15 +16,15 @@ package com.android.providers.settings; import static com.android.providers.settings.SettingsBackupRestoreKeys.KEY_WIFI_NEW_CONFIG; import static com.android.providers.settings.SettingsBackupRestoreKeys.KEY_SOFTAP_CONFIG; import static com.android.providers.settings.SettingsBackupRestoreKeys.KEY_SIM_SPECIFIC_SETTINGS_2; import static com.android.providers.settings.SettingsBackupRestoreKeys.KEY_SOFTAP_CONFIG; import static com.android.providers.settings.SettingsBackupRestoreKeys.KEY_WIFI_NEW_CONFIG; import static com.android.providers.settings.SettingsBackupRestoreKeys.KEY_WIFI_SETTINGS_BACKUP_DATA; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertNotNull; import static junit.framework.Assert.assertNull; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; import static org.junit.Assert.assertArrayEquals; Loading @@ -35,12 +35,10 @@ import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.when; import android.annotation.Nullable; import android.app.backup.BackupAnnotations.BackupDestination; import android.app.backup.BackupAnnotations.OperationType; import android.app.backup.BackupDataInput; import android.app.backup.BackupDataOutput; import android.app.backup.BackupRestoreEventLogger; import android.app.backup.BackupRestoreEventLogger.DataTypeResult; import android.content.ContentResolver; import android.content.ContentValues; Loading Loading @@ -69,13 +67,11 @@ import androidx.test.runner.AndroidJUnit4; import com.android.window.flags.Flags; import java.util.List; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; Loading Loading @@ -330,6 +326,47 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest { assertEquals("1.5", testedMethod.apply("1.8")); } @Test public void testOnRestore_minContrastLevelIsRestoredToZero() { mAgentUnderTest = new TestFriendlySettingsBackupAgent() { @Override protected Set<String> getBlockedSettings(int blockedSettingsArrayId) { return new HashSet<>(); } }; mAgentUnderTest.attach(mContext); TestSettingsHelper settingsHelper = new TestSettingsHelper(mContext); mAgentUnderTest.mSettingsHelper = settingsHelper; String contrastLevelValue = "-1.0"; Map<String, String> settingsToRestore = Map.of(Settings.Secure.CONTRAST_LEVEL, contrastLevelValue); byte[] backupData = generateBackupData(settingsToRestore); mAgentUnderTest.restoreSettings( backupData, /* pos */ 0, backupData.length, Settings.Secure.CONTENT_URI, null, null, null, /* blockedSettingsArrayId */ 0, Collections.emptySet(), Collections.emptySet(), KEY_SECURE); // Check that the contrast level has been restored. assertTrue(settingsHelper.mWrittenValues.containsKey(Settings.Secure.CONTRAST_LEVEL)); String restoredContrastLevel = settingsHelper.mWrittenValues.get( Settings.Secure.CONTRAST_LEVEL); float restoredFloat = Float.parseFloat(restoredContrastLevel); assertEquals(0.0f, restoredFloat, 0.001f); } @Test @DisableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) public void onCreate_metricsFlagIsDisabled_areAgentMetricsEnabledIsFalse() { Loading packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java +1 −0 Original line number Diff line number Diff line Loading @@ -988,6 +988,7 @@ public class ThemeOverlayController implements CoreStartable, Dumpable { public void dump(@NonNull PrintWriter pw, @NonNull String[] args) { pw.println("mSystemColors=" + mCurrentColors); pw.println("mMainWallpaperColor=" + Integer.toHexString(mMainWallpaperColor)); pw.println("mContrast=" + mContrast); pw.println("mSecondaryOverlay=" + mSecondaryOverlay); pw.println("mNeutralOverlay=" + mNeutralOverlay); pw.println("mDynamicOverlay=" + mDynamicOverlay); Loading Loading
packages/SettingsProvider/res/values/defaults.xml +3 −0 Original line number Diff line number Diff line Loading @@ -341,4 +341,7 @@ <!-- The default ringer mode. See `AudioManager` for list of valid values. --> <integer name="def_ringer_mode">2</integer> <!-- Caps minsum contrast from -1.0 (Material API) to 0.0 (Android Support)--> <bool name="config_increaseMinContrast">true</bool> </resources>
packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java +15 −0 Original line number Diff line number Diff line Loading @@ -1107,6 +1107,21 @@ public class SettingsBackupAgent extends BackupAgentHelper { Log.d(TAG, "Restored font scale from: " + toRestore + " to " + value); } if (Settings.Secure.CONTRAST_LEVEL.equals(key)) { boolean increaseMinContrast = getBaseContext().getResources() .getBoolean(R.bool.config_increaseMinContrast); float valueFloat; try { valueFloat = Float.parseFloat(value); } catch (NumberFormatException e) { valueFloat = 0.0f; } float newValue = Math.max(valueFloat, increaseMinContrast ? 0.0f : -1.0f); value = String.valueOf(newValue); } settingsHelper.restoreValue(this, cr, contentValues, destination, key, value, mRestoredFromSdkInt); Loading
packages/SettingsProvider/test/src/com/android/providers/settings/SettingsBackupAgentTest.java +44 −7 Original line number Diff line number Diff line Loading @@ -16,15 +16,15 @@ package com.android.providers.settings; import static com.android.providers.settings.SettingsBackupRestoreKeys.KEY_WIFI_NEW_CONFIG; import static com.android.providers.settings.SettingsBackupRestoreKeys.KEY_SOFTAP_CONFIG; import static com.android.providers.settings.SettingsBackupRestoreKeys.KEY_SIM_SPECIFIC_SETTINGS_2; import static com.android.providers.settings.SettingsBackupRestoreKeys.KEY_SOFTAP_CONFIG; import static com.android.providers.settings.SettingsBackupRestoreKeys.KEY_WIFI_NEW_CONFIG; import static com.android.providers.settings.SettingsBackupRestoreKeys.KEY_WIFI_SETTINGS_BACKUP_DATA; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertNotNull; import static junit.framework.Assert.assertNull; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; import static org.junit.Assert.assertArrayEquals; Loading @@ -35,12 +35,10 @@ import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.when; import android.annotation.Nullable; import android.app.backup.BackupAnnotations.BackupDestination; import android.app.backup.BackupAnnotations.OperationType; import android.app.backup.BackupDataInput; import android.app.backup.BackupDataOutput; import android.app.backup.BackupRestoreEventLogger; import android.app.backup.BackupRestoreEventLogger.DataTypeResult; import android.content.ContentResolver; import android.content.ContentValues; Loading Loading @@ -69,13 +67,11 @@ import androidx.test.runner.AndroidJUnit4; import com.android.window.flags.Flags; import java.util.List; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; Loading Loading @@ -330,6 +326,47 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest { assertEquals("1.5", testedMethod.apply("1.8")); } @Test public void testOnRestore_minContrastLevelIsRestoredToZero() { mAgentUnderTest = new TestFriendlySettingsBackupAgent() { @Override protected Set<String> getBlockedSettings(int blockedSettingsArrayId) { return new HashSet<>(); } }; mAgentUnderTest.attach(mContext); TestSettingsHelper settingsHelper = new TestSettingsHelper(mContext); mAgentUnderTest.mSettingsHelper = settingsHelper; String contrastLevelValue = "-1.0"; Map<String, String> settingsToRestore = Map.of(Settings.Secure.CONTRAST_LEVEL, contrastLevelValue); byte[] backupData = generateBackupData(settingsToRestore); mAgentUnderTest.restoreSettings( backupData, /* pos */ 0, backupData.length, Settings.Secure.CONTENT_URI, null, null, null, /* blockedSettingsArrayId */ 0, Collections.emptySet(), Collections.emptySet(), KEY_SECURE); // Check that the contrast level has been restored. assertTrue(settingsHelper.mWrittenValues.containsKey(Settings.Secure.CONTRAST_LEVEL)); String restoredContrastLevel = settingsHelper.mWrittenValues.get( Settings.Secure.CONTRAST_LEVEL); float restoredFloat = Float.parseFloat(restoredContrastLevel); assertEquals(0.0f, restoredFloat, 0.001f); } @Test @DisableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) public void onCreate_metricsFlagIsDisabled_areAgentMetricsEnabledIsFalse() { Loading
packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java +1 −0 Original line number Diff line number Diff line Loading @@ -988,6 +988,7 @@ public class ThemeOverlayController implements CoreStartable, Dumpable { public void dump(@NonNull PrintWriter pw, @NonNull String[] args) { pw.println("mSystemColors=" + mCurrentColors); pw.println("mMainWallpaperColor=" + Integer.toHexString(mMainWallpaperColor)); pw.println("mContrast=" + mContrast); pw.println("mSecondaryOverlay=" + mSecondaryOverlay); pw.println("mNeutralOverlay=" + mNeutralOverlay); pw.println("mDynamicOverlay=" + mDynamicOverlay); Loading