mirror of
https://github.com/awfixers-stuff/OwnDroid.git
synced 2026-03-23 19:15:58 +00:00
58 lines
2.5 KiB
Kotlin
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()}
|
|
}
|
|
}
|