Commit 91588a9c authored by Natalie Chouinard's avatar Natalie Chouinard Committed by Commit Bot

Migrate Update Menu preferences to prefs.h

Migrate Update Menu Item preferences to use PrefServiceBridge generic
methods, making use of the prefs.h enums.

Bug: 1016957
Change-Id: I3b37e1251e5c51d0bc08e4cfd0ae05245c2d052f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1885103
Commit-Queue: Natalie Chouinard <chouinard@chromium.org>
Reviewed-by: default avatarJoshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/master@{#711036}
parent f1ba9cd4
...@@ -28,6 +28,7 @@ import org.chromium.chrome.R; ...@@ -28,6 +28,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateInteractionSource; import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateInteractionSource;
import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateState; import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateState;
import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateStatus; import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateStatus;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.content_public.browser.UiThreadTaskTraits; import org.chromium.content_public.browser.UiThreadTaskTraits;
...@@ -212,7 +213,7 @@ public class UpdateMenuItemHelper { ...@@ -212,7 +213,7 @@ public class UpdateMenuItemHelper {
UpdateStatusProvider.getInstance().startIntentUpdate( UpdateStatusProvider.getInstance().startIntentUpdate(
activity, UpdateInteractionSource.FROM_MENU, false /* newTask */); activity, UpdateInteractionSource.FROM_MENU, false /* newTask */);
recordItemClickedHistogram(ITEM_CLICKED_INTENT_LAUNCHED); recordItemClickedHistogram(ITEM_CLICKED_INTENT_LAUNCHED);
PrefServiceBridge.getInstance().setClickedUpdateMenuItem(true); PrefServiceBridge.getInstance().setBoolean(Pref.CLICKED_UPDATE_MENU_ITEM, true);
} catch (ActivityNotFoundException e) { } catch (ActivityNotFoundException e) {
Log.e(TAG, "Failed to launch Activity for: %s", mStatus.updateUrl); Log.e(TAG, "Failed to launch Activity for: %s", mStatus.updateUrl);
recordItemClickedHistogram(ITEM_CLICKED_INTENT_FAILED); recordItemClickedHistogram(ITEM_CLICKED_INTENT_FAILED);
...@@ -241,8 +242,8 @@ public class UpdateMenuItemHelper { ...@@ -241,8 +242,8 @@ public class UpdateMenuItemHelper {
// If the update menu item is showing because it was forced on through about://flags // If the update menu item is showing because it was forced on through about://flags
// then mLatestVersion may be null. // then mLatestVersion may be null.
if (mStatus.latestVersion != null) { if (mStatus.latestVersion != null) {
PrefServiceBridge.getInstance().setLatestVersionWhenClickedUpdateMenuItem( PrefServiceBridge.getInstance().setString(
mStatus.latestVersion); Pref.LATEST_VERSION_WHEN_CLICKED_UPDATE_MENU_ITEM, mStatus.latestVersion);
} }
handleStateChanged(); handleStateChanged();
...@@ -286,7 +287,8 @@ public class UpdateMenuItemHelper { ...@@ -286,7 +287,8 @@ public class UpdateMenuItemHelper {
// The badge is hidden if the update menu item has been clicked until there is an // The badge is hidden if the update menu item has been clicked until there is an
// even newer version of Chrome available. // even newer version of Chrome available.
showBadge |= !TextUtils.equals( showBadge |= !TextUtils.equals(
PrefServiceBridge.getInstance().getLatestVersionWhenClickedUpdateMenuItem(), PrefServiceBridge.getInstance().getString(
Pref.LATEST_VERSION_WHEN_CLICKED_UPDATE_MENU_ITEM),
mStatus.latestUnsupportedVersion); mStatus.latestUnsupportedVersion);
if (showBadge) { if (showBadge) {
...@@ -338,7 +340,8 @@ public class UpdateMenuItemHelper { ...@@ -338,7 +340,8 @@ public class UpdateMenuItemHelper {
// The badge is hidden if the update menu item has been clicked until there is an // The badge is hidden if the update menu item has been clicked until there is an
// even newer version of Chrome available. // even newer version of Chrome available.
showBadge |= !TextUtils.equals( showBadge |= !TextUtils.equals(
PrefServiceBridge.getInstance().getLatestVersionWhenClickedUpdateMenuItem(), PrefServiceBridge.getInstance().getString(
Pref.LATEST_VERSION_WHEN_CLICKED_UPDATE_MENU_ITEM),
mStatus.latestUnsupportedVersion); mStatus.latestUnsupportedVersion);
if (showBadge) { if (showBadge) {
...@@ -404,12 +407,12 @@ public class UpdateMenuItemHelper { ...@@ -404,12 +407,12 @@ public class UpdateMenuItemHelper {
private void recordUpdateHistogram() { private void recordUpdateHistogram() {
assert mStatus != null; assert mStatus != null;
if (PrefServiceBridge.getInstance().getClickedUpdateMenuItem()) { if (PrefServiceBridge.getInstance().getBoolean(Pref.CLICKED_UPDATE_MENU_ITEM)) {
RecordHistogram.recordEnumeratedHistogram( RecordHistogram.recordEnumeratedHistogram(
"GoogleUpdate.MenuItem.ActionTakenAfterItemClicked", "GoogleUpdate.MenuItem.ActionTakenAfterItemClicked",
mStatus.updateState == UpdateState.UPDATE_AVAILABLE ? NOT_UPDATED : UPDATED, mStatus.updateState == UpdateState.UPDATE_AVAILABLE ? NOT_UPDATED : UPDATED,
UPDATED_BOUNDARY); UPDATED_BOUNDARY);
PrefServiceBridge.getInstance().setClickedUpdateMenuItem(false); PrefServiceBridge.getInstance().setBoolean(Pref.CLICKED_UPDATE_MENU_ITEM, false);
} }
} }
......
...@@ -878,38 +878,6 @@ public class PrefServiceBridge { ...@@ -878,38 +878,6 @@ public class PrefServiceBridge {
return PrefServiceBridgeJni.get().isMetricsReportingManaged(PrefServiceBridge.this); return PrefServiceBridgeJni.get().isMetricsReportingManaged(PrefServiceBridge.this);
} }
/**
* @param clicked Whether the update menu item was clicked. The preference is stored to
* facilitate logging whether Chrome was updated after a click on the menu item.
*/
public void setClickedUpdateMenuItem(boolean clicked) {
PrefServiceBridgeJni.get().setClickedUpdateMenuItem(PrefServiceBridge.this, clicked);
}
/**
* @return Whether the update menu item was clicked.
*/
public boolean getClickedUpdateMenuItem() {
return PrefServiceBridgeJni.get().getClickedUpdateMenuItem(PrefServiceBridge.this);
}
/**
* @param version The latest version of Chrome available when the update menu item
* was clicked.
*/
public void setLatestVersionWhenClickedUpdateMenuItem(String version) {
PrefServiceBridgeJni.get().setLatestVersionWhenClickedUpdateMenuItem(
PrefServiceBridge.this, version);
}
/**
* @return The latest version of Chrome available when the update menu item was clicked.
*/
public String getLatestVersionWhenClickedUpdateMenuItem() {
return PrefServiceBridgeJni.get().getLatestVersionWhenClickedUpdateMenuItem(
PrefServiceBridge.this);
}
/** /**
* @return The stored download default directory. * @return The stored download default directory.
*/ */
...@@ -1049,10 +1017,6 @@ public class PrefServiceBridge { ...@@ -1049,10 +1017,6 @@ public class PrefServiceBridge {
boolean isMetricsReportingEnabled(PrefServiceBridge caller); boolean isMetricsReportingEnabled(PrefServiceBridge caller);
void setMetricsReportingEnabled(PrefServiceBridge caller, boolean enabled); void setMetricsReportingEnabled(PrefServiceBridge caller, boolean enabled);
boolean isMetricsReportingManaged(PrefServiceBridge caller); boolean isMetricsReportingManaged(PrefServiceBridge caller);
void setClickedUpdateMenuItem(PrefServiceBridge caller, boolean clicked);
boolean getClickedUpdateMenuItem(PrefServiceBridge caller);
void setLatestVersionWhenClickedUpdateMenuItem(PrefServiceBridge caller, String version);
String getLatestVersionWhenClickedUpdateMenuItem(PrefServiceBridge caller);
void getChromeAcceptLanguages(PrefServiceBridge caller, List<LanguageItem> list); void getChromeAcceptLanguages(PrefServiceBridge caller, List<LanguageItem> list);
void getUserAcceptLanguages(PrefServiceBridge caller, List<String> list); void getUserAcceptLanguages(PrefServiceBridge caller, List<String> list);
void updateUserAcceptLanguages(PrefServiceBridge caller, String language, boolean add); void updateUserAcceptLanguages(PrefServiceBridge caller, String language, boolean add);
......
...@@ -545,37 +545,6 @@ static jboolean JNI_PrefServiceBridge_IsMetricsReportingManaged( ...@@ -545,37 +545,6 @@ static jboolean JNI_PrefServiceBridge_IsMetricsReportingManaged(
metrics::prefs::kMetricsReportingEnabled); metrics::prefs::kMetricsReportingEnabled);
} }
static void JNI_PrefServiceBridge_SetClickedUpdateMenuItem(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
jboolean clicked) {
GetPrefService()->SetBoolean(prefs::kClickedUpdateMenuItem, clicked);
}
static jboolean JNI_PrefServiceBridge_GetClickedUpdateMenuItem(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
return GetPrefService()->GetBoolean(prefs::kClickedUpdateMenuItem);
}
static void JNI_PrefServiceBridge_SetLatestVersionWhenClickedUpdateMenuItem(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
const JavaParamRef<jstring>& version) {
GetPrefService()->SetString(
prefs::kLatestVersionWhenClickedUpdateMenuItem,
ConvertJavaStringToUTF8(env, version));
}
static ScopedJavaLocalRef<jstring>
JNI_PrefServiceBridge_GetLatestVersionWhenClickedUpdateMenuItem(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
return ConvertUTF8ToJavaString(
env, GetPrefService()->GetString(
prefs::kLatestVersionWhenClickedUpdateMenuItem));
}
static jboolean JNI_PrefServiceBridge_GetBrowsingDataDeletionPreference( static jboolean JNI_PrefServiceBridge_GetBrowsingDataDeletionPreference(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& obj, const JavaParamRef<jobject>& obj,
......
...@@ -50,6 +50,8 @@ enum Pref { ...@@ -50,6 +50,8 @@ enum Pref {
SUPERVISED_USER_CUSTODIAN_EMAIL, SUPERVISED_USER_CUSTODIAN_EMAIL,
SUPERVISED_USER_SECOND_CUSTODIAN_NAME, SUPERVISED_USER_SECOND_CUSTODIAN_NAME,
SUPERVISED_USER_SECOND_CUSTODIAN_EMAIL, SUPERVISED_USER_SECOND_CUSTODIAN_EMAIL,
CLICKED_UPDATE_MENU_ITEM,
LATEST_VERSION_WHEN_CLICKED_UPDATE_MENU_ITEM,
// PREF_NUM_PREFS must be the last entry. // PREF_NUM_PREFS must be the last entry.
PREF_NUM_PREFS PREF_NUM_PREFS
}; };
...@@ -89,6 +91,8 @@ const char* const kPrefsExposedToJava[] = { ...@@ -89,6 +91,8 @@ const char* const kPrefsExposedToJava[] = {
prefs::kSupervisedUserCustodianEmail, prefs::kSupervisedUserCustodianEmail,
prefs::kSupervisedUserSecondCustodianName, prefs::kSupervisedUserSecondCustodianName,
prefs::kSupervisedUserSecondCustodianEmail, prefs::kSupervisedUserSecondCustodianEmail,
prefs::kClickedUpdateMenuItem,
prefs::kLatestVersionWhenClickedUpdateMenuItem,
}; };
#endif // CHROME_BROWSER_ANDROID_PREFERENCES_PREFS_H_ #endif // CHROME_BROWSER_ANDROID_PREFERENCES_PREFS_H_
...@@ -84,6 +84,10 @@ TEST_F(PrefsTest, TestIndex) { ...@@ -84,6 +84,10 @@ TEST_F(PrefsTest, TestIndex) {
GetPrefName(SUPERVISED_USER_SECOND_CUSTODIAN_NAME)); GetPrefName(SUPERVISED_USER_SECOND_CUSTODIAN_NAME));
EXPECT_EQ(prefs::kSupervisedUserSecondCustodianEmail, EXPECT_EQ(prefs::kSupervisedUserSecondCustodianEmail,
GetPrefName(SUPERVISED_USER_SECOND_CUSTODIAN_EMAIL)); GetPrefName(SUPERVISED_USER_SECOND_CUSTODIAN_EMAIL));
EXPECT_EQ(prefs::kClickedUpdateMenuItem,
GetPrefName(CLICKED_UPDATE_MENU_ITEM));
EXPECT_EQ(prefs::kLatestVersionWhenClickedUpdateMenuItem,
GetPrefName(LATEST_VERSION_WHEN_CLICKED_UPDATE_MENU_ITEM));
// If this check fails, a pref is missing a test case above. // If this check fails, a pref is missing a test case above.
EXPECT_EQ(Pref::PREF_NUM_PREFS, pref_count_); EXPECT_EQ(Pref::PREF_NUM_PREFS, pref_count_);
......
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