Fix footer issues

1. setContentDescription for "learn more"
2. set searchable="false"

Bug: 187471260
Bug: 188490701
Test: on device
Change-Id: Iaa6907fdf2b6c47cbc1386a88a08ac31f3676367
diff --git a/res/values/strings.xml b/res/values/strings.xml
index bf56cc4..76305ec 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -685,24 +685,24 @@
     <!-- Location settings, loading the number of apps which have location permission [CHAR LIMIT=30] -->
     <string name="location_settings_loading_app_permission_stats">Loading\u2026</string>
     <!-- Location settings footer warning text when location is on [CHAR LIMIT=NONE] -->
-    <string name="location_settings_footer_location_on">
-        &lt;br>&lt;br>Apps with the Nearby devices permission can determine the
+    <string name="location_settings_footer_general">
+        Apps with the Nearby devices permission can determine the
         relative position of connected devices.
-
-        &lt;br>&lt;br>&lt;a href="<xliff:g example="http://www.google.com" id="url">
-        https://support.google.com/android/answer/3467281</xliff:g>">Learn more&lt;/a>
     </string>
     <!-- Location settings footer warning text when location is off [CHAR LIMIT=NONE] -->
     <string name="location_settings_footer_location_off">
         Location access is off for apps and services. Your device location may still be sent to
         emergency responders when you call or text an emergency number.
-
-        &lt;br>&lt;br>Apps with the Nearby devices permission can determine the relative
-        position of connected devices.
-
-        &lt;br>&lt;br>&lt;a href="<xliff:g example="http://www.google.com"
+    </string>
+    <!-- Location settings footer link to support page [CHAR LIMIT=NONE] -->
+    <string name="location_settings_footer_learn_more">
+        &lt;a href="<xliff:g example="http://www.google.com"
         id="url"> https://support.google.com/android/answer/3467281</xliff:g>">Learn more&lt;/a>
     </string>
+    <!-- Location settings footer link content description [CHAR LIMIT=NONE] -->
+    <string name="location_settings_footer_learn_more_content_description">
+        Learn more about Location Settings.
+    </string>
 
     <!-- Main Settings screen setting option title for the item to take you to the accounts screen [CHAR LIMIT=22] -->
     <string name="account_settings_title">Accounts</string>
diff --git a/res/xml/location_settings.xml b/res/xml/location_settings.xml
index 857885d..880a326 100644
--- a/res/xml/location_settings.xml
+++ b/res/xml/location_settings.xml
@@ -70,8 +70,9 @@
     </PreferenceCategory>
 
     <com.android.settingslib.widget.FooterPreference
-        android:title="@string/location_settings_footer_location_on"
+        android:title="@string/location_settings_footer_general"
         android:key="location_footer"
         android:selectable="false"
+        settings:searchable="false"
         settings:controller="com.android.settings.location.LocationSettingsFooterPreferenceController"/>
 </PreferenceScreen>
diff --git a/res/xml/location_settings_personal.xml b/res/xml/location_settings_personal.xml
index 726a96c..bae1ac1 100644
--- a/res/xml/location_settings_personal.xml
+++ b/res/xml/location_settings_personal.xml
@@ -54,7 +54,7 @@
         settings:controller="com.android.settings.location.LocationServicesPreferenceController"/>
 
     <com.android.settingslib.widget.FooterPreference
-        android:title="@string/location_settings_footer_location_on"
+        android:title="@string/location_settings_footer_general"
         android:key="location_footer"
         settings:controller="com.android.settings.location.LocationSettingsFooterPreferenceController"
         android:selectable="false"/>
diff --git a/res/xml/location_settings_workprofile.xml b/res/xml/location_settings_workprofile.xml
index 99ccf14..51d8761 100644
--- a/res/xml/location_settings_workprofile.xml
+++ b/res/xml/location_settings_workprofile.xml
@@ -62,7 +62,7 @@
         settings:controller="com.android.settings.location.LocationServicesForWorkPreferenceController"/>
 
     <com.android.settingslib.widget.FooterPreference
-        android:title="@string/location_settings_footer_location_on"
+        android:title="@string/location_settings_footer_general"
         android:key="location_footer"
         settings:controller="com.android.settings.location.LocationSettingsFooterPreferenceController"
         android:selectable="false"/>
diff --git a/src/com/android/settings/location/LocationSettingsFooterPreferenceController.java b/src/com/android/settings/location/LocationSettingsFooterPreferenceController.java
index d2d5c1f..281cc5a 100644
--- a/src/com/android/settings/location/LocationSettingsFooterPreferenceController.java
+++ b/src/com/android/settings/location/LocationSettingsFooterPreferenceController.java
@@ -24,6 +24,7 @@
 import android.content.pm.ResolveInfo;
 import android.location.LocationManager;
 import android.text.Html;
+import android.text.TextUtils;
 import android.util.Log;
 
 import androidx.preference.Preference;
@@ -42,6 +43,7 @@
  */
 public class LocationSettingsFooterPreferenceController extends LocationBasePreferenceController {
     private static final String TAG = "LocationFooter";
+    private static final String PARAGRAPH_SEPARATOR = "<br><br>";
     private static final Intent INJECT_INTENT =
             new Intent(LocationManager.SETTINGS_FOOTER_DISPLAYED_ACTION);
 
@@ -90,24 +92,33 @@
     }
 
     private void updateFooterPreference() {
-        String footerString = mContext.getString(
-                mLocationEnabled ? R.string.location_settings_footer_location_on
-                        : R.string.location_settings_footer_location_off);
+        String footerString = mContext.getString(R.string.location_settings_footer_general);
         if (mLocationEnabled) {
-            footerString = mInjectedFooterString + footerString;
+            if (!TextUtils.isEmpty(mInjectedFooterString)) {
+                footerString = Html.escapeHtml(mInjectedFooterString) + PARAGRAPH_SEPARATOR
+                        + footerString;
+            }
+        } else {
+            footerString = mContext.getString(R.string.location_settings_footer_location_off)
+                    + PARAGRAPH_SEPARATOR
+                    + footerString;
         }
         if (mFooterPreference != null) {
-            mFooterPreference.setTitle(Html.fromHtml(footerString));
+            mFooterPreference.setTitle(Html.fromHtml(footerString
+                    + PARAGRAPH_SEPARATOR
+                    + mContext.getString(
+                    R.string.location_settings_footer_learn_more)));
+            mFooterPreference.setContentDescription(Html.fromHtml(footerString + mContext.getString(
+                    R.string.location_settings_footer_learn_more_content_description)));
         }
     }
 
     /**
-     * Location footer preference group should be displayed if there is at least one footer to
-     * inject.
+     * Location footer preference group should always be displayed.
      */
     @Override
     public int getAvailabilityStatus() {
-        return !getFooterData().isEmpty() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+        return AVAILABLE;
     }
 
     /**