mirror of
https://github.com/geode-sdk/android-launcher.git
synced 2026-10-21 08:19:33 +00:00
33 lines
1.3 KiB
Kotlin
33 lines
1.3 KiB
Kotlin
package com.geode.launcher
|
|
|
|
import android.content.BroadcastReceiver
|
|
import android.content.Context
|
|
import android.content.Intent
|
|
import android.content.pm.PackageInstaller
|
|
import android.widget.Toast
|
|
import com.geode.launcher.main.clearDownloadedApks
|
|
|
|
class InstallReceiver : BroadcastReceiver() {
|
|
override fun onReceive(context: Context, intent: Intent) {
|
|
when (val status = intent.getIntExtra(PackageInstaller.EXTRA_STATUS, -1)) {
|
|
PackageInstaller.STATUS_PENDING_USER_ACTION -> {
|
|
val activityIntent = intent.getParcelableExtra<Intent>(Intent.EXTRA_INTENT)
|
|
|
|
if (activityIntent != null) {
|
|
context.startActivity(activityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
|
|
}
|
|
}
|
|
PackageInstaller.STATUS_SUCCESS -> {
|
|
clearDownloadedApks(context)
|
|
}
|
|
else -> {
|
|
val msg = intent.getStringExtra(PackageInstaller.EXTRA_STATUS_MESSAGE)
|
|
println("failed to install update: $status, $msg")
|
|
|
|
val message = context.getString(R.string.launcher_self_update_failed, msg)
|
|
Toast.makeText(context, message, Toast.LENGTH_SHORT)
|
|
.show()
|
|
}
|
|
}
|
|
}
|
|
} |