Commit 4f5c6253 authored by wanglei's avatar wanglei

...

parent 680622c7
package com.koko.batteryinfo
import android.content.Intent
import androidx.activity.result.ActivityResult
import androidx.activity.result.ActivityResultCallback
import androidx.activity.result.ActivityResultCaller
import androidx.activity.result.contract.ActivityResultContracts
class ActivityLauncher(activityResultCaller: ActivityResultCaller) {
//region 权限
private var permissionCallback: ActivityResultCallback<Map<String, Boolean>>? = null
private val permissionLauncher =
activityResultCaller.registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { result: Map<String, Boolean> ->
permissionCallback?.onActivityResult(result)
}
fun launch(
permissionArray: Array<String>,
permissionCallback: ActivityResultCallback<Map<String, Boolean>>?
) {
this.permissionCallback = permissionCallback
permissionLauncher.launch(permissionArray)
}
//endregion
//region intent跳转
private var activityResultCallback: ActivityResultCallback<ActivityResult>? = null
private val intentLauncher =
activityResultCaller.registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { activityResult: ActivityResult ->
activityResultCallback?.onActivityResult(activityResult)
}
/**
* it.resultCode == Activity.RESULT_OK
*/
fun launch(
intent: Intent,
activityResultCallback: ActivityResultCallback<ActivityResult>? = null
) {
this.activityResultCallback = activityResultCallback
intentLauncher.launch(intent)
}
//endregion
//region saf
// private var safResultCallback: ActivityResultCallback<Uri?>? = null
// private val safLauncher =
// activityResultCaller.registerForActivityResult(
// ActivityResultContracts.OpenDocument(),
// ) { uri ->
// safResultCallback?.onActivityResult(uri)
// }
//
// fun launch(array: Array<String>, safResultCallback: ActivityResultCallback<Uri?>?) {
// this.safResultCallback = safResultCallback
// safLauncher.launch(array)
// }
//end region
}
\ No newline at end of file
package com.koko.batteryinfo
import android.app.Dialog
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.viewbinding.ViewBinding
import com.didi.drouter.api.DRouter
import com.koko.drouter.event.EventService
abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
private val TAG = "BaseActivity"
protected abstract val binding: T
lateinit var launcher: ActivityLauncher
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
launcher = ActivityLauncher(this)
setContentView(binding.root)
eventActivity()
initView()
initListener()
}
private fun eventActivity() {
val eventService = DRouter.build(EventService::class.java).getService()
eventService.eventActivity(this)
}
protected abstract fun initView()
protected open fun initListener() {}
var dialog: Dialog? = null
override fun onDestroy() {
super.onDestroy()
}
override fun onResume() {
super.onResume()
}
}
\ No newline at end of file
......@@ -16,17 +16,17 @@ import com.koko.batteryinfo.databinding.ActivityBatteryInfoBinding
import com.koko.drouter.ad.InterAdService
import com.koko.drouter.ad.NativeBatteryType
import com.koko.drouter.ad.NativeAdService
import com.koko.drouter.ad.interAdService
import com.koko.drouter.app.AppService
import com.koko.drouter.app.appService
import com.koko.drouter.base.BaseActivity
import java.math.BigDecimal
import java.math.RoundingMode
class BatteryInfoActivity : BaseActivity<ActivityBatteryInfoBinding>() {
class BatteryInfoActivity : BaseActivity<ActivityBatteryInfoBinding>(ActivityBatteryInfoBinding::inflate) {
private var batteryReceiver: BatteryReceiver? = null
override val binding: ActivityBatteryInfoBinding by lazy {
ActivityBatteryInfoBinding.inflate(layoutInflater)
}
override fun initView() {
useDefaultImmersive()
registerReceiver()
......@@ -43,7 +43,6 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfoBinding>() {
}
private fun showInter() {
val interAdService = DRouter.build(InterAdService::class.java).getService()
interAdService.showInterAd(this) {
startProgressAnimation(binding.tvBattery.text.toString().toInt())
......@@ -51,8 +50,6 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfoBinding>() {
}
private fun backMainShowAd() {
val interAdService = DRouter.build(InterAdService::class.java).getService()
val appService = DRouter.build(AppService::class.java).getService()
interAdService.showInterAdBack(this) {
appService.finishToMainTop(this)
......@@ -65,7 +62,7 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfoBinding>() {
}
private fun useDefaultImmersive() {
override fun useDefaultImmersive() {
enableEdgeToEdge(SystemBarStyle.light(Color.TRANSPARENT, Color.TRANSPARENT))
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment