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 ...@@ -16,17 +16,17 @@ import com.koko.batteryinfo.databinding.ActivityBatteryInfoBinding
import com.koko.drouter.ad.InterAdService import com.koko.drouter.ad.InterAdService
import com.koko.drouter.ad.NativeBatteryType import com.koko.drouter.ad.NativeBatteryType
import com.koko.drouter.ad.NativeAdService 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.app.appService
import com.koko.drouter.base.BaseActivity
import java.math.BigDecimal import java.math.BigDecimal
import java.math.RoundingMode import java.math.RoundingMode
class BatteryInfoActivity : BaseActivity<ActivityBatteryInfoBinding>() { class BatteryInfoActivity : BaseActivity<ActivityBatteryInfoBinding>(ActivityBatteryInfoBinding::inflate) {
private var batteryReceiver: BatteryReceiver? = null private var batteryReceiver: BatteryReceiver? = null
override val binding: ActivityBatteryInfoBinding by lazy {
ActivityBatteryInfoBinding.inflate(layoutInflater)
}
override fun initView() { override fun initView() {
useDefaultImmersive() useDefaultImmersive()
registerReceiver() registerReceiver()
...@@ -43,7 +43,6 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfoBinding>() { ...@@ -43,7 +43,6 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfoBinding>() {
} }
private fun showInter() { private fun showInter() {
val interAdService = DRouter.build(InterAdService::class.java).getService()
interAdService.showInterAd(this) { interAdService.showInterAd(this) {
startProgressAnimation(binding.tvBattery.text.toString().toInt()) startProgressAnimation(binding.tvBattery.text.toString().toInt())
...@@ -51,8 +50,6 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfoBinding>() { ...@@ -51,8 +50,6 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfoBinding>() {
} }
private fun backMainShowAd() { private fun backMainShowAd() {
val interAdService = DRouter.build(InterAdService::class.java).getService()
val appService = DRouter.build(AppService::class.java).getService()
interAdService.showInterAdBack(this) { interAdService.showInterAdBack(this) {
appService.finishToMainTop(this) appService.finishToMainTop(this)
...@@ -65,7 +62,7 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfoBinding>() { ...@@ -65,7 +62,7 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfoBinding>() {
} }
private fun useDefaultImmersive() { override fun useDefaultImmersive() {
enableEdgeToEdge(SystemBarStyle.light(Color.TRANSPARENT, Color.TRANSPARENT)) enableEdgeToEdge(SystemBarStyle.light(Color.TRANSPARENT, Color.TRANSPARENT))
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets -> ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) 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