summaryrefslogtreecommitdiffstats
path: root/sync
diff options
context:
space:
mode:
authorjbudorick <jbudorick@chromium.org>2014-09-02 12:31:46 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-02 19:44:37 +0000
commitd2787a392a65c1172ad64e9a13e77e023d9b8d31 (patch)
treec4b7adbe04f6009db72138d713d1c79afe190f73 /sync
parenta55ae06b3a59bc1b9b97ef432adff20073b884a5 (diff)
downloadchromium_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')
-rw-r--r--sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java23
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) {