Files
OwnDroid/app/src/main/java/com/bintianqi/owndroid/Receiver.kt
BinTianqi a8de0ed986 simplify code of getting file
optimize animation
2024-05-11 15:51:14 +08:00

58 lines
2.5 KiB
Kotlin

package com.bintianqi.owndroid
import android.app.admin.DeviceAdminReceiver
import android.app.admin.DevicePolicyManager
import android.content.BroadcastReceiver
import android.content.ComponentName
import android.content.Context
import android.content.Intent
import android.content.pm.PackageInstaller.*
import android.util.Log
import android.widget.Toast
import androidx.activity.ComponentActivity
import com.bintianqi.owndroid.dpm.isDeviceOwner
import com.bintianqi.owndroid.dpm.isProfileOwner
class Receiver : DeviceAdminReceiver() {
override fun onEnabled(context: Context, intent: Intent) {
super.onEnabled(context, intent)
val myDpm = context.getSystemService(ComponentActivity.DEVICE_POLICY_SERVICE) as DevicePolicyManager
val myComponent = ComponentName(context, this::class.java)
if(myDpm.isAdminActive(myComponent)||isProfileOwner(myDpm)||isDeviceOwner(myDpm)){
Toast.makeText(context, context.getString(R.string.onEnabled), Toast.LENGTH_SHORT).show()
}
}
override fun onDisabled(context: Context, intent: Intent) {
super.onDisabled(context, intent)
Toast.makeText(context, R.string.onDisabled, Toast.LENGTH_SHORT).show()
}
override fun onProfileProvisioningComplete(context: Context, intent: Intent) {
super.onProfileProvisioningComplete(context, intent)
Toast.makeText(context, R.string.create_work_profile_success, Toast.LENGTH_SHORT).show()
}
}
class PackageInstallerReceiver:BroadcastReceiver(){
override fun onReceive(context: Context, intent: Intent) {
val toastText = when(intent.getIntExtra(EXTRA_STATUS,999)){
STATUS_PENDING_USER_ACTION->R.string.status_pending_action
STATUS_SUCCESS->R.string.success
STATUS_FAILURE->R.string.fail
STATUS_FAILURE_BLOCKED->R.string.status_fail_blocked
STATUS_FAILURE_ABORTED->R.string.status_fail_aborted
STATUS_FAILURE_INVALID->R.string.status_fail_invalid
STATUS_FAILURE_CONFLICT->R.string.status_fail_conflict
STATUS_FAILURE_STORAGE->R.string.status_fail_storage
STATUS_FAILURE_INCOMPATIBLE->R.string.status_fail_incompatible
STATUS_FAILURE_TIMEOUT->R.string.status_fail_timeout
else->R.string.unknown
}
Log.e("OwnDroid", intent.getIntExtra(EXTRA_STATUS,999).toString())
val text = context.getString(R.string.app_installer_status) + context.getString(toastText)
if(toastText!=999){Toast.makeText(context, text, Toast.LENGTH_SHORT).show()}
}
}