code: public static Observable<Intent> fromBroadcast(
              Context context,
              IntentFilter intentFilter,
              String broadcastPermission,
              Handler handler,
              OrderedBroadcastAbortStrategy orderedBroadcastAbortStrategy) {
          BroadcastWithPermissionsRegistrar broadcastWithPermissionsRegistrar =
                  new BroadcastWithPermissionsRegistrar(
                          context,
                          intentFilter,
                          broadcastPermission,
                          handler);
          return createBroadcastObservable(
                  broadcastWithPermissionsRegistrar,
                  orderedBroadcastAbortStrategy);
      }
docs: Create {@link Observable} that wraps {@link BroadcastReceiver} and emits received intents.
  <p>
  <em>This is only useful in conjunction with Ordered Broadcasts, e.g.,
  {@link Context#sendOrderedBroadcast(Intent, String)}</em>
  
  @param context                  the context the {@link BroadcastReceiver} will be created
  from
  @param intentFilter             the filter for the particular intent
  @param broadcastPermission      String naming a permissions that a broadcaster must hold
  in order to send an Intent to you. If null, no permission
  is required.
  @param handler                  Handler identifying the thread that will receive the
  Intent. If null, the main thread of the process will be used.
  @param orderedBroadcastAbortStrategy the strategy to use for Ordered Broadcasts
  @return {@link Observable} of {@link Intent} that matches the filter