summaryrefslogtreecommitdiffstats
path: root/sync
diff options
context:
space:
mode:
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) {