Skip to content

Commit f5d3c2a

Browse files
committed
allow toggling SIM cards at sending messages
1 parent 49a7cd9 commit f5d3c2a

File tree

3 files changed

+32
-3
lines changed

3 files changed

+32
-3
lines changed

app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,12 @@ class ThreadActivity : SimpleActivity() {
5050
private val PICK_ATTACHMENT_INTENT = 1
5151

5252
private var threadId = 0
53+
private var currentSIMCardIndex = 0
5354
private var threadItems = ArrayList<ThreadItem>()
5455
private var bus: EventBus? = null
5556
private var participants = ArrayList<Contact>()
5657
private var messages = ArrayList<Message>()
58+
private val availableSIMCards = ArrayList<SIMCard>()
5759
private var attachmentUris = LinkedHashSet<Uri>()
5860

5961
override fun onCreate(savedInstanceState: Bundle?) {
@@ -266,10 +268,27 @@ class ThreadActivity : SimpleActivity() {
266268

267269
val availableSIMs = SubscriptionManager.from(this).activeSubscriptionInfoList
268270
if (availableSIMs.size > 1) {
271+
availableSIMs.forEachIndexed { index, subscriptionInfo ->
272+
var label = subscriptionInfo.displayName.toString()
273+
if (subscriptionInfo.number.isNotEmpty()) {
274+
label += " (${subscriptionInfo.number})"
275+
}
276+
val SIMCard = SIMCard(index + 1, subscriptionInfo.subscriptionId, label)
277+
availableSIMCards.add(SIMCard)
278+
}
279+
280+
currentSIMCardIndex = 0
269281
thread_select_sim_icon.applyColorFilter(textColor)
270282
thread_select_sim_icon.beVisible()
271-
thread_select_sim_icon.setOnClickListener {
272-
283+
thread_select_sim_number.beVisible()
284+
285+
if (availableSIMCards.isNotEmpty()) {
286+
thread_select_sim_icon.setOnClickListener {
287+
currentSIMCardIndex = (currentSIMCardIndex + 1) % availableSIMCards.size
288+
val currentSIMCard = availableSIMCards[currentSIMCardIndex]
289+
thread_select_sim_number.text = currentSIMCard.id.toString()
290+
toast(currentSIMCard.label)
291+
}
273292
}
274293

275294
thread_select_sim_number.setTextColor(textColor.getContrastColor())
@@ -447,6 +466,11 @@ class ThreadActivity : SimpleActivity() {
447466
val settings = Settings()
448467
settings.useSystemSending = true
449468

469+
val SIMId = availableSIMCards.getOrNull(currentSIMCardIndex)?.subscriptionId
470+
if (SIMId != null) {
471+
settings.subscriptionId = SIMId
472+
}
473+
450474
val transaction = Transaction(this, settings)
451475
val message = com.klinker.android.send_message.Message(msg, numbers)
452476

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
package com.simplemobiletools.smsmessenger.models
2+
3+
data class SIMCard(val id: Int, val subscriptionId: Int, val label: String)

app/src/main/res/layout/activity_thread.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,8 @@
173173
android:alpha="0.9"
174174
android:background="?selectableItemBackgroundBorderless"
175175
android:padding="@dimen/normal_margin"
176-
android:src="@drawable/ic_sim_vector" />
176+
android:src="@drawable/ic_sim_vector"
177+
android:visibility="gone" />
177178

178179
<TextView
179180
android:id="@+id/thread_select_sim_number"
@@ -185,6 +186,7 @@
185186
android:layout_alignBottom="@+id/thread_select_sim_icon"
186187
android:gravity="center"
187188
android:textSize="@dimen/normal_text_size"
189+
android:visibility="gone"
188190
tools:text="1" />
189191

190192
<ImageView

0 commit comments

Comments
 (0)