mobile/android/base/tests/testOrderedBroadcast.java

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 package org.mozilla.gecko.tests;
     3 import org.json.JSONException;
     4 import org.json.JSONObject;
     6 import android.app.Activity;
     7 import android.content.BroadcastReceiver;
     8 import android.content.Context;
     9 import android.content.Intent;
    10 import android.content.IntentFilter;
    13 public class testOrderedBroadcast extends JavascriptTest {
    14     protected BroadcastReceiver mReceiver;
    16     public testOrderedBroadcast() {
    17         super("testOrderedBroadcast.js");
    18     }
    20     @Override
    21     public void setUp() throws Exception {
    22         super.setUp();
    24         mAsserter.dumpLog("Registering org.mozilla.gecko.test.receiver broadcast receiver");
    26         IntentFilter filter = new IntentFilter();
    27         filter.addAction("org.mozilla.gecko.test.receiver");
    29         mReceiver = new BroadcastReceiver() {
    30                 @Override
    31                 public void onReceive(Context context, Intent intent) {
    32                     try {
    33                         JSONObject o = new JSONObject();
    34                         o.put("c", "efg");
    35                         o.put("d", 456);
    36                         // Feed the received token back to the sender.
    37                         o.put("token", intent.getStringExtra("token"));
    38                         String data = o.toString();
    40                         setResultCode(Activity.RESULT_OK);
    41                         setResultData(data);
    42                     } catch (JSONException e) {
    43                         setResultCode(Activity.RESULT_CANCELED);
    44                         setResultData(null);
    45                     }
    46                 }
    47             };
    49         // We must register the receiver in a Fennec context to avoid a
    50         // SecurityException.
    51         getActivity().getApplicationContext().registerReceiver(mReceiver, filter);
    52     }
    54     @Override
    55     public void tearDown() throws Exception {
    56         super.tearDown();
    58         mAsserter.dumpLog("Unregistering org.mozilla.gecko.test.receiver broadcast receiver");
    60         if (mReceiver != null) {
    61             getActivity().getApplicationContext().unregisterReceiver(mReceiver);
    62             mReceiver = null;
    63         }
    64     }
    65 }

mercurial