Commit c5454b91 authored by Wenyu Fu's avatar Wenyu Fu Committed by Commit Bot

Use SharedPreferencesManager in HomepageManager

With recently introduced API SharedPreferenceManager. Migrate
HomepageManager to use SharePreferencesManager rather than checking
SharedPreferences directly; also move the private preference keys
into ChromePreferenceKeys.java

Bug: 1022108
Change-Id: Id1be4b4f70ec6c070d8ded81a5e98512f995da15
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1974320
Commit-Queue: Wenyu Fu <wenyufu@chromium.org>
Reviewed-by: default avatarWei-Yin Chen (陳威尹) <wychen@chromium.org>
Auto-Submit: Wenyu Fu <wenyufu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#726431}
parent 4cb051f3
......@@ -4,13 +4,13 @@
package org.chromium.chrome.browser.partnercustomizations;
import android.content.SharedPreferences;
import android.text.TextUtils;
import org.chromium.base.ContextUtils;
import org.chromium.base.ObserverList;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.ntp.NewTabPage;
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.chrome.browser.util.UrlConstants;
/**
......@@ -30,17 +30,13 @@ public class HomepageManager {
void onHomepageStateUpdated();
}
private static final String PREF_HOMEPAGE_ENABLED = "homepage";
private static final String PREF_HOMEPAGE_CUSTOM_URI = "homepage_custom_uri";
private static final String PREF_HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
private static HomepageManager sInstance;
private final SharedPreferences mSharedPreferences;
private final SharedPreferencesManager mSharedPreferencesManager;
private final ObserverList<HomepageStateListener> mHomepageStateListeners;
private HomepageManager() {
mSharedPreferences = ContextUtils.getAppSharedPreferences();
mSharedPreferencesManager = SharedPreferencesManager.getInstance();
mHomepageStateListeners = new ObserverList<>();
}
......@@ -123,16 +119,14 @@ public class HomepageManager {
* @see #isHomepageEnabled
*/
public boolean getPrefHomepageEnabled() {
return mSharedPreferences.getBoolean(PREF_HOMEPAGE_ENABLED, true);
return mSharedPreferencesManager.readBoolean(ChromePreferenceKeys.HOMEPAGE_ENABLED, true);
}
/**
* Sets the user preference for whether the homepage is enabled.
*/
public void setPrefHomepageEnabled(boolean enabled) {
SharedPreferences.Editor sharedPreferencesEditor = mSharedPreferences.edit();
sharedPreferencesEditor.putBoolean(PREF_HOMEPAGE_ENABLED, enabled);
sharedPreferencesEditor.apply();
mSharedPreferencesManager.writeBoolean(ChromePreferenceKeys.HOMEPAGE_ENABLED, enabled);
RecordHistogram.recordBooleanHistogram(
"Settings.ShowHomeButtonPreferenceStateChanged", enabled);
RecordHistogram.recordBooleanHistogram("Settings.ShowHomeButtonPreferenceState", enabled);
......@@ -143,23 +137,22 @@ public class HomepageManager {
* @return User specified homepage custom URI string.
*/
public String getPrefHomepageCustomUri() {
return mSharedPreferences.getString(PREF_HOMEPAGE_CUSTOM_URI, "");
return mSharedPreferencesManager.readString(ChromePreferenceKeys.HOMEPAGE_CUSTOM_URI, "");
}
/**
* Sets custom homepage URI
*/
public void setPrefHomepageCustomUri(String customUri) {
SharedPreferences.Editor sharedPreferencesEditor = mSharedPreferences.edit();
sharedPreferencesEditor.putString(PREF_HOMEPAGE_CUSTOM_URI, customUri);
sharedPreferencesEditor.apply();
mSharedPreferencesManager.writeString(ChromePreferenceKeys.HOMEPAGE_CUSTOM_URI, customUri);
}
/**
* @return Whether the homepage URL is the default value.
*/
public boolean getPrefHomepageUseDefaultUri() {
return mSharedPreferences.getBoolean(PREF_HOMEPAGE_USE_DEFAULT_URI, true);
return mSharedPreferencesManager.readBoolean(
ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI, true);
}
/**
......@@ -167,8 +160,7 @@ public class HomepageManager {
*/
public void setPrefHomepageUseDefaultUri(boolean useDefaultUri) {
RecordHistogram.recordBooleanHistogram("Settings.HomePageIsCustomized", !useDefaultUri);
SharedPreferences.Editor sharedPreferencesEditor = mSharedPreferences.edit();
sharedPreferencesEditor.putBoolean(PREF_HOMEPAGE_USE_DEFAULT_URI, useDefaultUri);
sharedPreferencesEditor.apply();
mSharedPreferencesManager.writeBoolean(
ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI, useDefaultUri);
}
}
......@@ -339,6 +339,11 @@ public final class ChromePreferenceKeys {
public static final String DATA_REDUCTION_FIRST_ENABLED_TIME =
"BANDWIDTH_REDUCTION_FIRST_ENABLED_TIME";
/** Keys used to save settings related to homepage. */
public static final String HOMEPAGE_ENABLED = "homepage";
public static final String HOMEPAGE_CUSTOM_URI = "homepage_custom_uri";
public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
////////////////////////////////////////////////////////////////////////////////////////////////
// Keys representing cached feature flags //
////////////////////////////////////////////////////////////////////////////////////////////////
......@@ -572,6 +577,9 @@ public final class ChromePreferenceKeys {
DATA_REDUCTION_DISPLAYED_MILESTONE_PROMO_SAVED_BYTES,
DATA_REDUCTION_ENABLED_PREF,
DATA_REDUCTION_FIRST_ENABLED_TIME,
HOMEPAGE_ENABLED,
HOMEPAGE_CUSTOM_URI,
HOMEPAGE_USE_DEFAULT_URI,
// Cached feature flags
CACHED_FEATURE_FLAG.pattern(),
......@@ -720,6 +728,9 @@ public final class ChromePreferenceKeys {
DATA_REDUCTION_DISPLAYED_MILESTONE_PROMO_SAVED_BYTES,
DATA_REDUCTION_ENABLED_PREF,
DATA_REDUCTION_FIRST_ENABLED_TIME,
HOMEPAGE_ENABLED,
HOMEPAGE_CUSTOM_URI,
HOMEPAGE_USE_DEFAULT_URI,
// Cached feature flags
SERVICE_MANAGER_FOR_DOWNLOAD_RESUMPTION_KEY,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment