void resume(OnRefreshUiListener listener) {
   synchronized (mLock) {
     mResumed = true;
     mRefreshUiListener = listener;
     boolean usersChanged = mUmBroadcastReceiver.checkUsersChangedLocked();
     boolean configChanged =
         mInterestingConfigChanges.applyNewConfig(mApplicationContext.getResources());
     if (usersChanged || configChanged) {
       mHaveData = false;
       mBackgroundHandler.removeMessages(MSG_RESET_CONTENTS);
       mBackgroundHandler.removeMessages(MSG_UPDATE_CONTENTS);
       mBackgroundHandler.sendEmptyMessage(MSG_RESET_CONTENTS);
     }
     if (!mBackgroundHandler.hasMessages(MSG_UPDATE_CONTENTS)) {
       mBackgroundHandler.sendEmptyMessage(MSG_UPDATE_CONTENTS);
     }
     mHandler.sendEmptyMessage(MSG_UPDATE_TIME);
   }
 }
 void updateNow() {
   synchronized (mLock) {
     mBackgroundHandler.removeMessages(MSG_UPDATE_CONTENTS);
     mBackgroundHandler.sendEmptyMessage(MSG_UPDATE_CONTENTS);
   }
 }