[MDM] Adjust Do-Not-Track Restriction for new UI
Needed to move DNT initialization from GeneralPreferencesFragment
to PrivacySecurityPreferencesFragment.
Change-Id: I96eeeb8636accbf774b0569a3d1e953e7a14bf4e
diff --git a/src/com/android/browser/mdm/DoNotTrackRestriction.java b/src/com/android/browser/mdm/DoNotTrackRestriction.java
index 2f4a540..c1e5605 100644
--- a/src/com/android/browser/mdm/DoNotTrackRestriction.java
+++ b/src/com/android/browser/mdm/DoNotTrackRestriction.java
@@ -30,10 +30,14 @@
package com.android.browser.mdm;
+import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.Preference;
-public class DoNotTrackRestriction extends Restriction {
+import com.android.browser.BrowserSettings;
+import com.android.browser.PreferenceKeys;
+
+public class DoNotTrackRestriction extends Restriction implements PreferenceKeys {
private final static String TAG = "DoNotTrackRestriction";
@@ -60,6 +64,7 @@
@Override
public void enforce(Bundle restrictions) {
+ SharedPreferences.Editor editor = BrowserSettings.getInstance().getPreferences().edit();
// Possible states
// DNT_enabled DNT_value | menu-item-enabled check-box-value
// -----------------------------------------------------------------
@@ -72,6 +77,9 @@
if (dntEnabled) {
mDntValue = restrictions.getBoolean(DO_NOT_TRACK_VALUE, true); // default to true
+ editor.putBoolean(PREF_DO_NOT_TRACK, mDntValue);
+ editor.apply();
+
// enable the restriction : controls enable of the menu item
// Log.i(TAG, "DNT Restriction enabled. new val [" + mDntValue + "]");
enable(true);
diff --git a/src/com/android/browser/preferences/GeneralPreferencesFragment.java b/src/com/android/browser/preferences/GeneralPreferencesFragment.java
index e9c62ac..f3128e2 100644
--- a/src/com/android/browser/preferences/GeneralPreferencesFragment.java
+++ b/src/com/android/browser/preferences/GeneralPreferencesFragment.java
@@ -48,7 +48,6 @@
import com.android.browser.UrlUtils;
import com.android.browser.homepages.HomeProvider;
import com.android.browser.mdm.AutoFillRestriction;
-import com.android.browser.mdm.DoNotTrackRestriction;
import com.android.browser.mdm.SearchEngineRestriction;
public class GeneralPreferencesFragment extends SWEPreferenceFragment
@@ -106,8 +105,6 @@
}
// Register Preference objects with their MDM restriction handlers
- DoNotTrackRestriction.getInstance().
- registerPreference(findPreference(PreferenceKeys.PREF_DO_NOT_TRACK));
AutoFillRestriction.getInstance().
registerPreference(findPreference(PreferenceKeys.PREF_AUTOFILL_ENABLED));
@@ -120,7 +117,6 @@
super.onDestroy();
// Un-register Preference objects from their MDM restriction handlers
- DoNotTrackRestriction.getInstance().registerPreference(null);
AutoFillRestriction.getInstance().registerPreference(null);
}
diff --git a/src/com/android/browser/preferences/PrivacySecurityPreferencesFragment.java b/src/com/android/browser/preferences/PrivacySecurityPreferencesFragment.java
index 68c5607..7e02de0 100644
--- a/src/com/android/browser/preferences/PrivacySecurityPreferencesFragment.java
+++ b/src/com/android/browser/preferences/PrivacySecurityPreferencesFragment.java
@@ -18,6 +18,7 @@
import com.android.browser.PreferenceKeys;
import com.android.browser.R;
+import com.android.browser.mdm.DoNotTrackRestriction;
import android.app.ActionBar;
import android.app.Activity;
@@ -71,6 +72,18 @@
readAndShowPermission("accept_third_cookies",
PermissionsServiceFactory.PermissionType.THIRDPARTYCOOKIES);
+
+ // Register Preference objects with their MDM restriction handlers
+ DoNotTrackRestriction.getInstance().
+ registerPreference(findPreference(PreferenceKeys.PREF_DO_NOT_TRACK));
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+
+ // Un-register Preference objects from their MDM restriction handlers
+ DoNotTrackRestriction.getInstance().registerPreference(null);
}
@Override