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) { |