diff options
-rw-r--r-- | src/com/android/settings/MasterClear.java | 11 | ||||
-rw-r--r-- | src/com/android/settings/accounts/AuthenticatorHelper.java | 3 | ||||
-rw-r--r-- | src/com/android/settings/accounts/ChooseAccountActivity.java | 11 |
3 files changed, 16 insertions, 9 deletions
diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java index 23f6812..6ab36c1 100644 --- a/src/com/android/settings/MasterClear.java +++ b/src/com/android/settings/MasterClear.java @@ -234,15 +234,18 @@ public class MasterClear extends InstrumentedFragment { authContext.getDrawable(desc.iconId), userHandle); } } catch (PackageManager.NameNotFoundException e) { - Log.w(TAG, "No icon for account type " + desc.type); + Log.w(TAG, "Bad package name for account type " + desc.type); + } catch (Resources.NotFoundException e) { + Log.w(TAG, "Invalid icon id for account type " + desc.type, e); + } + if (icon == null) { + icon = context.getPackageManager().getDefaultActivityIcon(); } TextView child = (TextView)inflater.inflate(R.layout.master_clear_account, contents, false); child.setText(account.name); - if (icon != null) { - child.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null); - } + child.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null); contents.addView(child); } } diff --git a/src/com/android/settings/accounts/AuthenticatorHelper.java b/src/com/android/settings/accounts/AuthenticatorHelper.java index 86e0da5..56a689c 100644 --- a/src/com/android/settings/accounts/AuthenticatorHelper.java +++ b/src/com/android/settings/accounts/AuthenticatorHelper.java @@ -96,7 +96,8 @@ final public class AuthenticatorHelper extends BroadcastReceiver { /** * Gets an icon associated with a particular account type. If none found, return null. * @param accountType the type of account - * @return a drawable for the icon or null if one cannot be found. + * @return a drawable for the icon or a default icon returned by + * {@link PackageManager#getDefaultActivityIcon} if one cannot be found. */ public Drawable getDrawableForType(Context context, final String accountType) { Drawable icon = null; diff --git a/src/com/android/settings/accounts/ChooseAccountActivity.java b/src/com/android/settings/accounts/ChooseAccountActivity.java index c4dace8..12077af 100644 --- a/src/com/android/settings/accounts/ChooseAccountActivity.java +++ b/src/com/android/settings/accounts/ChooseAccountActivity.java @@ -214,7 +214,8 @@ public class ChooseAccountActivity extends InstrumentedPreferenceActivity { /** * Gets an icon associated with a particular account type. If none found, return null. * @param accountType the type of account - * @return a drawable for the icon or null if one cannot be found. + * @return a drawable for the icon or a default icon returned by + * {@link PackageManager#getDefaultActivityIcon} if one cannot be found. */ protected Drawable getDrawableForType(final String accountType) { Drawable icon = null; @@ -225,14 +226,16 @@ public class ChooseAccountActivity extends InstrumentedPreferenceActivity { icon = getPackageManager().getUserBadgedIcon( authContext.getDrawable(desc.iconId), mUserHandle); } catch (PackageManager.NameNotFoundException e) { - // TODO: place holder icon for missing account icons? Log.w(TAG, "No icon name for account type " + accountType); } catch (Resources.NotFoundException e) { - // TODO: place holder icon for missing account icons? Log.w(TAG, "No icon resource for account type " + accountType); } } - return icon; + if (icon != null) { + return icon; + } else { + return getPackageManager().getDefaultActivityIcon(); + } } /** |