TurnOnScreenActivity.kt raw

   1  package io.github.domi04151309.alwayson.actions
   2  
   3  import android.app.Activity
   4  import android.content.Intent
   5  import android.os.Build
   6  import android.os.Bundle
   7  import android.os.Handler
   8  import android.os.Looper
   9  import android.view.WindowManager
  10  
  11  class TurnOnScreenActivity : Activity() {
  12      override fun onCreate(savedInstanceState: Bundle?) {
  13          super.onCreate(savedInstanceState)
  14  
  15          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
  16              setShowWhenLocked(true)
  17              setTurnScreenOn(true)
  18          } else {
  19              @Suppress("DEPRECATION")
  20              window.addFlags(
  21                  WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED or
  22                      WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON,
  23              )
  24          }
  25  
  26          Handler(Looper.getMainLooper()).postDelayed({
  27              startActivity(
  28                  Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME)
  29                      .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK),
  30              )
  31              finish()
  32          }, TINY_DELAY)
  33      }
  34  
  35      companion object {
  36          private const val TINY_DELAY = 10L
  37      }
  38  }
  39