diff options
author | jbudorick <jbudorick@chromium.org> | 2014-09-02 12:31:46 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-02 19:44:37 +0000 |
commit | d2787a392a65c1172ad64e9a13e77e023d9b8d31 (patch) | |
tree | c4b7adbe04f6009db72138d713d1c79afe190f73 /sync/test | |
parent | a55ae06b3a59bc1b9b97ef432adff20073b884a5 (diff) | |
download | chromium_src-d2787a392a65c1172ad64e9a13e77e023d9b8d31.zip chromium_src-d2787a392a65c1172ad64e9a13e77e023d9b8d31.tar.gz chromium_src-d2787a392a65c1172ad64e9a13e77e023d9b8d31.tar.bz2 |
[Android] Check whether MockGrantCredentialsPermissionsActivity can be started.
BUG=406596
Review URL: https://codereview.chromium.org/467363004
Cr-Commit-Position: refs/heads/master@{#292975}
Diffstat (limited to 'sync/test')
-rw-r--r-- | sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java b/sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java index 89410cf..baf36cd 100644 --- a/sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java +++ b/sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java @@ -17,6 +17,8 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.ActivityInfo; +import android.content.pm.PackageManager; import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; @@ -349,9 +351,26 @@ public class MockAccountManager implements AccountManagerDelegate { private Intent newGrantCredentialsPermissionIntent(boolean hasActivity, Account account, String authTokenType) { + ComponentName component = new ComponentName(mTestContext, + MockGrantCredentialsPermissionActivity.class.getCanonicalName()); + + // Make sure we can start the activity. + ActivityInfo ai = null; + try { + ai = mContext.getPackageManager().getActivityInfo(component, 0); + } catch (PackageManager.NameNotFoundException e) { + throw new IllegalStateException( + "Unable to find " + component.getClassName()); + } + if (ai.applicationInfo != mContext.getApplicationInfo() && !ai.exported) { + throw new IllegalStateException( + "Unable to start " + ai.name + ". " + + "The accounts you added to MockAccountManager may not be " + + "configured correctly."); + } + Intent intent = new Intent(); - intent.setComponent(new ComponentName(mTestContext, - MockGrantCredentialsPermissionActivity.class.getCanonicalName())); + intent.setComponent(component); intent.putExtra(MockGrantCredentialsPermissionActivity.ACCOUNT, account); intent.putExtra(MockGrantCredentialsPermissionActivity.AUTH_TOKEN_TYPE, authTokenType); if (!hasActivity) { |