- Resume baresip application to the activity that was stopped.

- Add example contact when baresip is started the first time.
- Fixed showing of new message in the chats and messages list.
This commit is contained in:
Juha Heinanen
2019-03-16 08:32:16 +02:00
parent 75b8067e83
commit 613e92e868
9 changed files with 49 additions and 44 deletions
@@ -126,7 +126,6 @@ class BaresipService: Service() {
} catch (e: Error) {
Log.e(LOG_TAG, "Failed to create directory: " + e.toString())
}
}
for (a in assets) {
file = File("${filesPath}/$a")
@@ -160,7 +159,7 @@ class BaresipService: Service() {
}
}
}
ContactsActivity.restoreContacts(applicationContext.filesDir)
wl.acquire()
Thread(Runnable { baresipStart(filesPath) }).start()
BaresipService.isServiceRunning = true
@@ -18,6 +18,7 @@ class ChatActivity : AppCompatActivity() {
internal lateinit var chatMessages: ArrayList<Message>
internal lateinit var mlAdapter: MessageListAdapter
internal lateinit var listView: ListView
internal lateinit var newMessage: EditText
internal lateinit var sendButton: ImageButton
internal lateinit var imm: InputMethodManager
@@ -27,8 +28,11 @@ class ChatActivity : AppCompatActivity() {
internal lateinit var messageResponseReceiver: BroadcastReceiver
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Log.d("Baresip", "Chat created")
setContentView(R.layout.activity_chat)
aor = intent.extras.getString("aor")
@@ -62,7 +66,7 @@ class ChatActivity : AppCompatActivity() {
val headerText = "Account ${aor.substringAfter(":")}"
headerView.text = headerText
val listView = findViewById(R.id.messages) as ListView
listView = findViewById(R.id.messages) as ListView
chatMessages = uaPeerMessages(aor, peerUri)
mlAdapter = MessageListAdapter(this, chatMessages)
listView.adapter = mlAdapter
@@ -161,7 +165,14 @@ class ChatActivity : AppCompatActivity() {
super.onPause()
}
/*override fun onStop() {
super.onStop()
Log.d("Baresip", "Chat Stopped")
}*/
override fun onResume() {
super.onResume()
Log.d("Baresip", "Chat resumed")
val chatText = BaresipService.chatTexts.get("$aor::$peerUri")
if (chatText != null) {
Log.d("Baresip", "Restoring newMessage ${newMessage.text} for $aor::$peerUri")
@@ -169,7 +180,10 @@ class ChatActivity : AppCompatActivity() {
newMessage.requestFocus()
BaresipService.chatTexts.remove("$aor::$peerUri")
}
super.onResume()
mlAdapter.clear()
chatMessages = uaPeerMessages(aor, peerUri)
mlAdapter = MessageListAdapter(this, chatMessages)
listView.adapter = mlAdapter
}
override fun onDestroy() {
@@ -27,7 +27,11 @@ class ChatsActivity: AppCompatActivity() {
internal lateinit var plusButton: ImageButton
public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Log.d("Baresip", "Chats created")
setContentView(R.layout.activity_chats)
filesPath = applicationContext.filesDir.absolutePath
@@ -149,6 +153,20 @@ class ChatsActivity: AppCompatActivity() {
super.onPause()
}
/*override fun onStop() {
super.onStop()
Log.d("Baresip", "Chats stopped")
}*/
override fun onResume() {
super.onResume()
// Log.d("Baresip", "Chats resumed")
clAdapter.clear()
uaMessages = uaMessages(aor)
clAdapter = ChatListAdapter(this, uaMessages)
listView.adapter = clAdapter
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
android.R.id.home -> {
@@ -97,7 +97,6 @@ class ContactsActivity : AppCompatActivity() {
companion object {
fun saveContacts(path: File): Boolean {
var contents = ""
for (c in Contact.contacts())
@@ -55,7 +55,7 @@ class MainActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)
Log.d("Baresip", "onCreate with intent action " +
Log.d("Baresip", "Main created with action " +
intent.getStringExtra("action"))
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED or
@@ -182,7 +182,6 @@ class MainActivity : AppCompatActivity() {
}
}
ContactsActivity.restoreContacts(applicationContext.filesDir)
callUri.setAdapter(ArrayAdapter(this, android.R.layout.select_dialog_item,
Contact.contacts().map{Contact -> Contact.name}))
callUri.threshold = 2
@@ -800,13 +799,18 @@ class MainActivity : AppCompatActivity() {
override fun onPause() {
super.onPause()
// Log.d("Baresip", "Paused")
// Log.d("Baresip", "Main paused")
visible = false
}
/*override fun onStop() {
super.onStop()
Log.d("Baresip", "Main stopped")
}*/
override fun onResume() {
super.onResume()
Log.d("Baresip", "Resumed")
Log.d("Baresip", "Main resumed")
imm.hideSoftInputFromWindow(callUri.windowToken, 0)
visible = true
if (answerCall != "") {