Index: ui/android/java/src/org/chromium/ui/base/ActivityWindowAndroid.java |
diff --git a/ui/android/java/src/org/chromium/ui/base/ActivityWindowAndroid.java b/ui/android/java/src/org/chromium/ui/base/ActivityWindowAndroid.java |
index b32cd9b95a81e997d40cc3593ac3871d4a3f1cf8..20bb6370ce103854c3f162b42ee9b6e917f650a0 100644 |
--- a/ui/android/java/src/org/chromium/ui/base/ActivityWindowAndroid.java |
+++ b/ui/android/java/src/org/chromium/ui/base/ActivityWindowAndroid.java |
@@ -10,6 +10,9 @@ import android.content.ActivityNotFoundException; |
import android.content.Intent; |
import android.content.IntentSender.SendIntentException; |
+import org.chromium.base.ActivityState; |
+import org.chromium.base.ApplicationStatus; |
+ |
import java.lang.ref.WeakReference; |
/** |
@@ -17,7 +20,8 @@ import java.lang.ref.WeakReference; |
* Activity Instance. |
* Only instantiate this class when you need the implemented features. |
*/ |
-public class ActivityWindowAndroid extends WindowAndroid { |
+public class ActivityWindowAndroid |
+ extends WindowAndroid implements ApplicationStatus.ActivityStateListener { |
// Constants used for intent request code bounding. |
private static final int REQUEST_CODE_PREFIX = 1000; |
private static final int REQUEST_CODE_RANGE_SIZE = 100; |
@@ -29,6 +33,7 @@ public class ActivityWindowAndroid extends WindowAndroid { |
public ActivityWindowAndroid(Activity activity) { |
super(activity.getApplicationContext()); |
mActivityRef = new WeakReference<Activity>(activity); |
+ ApplicationStatus.registerStateListenerForActivity(this, activity); |
} |
@Override |
@@ -99,6 +104,14 @@ public class ActivityWindowAndroid extends WindowAndroid { |
return new WeakReference<Activity>(mActivityRef.get()); |
} |
+ @Override |
+ public void onActivityStateChange(Activity activity, int newState) { |
+ if (newState == ActivityState.PAUSED) |
+ onActivityPaused(); |
+ else if (newState == ActivityState.RESUMED) |
+ onActivityResumed(); |
+ } |
+ |
private int generateNextRequestCode() { |
int requestCode = REQUEST_CODE_PREFIX + mNextRequestCode; |
mNextRequestCode = (mNextRequestCode + 1) % REQUEST_CODE_RANGE_SIZE; |