- Fixed restart on Android 10.

This commit is contained in:
Juha Heinanen
2020-04-21 18:08:21 +03:00
parent ad7edeaf9f
commit cebbd237f3
2 changed files with 15 additions and 12 deletions
@@ -17,7 +17,7 @@ class BootCompletedReceiver : BroadcastReceiver() {
val config = String(Utils.getFileContents(configPath)!!, StandardCharsets.ISO_8859_1) val config = String(Utils.getFileContents(configPath)!!, StandardCharsets.ISO_8859_1)
val asCv = Utils.getNameValue(config,"auto_start") val asCv = Utils.getNameValue(config,"auto_start")
if ((asCv.size > 0) && (asCv[0] == "yes")) { if ((asCv.size > 0) && (asCv[0] == "yes")) {
Log.d("Baresip", "Start baresip upon boot completed or restart") Log.i("Baresip", "Start baresip upon boot completed or restart")
val i = Intent(context, MainActivity::class.java) val i = Intent(context, MainActivity::class.java)
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
val b = Bundle() val b = Bundle()
@@ -598,14 +598,15 @@ class MainActivity : AppCompatActivity() {
//System.exit(0) //System.exit(0)
} }
alertDialog.show() alertDialog.show()
return
} else { } else {
quitTimer.cancel() quitTimer.cancel()
finishAndRemoveTask() finishAndRemoveTask()
if (restart) reStart() if (restart)
reStart()
else
System.exit(0) System.exit(0)
return
} }
return
} }
val uap = params[0] val uap = params[0]
val ua = UserAgent.find(uap) val ua = UserAgent.find(uap)
@@ -841,11 +842,11 @@ class MainActivity : AppCompatActivity() {
private fun reStart() { private fun reStart() {
Log.d("Baresip", "Trigger restart") Log.d("Baresip", "Trigger restart")
val restartActivity = Intent(applicationContext, MainActivity::class.java) val pm = applicationContext.packageManager
val restartIntent = PendingIntent.getActivity(applicationContext, val intent = pm.getLaunchIntentForPackage(this.getPackageName())
RESTART_REQUEST_CODE, restartActivity, PendingIntent.FLAG_CANCEL_CURRENT) this.finishAffinity()
val am = applicationContext.getSystemService(Context.ALARM_SERVICE) as AlarmManager this.startActivity(intent)
am.set(AlarmManager.RTC,System.currentTimeMillis() + 1000, restartIntent) System.exit(0)
} }
override fun onBackPressed() { override fun onBackPressed() {
@@ -944,7 +945,9 @@ class MainActivity : AppCompatActivity() {
quitTimer.start() quitTimer.start()
} else { } else {
finishAndRemoveTask() finishAndRemoveTask()
if (reStart) reStart() if (reStart)
reStart()
else
System.exit(0) System.exit(0)
} }
} }