code: public boolean runOnMainThreadDelayed(Runnable r, long delayMillis) {
          assert handler != null;
  
          if (!sanityCheck("runOnMainThreadDelayed " + r + " delayMillis = " + delayMillis)) {
              return false;
          }
          return handler.postDelayed(r, delayMillis);
      }
docs: Queues a Runnable to be run on the main thread after the time specified
  by {@code delayMillis} has elapsed. A pause in application execution may
  add an additional delay.
  
  @param r
  The Runnable to run on the main thread.
  @param delayMillis
  The delay, in milliseconds, until the Runnable is run.
  @return Returns {@code true} if the Runnable was successfully placed in
  the Looper's message queue.