From ab189bd9a6bb023e0574e52a129f86c2b12b4d93 Mon Sep 17 00:00:00 2001 From: Gilles Debunne Date: Wed, 6 Jul 2011 13:10:16 -0700 Subject: Fixed intents to start Settings activities All tested, on tablet and on phone. Change-Id: I8ab206b9db61c7c3800fe9bff175e87baf97ed7c --- src/com/android/settings/Settings.java | 3 +++ .../settings/accounts/AccountSyncSettings.java | 28 ++++++++++++++-------- 2 files changed, 21 insertions(+), 10 deletions(-) (limited to 'src/com') diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index 16531e3..b982606 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -567,4 +567,7 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler { public static class CryptKeeperSettingsActivity extends Settings { /* empty */ } public static class DeviceAdminSettingsActivity extends Settings { /* empty */ } public static class DataUsageSummaryActivity extends Settings { /* empty */ } + public static class AdvancedWifiSettingsActivity extends Settings { /* empty */ } + public static class AdvancedBluetoothSettingsActivity extends Settings { /* empty */ } + public static class TextToSpeechSettingsActivity extends Settings { /* empty */ } } 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); } -- cgit v1.1