Loading src/com/android/settings/supervision/SupervisionPinManagementScreen.kt +6 −0 Original line number Diff line number Diff line Loading @@ -15,11 +15,13 @@ */ package com.android.settings.supervision import android.app.settings.SettingsEnums.ACTION_SUPERVISION_MANAGE_PIN import android.app.supervision.SupervisionManager import android.app.supervision.SupervisionRecoveryInfo.STATE_PENDING import android.app.supervision.flags.Flags import android.content.Context import com.android.settings.R import com.android.settings.metrics.PreferenceActionMetricsProvider import com.android.settingslib.metadata.PreferenceAvailabilityProvider import com.android.settingslib.metadata.PreferenceIconProvider import com.android.settingslib.metadata.PreferenceSummaryProvider Loading @@ -34,10 +36,14 @@ class SupervisionPinManagementScreen : PreferenceScreenCreator, PreferenceAvailabilityProvider, PreferenceSummaryProvider, PreferenceActionMetricsProvider, PreferenceIconProvider { override val key: String get() = KEY override val preferenceActionMetrics: Int get() = ACTION_SUPERVISION_MANAGE_PIN override val title: Int get() = R.string.supervision_pin_management_preference_title Loading src/com/android/settings/supervision/SupervisionSetupRecoveryPreference.kt +7 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ package com.android.settings.supervision import android.annotation.DrawableRes import android.app.Activity import android.app.settings.SettingsEnums.ACTION_SUPERVISION_ADD_RECOVERY import android.app.settings.SettingsEnums.ACTION_SUPERVISION_VERIFY_RECOVERY import android.app.supervision.SupervisionManager import android.app.supervision.SupervisionRecoveryInfo.STATE_PENDING import android.app.supervision.flags.Flags Loading @@ -27,6 +29,7 @@ import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.preference.Preference import com.android.settings.R import com.android.settings.overlay.FeatureFactory import com.android.settings.supervision.SupervisionUpdateRecoveryEmailPreference.Companion.asMaskedEmail import com.android.settingslib.metadata.PreferenceAvailabilityProvider import com.android.settingslib.metadata.PreferenceLifecycleContext Loading @@ -51,6 +54,7 @@ class SupervisionSetupRecoveryPreference : private lateinit var lifeCycleContext: PreferenceLifecycleContext private lateinit var setUpRecoveryLauncher: ActivityResultLauncher<Intent> override val key: String get() = KEY Loading Loading @@ -102,10 +106,13 @@ class SupervisionSetupRecoveryPreference : override fun onPreferenceClick(preference: Preference): Boolean { val intent = Intent(lifeCycleContext, SupervisionPinRecoveryActivity::class.java) val metricsFeatureProvider = FeatureFactory.featureFactory.metricsFeatureProvider if (hasAccountNameToVerify(lifeCycleContext)) { intent.action = SupervisionPinRecoveryActivity.ACTION_POST_SETUP_VERIFY metricsFeatureProvider.action(preference.context, ACTION_SUPERVISION_VERIFY_RECOVERY) } else { intent.action = SupervisionPinRecoveryActivity.ACTION_SETUP_VERIFIED metricsFeatureProvider.action(preference.context, ACTION_SUPERVISION_ADD_RECOVERY) } setUpRecoveryLauncher.launch(intent) return true Loading src/com/android/settings/supervision/SupervisionUpdateRecoveryEmailPreference.kt +6 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.supervision import android.app.Activity import android.app.settings.SettingsEnums.ACTION_SUPERVISION_UPDATE_RECOVERY import android.app.supervision.SupervisionManager import android.app.supervision.SupervisionRecoveryInfo.STATE_VERIFIED import android.app.supervision.flags.Flags Loading @@ -23,6 +24,7 @@ import android.content.Context import android.content.Intent import androidx.preference.Preference import com.android.settings.R import com.android.settings.metrics.PreferenceActionMetricsProvider import com.android.settingslib.metadata.PreferenceAvailabilityProvider import com.android.settingslib.metadata.PreferenceLifecycleContext import com.android.settingslib.metadata.PreferenceLifecycleProvider Loading @@ -40,12 +42,16 @@ class SupervisionUpdateRecoveryEmailPreference : PreferenceLifecycleProvider, PreferenceBinding, PreferenceSummaryProvider, PreferenceActionMetricsProvider, Preference.OnPreferenceClickListener { private lateinit var lifeCycleContext: PreferenceLifecycleContext override val key: String get() = KEY override val preferenceActionMetrics: Int get() = ACTION_SUPERVISION_UPDATE_RECOVERY override val title: Int get() = R.string.supervision_update_recovery_email_preference_title Loading tests/robotests/src/com/android/settings/supervision/SupervisionSetupRecoveryPreferenceTest.kt +7 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,8 @@ */ package com.android.settings.supervision import android.app.settings.SettingsEnums.ACTION_SUPERVISION_ADD_RECOVERY import android.app.settings.SettingsEnums.ACTION_SUPERVISION_VERIFY_RECOVERY import android.app.supervision.SupervisionManager import android.app.supervision.SupervisionRecoveryInfo import android.app.supervision.SupervisionRecoveryInfo.STATE_PENDING Loading @@ -32,6 +34,7 @@ import androidx.preference.Preference import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import com.android.settings.R import com.android.settings.testutils.MetricsRule import com.android.settingslib.metadata.PreferenceLifecycleContext import com.android.settingslib.preference.createAndBindWidget import com.google.common.truth.Truth.assertThat Loading @@ -56,6 +59,7 @@ class SupervisionSetupRecoveryPreferenceTest { private val mockActivityResultLauncher = mock<ActivityResultLauncher<Intent>>() @get:Rule val metricsRule = MetricsRule() @get:Rule val setFlagsRule = SetFlagsRule() private var preference = SupervisionSetupRecoveryPreference() private val context = Loading Loading @@ -182,6 +186,7 @@ class SupervisionSetupRecoveryPreferenceTest { widget.performClick() verifyPinRecoveryActivityStarted(SupervisionPinRecoveryActivity.ACTION_SETUP_VERIFIED) verify(metricsRule.metricsFeatureProvider).action(context, ACTION_SUPERVISION_ADD_RECOVERY) } @Test Loading @@ -205,6 +210,8 @@ class SupervisionSetupRecoveryPreferenceTest { widget.performClick() verifyPinRecoveryActivityStarted(SupervisionPinRecoveryActivity.ACTION_POST_SETUP_VERIFY) verify(metricsRule.metricsFeatureProvider) .action(context, ACTION_SUPERVISION_VERIFY_RECOVERY) } private fun verifyPinRecoveryActivityStarted(expectedAction: String) { Loading Loading
src/com/android/settings/supervision/SupervisionPinManagementScreen.kt +6 −0 Original line number Diff line number Diff line Loading @@ -15,11 +15,13 @@ */ package com.android.settings.supervision import android.app.settings.SettingsEnums.ACTION_SUPERVISION_MANAGE_PIN import android.app.supervision.SupervisionManager import android.app.supervision.SupervisionRecoveryInfo.STATE_PENDING import android.app.supervision.flags.Flags import android.content.Context import com.android.settings.R import com.android.settings.metrics.PreferenceActionMetricsProvider import com.android.settingslib.metadata.PreferenceAvailabilityProvider import com.android.settingslib.metadata.PreferenceIconProvider import com.android.settingslib.metadata.PreferenceSummaryProvider Loading @@ -34,10 +36,14 @@ class SupervisionPinManagementScreen : PreferenceScreenCreator, PreferenceAvailabilityProvider, PreferenceSummaryProvider, PreferenceActionMetricsProvider, PreferenceIconProvider { override val key: String get() = KEY override val preferenceActionMetrics: Int get() = ACTION_SUPERVISION_MANAGE_PIN override val title: Int get() = R.string.supervision_pin_management_preference_title Loading
src/com/android/settings/supervision/SupervisionSetupRecoveryPreference.kt +7 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ package com.android.settings.supervision import android.annotation.DrawableRes import android.app.Activity import android.app.settings.SettingsEnums.ACTION_SUPERVISION_ADD_RECOVERY import android.app.settings.SettingsEnums.ACTION_SUPERVISION_VERIFY_RECOVERY import android.app.supervision.SupervisionManager import android.app.supervision.SupervisionRecoveryInfo.STATE_PENDING import android.app.supervision.flags.Flags Loading @@ -27,6 +29,7 @@ import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.preference.Preference import com.android.settings.R import com.android.settings.overlay.FeatureFactory import com.android.settings.supervision.SupervisionUpdateRecoveryEmailPreference.Companion.asMaskedEmail import com.android.settingslib.metadata.PreferenceAvailabilityProvider import com.android.settingslib.metadata.PreferenceLifecycleContext Loading @@ -51,6 +54,7 @@ class SupervisionSetupRecoveryPreference : private lateinit var lifeCycleContext: PreferenceLifecycleContext private lateinit var setUpRecoveryLauncher: ActivityResultLauncher<Intent> override val key: String get() = KEY Loading Loading @@ -102,10 +106,13 @@ class SupervisionSetupRecoveryPreference : override fun onPreferenceClick(preference: Preference): Boolean { val intent = Intent(lifeCycleContext, SupervisionPinRecoveryActivity::class.java) val metricsFeatureProvider = FeatureFactory.featureFactory.metricsFeatureProvider if (hasAccountNameToVerify(lifeCycleContext)) { intent.action = SupervisionPinRecoveryActivity.ACTION_POST_SETUP_VERIFY metricsFeatureProvider.action(preference.context, ACTION_SUPERVISION_VERIFY_RECOVERY) } else { intent.action = SupervisionPinRecoveryActivity.ACTION_SETUP_VERIFIED metricsFeatureProvider.action(preference.context, ACTION_SUPERVISION_ADD_RECOVERY) } setUpRecoveryLauncher.launch(intent) return true Loading
src/com/android/settings/supervision/SupervisionUpdateRecoveryEmailPreference.kt +6 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.supervision import android.app.Activity import android.app.settings.SettingsEnums.ACTION_SUPERVISION_UPDATE_RECOVERY import android.app.supervision.SupervisionManager import android.app.supervision.SupervisionRecoveryInfo.STATE_VERIFIED import android.app.supervision.flags.Flags Loading @@ -23,6 +24,7 @@ import android.content.Context import android.content.Intent import androidx.preference.Preference import com.android.settings.R import com.android.settings.metrics.PreferenceActionMetricsProvider import com.android.settingslib.metadata.PreferenceAvailabilityProvider import com.android.settingslib.metadata.PreferenceLifecycleContext import com.android.settingslib.metadata.PreferenceLifecycleProvider Loading @@ -40,12 +42,16 @@ class SupervisionUpdateRecoveryEmailPreference : PreferenceLifecycleProvider, PreferenceBinding, PreferenceSummaryProvider, PreferenceActionMetricsProvider, Preference.OnPreferenceClickListener { private lateinit var lifeCycleContext: PreferenceLifecycleContext override val key: String get() = KEY override val preferenceActionMetrics: Int get() = ACTION_SUPERVISION_UPDATE_RECOVERY override val title: Int get() = R.string.supervision_update_recovery_email_preference_title Loading
tests/robotests/src/com/android/settings/supervision/SupervisionSetupRecoveryPreferenceTest.kt +7 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,8 @@ */ package com.android.settings.supervision import android.app.settings.SettingsEnums.ACTION_SUPERVISION_ADD_RECOVERY import android.app.settings.SettingsEnums.ACTION_SUPERVISION_VERIFY_RECOVERY import android.app.supervision.SupervisionManager import android.app.supervision.SupervisionRecoveryInfo import android.app.supervision.SupervisionRecoveryInfo.STATE_PENDING Loading @@ -32,6 +34,7 @@ import androidx.preference.Preference import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import com.android.settings.R import com.android.settings.testutils.MetricsRule import com.android.settingslib.metadata.PreferenceLifecycleContext import com.android.settingslib.preference.createAndBindWidget import com.google.common.truth.Truth.assertThat Loading @@ -56,6 +59,7 @@ class SupervisionSetupRecoveryPreferenceTest { private val mockActivityResultLauncher = mock<ActivityResultLauncher<Intent>>() @get:Rule val metricsRule = MetricsRule() @get:Rule val setFlagsRule = SetFlagsRule() private var preference = SupervisionSetupRecoveryPreference() private val context = Loading Loading @@ -182,6 +186,7 @@ class SupervisionSetupRecoveryPreferenceTest { widget.performClick() verifyPinRecoveryActivityStarted(SupervisionPinRecoveryActivity.ACTION_SETUP_VERIFIED) verify(metricsRule.metricsFeatureProvider).action(context, ACTION_SUPERVISION_ADD_RECOVERY) } @Test Loading @@ -205,6 +210,8 @@ class SupervisionSetupRecoveryPreferenceTest { widget.performClick() verifyPinRecoveryActivityStarted(SupervisionPinRecoveryActivity.ACTION_POST_SETUP_VERIFY) verify(metricsRule.metricsFeatureProvider) .action(context, ACTION_SUPERVISION_VERIFY_RECOVERY) } private fun verifyPinRecoveryActivityStarted(expectedAction: String) { Loading