diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d0422216..137f8d57 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,7 +1,7 @@
+ package="com.tutpro.baresip" >
@@ -13,8 +13,10 @@
-
+
@@ -27,36 +29,38 @@
-
+ tools:remove="android:appComponentFactory" >
+ android:launchMode="singleTask"
+ android:theme="@style/AppTheme.Main"
+ android:windowSoftInputMode="adjustResize" >
+
+
+
@@ -81,9 +85,9 @@
+ android:label="@string/baresip_contacts"
+ android:parentActivityName=".MainActivity"
+ android:windowSoftInputMode="adjustPan" >
+
+
+
+
+ android:parentActivityName=".MainActivity" >
+ android:permission="android.permission.FOREGROUND_SERVICE"
+ android:stopWithTask="false" >
-
-
+
\ No newline at end of file
diff --git a/app/src/main/kotlin/com/tutpro/baresip/ContactActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/ContactActivity.kt
index 0bc5e7c7..17f544d1 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/ContactActivity.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/ContactActivity.kt
@@ -567,49 +567,6 @@ class ContactActivity : AppCompatActivity() {
null)
}
- @Suppress("UNUSED")
- fun logAndroidContacts(ctx: Context, type: String): HashMap> {
- val mimeType = if (type == "sip")
- CommonDataKinds.SipAddress.CONTENT_ITEM_TYPE
- else
- CommonDataKinds.Phone.CONTENT_ITEM_TYPE
- val contacts = HashMap>()
- val projection = arrayOf(ContactsContract.Data.CONTACT_ID, ContactsContract.Data.DISPLAY_NAME,
- ContactsContract.Data.MIMETYPE, ContactsContract.Data.DATA1,
- ContactsContract.Data.PHOTO_THUMBNAIL_URI)
- val selection = ContactsContract.Data.MIMETYPE + "='" + mimeType + "'"
- val cur: Cursor? = ctx.contentResolver.query(ContactsContract.Data.CONTENT_URI, projection,
- selection, null, null)
- while (cur != null && cur.moveToNext()) {
- val id = cur.getLong(0)
- val name = cur.getString(1) // display name
- val mime = cur.getString(2) // type of data
- val data = cur.getString(3) // info
- val thumb = cur.getString(4) // thumbnail
- var kind = "unknown"
- when (mime) {
- CommonDataKinds.SipAddress.CONTENT_ITEM_TYPE -> kind = "sip"
- CommonDataKinds.Photo.CONTENT_ITEM_TYPE -> kind = "thumb"
- CommonDataKinds.Phone.CONTENT_ITEM_TYPE -> kind = "tel"
- }
- Log.d(TAG, "got $id, $name, $kind - $data")
- var info: MutableList
- if (contacts.containsKey(id)) {
- info = contacts[id]!!
- } else {
- info = mutableListOf()
- info.add("name = $name")
- info.add("thumb = $thumb")
- contacts[id] = info
- }
- info.add("$kind = $data")
- }
- cur?.close()
- return contacts
- }
-
}
}
-
-
diff --git a/app/src/main/kotlin/com/tutpro/baresip/ContactsActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/ContactsActivity.kt
index d87ce80f..93951c7f 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/ContactsActivity.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/ContactsActivity.kt
@@ -4,6 +4,7 @@ import android.app.Activity
import android.content.*
import android.os.Bundle
import android.os.SystemClock
+import android.view.Menu
import androidx.appcompat.app.AppCompatActivity
import android.view.MenuItem
import androidx.activity.result.contract.ActivityResultContracts
@@ -57,6 +58,11 @@ class ContactsActivity : AppCompatActivity() {
}
+ override fun onCreateOptionsMenu(menu: Menu): Boolean {
+ menuInflater.inflate(R.menu.swap_contacts_icon, menu)
+ return super.onCreateOptionsMenu(menu)
+ }
+
override fun onResume() {
super.onResume()
@@ -68,6 +74,17 @@ class ContactsActivity : AppCompatActivity() {
when (item.itemId) {
+ R.id.swapContactsIcon -> {
+ if (SystemClock.elapsedRealtime() - lastClick > 1000) {
+ lastClick = SystemClock.elapsedRealtime()
+ val intent = Intent(this, AndroidContactsActivity::class.java)
+ intent.putExtra("aor", aor)
+ startActivity(intent)
+ finish()
+ return true
+ }
+ }
+
android.R.id.home -> {
BaresipService.activities.remove("contacts,$aor")
setResult(Activity.RESULT_OK, Intent())
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 164b8320..f844c98d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -358,10 +358,13 @@
Profile image
Contacts
+ baresip Contacts
Do you want to call or send message to \'%1$s\'?
Send Message
Do you want to delete contact \'%1$s\'?
Your maximum number of contacts %1$d has been exceeded.
+
+ Android Contacts
Alert
Info