gecko-dev/mobile/android/base/GeckoApplication.java

52 lines
1.7 KiB
Java

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.gecko;
import android.app.Application;
import java.util.ArrayList;
public class GeckoApplication extends Application {
private boolean mInBackground;
@Override
public void onCreate() {
// workaround for http://code.google.com/p/android/issues/detail?id=20915
try {
Class.forName("android.os.AsyncTask");
} catch (ClassNotFoundException e) {}
super.onCreate();
GeckoConnectivityReceiver.getInstance().init(getApplicationContext());
GeckoBatteryManager.getInstance().init(getApplicationContext());
GeckoBatteryManager.getInstance().start();
GeckoNetworkManager.getInstance().init(getApplicationContext());
MemoryMonitor.getInstance().init(getApplicationContext());
}
protected void onActivityPause(GeckoActivity activity) {
mInBackground = true;
GeckoAppShell.sendEventToGecko(GeckoEvent.createPauseEvent(true));
GeckoConnectivityReceiver.getInstance().stop();
GeckoNetworkManager.getInstance().stop();
}
protected void onActivityResume(GeckoActivity activity) {
if (GeckoApp.checkLaunchState(GeckoApp.LaunchState.GeckoRunning))
GeckoAppShell.sendEventToGecko(GeckoEvent.createResumeEvent(true));
GeckoConnectivityReceiver.getInstance().start();
GeckoNetworkManager.getInstance().start();
mInBackground = false;
}
public boolean isApplicationInBackground() {
return mInBackground;
}
}