From 613e92e868ee6de58b607c11062a1fc5549a99e7 Mon Sep 17 00:00:00 2001 From: Juha Heinanen Date: Sat, 16 Mar 2019 08:32:16 +0200 Subject: [PATCH] - 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. --- app/build.gradle | 4 +-- app/src/main/AndroidManifest.xml | 2 +- app/src/main/assets/accounts | 32 ------------------- .../com/tutpro/baresip/BaresipService.kt | 3 +- .../kotlin/com/tutpro/baresip/ChatActivity.kt | 18 +++++++++-- .../com/tutpro/baresip/ChatsActivity.kt | 18 +++++++++++ .../com/tutpro/baresip/ContactsActivity.kt | 1 - .../kotlin/com/tutpro/baresip/MainActivity.kt | 12 ++++--- .../android/en-US/changelogs/6.0.1.txt | 3 ++ 9 files changed, 49 insertions(+), 44 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/6.0.1.txt diff --git a/app/build.gradle b/app/build.gradle index 206aa8f1..875ca8dd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId = 'com.tutpro.baresip' minSdkVersion 21 targetSdkVersion 27 - versionCode = 46 - versionName = '6.0.0' + versionCode = 47 + versionName = '6.0.1' externalNativeBuild { cmake { cFlags '-DHAVE_INTTYPES_H' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 78ccbdfc..890c62dd 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -38,7 +38,7 @@ + android:launchMode="singleTop"> diff --git a/app/src/main/assets/accounts b/app/src/main/assets/accounts index 1ad5cc46..792d6005 100644 --- a/app/src/main/assets/accounts +++ b/app/src/main/assets/accounts @@ -1,33 +1 @@ # -# SIP accounts - one account per line -# -# Displayname ;addr-params -# -# uri-params: -# ;transport={udp,tcp,tls} -# -# addr-params: -# ;answermode={manual,early,auto} -# ;audio_codecs=opus,pcma,... -# ;auth_user=username -# ;mediaenc={srtp,srtp-mand,srtp-mandf,dtls_srtp,zrtp} -# ;medianat={stun,turn,ice} -# ;outbound="sip:primary.example.com;transport=tcp" -# ;outbound2=sip:secondary.example.com -# ;ptime={10,20,30,40,...} -# ;regint=3600 -# ;pubint=0 (publishing off) -# ;regq=0.5 -# ;rtpkeep={zero,stun,dyna,rtcp} -# ;sipnat={outbound} -# ;stunuser=STUN/TURN/ICE-username -# ;stunpass=STUN/TURN/ICE-password -# ;stunserver=stun:[user:pass]@host[:port] -# ;video_codecs=h264,h263,... -# -# Examples: -# -# -# -# -# diff --git a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt index 1925fc67..18822473 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt @@ -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 diff --git a/app/src/main/kotlin/com/tutpro/baresip/ChatActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/ChatActivity.kt index e12da992..8a0cebef 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/ChatActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/ChatActivity.kt @@ -18,6 +18,7 @@ class ChatActivity : AppCompatActivity() { internal lateinit var chatMessages: ArrayList 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() { diff --git a/app/src/main/kotlin/com/tutpro/baresip/ChatsActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/ChatsActivity.kt index 6f9c80c0..e134a7ce 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/ChatsActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/ChatsActivity.kt @@ -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 -> { diff --git a/app/src/main/kotlin/com/tutpro/baresip/ContactsActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/ContactsActivity.kt index c738956e..6aba1c59 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/ContactsActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/ContactsActivity.kt @@ -97,7 +97,6 @@ class ContactsActivity : AppCompatActivity() { companion object { - fun saveContacts(path: File): Boolean { var contents = "" for (c in Contact.contacts()) diff --git a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt index 4fb5a41d..b191bd27 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt @@ -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 != "") { diff --git a/fastlane/metadata/android/en-US/changelogs/6.0.1.txt b/fastlane/metadata/android/en-US/changelogs/6.0.1.txt new file mode 100644 index 00000000..eeef70be --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/6.0.1.txt @@ -0,0 +1,3 @@ +- 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.