Bug 1232632 - Restricted profiles: Hide 'Clear private data' if needed. r?margaret
--- a/mobile/android/base/java/org/mozilla/gecko/preferences/GeckoPreferences.java
+++ b/mobile/android/base/java/org/mozilla/gecko/preferences/GeckoPreferences.java
@@ -447,28 +447,32 @@ OnSharedPreferenceChangeListener
intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS, fragmentArgs);
}
@Override
public boolean isValidFragment(String fragmentName) {
return GeckoPreferenceFragment.class.getName().equals(fragmentName);
}
+ @TargetApi(11)
@Override
public void onBuildHeaders(List<Header> target) {
if (onIsMultiPane()) {
loadHeadersFromResource(R.xml.preference_headers, target);
Iterator<Header> iterator = target.iterator();
while (iterator.hasNext()) {
Header header = iterator.next();
if (header.id == R.id.pref_header_advanced && !Restrictions.isAllowed(this, Restrictable.ADVANCED_SETTINGS)) {
iterator.remove();
+ } else if (header.id == R.id.pref_header_clear_private_data
+ && !Restrictions.isAllowed(this, Restrictable.CLEAR_HISTORY)) {
+ iterator.remove();
}
}
mHeaders = target;
}
}
@TargetApi(11)
--- a/mobile/android/base/resources/xml-v11/preference_headers.xml
+++ b/mobile/android/base/resources/xml-v11/preference_headers.xml
@@ -40,17 +40,18 @@
<header android:fragment="org.mozilla.gecko.preferences.GeckoPreferenceFragment"
android:title="@string/pref_header_advanced"
android:id="@+id/pref_header_advanced">
<extra android:name="resource"
android:value="preferences_advanced"/>
</header>
<header android:fragment="org.mozilla.gecko.preferences.GeckoPreferenceFragment"
- android:title="@string/pref_clear_private_data_now">
+ android:title="@string/pref_clear_private_data_now"
+ android:id="@+id/pref_header_clear_private_data">
<extra android:name="resource"
android:value="preferences_privacy_clear_tablet"/>
</header>
<header android:fragment="org.mozilla.gecko.preferences.GeckoPreferenceFragment"
android:title="@string/pref_header_vendor">
<extra android:name="resource"
android:value="preferences_vendor"/>