diff --git a/app/src/main/assets/accounts b/app/src/main/assets/accounts index 792d6005..e69de29b 100644 --- a/app/src/main/assets/accounts +++ b/app/src/main/assets/accounts @@ -1 +0,0 @@ -# diff --git a/app/src/main/kotlin/com/tutpro/baresip/AccountsActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/AccountsActivity.kt index 05b19822..6a85de82 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/AccountsActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/AccountsActivity.kt @@ -190,6 +190,11 @@ class AccountsActivity : AppCompatActivity() { accounts) } + fun noAccounts(): Boolean { + return Utils.getFileContents(File(BaresipService.filesPath + "/accounts")) + .length == 0 + } + } } diff --git a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt index 19d220b1..4e35dcab 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt @@ -180,6 +180,14 @@ class BaresipService: Service() { if (Config.variable("dyn_dns")[0] == "yes") Config.remove("dns_server") + + if (AccountsActivity.noAccounts()) { + val newIntent = Intent(this, MainActivity::class.java) + newIntent.flags = Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP or + Intent.FLAG_ACTIVITY_NEW_TASK + newIntent.putExtra("action", "accounts") + startActivity(newIntent) + } } "Call Show", "Call Answer" -> { diff --git a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt index f4639729..f50fec97 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt @@ -460,6 +460,9 @@ class MainActivity : AppCompatActivity() { val action = intent.getStringExtra("action") Log.d("Baresip", "Handling intent '$action'") when (action) { + "accounts" -> { + resumeAction = "accounts" + } "call" -> { if (!Call.calls().isEmpty()) { Toast.makeText(applicationContext, getString(R.string.call_already_active), @@ -526,6 +529,10 @@ class MainActivity : AppCompatActivity() { Log.d("Baresip", "Main resumed with action '$resumeAction'") visible = true when (resumeAction) { + "accounts" -> { + val i = Intent(this, AccountsActivity::class.java) + startActivityForResult(i, ACCOUNTS_CODE) + } "call show" -> handleServiceEvent("call incoming", arrayListOf(resumeCall!!.ua.uap, resumeCall!!.callp)) @@ -1180,7 +1187,7 @@ class MainActivity : AppCompatActivity() { } private fun restoreActivities() { - Log.d("Baresip", "Stack is ${BaresipService.activities.toString()}") + Log.d("Baresip", "Activity stack ${BaresipService.activities.toString()}") val activity = BaresipService.activities[0].split(",") BaresipService.activities.removeAt(0) when (activity[0]) {