diff --git a/src/com/android/email/NotificationController.java b/src/com/android/email/NotificationController.java index 19efccf11..668d543fa 100644 --- a/src/com/android/email/NotificationController.java +++ b/src/com/android/email/NotificationController.java @@ -426,7 +426,7 @@ public class NotificationController { mContext.getString(R.string.login_failed_ticker, account.mDisplayName), mContext.getString(R.string.login_failed_title), account.getDisplayName(), - AccountSettings.createAccountSettingsIntent(accountId, + AccountSettings.createAccountSettingsIntent(mContext, accountId, account.mDisplayName, reason), getLoginFailedNotificationId(accountId)); } @@ -503,7 +503,8 @@ public class NotificationController { * account settings screen where he can view the list of enforced policies */ public void showSecurityChangedNotification(Account account) { - Intent intent = AccountSettings.createAccountSettingsIntent(account.mId, null, null); + Intent intent = + AccountSettings.createAccountSettingsIntent(mContext, account.mId, null, null); String accountName = account.getDisplayName(); String ticker = mContext.getString(R.string.security_changed_ticker_fmt, accountName); @@ -517,7 +518,8 @@ public class NotificationController { * account settings screen where he can view the list of unsupported policies */ public void showSecurityUnsupportedNotification(Account account) { - Intent intent = AccountSettings.createAccountSettingsIntent(account.mId, null, null); + Intent intent = + AccountSettings.createAccountSettingsIntent(mContext, account.mId, null, null); String accountName = account.getDisplayName(); String ticker = mContext.getString(R.string.security_unsupported_ticker_fmt, accountName); diff --git a/src/com/android/email/activity/setup/AccountSettings.java b/src/com/android/email/activity/setup/AccountSettings.java index 9d0c3d838..f9424a38e 100644 --- a/src/com/android/email/activity/setup/AccountSettings.java +++ b/src/com/android/email/activity/setup/AccountSettings.java @@ -141,12 +141,13 @@ public class AccountSettings extends PreferenceActivity implements * for any/all accounts. If an account name string is provided, a warning dialog will be * displayed as well. */ - public static Intent createAccountSettingsIntent(long accountId, - String loginWarningAccountName, String loginWarningReason) { + public static Intent createAccountSettingsIntent(final Context context, final long accountId, + final String loginWarningAccountName, final String loginWarningReason) { final Uri.Builder b = IntentUtilities.createActivityIntentUrlBuilder( IntentUtilities.PATH_SETTINGS); IntentUtilities.setAccountId(b, accountId); final Intent i = new Intent(Intent.ACTION_EDIT, b.build()); + i.setPackage(context.getPackageName()); if (loginWarningAccountName != null) { i.putExtra(EXTRA_LOGIN_WARNING_FOR_ACCOUNT, loginWarningAccountName); } diff --git a/src/com/android/mail/providers/EmailAccountCacheProvider.java b/src/com/android/mail/providers/EmailAccountCacheProvider.java index 41a1d2e51..fafe267e8 100644 --- a/src/com/android/mail/providers/EmailAccountCacheProvider.java +++ b/src/com/android/mail/providers/EmailAccountCacheProvider.java @@ -43,6 +43,7 @@ public class EmailAccountCacheProvider extends MailAppProvider { @Override protected Intent getNoAccountsIntent(Context context) { Intent intent = new Intent(); + intent.setPackage(context.getPackageName()); intent.setAction(Intent.ACTION_EDIT); intent.setData(Uri.parse("content://ui.email.android.com/settings")); intent.putExtra(AccountSettings.EXTRA_NO_ACCOUNTS, true); diff --git a/tests/src/com/android/email/activity/setup/AccountSettingsTests.java b/tests/src/com/android/email/activity/setup/AccountSettingsTests.java index b40514e05..91115237f 100644 --- a/tests/src/com/android/email/activity/setup/AccountSettingsTests.java +++ b/tests/src/com/android/email/activity/setup/AccountSettingsTests.java @@ -163,7 +163,7 @@ public class AccountSettingsTests extends ActivityInstrumentationTestCase2