docs: private void setPowerSaveSettings() {
  		long minRest = Long.MAX_VALUE, minScan = Long.MAX_VALUE;
  		synchronized (wrappers) {
  			for (final ScanCallbackWrapper wrapper : wrappers.values()) {
  				final ScanSettings settings = wrapper.scanSettings;
  				if (settings.hasPowerSaveMode()) {
  					if (minRest > settings.getPowerSaveRest()) {
  						minRest = settings.getPowerSaveRest();
  					}
  					if (minScan > settings.getPowerSaveScan()) {
  						minScan = settings.getPowerSaveScan();
  					}
  				}
  			}
  		}
  		if (minRest < Long.MAX_VALUE && minScan < Long.MAX_VALUE) {
  			powerSaveRestInterval = minRest;
  			powerSaveScanInterval = minScan;
  			if (powerSaveHandler != null) {
  				powerSaveHandler.removeCallbacks(powerSaveScanTask);
  				powerSaveHandler.removeCallbacks(powerSaveSleepTask);
  				powerSaveHandler.postDelayed(powerSaveSleepTask, powerSaveScanInterval);
  			}
  		} else {
  			powerSaveRestInterval = powerSaveScanInterval = 0;
  			if (powerSaveHandler != null) {
  				powerSaveHandler.removeCallbacks(powerSaveScanTask);
  				powerSaveHandler.removeCallbacks(powerSaveSleepTask);
  			}
  		}
  	}