зеркало из https://github.com/mozilla/gecko-dev.git
Bug 995803 - fix crash in java.lang.IllegalStateException: Already registered Webapps. r=mfinkle
This commit is contained in:
Родитель
4fe4d33b74
Коммит
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",
|
||||
|
|
Загрузка…
Ссылка в новой задаче