private void scheduleSettingsSave(){
  if (!mLoadingSettings) {
    if (mSettingsSavePending.compareAndSet(false,true)) {
      mThreadPoolManager.scheduleOnce(new SettingsSaveTask(),2,TimeUnit.SECONDS);
    }
  }
}

private void scheduleSettingsSave ( ) { if ( ! mLoadingSettings ) { if ( mSettingsSavePending . compareAndSet ( false , true ) ) { mThreadPoolManager . scheduleOnce ( new SettingsSaveTask ( ) , 2 , TimeUnit . SECONDS ) ; } } }
schedules a settings save task . subsequent calls to this method will be ignored until the save event occurs , thus limiting repetitive saving to a minimum .
