[cr149][WIP][Android] Sync code in removed from ManageSyncSettings
Chromium changes: https://chromium.googlesource.com/chromium/src/+/008e21eee2ca1b4d967a68367121423f6e411e2b commit 008e21eee2ca1b4d967a68367121423f6e411e2b Author: Victor Hugo Vianna Silva <victorvianna@google.com> Date: Mon Apr 20 04:59:40 2026 -0700 [sync/android] Remove sync-the-feature code in ManageSyncSettings kForceMigrateSyncingUserToSignedIn was enabled by default on Android in M148. OBSOLETE_HISTOGRAMS=The sync error card was removed, along with its histograms. Bug: 40066949 Change-Id: I8317957d3ad7cdeecaac415a11a2974af90d65d4 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7772912 Reviewed-by: Ankush Singh <ankushkush@google.com> Reviewed-by: Marc Treib <treib@chromium.org> Commit-Queue: Victor Vianna <victorvianna@google.com> Auto-Submit: Victor Vianna <victorvianna@google.com> Cr-Commit-Position: refs/heads/main@{#1617409}
This commit is contained in:
@@ -41,7 +41,6 @@ public class BraveLicensePreferences extends BravePreferenceFragment {
|
||||
assert R.string.chrome_additional_terms_of_service_title > 0
|
||||
: "Something has changed in the upstream!";
|
||||
assert R.string.google_privacy_policy_url > 0 : "Something has changed in the upstream!";
|
||||
assert R.string.sync_reading_list > 0 : "Something has changed in the upstream!";
|
||||
|
||||
SettingsUtils.addPreferencesFromResource(this, R.xml.brave_license_preferences);
|
||||
mPageTitle.set(getString(R.string.brave_license_text));
|
||||
|
||||
@@ -241,7 +241,6 @@ public abstract class BraveMainPreferencesBase extends BravePreferenceFragment
|
||||
removePreferenceIfPresent(PREF_PRIVACY);
|
||||
removePreferenceIfPresent(PREF_BRAVE_VPN_CALLOUT);
|
||||
removePreferenceIfPresent(MainSettings.PREF_SETTINGS_PROMO_CARD);
|
||||
removePreferenceIfPresent(MainSettings.PREF_MANAGE_SYNC);
|
||||
|
||||
if (!ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_PLAYLIST)) {
|
||||
removePreferenceIfPresent(PREF_BRAVE_PLAYLIST);
|
||||
@@ -710,7 +709,6 @@ public abstract class BraveMainPreferencesBase extends BravePreferenceFragment
|
||||
indexData.removeEntry(getUniqueId(MainSettings.PREF_DOWNLOADS));
|
||||
indexData.removeEntry(getUniqueId(MainSettings.PREF_SAFETY_HUB));
|
||||
indexData.removeEntry(getUniqueId(MainSettings.PREF_SETTINGS_PROMO_CARD));
|
||||
indexData.removeEntry(getUniqueId(MainSettings.PREF_MANAGE_SYNC));
|
||||
indexData.removeEntry(
|
||||
getUniqueId(MainSettings.PREF_ACCOUNT_AND_GOOGLE_SERVICES_SECTION));
|
||||
indexData.removeEntry(getUniqueId(MainSettings.PREF_GOOGLE_SERVICES));
|
||||
|
||||
@@ -1211,7 +1211,7 @@ public class BraveSyncScreensPreference extends BravePreferenceFragment
|
||||
if (isSyncStateChangedObserverPaused()) {
|
||||
return;
|
||||
}
|
||||
if (!SyncServiceFactory.getForProfile(getProfile()).isInitialSyncFeatureSetupComplete()) {
|
||||
if (!getBraveSyncWorker().isInitialSyncFeatureSetupComplete()) {
|
||||
if (mLeaveSyncChainInProgress) {
|
||||
leaveSyncChainComplete();
|
||||
} else {
|
||||
|
||||
+51
-51
@@ -20,6 +20,9 @@ import androidx.preference.Preference;
|
||||
import org.chromium.base.CommandLine;
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.base.Log;
|
||||
import org.chromium.base.supplier.MonotonicObservableSupplier;
|
||||
import org.chromium.base.supplier.ObservableSuppliers;
|
||||
import org.chromium.base.supplier.SettableMonotonicObservableSupplier;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.password_manager.settings.ReauthenticationManager;
|
||||
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
||||
@@ -33,13 +36,10 @@ import java.util.TimerTask;
|
||||
public class BraveManageSyncSettings extends ManageSyncSettings {
|
||||
private static final String TAG = "BMSS";
|
||||
|
||||
private static final String PREF_ADVANCED_CATEGORY = "advanced_category";
|
||||
|
||||
private Preference mGoogleActivityControls;
|
||||
private Preference mSyncEncryption;
|
||||
|
||||
private ChromeSwitchPreference mPrefSyncPasswords;
|
||||
private ChromeSwitchPreference mSyncEverything;
|
||||
|
||||
private BravePasswordAccessReauthenticationHelper mReauthenticationHelper;
|
||||
|
||||
@@ -49,6 +49,17 @@ public class BraveManageSyncSettings extends ManageSyncSettings {
|
||||
private static final String VERBOSE_SYNC_PASSWORDS_PREF_COMMAND_LINE_KEY =
|
||||
"verbose_sync_passwords_pref";
|
||||
|
||||
// Mirrors ManageSyncSettings.PREF_CENTRAL_ACCOUNT_CARD_PREFERENCE (private there)
|
||||
private static final String PREF_CENTRAL_ACCOUNT_CARD_PREFERENCE = "central_account_card";
|
||||
|
||||
// Keys not exposed as public constants in ManageSyncSettings
|
||||
private static final String PREF_ACCOUNT_SECTION_HEADER = "account_section_header";
|
||||
private static final String PREF_ACCOUNT_SECTION_FOOTER = "account_section_footer";
|
||||
private static final String PREF_ACCOUNT_ADVANCED_HEADER = "account_advanced_header";
|
||||
|
||||
private final SettableMonotonicObservableSupplier<String> mBravePageTitle =
|
||||
ObservableSuppliers.createMonotonic();
|
||||
|
||||
// Android Runtime for Chrome
|
||||
public static final String ARC_FEATURE = "org.chromium.arc";
|
||||
public static final String ARC_DEVICE_MANAGEMENT_FEATURE = "org.chromium.arc.device_management";
|
||||
@@ -61,61 +72,57 @@ public class BraveManageSyncSettings extends ManageSyncSettings {
|
||||
Log.i(TAG, message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MonotonicObservableSupplier<String> getPageTitle() {
|
||||
return mBravePageTitle;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
@Override
|
||||
public void onCreatePreferences(@Nullable Bundle savedInstanceState, String rootKey) {
|
||||
super.onCreatePreferences(savedInstanceState, rootKey);
|
||||
|
||||
mBravePageTitle.set(getString(R.string.sync_category_title));
|
||||
|
||||
if (CommandLine.getInstance().hasSwitch(VERBOSE_SYNC_PASSWORDS_PREF_COMMAND_LINE_KEY)) {
|
||||
mVerboseSyncPasswordsPref = true;
|
||||
}
|
||||
|
||||
Preference reviewSyncData = findPreference(PREF_SYNC_REVIEW_DATA);
|
||||
assert reviewSyncData != null : "Something has changed in the upstream!";
|
||||
if (reviewSyncData != null) {
|
||||
getPreferenceScreen().removePreference(reviewSyncData);
|
||||
}
|
||||
|
||||
Preference turnOffSync = findPreference(PREF_TURN_OFF_SYNC);
|
||||
assert turnOffSync != null : "Something has changed in the upstream!";
|
||||
if (turnOffSync != null) {
|
||||
getPreferenceScreen().removePreference(turnOffSync);
|
||||
}
|
||||
|
||||
Preference syncReadingList = findPreference(PREF_SYNC_READING_LIST);
|
||||
assert syncReadingList != null : "Something has changed in the upstream!";
|
||||
if (syncReadingList != null) {
|
||||
syncReadingList.setVisible(false);
|
||||
}
|
||||
|
||||
Preference syncAutofill = findPreference(PREF_SYNC_AUTOFILL);
|
||||
assert syncAutofill != null : "Something has changed in the upstream!";
|
||||
if (syncAutofill != null) {
|
||||
syncAutofill.setTitle(R.string.brave_sync_autofill);
|
||||
}
|
||||
|
||||
assert mSyncEverything != null : "Something has changed in the upstream!";
|
||||
|
||||
getPreferenceScreen().removePreference(mGoogleActivityControls);
|
||||
getPreferenceScreen().removePreference(mSyncEncryption);
|
||||
|
||||
findPreference(PREF_ADVANCED_CATEGORY).setVisible(false);
|
||||
// Remove Google-specific preferences not needed for Brave Sync
|
||||
removePreferenceByKey(PREF_CENTRAL_ACCOUNT_CARD_PREFERENCE);
|
||||
removePreferenceByKey(PREF_ACCOUNT_DATA_DASHBOARD);
|
||||
removePreferenceByKey(PREF_SIGN_OUT);
|
||||
removePreferenceByKey(PREF_MANAGE_YOUR_GOOGLE_ACCOUNT);
|
||||
removePreferenceByKey(PREF_ACCOUNT_ANDROID_DEVICE_ACCOUNTS);
|
||||
removePreferenceByKey(PREF_BATCH_UPLOAD_CARD_PREFERENCE);
|
||||
removePreferenceByKey(PREF_IDENTITY_ERROR_CARD_PREFERENCE);
|
||||
removePreferenceByKey(PREF_ACCOUNT_SECTION_HEADER);
|
||||
removePreferenceByKey(PREF_ACCOUNT_SECTION_FOOTER);
|
||||
removePreferenceByKey(PREF_ACCOUNT_ADVANCED_HEADER);
|
||||
Preference prefReadingList = findPreference(PREF_ACCOUNT_SECTION_READING_LIST_TOGGLE);
|
||||
if (prefReadingList != null) prefReadingList.setVisible(false);
|
||||
|
||||
Preference syncPaymentsIntegration = findPreference(PREF_SYNC_PAYMENTS_INTEGRATION);
|
||||
assert syncPaymentsIntegration != null : "Something has changed in the upstream!";
|
||||
if (syncPaymentsIntegration != null) {
|
||||
syncPaymentsIntegration.setVisible(false);
|
||||
Preference prefPayments = findPreference(PREF_ACCOUNT_SECTION_PAYMENTS_TOGGLE);
|
||||
if (prefPayments != null) prefPayments.setVisible(false);
|
||||
|
||||
Preference prefAutofill = findPreference(PREF_ACCOUNT_SECTION_ADDRESSES_TOGGLE);
|
||||
if (prefAutofill != null) prefAutofill.setTitle(R.string.brave_sync_autofill);
|
||||
|
||||
mPrefSyncPasswords =
|
||||
(ChromeSwitchPreference) findPreference(PREF_ACCOUNT_SECTION_PASSWORDS_TOGGLE);
|
||||
if (!isRunningOnChromeOS() && mPrefSyncPasswords != null) {
|
||||
overrideWithAuthConfirmation(mPrefSyncPasswords);
|
||||
}
|
||||
updateSyncPasswordsSummary();
|
||||
}
|
||||
|
||||
mPrefSyncPasswords = findPreference(PREF_SYNC_PASSWORDS);
|
||||
assert mPrefSyncPasswords != null : "Something has changed in the upstream!";
|
||||
|
||||
// We cannot require Android screenlock if browser runs at ChromeOS
|
||||
// Google App Runtime emulator, because it is managed by ChromeOS and
|
||||
// not by the Android subsystem
|
||||
if (!isRunningOnChromeOS()) {
|
||||
overrideWithAuthConfirmationSyncPasswords();
|
||||
overrideWithAuthConfirmationSyncEverything();
|
||||
private void removePreferenceByKey(String key) {
|
||||
Preference pref = findPreference(key);
|
||||
if (pref != null) {
|
||||
getPreferenceScreen().removePreference(pref);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,14 +148,6 @@ public class BraveManageSyncSettings extends ManageSyncSettings {
|
||||
.show();
|
||||
}
|
||||
|
||||
private void overrideWithAuthConfirmationSyncPasswords() {
|
||||
overrideWithAuthConfirmation(mPrefSyncPasswords);
|
||||
}
|
||||
|
||||
private void overrideWithAuthConfirmationSyncEverything() {
|
||||
overrideWithAuthConfirmation(mSyncEverything);
|
||||
}
|
||||
|
||||
private void overrideWithAuthConfirmation(ChromeSwitchPreference control) {
|
||||
Preference.OnPreferenceChangeListener origSyncListner =
|
||||
control.getOnPreferenceChangeListener();
|
||||
@@ -263,6 +262,7 @@ public class BraveManageSyncSettings extends ManageSyncSettings {
|
||||
}
|
||||
|
||||
private void updateSyncPasswordsSummary() {
|
||||
if (mPrefSyncPasswords == null) return;
|
||||
if (ReauthenticationManager.isScreenLockSetUp(ContextUtils.getApplicationContext())) {
|
||||
verboseIfEnabled("updateSyncPasswordsSummary: screen lock is set up");
|
||||
if (ReauthenticationManager.authenticationStillValid(
|
||||
|
||||
@@ -1,115 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) 2020 The Brave Authors. All rights reserved.
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
You can obtain one at https://mozilla.org/MPL/2.0/. -->
|
||||
|
||||
<PreferenceScreen
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<org.chromium.chrome.browser.sync.settings.SyncErrorCardPreference
|
||||
android:key="sync_error_card"
|
||||
app:isPreferenceVisible="false"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||
android:key="sync_everything"
|
||||
android:title="@string/sync_everything_pref"
|
||||
android:persistent="false"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.brave_tricks.checkbox_to_switch.ChromeBaseCheckBoxPreference
|
||||
android:key="sync_autofill"
|
||||
android:title="@string/sync_autofill"
|
||||
android:persistent="false"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.brave_tricks.checkbox_to_switch.ChromeBaseCheckBoxPreference
|
||||
android:key="sync_bookmarks"
|
||||
android:title="@string/sync_bookmarks"
|
||||
android:persistent="false"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.brave_tricks.checkbox_to_switch.ChromeBaseCheckBoxPreference
|
||||
android:key="sync_extensions"
|
||||
android:title="@string/sync_extensions"
|
||||
android:persistent="false"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.brave_tricks.checkbox_to_switch.ChromeBaseCheckBoxPreference
|
||||
android:key="sync_payments_integration"
|
||||
android:title="@string/sync_payments_integration"
|
||||
android:persistent="false"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.brave_tricks.checkbox_to_switch.ChromeBaseCheckBoxPreference
|
||||
android:key="sync_history"
|
||||
android:title="@string/sync_history"
|
||||
android:persistent="false"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.brave_tricks.checkbox_to_switch.ChromeBaseCheckBoxPreference
|
||||
android:key="sync_passwords"
|
||||
android:title="@string/sync_passwords"
|
||||
android:persistent="false"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.brave_tricks.checkbox_to_switch.ChromeBaseCheckBoxPreference
|
||||
android:key="sync_reading_list"
|
||||
android:title="@string/sync_reading_list"
|
||||
android:persistent="false"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.brave_tricks.checkbox_to_switch.ChromeBaseCheckBoxPreference
|
||||
android:key="sync_recent_tabs"
|
||||
android:title="@string/sync_recent_tabs"
|
||||
android:persistent="false"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.brave_tricks.checkbox_to_switch.ChromeBaseCheckBoxPreference
|
||||
android:key="sync_settings"
|
||||
android:title="@string/sync_settings"
|
||||
android:persistent="false"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.brave_tricks.checkbox_to_switch.ChromeBaseCheckBoxPreference
|
||||
android:key="sync_apps"
|
||||
android:title="@string/sync_apps"
|
||||
android:persistent="false"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.ChromeBasePreference
|
||||
android:key="turn_off_sync"
|
||||
android:title="@string/sign_out_and_turn_off_sync"
|
||||
android:icon="@drawable/ic_signout_40dp"
|
||||
app:isPreferenceVisible="false"/>
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="advanced_category"
|
||||
android:title="@string/prefs_section_advanced"
|
||||
app:isPreferenceVisible="false"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.ChromeBasePreference
|
||||
android:key="google_activity_controls"
|
||||
android:title="@string/sign_in_personalize_google_services_title"
|
||||
android:summary="@string/sign_in_personalize_google_services_summary"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.ChromeBasePreference
|
||||
android:key="encryption"
|
||||
android:title="@string/sync_encryption"/>
|
||||
|
||||
<org.chromium.components.browser_ui.settings.ChromeBasePreference
|
||||
android:key="sync_review_data"
|
||||
android:title="@string/sync_review_data"/>
|
||||
|
||||
<!--
|
||||
This is a stub preference to avoid
|
||||
java.lang.NullPointerException: Attempt to invoke virtual method
|
||||
'void org.chromium.components.browser_ui.settings.ChromeSwitchPreference.setChecked(boolean)'
|
||||
on a null object reference
|
||||
at ManageSyncSettings.setupUrlKeyedAnonymizedDataPreference(ManageSyncSettings.java:633)
|
||||
at ManageSyncSettings.setupSyncSettings(ManageSyncSettings.java:542)
|
||||
at ManageSyncSettings.onCreatePreferences(ManageSyncSettings.java:250)
|
||||
at BraveManageSyncSettings.onCreatePreferences(BraveManageSyncSettings.java:67)
|
||||
-->
|
||||
<PreferenceCategory
|
||||
android:key="search_and_browse_category"
|
||||
android:title="search_and_browse_category"
|
||||
app:isPreferenceVisible="false">
|
||||
|
||||
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||
android:key="url_keyed_anonymized_data"
|
||||
android:title="url_keyed_anonymized_data_title"
|
||||
android:summary="url_keyed_anonymized_data_summary"/>
|
||||
</PreferenceCategory>
|
||||
|
||||
</PreferenceScreen>
|
||||
@@ -2371,11 +2371,6 @@ public class BytecodeTest {
|
||||
"org/chromium/chrome/browser/sync/settings/ManageSyncSettings",
|
||||
"mSyncEncryption"));
|
||||
|
||||
Assert.assertTrue(
|
||||
fieldExists(
|
||||
"org/chromium/chrome/browser/sync/settings/ManageSyncSettings",
|
||||
"mSyncEverything"));
|
||||
|
||||
Assert.assertTrue(
|
||||
fieldExists(
|
||||
"org/chromium/chrome/browser/toolbar/bottom/BottomControlsCoordinator",
|
||||
|
||||
+6
-15
@@ -50,20 +50,18 @@ public class BraveManageSyncSettingsTest {
|
||||
@Test
|
||||
@SmallTest
|
||||
@Feature({"Sync"})
|
||||
public void syncEverythingOrPasswordsHandlerIsOriginalOnChromeOS() {
|
||||
syncEverythingOrPasswordsOverridden(true, false);
|
||||
public void syncPasswordsHandlerIsOriginalOnChromeOS() {
|
||||
syncPasswordsOverridden(true, false);
|
||||
}
|
||||
|
||||
@Test
|
||||
@SmallTest
|
||||
@Feature({"Sync"})
|
||||
public void syncEverythingOrPasswordsHandlerOverriddenOnNonChromeOS() {
|
||||
syncEverythingOrPasswordsOverridden(false, true);
|
||||
public void syncPasswordsHandlerOverriddenOnNonChromeOS() {
|
||||
syncPasswordsOverridden(false, true);
|
||||
}
|
||||
|
||||
void syncEverythingOrPasswordsOverridden(
|
||||
Boolean isChromeOS, Boolean handlerShouldBeOverridden) {
|
||||
|
||||
void syncPasswordsOverridden(Boolean isChromeOS, Boolean handlerShouldBeOverridden) {
|
||||
setupMockSyncService();
|
||||
|
||||
// The next line triggers presubmit warning
|
||||
@@ -85,21 +83,14 @@ public class BraveManageSyncSettingsTest {
|
||||
BraveManageSyncSettings fragment = startManageSyncPreferences();
|
||||
|
||||
ChromeSwitchPreference prefSyncPasswords =
|
||||
fragment.findPreference(ManageSyncSettings.PREF_SYNC_PASSWORDS);
|
||||
ChromeSwitchPreference syncEverything =
|
||||
fragment.findPreference(ManageSyncSettings.PREF_SYNC_EVERYTHING);
|
||||
fragment.findPreference(ManageSyncSettings.PREF_ACCOUNT_SECTION_PASSWORDS_TOGGLE);
|
||||
|
||||
Preference.OnPreferenceChangeListener origSyncPasswordsListner =
|
||||
prefSyncPasswords.getOnPreferenceChangeListener();
|
||||
Preference.OnPreferenceChangeListener origSyncEverythingListner =
|
||||
syncEverything.getOnPreferenceChangeListener();
|
||||
|
||||
Assert.assertEquals(
|
||||
handlerShouldBeOverridden,
|
||||
origSyncPasswordsListner != (Preference.OnPreferenceChangeListener) fragment);
|
||||
Assert.assertEquals(
|
||||
handlerShouldBeOverridden,
|
||||
origSyncEverythingListner != (Preference.OnPreferenceChangeListener) fragment);
|
||||
}
|
||||
|
||||
private BraveManageSyncSettings startManageSyncPreferences() {
|
||||
|
||||
@@ -3949,6 +3949,9 @@ If you don't accept this request, VPN will not reconnect and your internet conne
|
||||
<message name="IDS_SAVE_CHANGES_ACTION_TEXT" desc="Save changes action text">
|
||||
Save changes
|
||||
</message>
|
||||
<message name="IDS_SYNC_CATEGORY_TITLE" desc="Title for the Brave Sync settings page.">
|
||||
Sync
|
||||
</message>
|
||||
</messages>
|
||||
</release>
|
||||
</grit>
|
||||
|
||||
-3
@@ -24,8 +24,5 @@ public class BraveManageSyncSettingsClassAdapter extends BraveClassVisitor {
|
||||
|
||||
deleteField(sBraveManageSyncSettingsClassName, "mSyncEncryption");
|
||||
makeProtectedField(sManageSyncSettingsClassName, "mSyncEncryption");
|
||||
|
||||
deleteField(sBraveManageSyncSettingsClassName, "mSyncEverything");
|
||||
makeProtectedField(sManageSyncSettingsClassName, "mSyncEverything");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user