Merge "Import translations. DO NOT MERGE ANYWHERE" into tm-dev
diff --git a/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceController.java
index ca9c3d8..77b8230 100644
--- a/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceController.java
@@ -33,7 +33,7 @@
     }
 
     @Override
-    protected String getLearnMoreContentDescription() {
+    protected String getLearnMoreText() {
         return mContext.getString(
             R.string.accessibility_button_gesture_footer_learn_more_content_description);
     }
diff --git a/src/com/android/settings/accessibility/AccessibilityControlTimeoutFooterPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityControlTimeoutFooterPreferenceController.java
index 498b767..5805a16 100644
--- a/src/com/android/settings/accessibility/AccessibilityControlTimeoutFooterPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityControlTimeoutFooterPreferenceController.java
@@ -31,7 +31,7 @@
     }
 
     @Override
-    protected String getLearnMoreContentDescription() {
+    protected String getLearnMoreText() {
         return mContext.getString(
             R.string.accessibility_control_timeout_footer_learn_more_content_description);
     }
diff --git a/src/com/android/settings/accessibility/AccessibilityFooterPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityFooterPreferenceController.java
index a422eb8..27d1930 100644
--- a/src/com/android/settings/accessibility/AccessibilityFooterPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityFooterPreferenceController.java
@@ -31,7 +31,7 @@
 public class AccessibilityFooterPreferenceController extends BasePreferenceController {
 
     private int mHelpResource;
-    private String mLearnMoreContentDescription;
+    private String mLearnMoreText;
     private String mIntroductionTitle;
 
     public AccessibilityFooterPreferenceController(Context context, String key) {
@@ -56,9 +56,9 @@
      * Setups a help item in the {@link AccessibilityFooterPreference} with specific content
      * description.
      */
-    public void setupHelpLink(int helpResource, String learnMoreContentDescription) {
+    public void setupHelpLink(int helpResource, String learnMoreText) {
         mHelpResource = helpResource;
-        mLearnMoreContentDescription = learnMoreContentDescription;
+        mLearnMoreText = learnMoreText;
     }
 
     /**
@@ -73,12 +73,12 @@
 
     /**
      * Overrides this if showing a help item in the {@link AccessibilityFooterPreference} with
-     * specific content description.
+     * specific learn more title.
      *
-     * @return the content description for the help url
+     * @return learn more title for the help url
      */
-    protected String getLearnMoreContentDescription() {
-        return mLearnMoreContentDescription;
+    protected String getLearnMoreText() {
+        return mLearnMoreText;
     }
 
     /**
@@ -117,7 +117,7 @@
             footerPreference.setLearnMoreAction(view -> {
                 view.startActivityForResult(helpIntent, 0);
             });
-            footerPreference.setLearnMoreContentDescription(getLearnMoreContentDescription());
+            footerPreference.setLearnMoreText(getLearnMoreText());
             footerPreference.setLinkEnabled(true);
         } else {
             footerPreference.setLinkEnabled(false);
diff --git a/src/com/android/settings/accessibility/CaptionFooterPreferenceController.java b/src/com/android/settings/accessibility/CaptionFooterPreferenceController.java
index 495d395..b81b99d 100644
--- a/src/com/android/settings/accessibility/CaptionFooterPreferenceController.java
+++ b/src/com/android/settings/accessibility/CaptionFooterPreferenceController.java
@@ -30,7 +30,7 @@
     }
 
     @Override
-    protected String getLearnMoreContentDescription() {
+    protected String getLearnMoreText() {
         return mContext.getString(
             R.string.accessibility_captioning_footer_learn_more_content_description);
     }
diff --git a/src/com/android/settings/accessibility/ToggleAutoclickFooterPreferenceController.java b/src/com/android/settings/accessibility/ToggleAutoclickFooterPreferenceController.java
index 962ffec..cc93696 100644
--- a/src/com/android/settings/accessibility/ToggleAutoclickFooterPreferenceController.java
+++ b/src/com/android/settings/accessibility/ToggleAutoclickFooterPreferenceController.java
@@ -31,7 +31,7 @@
     }
 
     @Override
-    protected String getLearnMoreContentDescription() {
+    protected String getLearnMoreText() {
         return mContext.getString(
             R.string.accessibility_autoclick_footer_learn_more_content_description);
     }
diff --git a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
index 06f8276..6af748b 100644
--- a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
@@ -114,10 +114,10 @@
     private void updateFooterPreference() {
         final String title = getPrefContext().getString(
                 R.string.accessibility_color_inversion_about_title);
-        final String learnMoreContentDescription = getPrefContext().getString(
+        final String learnMoreText = getPrefContext().getString(
                 R.string.accessibility_color_inversion_footer_learn_more_content_description);
         mFooterPreferenceController.setIntroductionTitle(title);
-        mFooterPreferenceController.setupHelpLink(getHelpResource(), learnMoreContentDescription);
+        mFooterPreferenceController.setupHelpLink(getHelpResource(), learnMoreText);
         mFooterPreferenceController.displayPreference(getPreferenceScreen());
     }
 
diff --git a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
index 208d5c1..26b24de 100644
--- a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
@@ -106,10 +106,10 @@
     private void updateFooterPreference() {
         final String title = getPrefContext()
                 .getString(R.string.accessibility_daltonizer_about_title);
-        final String learnMoreContentDescription = getPrefContext()
+        final String learnMoreText = getPrefContext()
                 .getString(R.string.accessibility_daltonizer_footer_learn_more_content_description);
         mFooterPreferenceController.setIntroductionTitle(title);
-        mFooterPreferenceController.setupHelpLink(getHelpResource(), learnMoreContentDescription);
+        mFooterPreferenceController.setupHelpLink(getHelpResource(), learnMoreText);
         mFooterPreferenceController.displayPreference(getPreferenceScreen());
     }
 
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
index 9289db6..3260cd1 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
@@ -109,10 +109,10 @@
     private void updateFooterPreference() {
         final String title = getPrefContext().getString(
                 R.string.accessibility_screen_magnification_about_title);
-        final String learnMoreContentDescription = getPrefContext().getString(
+        final String learnMoreText = getPrefContext().getString(
                 R.string.accessibility_screen_magnification_footer_learn_more_content_description);
         mFooterPreferenceController.setIntroductionTitle(title);
-        mFooterPreferenceController.setupHelpLink(getHelpResource(), learnMoreContentDescription);
+        mFooterPreferenceController.setupHelpLink(getHelpResource(), learnMoreText);
         mFooterPreferenceController.displayPreference(getPreferenceScreen());
     }
 
diff --git a/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java b/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
index 238e937..ca0a0d6 100644
--- a/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
+++ b/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
@@ -68,9 +68,9 @@
         footerPreference.setLearnMoreAction(view -> {
             mContext.startActivity(new Intent(Settings.ACTION_ENTERPRISE_PRIVACY_SETTINGS));
         });
-        final String learnMoreContentDescription = mContext.getString(
+        final String learnMoreText = mContext.getString(
                 R.string.footer_learn_more_content_description, getLabelName());
-        footerPreference.setLearnMoreContentDescription(learnMoreContentDescription);
+        footerPreference.setLearnMoreText(learnMoreText);
     }
 
     private String getLabelName() {
diff --git a/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java b/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java
index 88ce786..f836c8f 100644
--- a/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java
+++ b/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java
@@ -367,9 +367,9 @@
             final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(LEARN_MORE_URI));
             mContext.startActivity(intent);
         });
-        final String learnMoreContentDescription = mContext.getString(
+        final String learnMoreText = mContext.getString(
                 R.string.footer_learn_more_content_description, getLabelName());
-        footerPreference.setLearnMoreContentDescription(learnMoreContentDescription);
+        footerPreference.setLearnMoreText(learnMoreText);
     }
 
     private String getLabelName() {
diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
index 08692dd..09000bf 100644
--- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
@@ -180,15 +180,17 @@
                 }
                 pref.setOnPreferenceClickListener(preference -> {
                     TopLevelHighlightMixin highlightMixin = null;
+                    boolean isDuplicateClick = false;
                     if (fragment instanceof TopLevelSettings
                             && ActivityEmbeddingUtils.isEmbeddingActivityEnabled(mContext)) {
                         // Highlight the preference whenever it's clicked
                         final TopLevelSettings topLevelSettings = (TopLevelSettings) fragment;
                         topLevelSettings.setHighlightPreferenceKey(key);
                         highlightMixin = topLevelSettings.getHighlightMixin();
+                        isDuplicateClick = topLevelSettings.isDuplicateClick(preference);
                     }
                     launchIntentOrSelectProfile(activity, tile, intent, sourceMetricsCategory,
-                            highlightMixin);
+                            highlightMixin, isDuplicateClick);
                     return true;
                 });
             }
@@ -221,7 +223,7 @@
                         SettingsEnums.DASHBOARD_SUMMARY)
                 .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
         launchIntentOrSelectProfile(activity, tile, intent, SettingsEnums.DASHBOARD_SUMMARY,
-                /* highlightMixin= */ null);
+                /* highlightMixin= */ null, /* isDuplicateClick= */ false);
     }
 
     private DynamicDataObserver createDynamicDataObserver(String method, Uri uri, Preference pref) {
@@ -438,31 +440,45 @@
     }
 
     private void launchIntentOrSelectProfile(FragmentActivity activity, Tile tile, Intent intent,
-            int sourceMetricCategory, TopLevelHighlightMixin highlightMixin) {
+            int sourceMetricCategory, TopLevelHighlightMixin highlightMixin,
+            boolean isDuplicateClick) {
         if (!isIntentResolvable(intent)) {
             Log.w(TAG, "Cannot resolve intent, skipping. " + intent);
             return;
         }
         ProfileSelectDialog.updateUserHandlesIfNeeded(mContext, tile);
-        mMetricsFeatureProvider.logStartedIntent(intent, sourceMetricCategory);
 
         if (tile.userHandle == null || tile.isPrimaryProfileOnly()) {
-            activity.startActivity(intent);
+            if (!isDuplicateClick) {
+                mMetricsFeatureProvider.logStartedIntent(intent, sourceMetricCategory);
+                activity.startActivity(intent);
+            }
         } else if (tile.userHandle.size() == 1) {
-            activity.startActivityAsUser(intent, tile.userHandle.get(0));
+            if (!isDuplicateClick) {
+                mMetricsFeatureProvider.logStartedIntent(intent, sourceMetricCategory);
+                activity.startActivityAsUser(intent, tile.userHandle.get(0));
+            }
         } else {
             final UserHandle userHandle = intent.getParcelableExtra(EXTRA_USER);
             if (userHandle != null && tile.userHandle.contains(userHandle)) {
-                activity.startActivityAsUser(intent, userHandle);
+                if (!isDuplicateClick) {
+                    mMetricsFeatureProvider.logStartedIntent(intent, sourceMetricCategory);
+                    activity.startActivityAsUser(intent, userHandle);
+                }
                 return;
             }
 
             final List<UserHandle> resolvableUsers = getResolvableUsers(intent, tile);
             if (resolvableUsers.size() == 1) {
-                activity.startActivityAsUser(intent, resolvableUsers.get(0));
+                if (!isDuplicateClick) {
+                    mMetricsFeatureProvider.logStartedIntent(intent, sourceMetricCategory);
+                    activity.startActivityAsUser(intent, resolvableUsers.get(0));
+                }
                 return;
             }
 
+            // Show the profile select dialog regardless of the duplicate click.
+            mMetricsFeatureProvider.logStartedIntent(intent, sourceMetricCategory);
             ProfileSelectDialog.show(activity.getSupportFragmentManager(), tile,
                     sourceMetricCategory, /* onShowListener= */ highlightMixin,
                     /* onDismissListener= */ highlightMixin,
diff --git a/src/com/android/settings/display/SmartAutoRotatePreferenceFragment.java b/src/com/android/settings/display/SmartAutoRotatePreferenceFragment.java
index 36d3006..8fd996e 100644
--- a/src/com/android/settings/display/SmartAutoRotatePreferenceFragment.java
+++ b/src/com/android/settings/display/SmartAutoRotatePreferenceFragment.java
@@ -134,7 +134,7 @@
                         getString(getHelpResource()),
                         /*backupContext=*/ ""), /*requestCode=*/ 0);
             });
-            pref.setLearnMoreContentDescription(getString(R.string.auto_rotate_link_a11y));
+            pref.setLearnMoreText(getString(R.string.auto_rotate_link_a11y));
         }
     }
 
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index a00b036..48825c8 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -19,8 +19,8 @@
 import android.annotation.UserIdInt;
 import android.app.Activity;
 import android.app.ActivityManager;
-import android.app.settings.SettingsEnums;
 import android.app.backup.BackupManager;
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
@@ -386,7 +386,7 @@
         if (helpIntent != null) {
             mFooterPreference.setLearnMoreAction(v ->
                     startActivityForResult(helpIntent, /*requestCode=*/ 0));
-            mFooterPreference.setLearnMoreContentDescription(
+            mFooterPreference.setLearnMoreText(
                     context.getString(R.string.manager_battery_usage_link_a11y));
         }
     }
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
index 2ea9954..c86775f 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
@@ -90,7 +90,7 @@
                         getString(R.string.help_url_battery_saver_settings),
                         /*backupContext=*/ ""), /*requestCode=*/ 0);
             });
-            pref.setLearnMoreContentDescription(getString(R.string.battery_saver_link_a11y));
+            pref.setLearnMoreText(getString(R.string.battery_saver_link_a11y));
         }
     }
 }
diff --git a/src/com/android/settings/homepage/TopLevelHighlightMixin.java b/src/com/android/settings/homepage/TopLevelHighlightMixin.java
index c473e87..4718443 100644
--- a/src/com/android/settings/homepage/TopLevelHighlightMixin.java
+++ b/src/com/android/settings/homepage/TopLevelHighlightMixin.java
@@ -140,6 +140,10 @@
         }
     }
 
+    String getHighlightPreferenceKey() {
+        return mCurrentKey;
+    }
+
     void highlightPreferenceIfNeeded() {
         if (mTopLevelAdapter != null) {
             mTopLevelAdapter.requestHighlight();
diff --git a/src/com/android/settings/homepage/TopLevelSettings.java b/src/com/android/settings/homepage/TopLevelSettings.java
index 8623509..d221d25 100644
--- a/src/com/android/settings/homepage/TopLevelSettings.java
+++ b/src/com/android/settings/homepage/TopLevelSettings.java
@@ -16,12 +16,17 @@
 
 package com.android.settings.homepage;
 
+import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI;
+
 import static com.android.settings.search.actionbar.SearchMenuController.NEED_SEARCH_ICON_IN_ACTION_BAR;
 import static com.android.settingslib.search.SearchIndexable.MOBILE;
 
 import android.app.ActivityManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.PackageManager;
 import android.content.res.Configuration;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
@@ -38,6 +43,7 @@
 import androidx.window.embedding.SplitController;
 
 import com.android.settings.R;
+import com.android.settings.SettingsActivity;
 import com.android.settings.Utils;
 import com.android.settings.activityembedding.ActivityEmbeddingRulesController;
 import com.android.settings.activityembedding.ActivityEmbeddingUtils;
@@ -51,12 +57,15 @@
 import com.android.settingslib.drawer.Tile;
 import com.android.settingslib.search.SearchIndexable;
 
+import java.net.URISyntaxException;
+
 @SearchIndexable(forTarget = MOBILE)
 public class TopLevelSettings extends DashboardFragment implements SplitLayoutListener,
         PreferenceFragmentCompat.OnPreferenceStartFragmentCallback {
 
     private static final String TAG = "TopLevelSettings";
     private static final String SAVED_HIGHLIGHT_MIXIN = "highlight_mixin";
+    private static final String SAVED_FIRST_PREFERENCE_CLICK = "first_pref_click";
     private static final String PREF_KEY_SUPPORT = "top_level_support";
 
     private boolean mIsEmbeddingActivityEnabled;
@@ -64,6 +73,7 @@
     private int mPaddingHorizontal;
     private boolean mScrollNeeded = true;
     private boolean mFirstStarted = true;
+    private boolean mFirstDuplicateClickCheck = true;
 
     public TopLevelSettings() {
         final Bundle args = new Bundle();
@@ -107,6 +117,10 @@
 
     @Override
     public boolean onPreferenceTreeClick(Preference preference) {
+        if (isDuplicateClick(preference)) {
+            return true;
+        }
+
         // Register SplitPairRule for SubSettings.
         ActivityEmbeddingRulesController.registerSubSettingsPairRule(getContext(),
                 true /* clearTop */);
@@ -140,6 +154,7 @@
 
         boolean activityEmbedded = SplitController.getInstance().isActivityEmbedded(getActivity());
         if (icicle != null) {
+            mFirstDuplicateClickCheck = icicle.getBoolean(SAVED_FIRST_PREFERENCE_CLICK);
             mHighlightMixin = icicle.getParcelable(SAVED_HIGHLIGHT_MIXIN);
             mScrollNeeded = !mHighlightMixin.isActivityEmbedded() && activityEmbedded;
             mHighlightMixin.setActivityEmbedded(activityEmbedded);
@@ -173,6 +188,7 @@
     @Override
     public void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
+        outState.putBoolean(SAVED_FIRST_PREFERENCE_CLICK, mFirstDuplicateClickCheck);
         if (mHighlightMixin != null) {
             outState.putParcelable(SAVED_HIGHLIGHT_MIXIN, mHighlightMixin);
         }
@@ -271,6 +287,41 @@
         }
     }
 
+    /** Returns whether clicking the specified preference is considered as a duplicate click. */
+    public boolean isDuplicateClick(Preference pref) {
+        boolean firstCheck = mFirstDuplicateClickCheck;
+        mFirstDuplicateClickCheck = false;
+        /*
+         * Return false when
+         * 1. The device doesn't support activity embedding
+         * 2. The target preference is not highlighted
+         * 3. The current activity is not embedded
+         */
+        if (mHighlightMixin == null
+                || !TextUtils.equals(pref.getKey(), mHighlightMixin.getHighlightPreferenceKey())
+                || !SplitController.getInstance().isActivityEmbedded(getActivity())) {
+            return false;
+        }
+
+        /*
+         * Return true when
+         * 1. This method has been called before
+         * 2. The preference doesn't have a target fragment, ex. Wallpaper and injections
+         */
+        if (!firstCheck || TextUtils.isEmpty(pref.getFragment())) {
+            return true;
+        }
+
+        /*
+         * Returns true when
+         * 1. The right pane fragment is not started by a deep link.
+         * 2. The target fragment equals the right pane fragment
+         */
+        String intentUri = getIntent().getStringExtra(EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI);
+        return TextUtils.isEmpty(intentUri)
+                || TextUtils.equals(pref.getFragment(), getIntentTargetFragment(intentUri));
+    }
+
     /** Show/hide the highlight on the menu entry for the search page presence */
     public void setMenuHighlightShowed(boolean show) {
         if (mHighlightMixin != null) {
@@ -310,6 +361,27 @@
         }
     }
 
+    private String getIntentTargetFragment(String intentUri) {
+        Intent targetIntent;
+        try {
+            targetIntent = Intent.parseUri(intentUri, Intent.URI_INTENT_SCHEME);
+        } catch (URISyntaxException e) {
+            return null;
+        }
+
+        String fragment = targetIntent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT);
+        if (!TextUtils.isEmpty(fragment)) {
+            return fragment;
+        }
+
+        ActivityInfo info = targetIntent.resolveActivityInfo(getPackageManager(),
+                PackageManager.GET_META_DATA);
+        if (info == null || info.metaData == null) {
+            return null;
+        }
+        return info.metaData.getString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS);
+    }
+
     private void iteratePreferences(PreferenceJob job) {
         if (job == null || getPreferenceManager() == null) {
             return;
diff --git a/src/com/android/settings/location/LocationSettingsFooterPreferenceController.java b/src/com/android/settings/location/LocationSettingsFooterPreferenceController.java
index a3b68be..05d153c 100644
--- a/src/com/android/settings/location/LocationSettingsFooterPreferenceController.java
+++ b/src/com/android/settings/location/LocationSettingsFooterPreferenceController.java
@@ -107,7 +107,7 @@
         if (mFooterPreference != null) {
             mFooterPreference.setTitle(Html.fromHtml(footerString));
             mFooterPreference.setLearnMoreAction(v -> openLocationLearnMoreLink());
-            mFooterPreference.setLearnMoreContentDescription(mContext.getString(
+            mFooterPreference.setLearnMoreText(mContext.getString(
                     R.string.location_settings_footer_learn_more_content_description));
         }
     }
diff --git a/src/com/android/settings/notification/app/ConversationListPreferenceController.java b/src/com/android/settings/notification/app/ConversationListPreferenceController.java
index b609a9a..29f0dea 100644
--- a/src/com/android/settings/notification/app/ConversationListPreferenceController.java
+++ b/src/com/android/settings/notification/app/ConversationListPreferenceController.java
@@ -41,8 +41,7 @@
 
 public abstract class ConversationListPreferenceController extends AbstractPreferenceController {
 
-    private static final String KEY = "all_conversations";
-
+    private static final String SUMMARY_KEY_SUFFIX = "_summary";
     protected final NotificationBackend mBackend;
 
     public ConversationListPreferenceController(Context context,
@@ -52,11 +51,6 @@
     }
 
     @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
     public boolean isAvailable() {
         return true;
     }
@@ -72,6 +66,7 @@
         if (containerGroup.getPreferenceCount() != 0) {
             Preference summaryPref = getSummaryPreference();
             if (summaryPref != null) {
+                summaryPref.setKey(getPreferenceKey() + SUMMARY_KEY_SUFFIX);
                 containerGroup.addPreference(summaryPref);
             }
             containerGroup.setVisible(true);
diff --git a/src/com/android/settings/notification/app/RecentConversationsPreferenceController.java b/src/com/android/settings/notification/app/RecentConversationsPreferenceController.java
index 1ceb45c..4d8cefe 100644
--- a/src/com/android/settings/notification/app/RecentConversationsPreferenceController.java
+++ b/src/com/android/settings/notification/app/RecentConversationsPreferenceController.java
@@ -23,7 +23,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.pm.ShortcutInfo;
-import android.os.AsyncTask;
 import android.os.Bundle;
 import android.os.RemoteException;
 import android.os.UserHandle;
@@ -51,6 +50,7 @@
 
     private static final String TAG = "RecentConversationsPC";
     private static final String KEY = "recent_conversations";
+    private static final String CLEAR_ALL_KEY_SUFFIX = "_clear_all";
     private List<ConversationChannel> mConversations;
     private final IPeopleManager mPs;
     private final NotificationBackend mBackend;
@@ -72,9 +72,11 @@
         return true;
     }
 
+    //TODO(b/233325816): Use ButtonPreference instead.
     LayoutPreference getClearAll(PreferenceGroup parent) {
         LayoutPreference pref = new LayoutPreference(
                 mContext, R.layout.conversations_clear_recents);
+        pref.setKey(getPreferenceKey() + CLEAR_ALL_KEY_SUFFIX);
         pref.setOrder(1);
         Button button = pref.findViewById(R.id.conversation_settings_clear_recents);
         button.setOnClickListener(v -> {
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceControllerTest.java
index cce240d..aef9143 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceControllerTest.java
@@ -100,11 +100,11 @@
     }
 
     @Test
-    public void setupHelpLink_setCorrectHelpLinkAndContentDescription() {
+    public void setupHelpLink_setCorrectHelpLinkAndLearnMoreText() {
         mController.setupHelpLink(TEST_HELP_ID, TEST_CONTENT_DESCRIPTION);
 
         assertThat(mController.getHelpResource()).isEqualTo(TEST_HELP_ID);
-        assertThat(mController.getLearnMoreContentDescription())
+        assertThat(mController.getLearnMoreText())
                 .isEqualTo(TEST_CONTENT_DESCRIPTION);
     }