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

Commit 34cd1e80 authored by Sonny Zylstra's avatar Sonny Zylstra Committed by Android (Google) Code Review
Browse files

Merge "Hide the icon on the Footer, and change the learn more text." into main

parents f812fe10 5d102d1d
Loading
Loading
Loading
Loading
+6 −23
Original line number Diff line number Diff line
@@ -15,16 +15,15 @@
 */
package com.android.settings.supervision

import android.util.Log
import android.text.Html
import android.view.View
import androidx.preference.Preference
import com.android.settings.supervision.ipc.PreferenceData
import com.android.settings.widget.FooterPreferenceBinding
import com.android.settings.widget.FooterPreferenceMetadata
import com.android.settingslib.HelpUtils
import com.android.settingslib.metadata.PreferenceLifecycleContext
import com.android.settingslib.metadata.PreferenceLifecycleProvider
import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.supervision.SupervisionLog
import com.android.settingslib.widget.FooterPreference
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.Dispatchers
@@ -46,26 +45,10 @@ class SupervisionAocFooterPreference(
        val footerPreference = preference as FooterPreference
        val context = preference.context

        preference.isVisible =
            (preferenceData?.isVisible ?: false) &&
                preferenceData?.title != null &&
                preferenceData?.learnMoreLink != null
        preference.title = preferenceData?.title

        footerPreference.setLearnMoreAction {
            val intent =
                HelpUtils.getHelpIntent(
                    context,
                    preferenceData?.learnMoreLink,
                    context::class.java.name,
                )

            if (intent != null) {
                context.startActivity(intent)
            } else {
                Log.w(SupervisionLog.TAG, "HelpIntent is null")
            }
        }
        preference.isVisible = (preferenceData?.isVisible ?: false) && preferenceData?.title != null
        preference.title =
            Html.fromHtml(preferenceData?.title.toString(), Html.FROM_HTML_MODE_COMPACT)
        footerPreference.setIconVisibility(View.GONE)
    }

    override fun onResume(context: PreferenceLifecycleContext) {
+9 −29
Original line number Diff line number Diff line
@@ -70,10 +70,7 @@ class SupervisionAocFooterPreferenceTest {
    @Test
    fun onResume_allGood_titleIsSet_preferenceIsVisible() =
        testScope.runTest {
            val title = "test title"
            val learnMoreLink = "https://google.com/learnMore"
            preferenceData =
                PreferenceData(title = title, learnMoreLink = learnMoreLink, isVisible = true)
            preferenceData = PreferenceData(title = PREFERENCE_TITLE, isVisible = true)

            val aosFooterPreference =
                SupervisionAocFooterPreference(preferenceDataProvider, testDispatcher)
@@ -83,16 +80,13 @@ class SupervisionAocFooterPreferenceTest {
            aosFooterPreference.bind(preference, mock())

            assertThat(preference.isVisible).isTrue()
            assertThat(preference.title).isEqualTo(title)
            assertThat(preference.title.toString()).isEqualTo(PREFERENCE_TITLE)
        }

    @Test
    fun onResume_notVisible_preferenceIsHidden() =
        testScope.runTest {
            val title = "test title"
            val learnMoreLink = "https://google.com/learnMore"
            preferenceData =
                PreferenceData(title = title, learnMoreLink = learnMoreLink, isVisible = false)
            preferenceData = PreferenceData(title = PREFERENCE_TITLE, isVisible = false)

            val aosFooterPreference =
                SupervisionAocFooterPreference(preferenceDataProvider, testDispatcher)
@@ -102,14 +96,13 @@ class SupervisionAocFooterPreferenceTest {
            aosFooterPreference.bind(preference, mock())

            assertThat(preference.isVisible).isFalse()
            assertThat(preference.title).isEqualTo(title)
            assertThat(preference.title.toString()).isEqualTo(PREFERENCE_TITLE)
        }

    @Test
    fun onResume_noLearnMoreLink_preferenceIsHidden() =
    fun onResume_noTitle_preferenceIsHidden() =
        testScope.runTest {
            val title = "test title"
            preferenceData = PreferenceData(title = title, isVisible = false)
            preferenceData = PreferenceData(isVisible = false)

            val aosFooterPreference =
                SupervisionAocFooterPreference(preferenceDataProvider, testDispatcher)
@@ -119,22 +112,9 @@ class SupervisionAocFooterPreferenceTest {
            aosFooterPreference.bind(preference, mock())

            assertThat(preference.isVisible).isFalse()
            assertThat(preference.title).isEqualTo(title)
        }

    @Test
    fun onResume_noTitle_preferenceIsHidden() =
        testScope.runTest {
            val learnMoreLink = "https://google.com/learnMore"
            preferenceData = PreferenceData(learnMoreLink = learnMoreLink, isVisible = false)

            val aosFooterPreference =
                SupervisionAocFooterPreference(preferenceDataProvider, testDispatcher)

            aosFooterPreference.onResume(preferenceLifecycleContext)
            verify(preferenceLifecycleContext).notifyPreferenceChange(KEY)
            aosFooterPreference.bind(preference, mock())

            assertThat(preference.isVisible).isFalse()
    private companion object {
        const val PREFERENCE_TITLE = "test title"
    }
}