calin-darie / gentle-glow-onyx-boox

Frontlight control for Onyx Boox e-readers
MIT License
53 stars 1 forks source link

sync with Android system brightness #5

Open calin-darie opened 3 years ago

calin-darie commented 3 years ago

This feature would be useful in case there's another app that controls system brightness that anyone would like to use, or if there's a way to re-enable the native Android brightness slider.

Initial proposal for the acceptance criteria:

calin-darie commented 3 years ago

https://developer.android.com/reference/android/database/ContentObserver

https://developer.android.com/reference/android/provider/Settings.System#getUriFor(java.lang.String)

https://stackoverflow.com/questions/46119279/how-to-detect-if-screen-brightness-has-changed-in-android

  // listen to the brightness system settings
  val contentObserver = object:ContentObserver(Handler())
  {
      override fun onChange(selfChange:Boolean)
      {
          // get system brightness level
          val brightnessAmount = Settings.System.getInt(
                  contentResolver,Settings.System.SCREEN_BRIGHTNESS,0)

          // do something...
      }
  }

  // register the brightness listener upon starting
  contentResolver.registerContentObserver(
          Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS),
          false,contentObserver)

  // .....

  // unregister the listener when we're done (e.g. activity destroyed)
  contentResolver.unregisterContentObserver(contentObserver)