Commit 8d6e9fb2 authored by Tanmoy Mollik's avatar Tanmoy Mollik Committed by Commit Bot

[Android] Change 'Turn On Sync' preference UI in ManageSyncSettings

Add signout icon to the 'Turn On Sync' preference in ManageSyncSettings.
Also use a regular preference instead of SyncOffPreference so that
onClick animation is shown.
SyncOffPreference class will be removed in a different cl.

Screenshot: https://crbug.com/1131414#c4

Bug: 1131414
Change-Id: Ica45f3a97162189e142e9770b6f1545c0a9bb7e8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2438410Reviewed-by: default avatarTanmoy Mollik <triploblastic@chromium.org>
Reviewed-by: default avatarBoris Sazonov <bsazonov@chromium.org>
Commit-Queue: Tanmoy Mollik <triploblastic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#812031}
parent 07b86883
......@@ -56,8 +56,10 @@
android:title="@string/sync_settings"
android:persistent="false"/>
<org.chromium.chrome.browser.sync.settings.SyncOffPreference
<org.chromium.components.browser_ui.settings.ChromeBasePreference
android:key="turn_off_sync"
android:title="@string/turn_off_sync"
android:icon="@drawable/ic_signout_40dp"
app:isPreferenceVisible="false"/>
<PreferenceCategory
......
......@@ -146,10 +146,10 @@ public class ManageSyncSettings extends PreferenceFragmentCompat
private CheckBoxPreference mSyncPasswords;
private CheckBoxPreference mSyncRecentTabs;
private CheckBoxPreference mSyncSettings;
private SyncOffPreference mTurnOffSync;
// Contains preferences for all sync data types.
private CheckBoxPreference[] mSyncTypePreferences;
private Preference mTurnOffSync;
private Preference mGoogleActivityControls;
private Preference mSyncEncryption;
private Preference mManageSyncData;
......@@ -198,7 +198,9 @@ public class ManageSyncSettings extends PreferenceFragmentCompat
mSyncRecentTabs = (CheckBoxPreference) findPreference(PREF_SYNC_RECENT_TABS);
mSyncSettings = (CheckBoxPreference) findPreference(PREF_SYNC_SETTINGS);
mTurnOffSync = (SyncOffPreference) findPreference(PREF_TURN_OFF_SYNC);
mTurnOffSync = findPreference(PREF_TURN_OFF_SYNC);
mTurnOffSync.setOnPreferenceClickListener(
SyncSettingsUtils.toOnClickListener(this, this::onTurnOffSyncClicked));
if (ChromeFeatureList.isEnabled(ChromeFeatureList.MOBILE_IDENTITY_CONSISTENCY)
&& !mIsFromSigninScreen) {
......@@ -326,27 +328,6 @@ public class ManageSyncSettings extends PreferenceFragmentCompat
return true;
}
@Override
public void onDisplayPreferenceDialog(Preference preference) {
if (preference instanceof SyncOffPreference) {
if (!IdentityServicesProvider.get()
.getIdentityManager(Profile.getLastUsedRegularProfile())
.hasPrimaryAccount()) {
return;
}
SigninUtils.logEvent(ProfileAccountManagementMetrics.TOGGLE_SIGNOUT,
GAIAServiceType.GAIA_SERVICE_TYPE_NONE);
SignOutDialogFragment signOutFragment =
SignOutDialogFragment.create(GAIAServiceType.GAIA_SERVICE_TYPE_NONE);
signOutFragment.setTargetFragment(this, 0);
signOutFragment.show(getParentFragmentManager(), SIGN_OUT_DIALOG_TAG);
return;
}
super.onDisplayPreferenceDialog(preference);
}
/**
* ProfileSyncService.SyncStateChangedListener implementation, listens to sync state changes.
*
......@@ -572,6 +553,21 @@ public class ManageSyncSettings extends PreferenceFragmentCompat
RecordUserAction.record("Signin_AccountSettings_GoogleActivityControlsClicked");
}
private void onTurnOffSyncClicked() {
if (!IdentityServicesProvider.get()
.getIdentityManager(Profile.getLastUsedRegularProfile())
.hasPrimaryAccount()) {
return;
}
SigninUtils.logEvent(ProfileAccountManagementMetrics.TOGGLE_SIGNOUT,
GAIAServiceType.GAIA_SERVICE_TYPE_NONE);
SignOutDialogFragment signOutFragment =
SignOutDialogFragment.create(GAIAServiceType.GAIA_SERVICE_TYPE_NONE);
signOutFragment.setTargetFragment(this, 0);
signOutFragment.show(getParentFragmentManager(), SIGN_OUT_DIALOG_TAG);
}
private void onSyncEncryptionClicked() {
if (!mProfileSyncService.isEngineInitialized()) return;
......
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