/**
   * This is a wrapper around the new stopForeground method, using the older APIs if it is not
   * available.
   */
  void stopForegroundCompat(int id) {
    // If we have the new stopForeground API, then use it.
    if (mStopForeground != null) {
      mStopForegroundArgs[0] = Boolean.TRUE;
      invokeMethod(mStopForeground, mStopForegroundArgs);
      return;
    }

    // Fall back on the old API.  Note to cancel BEFORE changing the
    // foreground state, since we could be killed at that point.
    //	mNM.cancel(id);
    if (mSetForeground != null) {
      mSetForegroundArgs[0] = Boolean.FALSE;
      invokeMethod(mSetForeground, mSetForegroundArgs);
    }
  }
  /**
   * This is a wrapper around the new startForeground method, using the older APIs if it is not
   * available.
   */
  void startForegroundCompat(int id, Notification notification) {
    // If we have the new startForeground API, then use it.
    if (mStartForeground != null) {
      mStartForegroundArgs[0] = Integer.valueOf(id);
      mStartForegroundArgs[1] = notification;
      invokeMethod(mStartForeground, mStartForegroundArgs);
      return;
    }

    // Fall back on the old API.
    if (mSetForeground != null) {
      mSetForegroundArgs[0] = Boolean.TRUE;
      invokeMethod(mSetForeground, mSetForegroundArgs);
      // continue
    }

    //		notifyWrapper(id, notification);
  }