| Index: chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java
|
| index 61d3ac583512d4bb2d436521bd6cc21a0ef5a0ff..e227acb7fcb009dfe81296c06f75491645f841d2 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ActivityDelegate.java
|
| @@ -5,6 +5,7 @@
|
| package org.chromium.chrome.browser.tabmodel.document;
|
|
|
| import android.annotation.TargetApi;
|
| +import android.app.Activity;
|
| import android.app.ActivityManager;
|
| import android.content.Context;
|
| import android.content.Intent;
|
| @@ -28,17 +29,27 @@ import java.util.List;
|
| */
|
| @TargetApi(Build.VERSION_CODES.LOLLIPOP)
|
| public class ActivityDelegate {
|
| - private final String mRegularActivityName;
|
| - private final String mIncognitoActivityName;
|
| + private final Class<?> mRegularClass;
|
| + private final Class<?> mIncognitoClass;
|
|
|
| /**
|
| * Creates a ActivityDelegate.
|
| - * @param regularName Name of the regular DocumentActivity.
|
| - * @param incognitoName Name of the Incognito DocumentActivity.
|
| + * @param regularClass Class of the regular DocumentActivity.
|
| + * @param incognitoClass Class of the Incognito DocumentActivity.
|
| */
|
| - public ActivityDelegate(String regularName, String incognitoName) {
|
| - mRegularActivityName = regularName;
|
| - mIncognitoActivityName = incognitoName;
|
| + public ActivityDelegate(Class<?> regularClass, Class<?> incognitoClass) {
|
| + mRegularClass = regularClass;
|
| + mIncognitoClass = incognitoClass;
|
| + }
|
| +
|
| + /**
|
| + * Returns whether an Activity is a DocumentActivity. Assumes the Incognito Activity inherits
|
| + * from the regular Activity.
|
| + * @param activity Activity to check.
|
| + * @return Whether the Activity is a DocumentActivity.
|
| + */
|
| + public boolean isDocumentActivity(Activity activity) {
|
| + return mRegularClass.isInstance(activity);
|
| }
|
|
|
| /**
|
| @@ -49,7 +60,7 @@ public class ActivityDelegate {
|
| */
|
| public boolean isValidActivity(boolean isIncognito, Intent intent) {
|
| if (intent == null) return false;
|
| - String desiredClassName = isIncognito ? mIncognitoActivityName : mRegularActivityName;
|
| + String desiredClassName = isIncognito ? mIncognitoClass.getName() : mRegularClass.getName();
|
| String className = null;
|
| if (intent.getComponent() == null) {
|
| Context context = ApplicationStatus.getApplicationContext();
|
|
|