Bug 742216: Disable sensors on application pause. [r=mfinkle]

This commit is contained in:
Sriram Ramasubramanian 2012-04-04 17:29:30 -07:00
parent f2560a00d6
commit 6047b2d822

View File

@ -1589,8 +1589,6 @@ abstract public class GeckoApp
mGeckoLayout = (RelativeLayout) findViewById(R.id.gecko_layout); mGeckoLayout = (RelativeLayout) findViewById(R.id.gecko_layout);
mMainLayout = (LinearLayout) findViewById(R.id.main_layout); mMainLayout = (LinearLayout) findViewById(R.id.main_layout);
mConnectivityReceiver = new GeckoConnectivityReceiver();
((GeckoApplication) getApplication()).addApplicationLifecycleCallbacks(this); ((GeckoApplication) getApplication()).addApplicationLifecycleCallbacks(this);
} }
@ -1742,7 +1740,13 @@ abstract public class GeckoApp
SmsManager.getInstance().start(); SmsManager.getInstance().start();
} }
mConnectivityReceiver = new GeckoConnectivityReceiver();
mConnectivityReceiver.registerFor(mAppContext);
GeckoNetworkManager.getInstance().init(); GeckoNetworkManager.getInstance().init();
GeckoNetworkManager.getInstance().start();
GeckoScreenOrientationListener.getInstance().start();
final GeckoApp self = this; final GeckoApp self = this;
@ -1988,10 +1992,6 @@ abstract public class GeckoApp
// onPause will be followed by either onResume or onStop. // onPause will be followed by either onResume or onStop.
super.onPause(); super.onPause();
mConnectivityReceiver.unregisterFor(mAppContext);
GeckoNetworkManager.getInstance().stop();
GeckoScreenOrientationListener.getInstance().stop();
} }
@Override @Override
@ -2020,14 +2020,6 @@ abstract public class GeckoApp
mOrientation = newOrientation; mOrientation = newOrientation;
refreshActionBar(); refreshActionBar();
} }
mMainHandler.post(new Runnable() {
public void run() {
mConnectivityReceiver.registerFor(mAppContext);
GeckoNetworkManager.getInstance().start();
GeckoScreenOrientationListener.getInstance().start();
}
});
} }
@Override @Override
@ -2156,6 +2148,10 @@ abstract public class GeckoApp
public void onApplicationPause() { public void onApplicationPause() {
Log.i(LOGTAG, "application paused"); Log.i(LOGTAG, "application paused");
GeckoAppShell.sendEventToGecko(GeckoEvent.createPauseEvent(true)); GeckoAppShell.sendEventToGecko(GeckoEvent.createPauseEvent(true));
mConnectivityReceiver.unregisterFor(mAppContext);
GeckoNetworkManager.getInstance().stop();
GeckoScreenOrientationListener.getInstance().stop();
} }
@Override @Override
@ -2163,6 +2159,10 @@ abstract public class GeckoApp
Log.i(LOGTAG, "application resumed"); Log.i(LOGTAG, "application resumed");
if (checkLaunchState(LaunchState.GeckoRunning)) if (checkLaunchState(LaunchState.GeckoRunning))
GeckoAppShell.sendEventToGecko(GeckoEvent.createResumeEvent(true)); GeckoAppShell.sendEventToGecko(GeckoEvent.createResumeEvent(true));
mConnectivityReceiver.registerFor(mAppContext);
GeckoNetworkManager.getInstance().start();
GeckoScreenOrientationListener.getInstance().start();
} }
abstract public String getPackageName(); abstract public String getPackageName();