Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a7341f49 authored by Romain Hunault's avatar Romain Hunault 💻
Browse files

Merge branch 'issue_#756_fixed' into 'master'

#756 System disrespects preselected SIM card choice

See merge request e/apps/Message!26
parents 3019f587 554d1046
Loading
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -28,9 +28,11 @@ import android.content.Intent
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.provider.ContactsContract
import android.provider.MediaStore
import android.text.format.DateFormat
import android.util.Log
import android.view.Menu
import android.view.MenuItem
import androidx.appcompat.app.AlertDialog
@@ -107,6 +109,7 @@ class ComposeActivity : QkThemedActivity(), ComposeView {
    override val inputContentIntent by lazy { message.inputContentSelected }
    override val scheduleSelectedIntent: Subject<Long> = PublishSubject.create()
    override val changeSimIntent by lazy { sim.clicks() }
    override val selectPreferredSIM by lazy { viewSelectPreferredSim.clicks()}
    override val scheduleCancelIntent by lazy { scheduledCancel.clicks() }
    override val sendIntent by lazy { send.clicks() }
    override val viewQksmsPlusIntent: Subject<Unit> = PublishSubject.create()
@@ -159,6 +162,24 @@ class ComposeActivity : QkThemedActivity(), ComposeView {
            composeBackground.setBackgroundTint(resolveThemeColor(R.attr.composeBackground))
        }
    }
    override fun onResume() {
        super.onResume()

        Handler().postDelayed({
            //call selectPreferredSIM in ComposeViewModel.kt
            viewSelectPreferredSim.performClick();
        }, 600)
    }

    override fun onPostResume() {
        super.onPostResume()

        Handler().postDelayed({
            //call selectPreferredSIM in ComposeViewModel.kt
            viewSelectPreferredSim.performClick();
        }, 2000)
    }


    override fun onStart() {
        super.onStart()
+1 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ interface ComposeView : QkView<ComposeState> {
    val scheduleSelectedIntent: Observable<Long>
    val scheduleCancelIntent: Observable<*>
    val changeSimIntent: Observable<*>
    val selectPreferredSIM: Observable<*>
    val sendIntent: Observable<Unit>
    val viewQksmsPlusIntent: Subject<Unit>
    val backPressedIntent: Observable<Unit>
+20 −0
Original line number Diff line number Diff line
@@ -20,9 +20,13 @@ package com.moez.QKSMS.feature.compose

import android.content.Context
import android.net.Uri
import android.os.Build
import android.provider.ContactsContract
import android.telephony.SmsManager
import android.telephony.SmsMessage
import android.util.Log
import android.view.inputmethod.EditorInfo
import androidx.annotation.RequiresApi
import com.moez.QKSMS.R
import com.moez.QKSMS.common.Navigator
import com.moez.QKSMS.common.base.QkViewModel
@@ -219,6 +223,7 @@ class ComposeViewModel @Inject constructor(
        }
    }

    @RequiresApi(Build.VERSION_CODES.LOLLIPOP_MR1)
    override fun bindView(view: ComposeView) {
        super.bindView(view)

@@ -612,6 +617,21 @@ class ComposeViewModel @Inject constructor(
                .autoDisposable(view.scope())
                .subscribe()

        //Select preferred sim for send sms in setting
        view.selectPreferredSIM
                .withLatestFrom(state) { _, state ->
                    val subs = subscriptionManager.activeSubscriptionInfoList
                    val smsManager: SmsManager = SmsManager.getDefault()
                    for (i in subs.indices) {
                        if (subs[i].subscriptionId == smsManager.subscriptionId) {
                            newState { copy(subscription = subs[i]) }
                            break
                        }
                    }
                }
                .autoDisposable(view.scope())
                .subscribe()

        // Send a message when the send button is clicked, and disable editing mode if it's enabled
        view.sendIntent
                .filter { permissionManager.isDefaultSms().also { if (!it) view.requestDefaultSms() } }
+7 −0
Original line number Diff line number Diff line
@@ -308,6 +308,13 @@
        tools:ignore="SpUsage"
        tools:text="1" />

    <View
        android:id="@+id/viewSelectPreferredSim"
        android:visibility="gone"
        android:layout_width="1dp"
        android:layout_height="1dp"
        tools:ignore="MissingConstraints" />

    <com.moez.QKSMS.common.widget.QkTextView
        android:id="@+id/counter"
        android:layout_width="0dp"