ChargingCircleActivity.kt raw

   1  package io.github.domi04151309.alwayson.actions
   2  
   3  import android.content.Intent
   4  import android.content.IntentFilter
   5  import android.os.BatteryManager
   6  import android.os.Bundle
   7  import android.widget.ProgressBar
   8  import android.widget.RelativeLayout
   9  import android.widget.TextView
  10  import io.github.domi04151309.alwayson.R
  11  
  12  class ChargingCircleActivity : OffActivity() {
  13      override fun onCreate(savedInstanceState: Bundle?) {
  14          super.onCreate(savedInstanceState)
  15          setContentView(R.layout.activity_charging_circle)
  16  
  17          val content = findViewById<RelativeLayout>(R.id.content)
  18          turnOnScreen()
  19          fullscreen(content)
  20  
  21          val level =
  22              registerReceiver(null, IntentFilter(Intent.ACTION_BATTERY_CHANGED))
  23                  ?.getIntExtra(BatteryManager.EXTRA_LEVEL, 0)
  24                  ?: 0
  25          findViewById<TextView>(R.id.batteryTxt).text = resources.getString(R.string.percent, level)
  26          findViewById<ProgressBar>(R.id.chargingProgress).progress = level
  27  
  28          object : Thread() {
  29              override fun run() {
  30                  sleep(ANIMATION_DELAY)
  31                  content.animate().alpha(0f).duration = ANIMATION_DURATION
  32                  sleep(ANIMATION_DURATION)
  33                  runOnUiThread {
  34                      finishAndOff()
  35                  }
  36              }
  37          }.start()
  38      }
  39  
  40      companion object {
  41          private const val ANIMATION_DELAY = 3000L
  42          private const val ANIMATION_DURATION = 1000L
  43      }
  44  }
  45