Bug 1232632 - Restricted profiles: Hide 'Clear private data' if needed. r?margaret draft
authorSebastian Kaspari <s.kaspari@gmail.com>
Mon, 21 Dec 2015 16:33:36 +0100
changeset 316679 46c24aa8e897cd130b4892581ae19141a82d9cbe
parent 316384 6da91747a0c90f8794f9dbe8b87331f782fc5909
child 512199 1c22b56f1db72eef78be391593e2feae7d8b0d04
push id8589
push users.kaspari@gmail.com
push dateMon, 21 Dec 2015 15:34:39 +0000
reviewersmargaret
bugs1232632
milestone46.0a1
Bug 1232632 - Restricted profiles: Hide 'Clear private data' if needed. r?margaret
mobile/android/base/java/org/mozilla/gecko/preferences/GeckoPreferences.java
mobile/android/base/resources/xml-v11/preference_headers.xml
--- 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"/>