Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2661)

Unified Diff: chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastShellActivity.java

Issue 864923003: Chromecast ATV: distinguish actual shutdown vs. lifecycle from sleep. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastShellActivity.java
diff --git a/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastShellActivity.java b/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastShellActivity.java
index 344d9c1c451a928dac79a926a19c7508bba57fa3..85c91ed2c43f7c87e85a4ada4e5921e08b327cee 100644
--- a/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastShellActivity.java
+++ b/chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastShellActivity.java
@@ -41,6 +41,7 @@ public class CastShellActivity extends Activity {
private CastWindowManager mCastWindowManager;
private AudioManager mAudioManager;
private BroadcastReceiver mBroadcastReceiver;
+ private boolean mHadFocusWhenPaused = true;
// Native window instance.
// TODO(byungchul, gunsch): CastShellActivity, CastWindowAndroid, and native CastWindowAndroid
@@ -56,6 +57,16 @@ public class CastShellActivity extends Activity {
return true;
}
+ /**
+ * Intended to be called from "onStop" to determine if this is a "legitimate" stop or not.
+ * When starting CastShellActivity from the TV in sleep mode, an extra onPause/onStop will be
+ * fired.
+ * Details: http://stackoverflow.com/questions/25369909/
+ */
+ protected boolean isStopping() {
+ return mHadFocusWhenPaused;
+ }
+
@Override
protected void onCreate(final Bundle savedInstanceState) {
if (DEBUG) Log.d(TAG, "onCreate");
@@ -153,10 +164,14 @@ public class CastShellActivity extends Activity {
@Override
protected void onStop() {
- if (DEBUG) Log.d(TAG, "onStop");
- // As soon as the cast app is no longer in the foreground, we ought to immediately tear
- // everything down.
- finishGracefully();
+ if (DEBUG) Log.d(TAG, "onStop, window focus = " + hasWindowFocus());
+
+ if (isStopping()) {
+ // As soon as the cast app is no longer in the foreground, we ought to immediately tear
+ // everything down.
+ finishGracefully();
+ }
+
super.onStop();
}
@@ -179,7 +194,8 @@ public class CastShellActivity extends Activity {
@Override
protected void onPause() {
- if (DEBUG) Log.d(TAG, "onPause");
+ if (DEBUG) Log.d(TAG, "onPause, window focus = " + hasWindowFocus());
+ mHadFocusWhenPaused = hasWindowFocus();
byungchul 2015/01/22 00:48:30 Is it true when screen goes off?
gunsch 2015/01/22 00:52:24 Yes. 01-21 16:50:45.348 I/PowerManagerService( 17
byungchul 2015/01/22 01:15:20 We should check if that is an intended behavior. A
gunsch 2015/01/22 01:26:26 Oh, I think I see what you're asking. When screen
// Release the audio focus. Note that releasing audio focus does not stop audio playback,
// it just notifies the framework that this activity has stopped playing audio.
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698