From 409c5667a4fb8d648cbc6e36f4824d9e51122b0b Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Thu, 13 Oct 2022 23:00:06 +0800 Subject: [PATCH] Add lifecycle-livedata-ktx for SpaLib Also, - Update the appcompat library version. - Use -opt-in instead of -Xopt-in. - Add TEST_MAPPING for SpaPrivilegedLibTests. Bug: 235727273 Test: m SpaLib Test: m SpaPrivilegedLib Change-Id: I1a0e7957e23ba281ab18794d349f2968f5110050 --- packages/SettingsLib/Spa/TEST_MAPPING | 3 +++ packages/SettingsLib/Spa/spa/Android.bp | 1 + packages/SettingsLib/Spa/spa/build.gradle | 9 +++++---- packages/SettingsLib/SpaPrivileged/TEST_MAPPING | 10 ++++++++++ .../spaprivileged/model/app/AppOpsController.kt | 4 ++-- .../model/enterprise/RestrictionsProvider.kt | 11 +++-------- packages/SettingsLib/SpaPrivileged/tests/Android.bp | 2 +- 7 files changed, 25 insertions(+), 15 deletions(-) create mode 100644 packages/SettingsLib/SpaPrivileged/TEST_MAPPING diff --git a/packages/SettingsLib/Spa/TEST_MAPPING b/packages/SettingsLib/Spa/TEST_MAPPING index b4b65d4c0ddca..b7ce518f1516c 100644 --- a/packages/SettingsLib/Spa/TEST_MAPPING +++ b/packages/SettingsLib/Spa/TEST_MAPPING @@ -5,6 +5,9 @@ }, { "name": "SpaPrivilegedLibTests" + }, + { + "name": "SettingsSpaUnitTests" } ] } diff --git a/packages/SettingsLib/Spa/spa/Android.bp b/packages/SettingsLib/Spa/spa/Android.bp index 1d42e27ed9f21..8b29366ef6a30 100644 --- a/packages/SettingsLib/Spa/spa/Android.bp +++ b/packages/SettingsLib/Spa/spa/Android.bp @@ -29,6 +29,7 @@ android_library { "androidx.compose.runtime_runtime", "androidx.compose.runtime_runtime-livedata", "androidx.compose.ui_ui-tooling-preview", + "androidx.lifecycle_lifecycle-livedata-ktx", "androidx.navigation_navigation-compose", "com.google.android.material_material", "lottie_compose", diff --git a/packages/SettingsLib/Spa/spa/build.gradle b/packages/SettingsLib/Spa/spa/build.gradle index 362953f974139..7e05e75804a71 100644 --- a/packages/SettingsLib/Spa/spa/build.gradle +++ b/packages/SettingsLib/Spa/spa/build.gradle @@ -59,13 +59,14 @@ android { } dependencies { - api "androidx.appcompat:appcompat:1.6.0-rc01" + api "androidx.appcompat:appcompat:1.7.0-alpha01" api "androidx.compose.material3:material3:$jetpack_compose_material3_version" api "androidx.compose.material:material-icons-extended:$jetpack_compose_version" api "androidx.compose.runtime:runtime-livedata:$jetpack_compose_version" api "androidx.compose.ui:ui-tooling-preview:$jetpack_compose_version" - api 'androidx.navigation:navigation-compose:2.5.0' - api 'com.google.android.material:material:1.6.1' + api "androidx.lifecycle:lifecycle-livedata-ktx:2.6.0-alpha02" + api "androidx.navigation:navigation-compose:2.5.0" + api "com.google.android.material:material:1.6.1" debugApi "androidx.compose.ui:ui-tooling:$jetpack_compose_version" - implementation 'com.airbnb.android:lottie-compose:5.2.0' + implementation "com.airbnb.android:lottie-compose:5.2.0" } diff --git a/packages/SettingsLib/SpaPrivileged/TEST_MAPPING b/packages/SettingsLib/SpaPrivileged/TEST_MAPPING new file mode 100644 index 0000000000000..ea16682863da3 --- /dev/null +++ b/packages/SettingsLib/SpaPrivileged/TEST_MAPPING @@ -0,0 +1,10 @@ +{ + "presubmit": [ + { + "name": "SpaPrivilegedLibTests" + }, + { + "name": "SettingsSpaUnitTests" + } + ] +} diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsController.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsController.kt index 93ba4f7824b72..71cf23c61fa1c 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsController.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsController.kt @@ -24,7 +24,7 @@ import android.content.Context import android.content.pm.ApplicationInfo import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.Transformations +import androidx.lifecycle.map class AppOpsController( context: Context, @@ -36,7 +36,7 @@ class AppOpsController( val mode: LiveData get() = _mode val isAllowed: LiveData - get() = Transformations.map(_mode) { it == MODE_ALLOWED } + get() = _mode.map { it == MODE_ALLOWED } fun setAllowed(allowed: Boolean) { val mode = if (allowed) MODE_ALLOWED else MODE_ERRORED diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/enterprise/RestrictionsProvider.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/enterprise/RestrictionsProvider.kt index 0615807023272..b1adc9d27a882 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/enterprise/RestrictionsProvider.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/enterprise/RestrictionsProvider.kt @@ -20,7 +20,7 @@ import android.app.admin.DevicePolicyResources.Strings.Settings import android.content.Context import android.os.UserHandle import android.os.UserManager -import androidx.lifecycle.LiveData +import androidx.lifecycle.liveData import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin import com.android.settingslib.RestrictedLockUtilsInternal import com.android.settingslib.spaprivileged.R @@ -58,13 +58,8 @@ class RestrictionsProvider( private val userManager by lazy { UserManager.get(context) } private val enterpriseRepository by lazy { EnterpriseRepository(context) } - val restrictedMode = object : LiveData() { - override fun onActive() { - postValue(getRestrictedMode()) - } - - override fun onInactive() { - } + val restrictedMode = liveData { + emit(getRestrictedMode()) } private fun getRestrictedMode(): RestrictedMode { diff --git a/packages/SettingsLib/SpaPrivileged/tests/Android.bp b/packages/SettingsLib/SpaPrivileged/tests/Android.bp index 940a1fed817be..a1222a1af3c47 100644 --- a/packages/SettingsLib/SpaPrivileged/tests/Android.bp +++ b/packages/SettingsLib/SpaPrivileged/tests/Android.bp @@ -41,6 +41,6 @@ android_test { ], kotlincflags: [ "-Xjvm-default=all", - "-Xopt-in=kotlin.RequiresOptIn", + "-opt-in=kotlin.RequiresOptIn", ], }