Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 10f567dc authored by Jacky Wang's avatar Jacky Wang
Browse files

[Supervision] Reorganize the dependencies for SupervisionSetupRecoveryPreference

Bug: 393657542
Flag: android.app.supervision.flags.enable_supervision_pin_recovery_screen
Test: manual
Change-Id: Ie57431232aaaaf6c93ff11be6d2e6ddbc22c0536
parent 149cbd5e
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -63,10 +63,6 @@ class SupervisionDashboardScreen : PreferenceScreenCreator, PreferenceLifecycleP
        supervisionClient?.close()
    }

    override fun onResume(context: PreferenceLifecycleContext) {
        context.notifyPreferenceChange(SupervisionPinManagementScreen.KEY)
    }

    override fun getPreferenceHierarchy(context: Context) =
        preferenceHierarchy(context, this) {
            val supervisionClient = getSupervisionClient(context)
+7 −2
Original line number Diff line number Diff line
@@ -38,11 +38,16 @@ class SupervisionPinManagementScreen :
    override val key: String
        get() = KEY

    override fun isAvailable(context: Context) = context.isSupervisingCredentialSet

    override val title: Int
        get() = R.string.supervision_pin_management_preference_title

    // There is an implicit dependency on SupervisionSetupRecoveryPreference due to `getSummary`,
    // which can be removed if `SupervisionManager.supervisionRecoveryInfo` supports
    // observer/listener mechanism on change.
    override fun dependencies(context: Context) = arrayOf(SupervisionSetupRecoveryPreference.KEY)

    override fun isAvailable(context: Context) = context.isSupervisingCredentialSet

    override fun getSummary(context: Context): CharSequence? {
        if (!Flags.enableSupervisionPinRecoveryScreen()) {
            return null
+2 −0
Original line number Diff line number Diff line
@@ -30,6 +30,8 @@ class SupervisionPinRecoveryPreference : PreferenceMetadata, PreferenceAvailabil
    override val title: Int
        get() = R.string.supervision_add_forgot_pin_preference_title

    override fun dependencies(context: Context) = arrayOf(SupervisionSetupRecoveryPreference.KEY)

    override fun isAvailable(context: Context): Boolean {
        if (!Flags.enableSupervisionPinRecoveryScreen()) {
            return false
+1 −5
Original line number Diff line number Diff line
@@ -96,11 +96,7 @@ class SupervisionSetupRecoveryPreference :

    fun updateRecoveryInfo(result: ActivityResult) {
        if (result.resultCode == Activity.RESULT_OK) {
            lifeCycleContext.apply {
                notifyPreferenceChange(KEY)
                notifyPreferenceChange(SupervisionPinRecoveryPreference.KEY)
                notifyPreferenceChange(SupervisionUpdateRecoveryEmailPreference.KEY)
            }
            lifeCycleContext.notifyPreferenceChange(KEY)
        }
    }

+2 −0
Original line number Diff line number Diff line
@@ -49,6 +49,8 @@ class SupervisionUpdateRecoveryEmailPreference :
    override val title: Int
        get() = R.string.supervision_update_recovery_email_preference_title

    override fun dependencies(context: Context) = arrayOf(SupervisionSetupRecoveryPreference.KEY)

    override fun getSummary(context: Context): CharSequence? {
        return context
            .getSystemService(SupervisionManager::class.java)