docs: @CallSuper
      protected void onHandleIntent(Intent intent) {
          if (intent == null) {
              return;
          }
  
          String action = intent.getAction();
          // TODO: permissions?
          if (ACTION_SUBSCRIBE.equals(action)) {
              processSubscribe(
                      (ComponentName) intent.getParcelableExtra(EXTRA_SUBSCRIBER_COMPONENT),
                      intent.getStringExtra(EXTRA_TOKEN));
  
          } else if (ACTION_HANDLE_COMMAND.equals(action)) {
              int commandId = intent.getIntExtra(EXTRA_COMMAND_ID, 0);
              processHandleCommand(commandId, intent.getExtras());
  
          } else if (ACTION_NETWORK_AVAILABLE.equals(action)) {
              processNetworkAvailable();
          }
      }