Merge "Fix footer issues" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
7ca749e3a5
@@ -685,24 +685,24 @@
|
|||||||
<!-- Location settings, loading the number of apps which have location permission [CHAR LIMIT=30] -->
|
<!-- 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>
|
<string name="location_settings_loading_app_permission_stats">Loading\u2026</string>
|
||||||
<!-- Location settings footer warning text when location is on [CHAR LIMIT=NONE] -->
|
<!-- Location settings footer warning text when location is on [CHAR LIMIT=NONE] -->
|
||||||
<string name="location_settings_footer_location_on">
|
<string name="location_settings_footer_general">
|
||||||
<br><br>Apps with the Nearby devices permission can determine the
|
Apps with the Nearby devices permission can determine the
|
||||||
relative position of connected devices.
|
relative position of connected devices.
|
||||||
|
|
||||||
<br><br><a href="<xliff:g example="http://www.google.com" id="url">
|
|
||||||
https://support.google.com/android/answer/3467281</xliff:g>">Learn more</a>
|
|
||||||
</string>
|
</string>
|
||||||
<!-- Location settings footer warning text when location is off [CHAR LIMIT=NONE] -->
|
<!-- Location settings footer warning text when location is off [CHAR LIMIT=NONE] -->
|
||||||
<string name="location_settings_footer_location_off">
|
<string name="location_settings_footer_location_off">
|
||||||
Location access is off for apps and services. Your device location may still be sent to
|
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.
|
emergency responders when you call or text an emergency number.
|
||||||
|
</string>
|
||||||
<br><br>Apps with the Nearby devices permission can determine the relative
|
<!-- Location settings footer link to support page [CHAR LIMIT=NONE] -->
|
||||||
position of connected devices.
|
<string name="location_settings_footer_learn_more">
|
||||||
|
<a href="<xliff:g example="http://www.google.com"
|
||||||
<br><br><a href="<xliff:g example="http://www.google.com"
|
|
||||||
id="url"> https://support.google.com/android/answer/3467281</xliff:g>">Learn more</a>
|
id="url"> https://support.google.com/android/answer/3467281</xliff:g>">Learn more</a>
|
||||||
</string>
|
</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] -->
|
<!-- 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>
|
<string name="account_settings_title">Accounts</string>
|
||||||
|
@@ -70,8 +70,9 @@
|
|||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<com.android.settingslib.widget.FooterPreference
|
<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:key="location_footer"
|
||||||
android:selectable="false"
|
android:selectable="false"
|
||||||
|
settings:searchable="false"
|
||||||
settings:controller="com.android.settings.location.LocationSettingsFooterPreferenceController"/>
|
settings:controller="com.android.settings.location.LocationSettingsFooterPreferenceController"/>
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
@@ -54,7 +54,7 @@
|
|||||||
settings:controller="com.android.settings.location.LocationServicesPreferenceController"/>
|
settings:controller="com.android.settings.location.LocationServicesPreferenceController"/>
|
||||||
|
|
||||||
<com.android.settingslib.widget.FooterPreference
|
<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:key="location_footer"
|
||||||
settings:controller="com.android.settings.location.LocationSettingsFooterPreferenceController"
|
settings:controller="com.android.settings.location.LocationSettingsFooterPreferenceController"
|
||||||
android:selectable="false"/>
|
android:selectable="false"/>
|
||||||
|
@@ -62,7 +62,7 @@
|
|||||||
settings:controller="com.android.settings.location.LocationServicesForWorkPreferenceController"/>
|
settings:controller="com.android.settings.location.LocationServicesForWorkPreferenceController"/>
|
||||||
|
|
||||||
<com.android.settingslib.widget.FooterPreference
|
<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:key="location_footer"
|
||||||
settings:controller="com.android.settings.location.LocationSettingsFooterPreferenceController"
|
settings:controller="com.android.settings.location.LocationSettingsFooterPreferenceController"
|
||||||
android:selectable="false"/>
|
android:selectable="false"/>
|
||||||
|
@@ -24,6 +24,7 @@ import android.content.pm.PackageManager;
|
|||||||
import android.content.pm.ResolveInfo;
|
import android.content.pm.ResolveInfo;
|
||||||
import android.location.LocationManager;
|
import android.location.LocationManager;
|
||||||
import android.text.Html;
|
import android.text.Html;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
@@ -42,6 +43,7 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public class LocationSettingsFooterPreferenceController extends LocationBasePreferenceController {
|
public class LocationSettingsFooterPreferenceController extends LocationBasePreferenceController {
|
||||||
private static final String TAG = "LocationFooter";
|
private static final String TAG = "LocationFooter";
|
||||||
|
private static final String PARAGRAPH_SEPARATOR = "<br><br>";
|
||||||
private static final Intent INJECT_INTENT =
|
private static final Intent INJECT_INTENT =
|
||||||
new Intent(LocationManager.SETTINGS_FOOTER_DISPLAYED_ACTION);
|
new Intent(LocationManager.SETTINGS_FOOTER_DISPLAYED_ACTION);
|
||||||
|
|
||||||
@@ -90,24 +92,33 @@ public class LocationSettingsFooterPreferenceController extends LocationBasePref
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateFooterPreference() {
|
private void updateFooterPreference() {
|
||||||
String footerString = mContext.getString(
|
String footerString = mContext.getString(R.string.location_settings_footer_general);
|
||||||
mLocationEnabled ? R.string.location_settings_footer_location_on
|
|
||||||
: R.string.location_settings_footer_location_off);
|
|
||||||
if (mLocationEnabled) {
|
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) {
|
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
|
* Location footer preference group should always be displayed.
|
||||||
* inject.
|
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int getAvailabilityStatus() {
|
public int getAvailabilityStatus() {
|
||||||
return !getFooterData().isEmpty() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
|
return AVAILABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user