- Go directly to Accounts activity when baresip is started without

any accounts.
This commit is contained in:
Juha Heinanen
2019-10-02 16:23:07 +03:00
parent a6c86b5243
commit 7e337c23af
4 changed files with 21 additions and 2 deletions

View File

@ -1 +0,0 @@
#

View File

@ -190,6 +190,11 @@ class AccountsActivity : AppCompatActivity() {
accounts)
}
fun noAccounts(): Boolean {
return Utils.getFileContents(File(BaresipService.filesPath + "/accounts"))
.length == 0
}
}
}

View File

@ -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" -> {

View File

@ -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]) {