diff options
author | Amith Yamasani <yamasani@google.com> | 2012-06-06 20:23:08 -0700 |
---|---|---|
committer | Amith Yamasani <yamasani@google.com> | 2012-06-06 20:55:40 -0700 |
commit | 86708a8a6da3d2da4547750ce67a89744a2878a1 (patch) | |
tree | 119df8c219af6692a73b134717cb4bd32cb4dc0f /src/com/android/settings/AccountPreference.java | |
parent | 6a5e0252ce383654e304ffd0bca09ced0cadc0a3 (diff) | |
download | packages_apps_Settings-86708a8a6da3d2da4547750ce67a89744a2878a1.zip packages_apps_Settings-86708a8a6da3d2da4547750ce67a89744a2878a1.tar.gz packages_apps_Settings-86708a8a6da3d2da4547750ce67a89744a2878a1.tar.bz2 |
Add back a SYNC_SETTINGS screen
Revive the old Accounts&Sync screen as a dialog with the auto-sync
checkbox and a list of accounts. This will be launched when Apps
request a SYNC_SETTINGS page for controlling account and master sync.
Auto-sync data checkbox will also continue to exist in Data Usage.
Minor fixes to account list and account update monitoring.
Bug: 6614013
Bug: 6622995
Bug: 6610247
Change-Id: I35c0919a29c6bc7e5edf64f2734a3ef4f5ae5e7a
Diffstat (limited to 'src/com/android/settings/AccountPreference.java')
-rw-r--r-- | src/com/android/settings/AccountPreference.java | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/src/com/android/settings/AccountPreference.java b/src/com/android/settings/AccountPreference.java index e7919dd..2cc013c 100644 --- a/src/com/android/settings/AccountPreference.java +++ b/src/com/android/settings/AccountPreference.java @@ -39,16 +39,24 @@ public class AccountPreference extends Preference { private int mStatus; private Account mAccount; private ArrayList<String> mAuthorities; + private ImageView mSyncStatusIcon; + private boolean mShowTypeIcon; public AccountPreference(Context context, Account account, Drawable icon, - ArrayList<String> authorities) { + ArrayList<String> authorities, boolean showTypeIcon) { super(context); mAccount = account; mAuthorities = authorities; + mShowTypeIcon = showTypeIcon; + if (showTypeIcon) { + setIcon(icon); + } else { + setIcon(getSyncStatusIcon(SYNC_DISABLED)); + } setTitle(mAccount.name); setSummary(""); setPersistent(false); - setSyncStatus(SYNC_DISABLED); + setSyncStatus(SYNC_DISABLED, false); } public Account getAccount() { @@ -62,16 +70,22 @@ public class AccountPreference extends Preference { @Override protected void onBindView(View view) { super.onBindView(view); - setSummary(getSyncStatusMessage(mStatus)); - ImageView iconView = (ImageView) view.findViewById(android.R.id.icon); - iconView.setImageResource(getSyncStatusIcon(mStatus)); - iconView.setContentDescription(getSyncContentDescription(mStatus)); + if (!mShowTypeIcon) { + mSyncStatusIcon = (ImageView) view.findViewById(android.R.id.icon); + mSyncStatusIcon.setImageResource(getSyncStatusIcon(mStatus)); + mSyncStatusIcon.setContentDescription(getSyncContentDescription(mStatus)); + } } - public void setSyncStatus(int status) { + public void setSyncStatus(int status, boolean updateSummary) { mStatus = status; - setIcon(getSyncStatusIcon(status)); - setSummary(getSyncStatusMessage(status)); + if (!mShowTypeIcon && mSyncStatusIcon != null) { + mSyncStatusIcon.setImageResource(getSyncStatusIcon(status)); + mSyncStatusIcon.setContentDescription(getSyncContentDescription(mStatus)); + } + if (updateSummary) { + setSummary(getSyncStatusMessage(status)); + } } private int getSyncStatusMessage(int status) { @@ -109,7 +123,7 @@ public class AccountPreference extends Preference { res = R.drawable.ic_sync_red_holo; break; case SYNC_IN_PROGRESS: - res = R.drawable.ic_sync_grey_holo; + res = R.drawable.ic_sync_green_holo; break; default: res = R.drawable.ic_sync_red_holo; |