@@ -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
0 commit comments