Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/domain/interactor/SeenNotificationsInteractor.kt +1 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ constructor( .map { secureSettings.getIntForUser( name = Settings.Secure.LOCK_SCREEN_SHOW_ONLY_UNSEEN_NOTIFICATIONS, def = 0, default = 0, userHandle = UserHandle.USER_CURRENT, ) == 1 } Loading packages/SystemUI/src/com/android/systemui/util/settings/SettingsProxy.kt +15 −16 Original line number Diff line number Diff line Loading @@ -336,7 +336,7 @@ interface SettingsProxy { * @param name to look up in the table * @return the corresponding value, or null if not present */ fun getString(name: String): String fun getString(name: String): String? /** * Store a name/value pair into the database. Loading Loading @@ -385,15 +385,15 @@ interface SettingsProxy { * an integer. * * @param name The name of the setting to retrieve. * @param def Value to return if the setting is not defined. * @return The setting's current value, or 'def' if it is not defined or not a valid integer. * @param default Value to return if the setting is not defined. * @return The setting's current value, or default if it is not defined or not a valid integer. */ fun getInt(name: String, def: Int): Int { fun getInt(name: String, default: Int): Int { val v = getString(name) return try { v.toInt() v?.toInt() ?: default } catch (e: NumberFormatException) { def default } } Loading @@ -412,7 +412,7 @@ interface SettingsProxy { */ @Throws(SettingNotFoundException::class) fun getInt(name: String): Int { val v = getString(name) val v = getString(name) ?: throw SettingNotFoundException(name) return try { v.toInt() } catch (e: NumberFormatException) { Loading Loading @@ -441,11 +441,11 @@ interface SettingsProxy { * boolean. * * @param name The name of the setting to retrieve. * @param def Value to return if the setting is not defined. * @return The setting's current value, or 'def' if it is not defined or not a valid boolean. * @param default Value to return if the setting is not defined. * @return The setting's current value, or default if it is not defined or not a valid boolean. */ fun getBool(name: String, def: Boolean): Boolean { return getInt(name, if (def) 1 else 0) != 0 fun getBool(name: String, default: Boolean): Boolean { return getInt(name, if (default) 1 else 0) != 0 } /** Loading Loading @@ -579,13 +579,12 @@ interface SettingsProxy { companion object { /** Convert a string to a long, or uses a default if the string is malformed or null */ @JvmStatic fun parseLongOrUseDefault(valString: String, def: Long): Long { val value: Long value = fun parseLongOrUseDefault(valString: String?, default: Long): Long { val value: Long = try { valString.toLong() valString?.toLong() ?: default } catch (e: NumberFormatException) { def default } return value } Loading packages/SystemUI/src/com/android/systemui/util/settings/UserSettingsProxy.kt +8 −8 Original line number Diff line number Diff line Loading @@ -354,12 +354,12 @@ interface UserSettingsProxy : SettingsProxy { * @param name to look up in the table * @return the corresponding value, or null if not present */ override fun getString(name: String): String { override fun getString(name: String): String? { return getStringForUser(name, userId) } /** See [getString]. */ fun getStringForUser(name: String, userHandle: Int): String fun getStringForUser(name: String, userHandle: Int): String? /** * Store a name/value pair into the database. Values written by this method will be overridden Loading Loading @@ -388,17 +388,17 @@ interface UserSettingsProxy : SettingsProxy { overrideableByRestore: Boolean ): Boolean override fun getInt(name: String, def: Int): Int { return getIntForUser(name, def, userId) override fun getInt(name: String, default: Int): Int { return getIntForUser(name, default, userId) } /** Similar implementation to [getInt] for the specified [userHandle]. */ fun getIntForUser(name: String, def: Int, userHandle: Int): Int { fun getIntForUser(name: String, default: Int, userHandle: Int): Int { val v = getStringForUser(name, userHandle) return try { v.toInt() v?.toInt() ?: default } catch (e: NumberFormatException) { def default } } Loading @@ -408,7 +408,7 @@ interface UserSettingsProxy : SettingsProxy { /** Similar implementation to [getInt] for the specified [userHandle]. */ @Throws(SettingNotFoundException::class) fun getIntForUser(name: String, userHandle: Int): Int { val v = getStringForUser(name, userHandle) val v = getStringForUser(name, userHandle) ?: throw SettingNotFoundException(name) return try { v.toInt() } catch (e: NumberFormatException) { Loading packages/SystemUI/tests/src/com/android/systemui/util/settings/SettingsProxyTest.kt +36 −0 Original line number Diff line number Diff line Loading @@ -274,6 +274,18 @@ class SettingsProxyTest : SysuiTestCase() { assertThat(mSettings.getInt(TEST_SETTING, 5)).isEqualTo(5) } @Test fun getInt_keyMalformed_returnDefaultValue() { mSettings.putString(TEST_SETTING, "nan") assertThat(mSettings.getInt(TEST_SETTING, 5)).isEqualTo(5) } @Test fun getInt_keyMalformed_throwException() { mSettings.putString(TEST_SETTING, "nan") assertThrows(SettingNotFoundException::class.java) { mSettings.getInt(TEST_SETTING) } } @Test fun getBool_keyPresent_returnValidValue() { mSettings.putBool(TEST_SETTING, true) Loading Loading @@ -322,6 +334,18 @@ class SettingsProxyTest : SysuiTestCase() { assertThat(mSettings.getLong(TEST_SETTING, 2L)).isEqualTo(2L) } @Test fun getLong_keyMalformed_throwException() { mSettings.putString(TEST_SETTING, "nan") assertThrows(SettingNotFoundException::class.java) { mSettings.getLong(TEST_SETTING) } } @Test fun getLong_keyMalformed_returnDefaultValue() { mSettings.putString(TEST_SETTING, "nan") assertThat(mSettings.getLong(TEST_SETTING, 2L)).isEqualTo(2L) } @Test fun getFloat_keyPresent_returnValidValue() { mSettings.putFloat(TEST_SETTING, 2.5F) Loading @@ -346,6 +370,18 @@ class SettingsProxyTest : SysuiTestCase() { assertThat(mSettings.getFloat(TEST_SETTING, 2.5F)).isEqualTo(2.5F) } @Test fun getFloat_keyMalformed_throwException() { mSettings.putString(TEST_SETTING, "nan") assertThrows(SettingNotFoundException::class.java) { mSettings.getFloat(TEST_SETTING) } } @Test fun getFloat_keyMalformed_returnDefaultValue() { mSettings.putString(TEST_SETTING, "nan") assertThat(mSettings.getFloat(TEST_SETTING, 2.5F)).isEqualTo(2.5F) } private class FakeSettingsProxy(val testDispatcher: CoroutineDispatcher) : SettingsProxy { private val mContentResolver = mock(ContentResolver::class.java) Loading packages/SystemUI/tests/src/com/android/systemui/util/settings/UserSettingsProxyTest.kt +37 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.net.Uri import android.os.Handler import android.os.Looper import android.provider.Settings import android.provider.Settings.SettingNotFoundException import android.testing.TestableLooper import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest Loading Loading @@ -432,6 +433,18 @@ class UserSettingsProxyTest : SysuiTestCase() { assertThat(mSettings.getInt(TEST_SETTING, 5)).isEqualTo(5) } @Test fun getInt_keyMalformed_returnDefaultValue() { mSettings.putString(TEST_SETTING, "nan") assertThat(mSettings.getInt(TEST_SETTING, 5)).isEqualTo(5) } @Test fun getInt_keyMalformed_throwException() { mSettings.putString(TEST_SETTING, "nan") assertThrows(SettingNotFoundException::class.java) { mSettings.getInt(TEST_SETTING) } } @Test fun getIntForUser_multipleUsers__validResult() { mSettings.putIntForUser(TEST_SETTING, 1, MAIN_USER_ID) Loading Loading @@ -500,6 +513,18 @@ class UserSettingsProxyTest : SysuiTestCase() { assertThat(mSettings.getLong(TEST_SETTING, 2L)).isEqualTo(2L) } @Test fun getLong_keyMalformed_throwException() { mSettings.putString(TEST_SETTING, "nan") assertThrows(SettingNotFoundException::class.java) { mSettings.getLong(TEST_SETTING) } } @Test fun getLong_keyMalformed_returnDefaultValue() { mSettings.putString(TEST_SETTING, "nan") assertThat(mSettings.getLong(TEST_SETTING, 2L)).isEqualTo(2L) } @Test fun getLongForUser_multipleUsers__validResult() { mSettings.putLongForUser(TEST_SETTING, 1L, MAIN_USER_ID) Loading Loading @@ -534,6 +559,18 @@ class UserSettingsProxyTest : SysuiTestCase() { assertThat(mSettings.getFloat(TEST_SETTING, 2.5F)).isEqualTo(2.5F) } @Test fun getFloat_keyMalformed_throwException() { mSettings.putString(TEST_SETTING, "nan") assertThrows(SettingNotFoundException::class.java) { mSettings.getFloat(TEST_SETTING) } } @Test fun getFloat_keyMalformed_returnDefaultValue() { mSettings.putString(TEST_SETTING, "nan") assertThat(mSettings.getFloat(TEST_SETTING, 2.5F)).isEqualTo(2.5F) } @Test fun getFloatForUser_multipleUsers__validResult() { mSettings.putFloatForUser(TEST_SETTING, 1F, MAIN_USER_ID) Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/domain/interactor/SeenNotificationsInteractor.kt +1 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ constructor( .map { secureSettings.getIntForUser( name = Settings.Secure.LOCK_SCREEN_SHOW_ONLY_UNSEEN_NOTIFICATIONS, def = 0, default = 0, userHandle = UserHandle.USER_CURRENT, ) == 1 } Loading
packages/SystemUI/src/com/android/systemui/util/settings/SettingsProxy.kt +15 −16 Original line number Diff line number Diff line Loading @@ -336,7 +336,7 @@ interface SettingsProxy { * @param name to look up in the table * @return the corresponding value, or null if not present */ fun getString(name: String): String fun getString(name: String): String? /** * Store a name/value pair into the database. Loading Loading @@ -385,15 +385,15 @@ interface SettingsProxy { * an integer. * * @param name The name of the setting to retrieve. * @param def Value to return if the setting is not defined. * @return The setting's current value, or 'def' if it is not defined or not a valid integer. * @param default Value to return if the setting is not defined. * @return The setting's current value, or default if it is not defined or not a valid integer. */ fun getInt(name: String, def: Int): Int { fun getInt(name: String, default: Int): Int { val v = getString(name) return try { v.toInt() v?.toInt() ?: default } catch (e: NumberFormatException) { def default } } Loading @@ -412,7 +412,7 @@ interface SettingsProxy { */ @Throws(SettingNotFoundException::class) fun getInt(name: String): Int { val v = getString(name) val v = getString(name) ?: throw SettingNotFoundException(name) return try { v.toInt() } catch (e: NumberFormatException) { Loading Loading @@ -441,11 +441,11 @@ interface SettingsProxy { * boolean. * * @param name The name of the setting to retrieve. * @param def Value to return if the setting is not defined. * @return The setting's current value, or 'def' if it is not defined or not a valid boolean. * @param default Value to return if the setting is not defined. * @return The setting's current value, or default if it is not defined or not a valid boolean. */ fun getBool(name: String, def: Boolean): Boolean { return getInt(name, if (def) 1 else 0) != 0 fun getBool(name: String, default: Boolean): Boolean { return getInt(name, if (default) 1 else 0) != 0 } /** Loading Loading @@ -579,13 +579,12 @@ interface SettingsProxy { companion object { /** Convert a string to a long, or uses a default if the string is malformed or null */ @JvmStatic fun parseLongOrUseDefault(valString: String, def: Long): Long { val value: Long value = fun parseLongOrUseDefault(valString: String?, default: Long): Long { val value: Long = try { valString.toLong() valString?.toLong() ?: default } catch (e: NumberFormatException) { def default } return value } Loading
packages/SystemUI/src/com/android/systemui/util/settings/UserSettingsProxy.kt +8 −8 Original line number Diff line number Diff line Loading @@ -354,12 +354,12 @@ interface UserSettingsProxy : SettingsProxy { * @param name to look up in the table * @return the corresponding value, or null if not present */ override fun getString(name: String): String { override fun getString(name: String): String? { return getStringForUser(name, userId) } /** See [getString]. */ fun getStringForUser(name: String, userHandle: Int): String fun getStringForUser(name: String, userHandle: Int): String? /** * Store a name/value pair into the database. Values written by this method will be overridden Loading Loading @@ -388,17 +388,17 @@ interface UserSettingsProxy : SettingsProxy { overrideableByRestore: Boolean ): Boolean override fun getInt(name: String, def: Int): Int { return getIntForUser(name, def, userId) override fun getInt(name: String, default: Int): Int { return getIntForUser(name, default, userId) } /** Similar implementation to [getInt] for the specified [userHandle]. */ fun getIntForUser(name: String, def: Int, userHandle: Int): Int { fun getIntForUser(name: String, default: Int, userHandle: Int): Int { val v = getStringForUser(name, userHandle) return try { v.toInt() v?.toInt() ?: default } catch (e: NumberFormatException) { def default } } Loading @@ -408,7 +408,7 @@ interface UserSettingsProxy : SettingsProxy { /** Similar implementation to [getInt] for the specified [userHandle]. */ @Throws(SettingNotFoundException::class) fun getIntForUser(name: String, userHandle: Int): Int { val v = getStringForUser(name, userHandle) val v = getStringForUser(name, userHandle) ?: throw SettingNotFoundException(name) return try { v.toInt() } catch (e: NumberFormatException) { Loading
packages/SystemUI/tests/src/com/android/systemui/util/settings/SettingsProxyTest.kt +36 −0 Original line number Diff line number Diff line Loading @@ -274,6 +274,18 @@ class SettingsProxyTest : SysuiTestCase() { assertThat(mSettings.getInt(TEST_SETTING, 5)).isEqualTo(5) } @Test fun getInt_keyMalformed_returnDefaultValue() { mSettings.putString(TEST_SETTING, "nan") assertThat(mSettings.getInt(TEST_SETTING, 5)).isEqualTo(5) } @Test fun getInt_keyMalformed_throwException() { mSettings.putString(TEST_SETTING, "nan") assertThrows(SettingNotFoundException::class.java) { mSettings.getInt(TEST_SETTING) } } @Test fun getBool_keyPresent_returnValidValue() { mSettings.putBool(TEST_SETTING, true) Loading Loading @@ -322,6 +334,18 @@ class SettingsProxyTest : SysuiTestCase() { assertThat(mSettings.getLong(TEST_SETTING, 2L)).isEqualTo(2L) } @Test fun getLong_keyMalformed_throwException() { mSettings.putString(TEST_SETTING, "nan") assertThrows(SettingNotFoundException::class.java) { mSettings.getLong(TEST_SETTING) } } @Test fun getLong_keyMalformed_returnDefaultValue() { mSettings.putString(TEST_SETTING, "nan") assertThat(mSettings.getLong(TEST_SETTING, 2L)).isEqualTo(2L) } @Test fun getFloat_keyPresent_returnValidValue() { mSettings.putFloat(TEST_SETTING, 2.5F) Loading @@ -346,6 +370,18 @@ class SettingsProxyTest : SysuiTestCase() { assertThat(mSettings.getFloat(TEST_SETTING, 2.5F)).isEqualTo(2.5F) } @Test fun getFloat_keyMalformed_throwException() { mSettings.putString(TEST_SETTING, "nan") assertThrows(SettingNotFoundException::class.java) { mSettings.getFloat(TEST_SETTING) } } @Test fun getFloat_keyMalformed_returnDefaultValue() { mSettings.putString(TEST_SETTING, "nan") assertThat(mSettings.getFloat(TEST_SETTING, 2.5F)).isEqualTo(2.5F) } private class FakeSettingsProxy(val testDispatcher: CoroutineDispatcher) : SettingsProxy { private val mContentResolver = mock(ContentResolver::class.java) Loading
packages/SystemUI/tests/src/com/android/systemui/util/settings/UserSettingsProxyTest.kt +37 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.net.Uri import android.os.Handler import android.os.Looper import android.provider.Settings import android.provider.Settings.SettingNotFoundException import android.testing.TestableLooper import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest Loading Loading @@ -432,6 +433,18 @@ class UserSettingsProxyTest : SysuiTestCase() { assertThat(mSettings.getInt(TEST_SETTING, 5)).isEqualTo(5) } @Test fun getInt_keyMalformed_returnDefaultValue() { mSettings.putString(TEST_SETTING, "nan") assertThat(mSettings.getInt(TEST_SETTING, 5)).isEqualTo(5) } @Test fun getInt_keyMalformed_throwException() { mSettings.putString(TEST_SETTING, "nan") assertThrows(SettingNotFoundException::class.java) { mSettings.getInt(TEST_SETTING) } } @Test fun getIntForUser_multipleUsers__validResult() { mSettings.putIntForUser(TEST_SETTING, 1, MAIN_USER_ID) Loading Loading @@ -500,6 +513,18 @@ class UserSettingsProxyTest : SysuiTestCase() { assertThat(mSettings.getLong(TEST_SETTING, 2L)).isEqualTo(2L) } @Test fun getLong_keyMalformed_throwException() { mSettings.putString(TEST_SETTING, "nan") assertThrows(SettingNotFoundException::class.java) { mSettings.getLong(TEST_SETTING) } } @Test fun getLong_keyMalformed_returnDefaultValue() { mSettings.putString(TEST_SETTING, "nan") assertThat(mSettings.getLong(TEST_SETTING, 2L)).isEqualTo(2L) } @Test fun getLongForUser_multipleUsers__validResult() { mSettings.putLongForUser(TEST_SETTING, 1L, MAIN_USER_ID) Loading Loading @@ -534,6 +559,18 @@ class UserSettingsProxyTest : SysuiTestCase() { assertThat(mSettings.getFloat(TEST_SETTING, 2.5F)).isEqualTo(2.5F) } @Test fun getFloat_keyMalformed_throwException() { mSettings.putString(TEST_SETTING, "nan") assertThrows(SettingNotFoundException::class.java) { mSettings.getFloat(TEST_SETTING) } } @Test fun getFloat_keyMalformed_returnDefaultValue() { mSettings.putString(TEST_SETTING, "nan") assertThat(mSettings.getFloat(TEST_SETTING, 2.5F)).isEqualTo(2.5F) } @Test fun getFloatForUser_multipleUsers__validResult() { mSettings.putFloatForUser(TEST_SETTING, 1F, MAIN_USER_ID) Loading