summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java3
-rw-r--r--chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java3
-rw-r--r--chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java16
-rw-r--r--chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPromoScreen.java2
-rw-r--r--chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoScreen.java2
5 files changed, 19 insertions, 7 deletions
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
index 09e2bd4e..07b6472 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
@@ -208,7 +208,8 @@ public class ChromeApplication extends ContentApplication {
}
// For multiwindow mode we do not track keyboard visibility.
- return activity != null && MultiWindowUtils.getInstance().isMultiWindow(activity);
+ return activity != null
+ && MultiWindowUtils.getInstance().isLegacyMultiWindow(activity);
}
});
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java
index 6a22e52..db025c2 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java
@@ -129,7 +129,8 @@ public class CompositorView
mPreviousWindowTop = windowTop;
Activity activity = mWindowAndroid != null ? mWindowAndroid.getActivity().get() : null;
- boolean isMultiWindow = MultiWindowUtils.getInstance().isMultiWindow(activity);
+ boolean isMultiWindow = MultiWindowUtils.getInstance().isLegacyMultiWindow(activity)
+ || MultiWindowUtils.getInstance().isMultiWindow(activity);
// If the measured width is the same as the allowed width (i.e. the orientation has
// not changed) and multi-window mode is off, use the largest measured height seen thus
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
index abb5eb1..feb69ce 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
@@ -41,7 +41,7 @@ public class MultiWindowUtils {
/**
* @param activity The {@link Activity} to check.
- * @return Whether or not {@code activity} is currently in multi-window mode.
+ * @return Whether or not {@code activity} is currently in Android N+ multi-window mode.
*/
public boolean isMultiWindow(Activity activity) {
// This logic is overridden in a subclass.
@@ -50,12 +50,22 @@ public class MultiWindowUtils {
/**
* @param activity The {@link Activity} to check.
+ * @return Whether or not {@code activity} is currently in legacy pre-N multi-window mode
+ * (e.g. Samsung's multi-window mode).
+ */
+ public boolean isLegacyMultiWindow(Activity activity) {
+ // This logic is overridden in a subclass.
+ return false;
+ }
+
+ /**
+ * @param activity The {@link Activity} to check.
* @return Whether or not {@code activity} should run in multi-instance mode.
*/
public boolean shouldRunInMultiInstanceMode(ChromeLauncherActivity activity) {
return Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP
&& TextUtils.equals(activity.getIntent().getAction(), Intent.ACTION_MAIN)
- && isMultiWindow(activity)
+ && isLegacyMultiWindow(activity)
&& activity.isChromeBrowserActivityRunning();
}
@@ -64,7 +74,7 @@ public class MultiWindowUtils {
*/
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public void makeMultiInstanceIntent(Activity activity, Intent intent) {
- if (activity instanceof ChromeLauncherActivity && isMultiWindow(activity)) {
+ if (activity instanceof ChromeLauncherActivity && isLegacyMultiWindow(activity)) {
if (TextUtils.equals(ChromeTabbedActivity.class.getName(),
intent.getComponent().getClassName())) {
intent.setClassName(activity, MultiInstanceChromeTabbedActivity.class.getName());
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPromoScreen.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPromoScreen.java
index b2e7241..d833820 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPromoScreen.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPromoScreen.java
@@ -52,7 +52,7 @@ public class DataReductionPromoScreen extends Dialog implements View.OnClickList
if (getDisplayedDataReductionPromo(parentActivity)) return;
// Showing the promo dialog in multiwindow mode is broken on Galaxy Note devices:
// http://crbug.com/354696. If we're in multiwindow mode, save the dialog for later.
- if (MultiWindowUtils.getInstance().isMultiWindow(parentActivity)) return;
+ if (MultiWindowUtils.getInstance().isLegacyMultiWindow(parentActivity)) return;
DataReductionPromoScreen promoScreen = new DataReductionPromoScreen(parentActivity);
promoScreen.setOnDismissListener(promoScreen);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoScreen.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoScreen.java
index 8fff265..3cccd6c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoScreen.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoScreen.java
@@ -48,7 +48,7 @@ public class SigninPromoScreen
// navigate to and view a URL on startup), the instance is part of the field trial,
// and the promo has been marked to display.
ChromePreferenceManager preferenceManager = ChromePreferenceManager.getInstance(activity);
- if (MultiWindowUtils.getInstance().isMultiWindow(activity)) return false;
+ if (MultiWindowUtils.getInstance().isLegacyMultiWindow(activity)) return false;
if (!preferenceManager.getShowSigninPromo()) return false;
preferenceManager.setShowSigninPromo(false);