mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 04:45:45 +00:00
Bug 995803 - fix crash in java.lang.IllegalStateException: Already registered Webapps. r=mfinkle
This commit is contained in:
parent
4fe4d33b74
commit
d05119d3c9
@ -213,6 +213,7 @@ public abstract class GeckoApp
|
||||
private int mSignalStrenth;
|
||||
private PhoneStateListener mPhoneStateListener = null;
|
||||
private boolean mShouldReportGeoData;
|
||||
private EventListener mWebappEventListener;
|
||||
|
||||
abstract public int getLayout();
|
||||
abstract public boolean hasTabsSideBar();
|
||||
@ -1547,7 +1548,11 @@ public abstract class GeckoApp
|
||||
"Update:Download",
|
||||
"Update:Install");
|
||||
|
||||
EventListener.registerEvents();
|
||||
if (mWebappEventListener == null) {
|
||||
mWebappEventListener = new EventListener();
|
||||
mWebappEventListener.registerEvents();
|
||||
}
|
||||
|
||||
|
||||
if (SmsManager.getInstance() != null) {
|
||||
SmsManager.getInstance().start();
|
||||
@ -2081,7 +2086,10 @@ public abstract class GeckoApp
|
||||
"Update:Download",
|
||||
"Update:Install");
|
||||
|
||||
EventListener.unregisterEvents();
|
||||
if (mWebappEventListener != null) {
|
||||
mWebappEventListener.unregisterEvents();
|
||||
mWebappEventListener = null;
|
||||
}
|
||||
|
||||
deleteTempFiles();
|
||||
|
||||
|
@ -42,20 +42,8 @@ public class EventListener implements GeckoEventListener {
|
||||
|
||||
private static final String LOGTAG = "GeckoWebappEventListener";
|
||||
|
||||
private EventListener() { }
|
||||
|
||||
private static EventListener mEventListener;
|
||||
|
||||
private static EventListener getEventListener() {
|
||||
if (mEventListener == null) {
|
||||
mEventListener = new EventListener();
|
||||
}
|
||||
return mEventListener;
|
||||
}
|
||||
|
||||
public static void registerEvents() {
|
||||
EventDispatcher.getInstance().registerGeckoThreadListener(
|
||||
EventListener.getEventListener(),
|
||||
public void registerEvents() {
|
||||
EventDispatcher.getInstance().registerGeckoThreadListener(this,
|
||||
"Webapps:Preinstall",
|
||||
"Webapps:InstallApk",
|
||||
"Webapps:Postinstall",
|
||||
@ -64,9 +52,8 @@ public class EventListener implements GeckoEventListener {
|
||||
"Webapps:GetApkVersions");
|
||||
}
|
||||
|
||||
public static void unregisterEvents() {
|
||||
EventDispatcher.getInstance().unregisterGeckoThreadListener(
|
||||
EventListener.getEventListener(),
|
||||
public void unregisterEvents() {
|
||||
EventDispatcher.getInstance().unregisterGeckoThreadListener(this,
|
||||
"Webapps:Preinstall",
|
||||
"Webapps:InstallApk",
|
||||
"Webapps:Postinstall",
|
||||
|
Loading…
Reference in New Issue
Block a user