| Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncPreference.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncPreference.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncPreference.java
|
| index 1f6eb1d610451ac4ff152d20b2e2bda95f05e1a0..22db3f129df1a64999805f100d76611eb47d0d01 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncPreference.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/SyncPreference.java
|
| @@ -6,9 +6,12 @@ package org.chromium.chrome.browser.preferences;
|
| import android.accounts.Account;
|
| import android.content.Context;
|
| import android.content.res.Resources;
|
| +import android.graphics.PorterDuff;
|
| +import android.graphics.drawable.Drawable;
|
| import android.preference.Preference;
|
| import android.util.AttributeSet;
|
|
|
| +import org.chromium.base.ApiCompatibilityUtils;
|
| import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.childaccounts.ChildAccountService;
|
| import org.chromium.chrome.browser.sync.GoogleServiceAuthError;
|
| @@ -23,14 +26,27 @@ import org.chromium.sync.signin.ChromeSigninController;
|
| public class SyncPreference extends Preference {
|
| public SyncPreference(Context context, AttributeSet attrs) {
|
| super(context, attrs);
|
| - updateSyncSummary();
|
| + updateSyncSummaryAndIcon();
|
| }
|
|
|
| /**
|
| - * Updates the summary for this preference to reflect the current state of syncing.
|
| + * Updates the summary and icon for this preference to reflect the current state of syncing.
|
| */
|
| - public void updateSyncSummary() {
|
| + public void updateSyncSummaryAndIcon() {
|
| setSummary(getSyncStatusSummary(getContext()));
|
| +
|
| + if (ProfileSyncService.get().getAuthError() == GoogleServiceAuthError.State.NONE) {
|
| + // Sets preference icon and tints it to blue.
|
| + Drawable icon = ApiCompatibilityUtils.getDrawable(
|
| + getContext().getResources(), R.drawable.permission_background_sync);
|
| + icon.setColorFilter(ApiCompatibilityUtils.getColor(
|
| + getContext().getResources(), R.color.light_active_color),
|
| + PorterDuff.Mode.SRC_IN);
|
| + setIcon(icon);
|
| + } else {
|
| + setIcon(ApiCompatibilityUtils.getDrawable(
|
| + getContext().getResources(), R.drawable.sync_error));
|
| + }
|
| }
|
|
|
| private static String getSyncStatusSummary(Context context) {
|
|
|