[Android] Yahoo phase 2 (#28494)

* Add changes to change DSE to yahoo

* Add pref for DSE change migration

* Update yahoo jp keyword

Remove log

* Update conditions for the phase 2 check
This commit is contained in:
Deep Pandya
2025-04-07 21:07:18 -04:00
committed by GitHub
parent 1807f0c750
commit bcb8a0a129
6 changed files with 49 additions and 6 deletions
@@ -96,6 +96,9 @@ public final class BravePreferenceKeys {
public static final String DEFAULT_SEARCH_ENGINE_CHANGED = "default_search_engine_changed";
public static final String BRAVE_DEFAULT_SEARCH_ENGINE_MIGRATED_JP =
"brave_default_search_engine_migrated_jp";
/*
* Checks if preference key is used in Brave.
* It's no op currently. We might reconsider
@@ -21,6 +21,7 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.profiles.ProfileManager;
import org.chromium.chrome.browser.util.BraveConstants;
import java.util.ArrayList;
import java.util.Arrays;
@@ -30,7 +31,6 @@ public class BraveRewardsOnboardingPagerAdapter extends PagerAdapter {
private static final String TAG = "RewardsOnboarding";
private boolean shouldShowMoreOptions;
private TextView adsPerHourText;
private static final String JAPAN_COUNTRY_CODE = "JP";
private String countryCode = BraveRewardsNativeWorker.getInstance().getCountryCode();
private List<Integer> adsPerHourValues = Arrays.asList(0, 1, 2, 3, 4, 5, 10);
@@ -90,7 +90,7 @@ public class BraveRewardsOnboardingPagerAdapter extends PagerAdapter {
List<String> headers = new ArrayList();
headers.add(context.getResources().getString(R.string.welcome_to_brave_rewards));
headers.add(context.getResources().getString(R.string.where_do_ads_show_up));
if (!countryCode.equals(JAPAN_COUNTRY_CODE)) {
if (!countryCode.equals(BraveConstants.JAPAN_COUNTRY_CODE)) {
headers.add(context.getResources().getString(R.string.giving_back_made_effortless));
}
headers.add(context.getResources().getString(R.string.say_thank_you_with_tips));
@@ -103,7 +103,7 @@ public class BraveRewardsOnboardingPagerAdapter extends PagerAdapter {
List<String> texts = new ArrayList();
texts.add(context.getResources().getString(R.string.welcome_to_brave_rewards_text));
texts.add(context.getResources().getString(R.string.where_do_ads_show_up_text));
if (!countryCode.equals(JAPAN_COUNTRY_CODE)) {
if (!countryCode.equals(BraveConstants.JAPAN_COUNTRY_CODE)) {
texts.add(context.getResources().getString(R.string.giving_back_made_effortless_text));
}
texts.add(context.getResources().getString(R.string.say_thank_you_with_tips_text));
@@ -116,7 +116,7 @@ public class BraveRewardsOnboardingPagerAdapter extends PagerAdapter {
List<Integer> images = new ArrayList();
images.add(R.drawable.ic_onboarding_graphic_bat_ecosystem);
images.add(R.drawable.ic_onboarding_graphic_android_brave_ads);
if (!countryCode.equals(JAPAN_COUNTRY_CODE)) {
if (!countryCode.equals(BraveConstants.JAPAN_COUNTRY_CODE)) {
images.add(R.drawable.ic_onboarding_graphic_auto_contribute);
}
images.add(R.drawable.ic_onboarding_graphic_tipping);
@@ -218,6 +218,7 @@ import org.chromium.components.prefs.PrefChangeRegistrar;
import org.chromium.components.prefs.PrefChangeRegistrar.PrefObserver;
import org.chromium.components.safe_browsing.BraveSafeBrowsingApiHandler;
import org.chromium.components.search_engines.TemplateUrl;
import org.chromium.components.search_engines.TemplateUrlService;
import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.WebContents;
@@ -1022,6 +1023,8 @@ public abstract class BraveActivity extends ChromeActivity
boolean isFirstInstall = PackageUtils.isFirstInstall(this);
String countryCode = Locale.getDefault().getCountry();
BraveVpnNativeWorker.getInstance().reloadPurchasedState();
BraveHelper.maybeMigrateSettings();
@@ -1080,6 +1083,15 @@ public abstract class BraveActivity extends ChromeActivity
setBraveAsDefaultPrivateMode();
}
if (!isFirstInstall
&& countryCode.equals(BraveConstants.JAPAN_COUNTRY_CODE)
&& !ChromeSharedPreferences.getInstance()
.readBoolean(
BravePreferenceKeys.BRAVE_DEFAULT_SEARCH_ENGINE_MIGRATED_JP,
false)) {
applyChangesForYahooJp();
}
BraveSetDefaultBrowserUtils.checkForBraveSetDefaultBrowser(
appOpenCount, BraveActivity.this);
@@ -1181,7 +1193,6 @@ public abstract class BraveActivity extends ChromeActivity
mNativeInitialized = true;
String countryCode = Locale.getDefault().getCountry();
if (countryCode.equals(BraveConstants.INDIA_COUNTRY_CODE)
&& ChromeSharedPreferences.getInstance()
.readBoolean(BravePreferenceKeys.BRAVE_AD_FREE_CALLOUT_DIALOG, true)
@@ -1308,6 +1319,31 @@ public abstract class BraveActivity extends ChromeActivity
ContextUtils.getAppSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}
private void applyChangesForYahooJp() {
boolean isDefaultSearchEngineChanged =
ChromeSharedPreferences.getInstance()
.readBoolean(BravePreferenceKeys.DEFAULT_SEARCH_ENGINE_CHANGED, false);
TemplateUrlService templateUrlService =
TemplateUrlServiceFactory.getForProfile(getCurrentProfile());
Runnable onTemplateUrlServiceReady =
() -> {
if (isActivityFinishingOrDestroyed()) return;
TemplateUrl yahooJpTemplateUrl =
BraveSearchEngineUtils.getTemplateUrlByShortName(
getCurrentProfile(), OnboardingPrefManager.YAHOO_JP);
if (yahooJpTemplateUrl != null
&& !isDefaultSearchEngineChanged
&& templateUrlService.isDefaultSearchEngineGoogle()) {
BraveSearchEngineUtils.setDSEPrefs(yahooJpTemplateUrl, getCurrentProfile());
ChromeSharedPreferences.getInstance()
.writeBoolean(
BravePreferenceKeys.BRAVE_DEFAULT_SEARCH_ENGINE_MIGRATED_JP,
true);
}
};
templateUrlService.runWhenLoaded(onTemplateUrlServiceReady);
}
private void setBraveAsDefaultPrivateMode() {
Runnable onTemplateUrlServiceReady =
() -> {
@@ -67,6 +67,7 @@ public class OnboardingPrefManager {
public static final String BRAVE = "Brave";
public static final String YANDEX = "Yandex";
public static final String YAHOO_JP = "Yahoo! JAPAN";
private OnboardingPrefManager() {
mSharedPreferences = ContextUtils.getAppSharedPreferences();
@@ -28,6 +28,7 @@ import org.chromium.chrome.browser.app.BraveActivity;
import org.chromium.chrome.browser.brave_stats.BraveStatsUtil;
import org.chromium.chrome.browser.notifications.retention.RetentionNotificationUtil;
import org.chromium.chrome.browser.onboarding.OnboardingPrefManager;
import org.chromium.chrome.browser.util.BraveConstants;
import java.util.Arrays;
import java.util.List;
@@ -203,7 +204,8 @@ public class HighlightDialogFragment extends DialogFragment {
private void checkAndOpenNtpPage() {
String countryCode = Locale.getDefault().getCountry();
if (((BraveActivity) getActivity()) != null && countryCode.equals("JP")) {
if (((BraveActivity) getActivity()) != null
&& countryCode.equals(BraveConstants.JAPAN_COUNTRY_CODE)) {
((BraveActivity) getActivity()).openNewOrSelectExistingTab(NTP_TUTORIAL_PAGE);
}
}
@@ -27,6 +27,7 @@ public final class BraveConstants {
"https://brave.com/privacy/browser/#brave-news";
public static final String INDIA_COUNTRY_CODE = "IN";
public static final String JAPAN_COUNTRY_CODE = "JP";
public static final String BRAVE_NEWS_PREFERENCES_TYPE = "BraveNewsPreferencesType";