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.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() } } } }