summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/accounts
diff options
context:
space:
mode:
authorGilles Debunne <debunne@google.com>2011-07-06 13:10:16 -0700
committerGilles Debunne <debunne@google.com>2011-07-07 08:45:46 -0700
commitab189bd9a6bb023e0574e52a129f86c2b12b4d93 (patch)
tree83994a32e4384070e55dbeed0185a2756fbab979 /src/com/android/settings/accounts
parentfc1cccd74f3e1220206fdd06394c9089c1b68d1c (diff)
downloadpackages_apps_settings-ab189bd9a6bb023e0574e52a129f86c2b12b4d93.zip
packages_apps_settings-ab189bd9a6bb023e0574e52a129f86c2b12b4d93.tar.gz
packages_apps_settings-ab189bd9a6bb023e0574e52a129f86c2b12b4d93.tar.bz2
Fixed intents to start Settings activities
All tested, on tablet and on phone. Change-Id: I8ab206b9db61c7c3800fe9bff175e87baf97ed7c
Diffstat (limited to 'src/com/android/settings/accounts')
-rw-r--r--src/com/android/settings/accounts/AccountSyncSettings.java28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java
index 9ef0481..547b0e1 100644
--- a/src/com/android/settings/accounts/AccountSyncSettings.java
+++ b/src/com/android/settings/accounts/AccountSyncSettings.java
@@ -16,10 +16,6 @@
package com.android.settings.accounts;
-import com.android.settings.R;
-import com.google.android.collect.Lists;
-import com.google.android.collect.Maps;
-
import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.AccountManagerCallback;
@@ -53,6 +49,10 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
+import com.android.settings.R;
+import com.google.android.collect.Lists;
+import com.google.android.collect.Maps;
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
@@ -175,7 +175,13 @@ public class AccountSyncSettings extends AccountPreferenceBase {
mDateFormat = DateFormat.getDateFormat(activity);
mTimeFormat = DateFormat.getTimeFormat(activity);
- mAccount = (Account) getArguments().getParcelable(ACCOUNT_KEY);
+ Bundle arguments = getArguments();
+ if (arguments == null) {
+ Log.e(TAG, "No arguments provided when starting intent. ACCOUNT_KEY needed.");
+ return;
+ }
+
+ mAccount = (Account) arguments.getParcelable(ACCOUNT_KEY);
if (mAccount != null) {
if (Log.isLoggable(TAG, Log.VERBOSE)) Log.v(TAG, "Got account: " + mAccount);
mUserId.setText(mAccount.name);
@@ -486,11 +492,13 @@ public class AccountSyncSettings extends AccountPreferenceBase {
protected void onAuthDescriptionsUpdated() {
super.onAuthDescriptionsUpdated();
getPreferenceScreen().removeAll();
- mProviderIcon.setImageDrawable(getDrawableForType(mAccount.type));
- mProviderId.setText(getLabelForType(mAccount.type));
- PreferenceScreen prefs = addPreferencesForType(mAccount.type);
- if (prefs != null) {
- updatePreferenceIntents(prefs);
+ if (mAccount != null) {
+ mProviderIcon.setImageDrawable(getDrawableForType(mAccount.type));
+ mProviderId.setText(getLabelForType(mAccount.type));
+ PreferenceScreen prefs = addPreferencesForType(mAccount.type);
+ if (prefs != null) {
+ updatePreferenceIntents(prefs);
+ }
}
addPreferencesFromResource(R.xml.account_sync_settings);
}