[go: up one dir, main page]

[M104] Fix android open-settings promos not showing

This CL makes sure that android open-settings promos show when no data
is selected to sync.

This change is not behind any feature flags.

(cherry picked from commit c84aa36937cd33f5466c9defa093594efab24606)

Fixed: 1341324
Change-Id: I3f46e0668c328e9735ce19df88ff36dc5941ae3d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3740569
Reviewed-by: Marc Treib <treib@chromium.org>
Commit-Queue: Mahmoud Rashad <mmrashad@google.com>
Cr-Original-Commit-Position: refs/heads/main@{#1021163}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3756145
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/5112@{#804}
Cr-Branched-From: b13d3fe7b3c47a56354ef54b221008afa754412e-refs/heads/main@{#1012729}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java
index a31a483..d5246da5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java
@@ -186,7 +186,8 @@
                 SharedPreferencesManager.getInstance().readInt(
                         ChromePreferenceKeys.SIGNIN_AND_SYNC_PROMO_SHOW_COUNT)
                 < MAX_SIGNIN_AND_SYNC_PROMO_SHOW_COUNT;
-        if (!mSyncService.isSyncRequested() && impressionLimitNotReached) {
+        if ((!mSyncService.isSyncRequested() || mSyncService.getChosenDataTypes().isEmpty())
+                && impressionLimitNotReached) {
             return SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE;
         }
         return SyncPromoState.NO_PROMO;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SyncPromoView.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SyncPromoView.java
index 87be5f59..5b190c4 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SyncPromoView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SyncPromoView.java
@@ -92,7 +92,8 @@
 
     private void update() {
         ViewState viewState;
-        if (!SyncService.get().isSyncRequested()) {
+        if (!SyncService.get().isSyncRequested()
+                || SyncService.get().getChosenDataTypes().isEmpty()) {
             viewState = getStateForEnableChromeSync();
         } else {
             viewState = getStateForStartUsing();