Example usage for android.support.v4.content LocalBroadcastManager registerReceiver

List of usage examples for android.support.v4.content LocalBroadcastManager registerReceiver

Introduction

In this page you can find the example usage for android.support.v4.content LocalBroadcastManager registerReceiver.

Prototype

public void registerReceiver(BroadcastReceiver receiver, IntentFilter filter) 

Source Link

Document

Register a receive for any local broadcasts that match the given IntentFilter.

Usage

From source file:ca.zadrox.dota2esportticker.ui.TeamSearchActivity.java

@Override
protected void onResume() {
    super.onResume();

    LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this);

    IntentFilter intentFilter = new IntentFilter();
    intentFilter.addAction(UpdateTeamsService.STATUS_COMPLETED);
    intentFilter.addAction(UpdateTeamsService.STATUS_ERROR);
    intentFilter.addAction(UpdateTeamsService.STATUS_NO_CONNECTIVITY);
    intentFilter.addAction(UpdateTeamsService.STATUS_UPDATING);

    localBroadcastManager.registerReceiver(mSearchReceiver, intentFilter);
}

From source file:com.facebook.internal.LikeActionController.java

private static void registerSessionBroadcastReceivers() {
    LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(applicationContext);

    IntentFilter filter = new IntentFilter();
    filter.addAction(Session.ACTION_ACTIVE_SESSION_UNSET);
    filter.addAction(Session.ACTION_ACTIVE_SESSION_CLOSED);
    filter.addAction(Session.ACTION_ACTIVE_SESSION_OPENED);

    broadcastManager.registerReceiver(new BroadcastReceiver() {
        @Override/*from w  w w . j a  v a  2s.  c o m*/
        public void onReceive(Context receiverContext, Intent intent) {
            if (isPendingBroadcastReset) {
                return;
            }

            String action = intent.getAction();
            final boolean shouldClearDisk = Utility.areObjectsEqual(Session.ACTION_ACTIVE_SESSION_UNSET, action)
                    || Utility.areObjectsEqual(Session.ACTION_ACTIVE_SESSION_CLOSED, action);

            isPendingBroadcastReset = true;
            // Delaying sending the broadcast to reset, because we might get many successive calls from Session
            // (to UNSET, SET & OPEN) and a delay would prevent excessive chatter.
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    // Bump up the objectSuffix so that we don't have a filename collision between a cache-clear and
                    // and a cache-read/write.
                    //
                    // NOTE: We know that onReceive() was called on the main thread. This means that even this code
                    // is running on the main thread, and therefore, there aren't synchronization issues with
                    // incrementing the objectSuffix and clearing the caches here.
                    if (shouldClearDisk) {
                        objectSuffix = (objectSuffix + 1) % MAX_OBJECT_SUFFIX;
                        applicationContext
                                .getSharedPreferences(LIKE_ACTION_CONTROLLER_STORE, Context.MODE_PRIVATE).edit()
                                .putInt(LIKE_ACTION_CONTROLLER_STORE_OBJECT_SUFFIX_KEY, objectSuffix).apply();

                        // Only clearing the actual caches. The MRU index will self-clean with usage.
                        // Clearing the caches is necessary to prevent leaking like-state across sessions.
                        cache.clear();
                        controllerDiskCache.clearCache();
                    }

                    broadcastAction(null, ACTION_LIKE_ACTION_CONTROLLER_DID_RESET);
                    isPendingBroadcastReset = false;
                }
            }, 100);
        }
    }, filter);
}

From source file:activeng.pt.activenglab.BluetoothChatService.java

/**
 * Start the ConnectedThread to begin managing a Bluetooth connection
 *
 * @param socket The BluetoothSocket on which the connection was made
 * @param device The BluetoothDevice that has been connected
 *///from  w w w . j  av  a 2  s  .co  m
public synchronized void connected(BluetoothSocket socket, BluetoothDevice device, final String socketType) {
    Log.d(TAG, "connected, Socket Type:" + socketType);

    // Cancel the thread that completed the connection
    if (mConnectThread != null) {
        mConnectThread.cancel();
        mConnectThread = null;
    }

    // Cancel any thread currently running a connection
    if (mConnectedThread != null) {
        mConnectedThread.cancel();
        mConnectedThread = null;
    }

    // Cancel the accept thread because we only want to connect to one device
    if (mSecureAcceptThread != null) {
        mSecureAcceptThread.cancel();
        mSecureAcceptThread = null;
    }
    if (mInsecureAcceptThread != null) {
        mInsecureAcceptThread.cancel();
        mInsecureAcceptThread = null;
    }

    // Start the thread to manage the connection and perform transmissions
    mConnectedThread = new ConnectedThread(socket, socketType);
    mConnectedThread.start();

    deviceName = device.getName();
    deviceAddress = device.getAddress();

    // Send the name of the connected device back to the UI Activity

    //Message msg = mHandler.obtainMessage(Constants.MESSAGE_DEVICE_NAME);
    //Bundle bundle = new Bundle();
    //bundle.putString(Constants.DEVICE_NAME, device.getName());
    //bundle.putString(Constants.DEVICE_ADRESS, device.getAddress());
    //msg.setData(bundle);
    //mHandler.sendMessage(msg);

    //Intent intent = new Intent(Constants.MESSAGE_BT_NAME).putExtra(Intent.EXTRA_TEXT, device.getName());
    //mContext.sendBroadcast(intent);

    Log.d("ActivEng", "BluetoothChatService BroadcastReceiver versus LocalBroadcastReceiver");
    //mContext.getApplicationContext().registerReceiver(this.connectionUpdates, new IntentFilter(Constants.MESSAGE_TO_ARDUINO));
    //
    //LocalBroadcastManager manager = LocalBroadcastManager.getInstance(mContext);
    //LocalBroadcastManager.getInstance(mContext.getApplicationContext()).registerReceiver(this.connectionUpdates,
    //        new IntentFilter(Constants.MESSAGE_TO_ARDUINO));
    LocalBroadcastManager manager = LocalBroadcastManager.getInstance(mContext);
    IntentFilter filter = new IntentFilter(Constants.MESSAGE_TO_ARDUINO);
    manager.registerReceiver(this.connectionUpdates, filter);
    registered = true;
    setState(Constants.STATE_CONNECTED);
}

From source file:com.weidian.blockcanary.StackInfoCatcher.java

public StackInfoCatcher(Context context) {
    this.mContext = context;
    LocalBroadcastManager manager = LocalBroadcastManager.getInstance(context);
    mBroadcastReceiver = new BroadcastReceiver() {
        @Override//from  w w w  . j  a v  a2 s . co m
        public void onReceive(Context context, Intent intent) {
            long endTime = intent.getLongExtra(LogPrinter.EXTRA_FINISH_TIME, 0);
            long startTime = intent.getLongExtra(LogPrinter.EXTRA_START_TIME, 0);
            StackTraceInfo info = getInfoByTime(endTime, startTime);
            if (null != info) {
                Log.e(TAG, "find block line");
                //info.mANRError.printStackTrace();
                Log.e(TAG, info.mLog);
            } else {
                Log.e(TAG, "no block line find");
            }
        }
    };
    manager.registerReceiver(mBroadcastReceiver, new IntentFilter(LogPrinter.ACTION_BLOCK));
}

From source file:com.coinblesk.client.MainActivity.java

@Override
public void onStart() {
    super.onStart();
    Log.d(TAG, "onStart");

    LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(this);
    broadcastManager.registerReceiver(startClientsBroadcastReceiver,
            new IntentFilter(Constants.START_CLIENTS_ACTION));
    broadcastManager.registerReceiver(stopClientsBroadcastReceiver,
            new IntentFilter(Constants.STOP_CLIENTS_ACTION));
    broadcastManager.registerReceiver(startServersBroadcastReceiver,
            new IntentFilter(Constants.START_SERVERS_ACTION));
    broadcastManager.registerReceiver(walletServiceError, new IntentFilter(Constants.WALLET_ERROR_ACTION));

    broadcastManager.registerReceiver(instantPaymentSuccessListener,
            new IntentFilter(Constants.INSTANT_PAYMENT_SUCCESSFUL_ACTION));
    broadcastManager.registerReceiver(instantPaymentSuccessListener,
            new IntentFilter(Constants.INSTANT_PAYMENT_FAILED_ACTION));
    broadcastManager.registerReceiver(instantPaymentSuccessListener,
            new IntentFilter(Constants.WALLET_INSUFFICIENT_BALANCE_ACTION));

    startWalletService(true);//from   w w  w  . j  a va 2s  . c  o m

    // restart servers if they were running before.
    if (restartServers) {
        Log.i(TAG, "Restart servers (with previous payment request)");
        for (AbstractServer server : servers) {
            server.start();
        }
    }
}

From source file:bolts.AppLinkTest.java

public void testGeneralMeasurementEventsBroadcast() throws Exception {
    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.example.com"));
    i.putExtra("foo", "bar");
    ArrayList<String> arr = new ArrayList<>();
    arr.add("foo2");
    arr.add("bar2");
    i.putExtra("foobar", arr);
    Map<String, String> other = new HashMap<>();
    other.put("yetAnotherFoo", "yetAnotherBar");

    final CountDownLatch lock = new CountDownLatch(1);
    final String[] receivedStrings = new String[5];
    LocalBroadcastManager manager = LocalBroadcastManager.getInstance(getInstrumentation().getTargetContext());
    manager.registerReceiver(new BroadcastReceiver() {
        @Override//from www .j av a 2 s. c o  m
        public void onReceive(Context context, Intent intent) {
            String eventName = intent.getStringExtra("event_name");
            Bundle eventArgs = intent.getBundleExtra("event_args");
            receivedStrings[0] = eventName;
            receivedStrings[1] = eventArgs.getString("foo");
            receivedStrings[2] = eventArgs.getString("foobar");
            receivedStrings[3] = eventArgs.getString("yetAnotherFoo");
            receivedStrings[4] = eventArgs.getString("intentData");
            lock.countDown();
        }
    }, new IntentFilter("com.parse.bolts.measurement_event"));

    MeasurementEvent.sendBroadcastEvent(getInstrumentation().getTargetContext(), "myEventName", i, other);
    lock.await(2000, TimeUnit.MILLISECONDS);

    assertEquals("myEventName", receivedStrings[0]);
    assertEquals("bar", receivedStrings[1]);
    assertEquals((new JSONArray(arr)).toString(), receivedStrings[2]);
    assertEquals("yetAnotherBar", receivedStrings[3]);
    assertEquals("http://www.example.com", receivedStrings[4]);
}

From source file:ie.programmer.catcher.AppLinkTest.java

public void testGeneralMeasurementEventsBroadcast() throws Exception {
    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.example.com"));
    i.putExtra("foo", "bar");
    ArrayList<String> arr = new ArrayList<>();
    arr.add("foo2");
    arr.add("bar2");
    i.putExtra("foobar", arr);
    Map<String, String> other = new HashMap<>();
    other.put("yetAnotherFoo", "yetAnotherBar");

    final CountDownLatch lock = new CountDownLatch(1);
    final String[] receivedStrings = new String[5];
    LocalBroadcastManager manager = LocalBroadcastManager.getInstance(getInstrumentation().getTargetContext());
    manager.registerReceiver(new BroadcastReceiver() {
        @Override/*from  w ww  . jav a  2 s .  co m*/
        public void onReceive(Context context, Intent intent) {
            String eventName = intent.getStringExtra("event_name");
            Bundle eventArgs = intent.getBundleExtra("event_args");
            receivedStrings[0] = eventName;
            receivedStrings[1] = eventArgs.getString("foo");
            receivedStrings[2] = eventArgs.getString("foobar");
            receivedStrings[3] = eventArgs.getString("yetAnotherFoo");
            receivedStrings[4] = eventArgs.getString("intentData");
            lock.countDown();
        }
    }, new IntentFilter("com.parse.bolts.measurement_event"));

    //    MeasurementEvent.sendBroadcastEvent(getInstrumentation().getTargetContext(), "myEventName", i, other);
    lock.await(2000, TimeUnit.MILLISECONDS);

    assertEquals("myEventName", receivedStrings[0]);
    assertEquals("bar", receivedStrings[1]);
    assertEquals((new JSONArray(arr)).toString(), receivedStrings[2]);
    assertEquals("yetAnotherBar", receivedStrings[3]);
    assertEquals("http://www.example.com", receivedStrings[4]);
}

From source file:bolts.AppLinkTest.java

public void testAppLinkNavInEventBroadcast() throws Exception {
    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.example.com"));
    Bundle appLinkData = new Bundle();
    appLinkData.putString("target_url", "http://www.example2.com");
    Bundle appLinkRefererData = new Bundle();
    appLinkRefererData.putString("url", "referer://");
    appLinkRefererData.putString("app_name", "Referrer App");
    appLinkRefererData.putString("package", "com.bolts.referrer");
    appLinkData.putBundle("referer_app_link", appLinkRefererData);
    Bundle applinkExtras = new Bundle();
    applinkExtras.putString("token", "a_token");
    appLinkData.putBundle("extras", applinkExtras);
    i.putExtra("al_applink_data", appLinkData);

    final CountDownLatch lock = new CountDownLatch(1);
    final String[] receivedStrings = new String[7];
    LocalBroadcastManager manager = LocalBroadcastManager.getInstance(getInstrumentation().getTargetContext());
    manager.registerReceiver(new BroadcastReceiver() {
        @Override// w ww  .  j  a  v  a2 s .c o  m
        public void onReceive(Context context, Intent intent) {
            String eventName = intent.getStringExtra("event_name");
            Bundle eventArgs = intent.getBundleExtra("event_args");
            receivedStrings[0] = eventName;
            receivedStrings[1] = eventArgs.getString("targetURL");
            receivedStrings[2] = eventArgs.getString("inputURL");
            receivedStrings[3] = eventArgs.getString("refererURL");
            receivedStrings[4] = eventArgs.getString("refererAppName");
            receivedStrings[5] = eventArgs.getString("extras/token");
            receivedStrings[6] = eventArgs.getString("sourceApplication");
            lock.countDown();
        }
    }, new IntentFilter("com.parse.bolts.measurement_event"));

    Uri targetUrl = AppLinks.getTargetUrlFromInboundIntent(getInstrumentation().getTargetContext(), i);
    lock.await(2000, TimeUnit.MILLISECONDS);

    assertEquals("al_nav_in", receivedStrings[0]);
    assertEquals("http://www.example2.com", receivedStrings[1]);
    assertEquals("http://www.example.com", receivedStrings[2]);
    assertEquals("referer://", receivedStrings[3]);
    assertEquals("Referrer App", receivedStrings[4]);
    assertEquals("a_token", receivedStrings[5]);
    assertEquals("com.bolts.referrer", receivedStrings[6]);
}

From source file:org.aweture.wonk.substitutions.Activity.java

private void performPlanUpdate() {
    if (!Application.hasConnectivity(this)) {
        Toast.makeText(this, "Keine Internetverbindung", Toast.LENGTH_SHORT).show();
        return;/*from   w  w  w  .j a va 2  s.  c o  m*/
    } else if (receiver != null) {
        Toast.makeText(this, "Update luft bereits.", Toast.LENGTH_SHORT).show();
        return;
    }

    showLoadingLayout();

    Intent intent = new Intent(this, PlanUpdateService.class);
    startService(intent);

    receiver = new PlanUpdateReceiver(new PlanUpdateReceiver.Handler() {
        @Override
        public void handleEvent(final Intent intent) {
            LogUtil.d("Processing intent form PlanUpdateService.");

            if (intent.getBooleanExtra(PlanUpdateService.EXTRA_FINISHED_SUCCESSFULLY, true)) {
                // The update was successfull.
                LogUtil.d("PlanUpdateService finished successfully. Loader will update UI.");
            } else {
                // The update failed.
                LogUtil.d("PlanUpdateService finished with exception. Showing pre update UI.");
                showNormalLayout();
                Toast.makeText(Activity.this, "Fehler beim Herunterladen", Toast.LENGTH_SHORT).show();
            }

            // Unregister the receiver when this broadcast is handled.
            LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(Activity.this);
            broadcastManager.unregisterReceiver(receiver);
            receiver = null;
            LogUtil.d("Unregistered PlanUpdateReceiver.");
        }

    });

    // Register the receiver.
    LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(this);
    broadcastManager.registerReceiver(receiver, receiver.getIntentFilter());
}

From source file:nodomain.freeyourgadget.gadgetbridge.service.devices.hplus.HPlusSupport.java

public HPlusSupport(DeviceType type) {
    super(LOG);/*  w  ww .j av a 2 s.  co m*/

    deviceType = type;

    addSupportedService(GattService.UUID_SERVICE_GENERIC_ACCESS);
    addSupportedService(GattService.UUID_SERVICE_GENERIC_ATTRIBUTE);
    addSupportedService(HPlusConstants.UUID_SERVICE_HP);

    LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(getContext());
    IntentFilter intentFilter = new IntentFilter();

    broadcastManager.registerReceiver(mReceiver, intentFilter);
}