Bug 1021443 - java.lang.IllegalStateException: Already registered Webapps:Postinstall under a different type. r=jchen

This commit is contained in:
Richard Newman 2014-06-05 19:38:01 -07:00
Родитель 7d7d32966e
Коммит 53941e1e18
2 изменённых файлов: 9 добавлений и 6 удалений

Просмотреть файл

@ -19,7 +19,9 @@ import org.mozilla.gecko.GeckoAppShell;
import org.mozilla.gecko.GeckoEvent;
import org.mozilla.gecko.GeckoProfile;
import org.mozilla.gecko.gfx.BitmapUtils;
import org.mozilla.gecko.util.GeckoEventListener;
import org.mozilla.gecko.util.EventCallback;
import org.mozilla.gecko.util.NativeEventListener;
import org.mozilla.gecko.util.NativeJSObject;
import org.mozilla.gecko.util.ThreadUtils;
import android.content.Context;
@ -27,7 +29,7 @@ import android.graphics.Bitmap;
import android.net.Uri;
import android.util.Log;
public class InstallHelper implements GeckoEventListener {
public class InstallHelper implements NativeEventListener {
private static final String LOGTAG = "GeckoWebappInstallHelper";
private static final String[] INSTALL_EVENT_NAMES = new String[] {"Webapps:Postinstall"};
private final Context mContext;
@ -36,7 +38,7 @@ public class InstallHelper implements GeckoEventListener {
public static interface InstallCallback {
// on the GeckoThread
void installCompleted(InstallHelper installHelper, String event, JSONObject message);
void installCompleted(InstallHelper installHelper, String event, NativeJSObject message);
// on the GeckoBackgroundThread
void installErrored(InstallHelper installHelper, Exception exception);
@ -162,7 +164,7 @@ public class InstallHelper implements GeckoEventListener {
}
@Override
public void handleMessage(String event, JSONObject message) {
public void handleMessage(String event, NativeJSObject message, EventCallback callback) {
EventDispatcher.getInstance().unregisterGeckoThreadListener(this, INSTALL_EVENT_NAMES);
if (mCallback != null) {

Просмотреть файл

@ -18,6 +18,7 @@ import org.mozilla.gecko.GeckoThread;
import org.mozilla.gecko.R;
import org.mozilla.gecko.Tab;
import org.mozilla.gecko.Tabs;
import org.mozilla.gecko.util.NativeJSObject;
import org.mozilla.gecko.webapp.InstallHelper.InstallCallback;
import android.content.Intent;
@ -325,13 +326,13 @@ public class WebappImpl extends GeckoApp implements InstallCallback {
}
@Override
public void installCompleted(InstallHelper installHelper, String event, JSONObject message) {
public void installCompleted(InstallHelper installHelper, String event, NativeJSObject message) {
if (event == null) {
return;
}
if (event.equals("Webapps:Postinstall")) {
String origin = message.optString("origin");
String origin = message.optString("origin", null);
launchWebapp(origin);
}
}