diff options
author | Sunny Shao <sunnyshao@google.com> | 2021-06-10 15:46:58 +0800 |
---|---|---|
committer | Sunny Shao <sunnyshao@google.com> | 2021-06-10 20:14:56 +0800 |
commit | a6eb37b215ab6c7a52cc5bf0c45325ad8fc1f8d6 (patch) | |
tree | 56a7a5b7ad01a0d7dff4d806292dc13d6e5a0b34 /src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java | |
parent | bbab97c95570e80e7cd99ac09109397f8b55f2e2 (diff) | |
download | packages_apps_Settings-a6eb37b215ab6c7a52cc5bf0c45325ad8fc1f8d6.tar.gz packages_apps_Settings-a6eb37b215ab6c7a52cc5bf0c45325ad8fc1f8d6.tar.bz2 packages_apps_Settings-a6eb37b215ab6c7a52cc5bf0c45325ad8fc1f8d6.zip |
Fix Learn more link placement is wrong problem
- Use the new style of the FooterPreference.
Fixes: 189389674
Test: Robo test
Change-Id: I1529952181cca0eccd18f911eaa265b19dbb97f7
Diffstat (limited to 'src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java')
-rw-r--r-- | src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java b/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java index b4dbf3d2c8..238e93790d 100644 --- a/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java +++ b/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java @@ -17,16 +17,19 @@ package com.android.settings.accounts; import android.content.Context; +import android.content.Intent; +import android.provider.Settings; import androidx.annotation.VisibleForTesting; -import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; +import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider; import com.android.settings.overlay.FeatureFactory; +import com.android.settingslib.widget.FooterPreference; public class EnterpriseDisclosurePreferenceController extends BasePreferenceController { - private final EnterprisePrivacyFeatureProvider mFeatureProvider; public EnterpriseDisclosurePreferenceController(Context context, String key) { @@ -37,6 +40,16 @@ public class EnterpriseDisclosurePreferenceController extends BasePreferenceCont } @Override + public void displayPreference(PreferenceScreen screen) { + super.displayPreference(screen); + final CharSequence disclosure = getDisclosure(); + if (disclosure == null) { + return; + } + updateFooterPreference(screen, disclosure); + } + + @Override public int getAvailabilityStatus() { if (getDisclosure() == null) { return UNSUPPORTED_ON_DEVICE; @@ -49,12 +62,18 @@ public class EnterpriseDisclosurePreferenceController extends BasePreferenceCont return mFeatureProvider.getDeviceOwnerDisclosure(); } - @Override - public void updateState(Preference preference) { - final CharSequence disclosure = getDisclosure(); - if (disclosure == null) { - return; - } - preference.setTitle(disclosure); + void updateFooterPreference(PreferenceScreen screen, CharSequence disclosure) { + final FooterPreference footerPreference = screen.findPreference(getPreferenceKey()); + footerPreference.setTitle(disclosure); + footerPreference.setLearnMoreAction(view -> { + mContext.startActivity(new Intent(Settings.ACTION_ENTERPRISE_PRIVACY_SETTINGS)); + }); + final String learnMoreContentDescription = mContext.getString( + R.string.footer_learn_more_content_description, getLabelName()); + footerPreference.setLearnMoreContentDescription(learnMoreContentDescription); + } + + private String getLabelName() { + return mContext.getString(R.string.header_add_an_account); } } |