summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/AccountPreference.java
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2012-06-06 20:23:08 -0700
committerAmith Yamasani <yamasani@google.com>2012-06-06 20:55:40 -0700
commit86708a8a6da3d2da4547750ce67a89744a2878a1 (patch)
tree119df8c219af6692a73b134717cb4bd32cb4dc0f /src/com/android/settings/AccountPreference.java
parent6a5e0252ce383654e304ffd0bca09ced0cadc0a3 (diff)
downloadpackages_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.java34
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;