michael@0: package org.mozilla.gecko.tests; michael@0: michael@0: import org.json.JSONException; michael@0: import org.json.JSONObject; michael@0: michael@0: import android.app.Activity; michael@0: import android.content.BroadcastReceiver; michael@0: import android.content.Context; michael@0: import android.content.Intent; michael@0: import android.content.IntentFilter; michael@0: michael@0: michael@0: public class testOrderedBroadcast extends JavascriptTest { michael@0: protected BroadcastReceiver mReceiver; michael@0: michael@0: public testOrderedBroadcast() { michael@0: super("testOrderedBroadcast.js"); michael@0: } michael@0: michael@0: @Override michael@0: public void setUp() throws Exception { michael@0: super.setUp(); michael@0: michael@0: mAsserter.dumpLog("Registering org.mozilla.gecko.test.receiver broadcast receiver"); michael@0: michael@0: IntentFilter filter = new IntentFilter(); michael@0: filter.addAction("org.mozilla.gecko.test.receiver"); michael@0: michael@0: mReceiver = new BroadcastReceiver() { michael@0: @Override michael@0: public void onReceive(Context context, Intent intent) { michael@0: try { michael@0: JSONObject o = new JSONObject(); michael@0: o.put("c", "efg"); michael@0: o.put("d", 456); michael@0: // Feed the received token back to the sender. michael@0: o.put("token", intent.getStringExtra("token")); michael@0: String data = o.toString(); michael@0: michael@0: setResultCode(Activity.RESULT_OK); michael@0: setResultData(data); michael@0: } catch (JSONException e) { michael@0: setResultCode(Activity.RESULT_CANCELED); michael@0: setResultData(null); michael@0: } michael@0: } michael@0: }; michael@0: michael@0: // We must register the receiver in a Fennec context to avoid a michael@0: // SecurityException. michael@0: getActivity().getApplicationContext().registerReceiver(mReceiver, filter); michael@0: } michael@0: michael@0: @Override michael@0: public void tearDown() throws Exception { michael@0: super.tearDown(); michael@0: michael@0: mAsserter.dumpLog("Unregistering org.mozilla.gecko.test.receiver broadcast receiver"); michael@0: michael@0: if (mReceiver != null) { michael@0: getActivity().getApplicationContext().unregisterReceiver(mReceiver); michael@0: mReceiver = null; michael@0: } michael@0: } michael@0: }