diff options
author | Gilles Debunne <debunne@google.com> | 2011-07-06 13:10:16 -0700 |
---|---|---|
committer | Gilles Debunne <debunne@google.com> | 2011-07-07 08:45:46 -0700 |
commit | ab189bd9a6bb023e0574e52a129f86c2b12b4d93 (patch) | |
tree | 83994a32e4384070e55dbeed0185a2756fbab979 /src/com/android/settings/accounts | |
parent | fc1cccd74f3e1220206fdd06394c9089c1b68d1c (diff) | |
download | packages_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.java | 28 |
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); } |