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 @@ ...@@ -56,8 +56,10 @@
android:title="@string/sync_settings" android:title="@string/sync_settings"
android:persistent="false"/> android:persistent="false"/>
<org.chromium.chrome.browser.sync.settings.SyncOffPreference <org.chromium.components.browser_ui.settings.ChromeBasePreference
android:key="turn_off_sync" android:key="turn_off_sync"
android:title="@string/turn_off_sync"
android:icon="@drawable/ic_signout_40dp"
app:isPreferenceVisible="false"/> app:isPreferenceVisible="false"/>
<PreferenceCategory <PreferenceCategory
......
...@@ -146,10 +146,10 @@ public class ManageSyncSettings extends PreferenceFragmentCompat ...@@ -146,10 +146,10 @@ public class ManageSyncSettings extends PreferenceFragmentCompat
private CheckBoxPreference mSyncPasswords; private CheckBoxPreference mSyncPasswords;
private CheckBoxPreference mSyncRecentTabs; private CheckBoxPreference mSyncRecentTabs;
private CheckBoxPreference mSyncSettings; private CheckBoxPreference mSyncSettings;
private SyncOffPreference mTurnOffSync;
// Contains preferences for all sync data types. // Contains preferences for all sync data types.
private CheckBoxPreference[] mSyncTypePreferences; private CheckBoxPreference[] mSyncTypePreferences;
private Preference mTurnOffSync;
private Preference mGoogleActivityControls; private Preference mGoogleActivityControls;
private Preference mSyncEncryption; private Preference mSyncEncryption;
private Preference mManageSyncData; private Preference mManageSyncData;
...@@ -198,7 +198,9 @@ public class ManageSyncSettings extends PreferenceFragmentCompat ...@@ -198,7 +198,9 @@ public class ManageSyncSettings extends PreferenceFragmentCompat
mSyncRecentTabs = (CheckBoxPreference) findPreference(PREF_SYNC_RECENT_TABS); mSyncRecentTabs = (CheckBoxPreference) findPreference(PREF_SYNC_RECENT_TABS);
mSyncSettings = (CheckBoxPreference) findPreference(PREF_SYNC_SETTINGS); 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) if (ChromeFeatureList.isEnabled(ChromeFeatureList.MOBILE_IDENTITY_CONSISTENCY)
&& !mIsFromSigninScreen) { && !mIsFromSigninScreen) {
...@@ -326,27 +328,6 @@ public class ManageSyncSettings extends PreferenceFragmentCompat ...@@ -326,27 +328,6 @@ public class ManageSyncSettings extends PreferenceFragmentCompat
return true; 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. * ProfileSyncService.SyncStateChangedListener implementation, listens to sync state changes.
* *
...@@ -572,6 +553,21 @@ public class ManageSyncSettings extends PreferenceFragmentCompat ...@@ -572,6 +553,21 @@ public class ManageSyncSettings extends PreferenceFragmentCompat
RecordUserAction.record("Signin_AccountSettings_GoogleActivityControlsClicked"); 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() { private void onSyncEncryptionClicked() {
if (!mProfileSyncService.isEngineInitialized()) return; 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