mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 01:05:45 +00:00
Bug 1540573 - P1. Observe ProcessLifecycle events in GeckoRuntime. r=snorp
This is esawin's patch from Bug 1544076; D28083. Differential Revision: https://phabricator.services.mozilla.com/D28941 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
4eeb57f7c1
commit
524b2509b6
@ -6,6 +6,11 @@
|
||||
|
||||
package org.mozilla.geckoview;
|
||||
|
||||
import android.arch.lifecycle.ProcessLifecycleOwner;
|
||||
import android.arch.lifecycle.Lifecycle;
|
||||
import android.arch.lifecycle.LifecycleObserver;
|
||||
import android.arch.lifecycle.OnLifecycleEvent;
|
||||
|
||||
import android.app.ActivityManager;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
@ -93,6 +98,31 @@ public final class GeckoRuntime implements Parcelable {
|
||||
*/
|
||||
public static final String EXTRA_CRASH_FATAL = "fatal";
|
||||
|
||||
private final class LifecycleListener implements LifecycleObserver {
|
||||
public LifecycleListener() {
|
||||
}
|
||||
|
||||
@OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
|
||||
void onCreate() {
|
||||
Log.d(LOGTAG, "Lifecycle: onCreate");
|
||||
}
|
||||
|
||||
@OnLifecycleEvent(Lifecycle.Event.ON_START)
|
||||
void onStart() {
|
||||
Log.d(LOGTAG, "Lifecycle: onStart");
|
||||
}
|
||||
|
||||
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
|
||||
void onResume() {
|
||||
Log.d(LOGTAG, "Lifecycle: onResume");
|
||||
}
|
||||
|
||||
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
|
||||
void onPause() {
|
||||
Log.d(LOGTAG, "Lifecycle: onPause");
|
||||
}
|
||||
}
|
||||
|
||||
private static GeckoRuntime sDefaultRuntime;
|
||||
|
||||
/**
|
||||
@ -266,6 +296,9 @@ public final class GeckoRuntime implements Parcelable {
|
||||
|
||||
// Initialize the system ClipboardManager by accessing it on the main thread.
|
||||
GeckoAppShell.getApplicationContext().getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
|
||||
// Add process lifecycle listener to react to backgrounding events.
|
||||
ProcessLifecycleOwner.get().getLifecycle().addObserver(new LifecycleListener());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user