Loading presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeActivity.kt +21 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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() Loading Loading @@ -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() Loading presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeView.kt +1 −0 Original line number Diff line number Diff line Loading @@ -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> Loading presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeViewModel.kt +20 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -219,6 +223,7 @@ class ComposeViewModel @Inject constructor( } } @RequiresApi(Build.VERSION_CODES.LOLLIPOP_MR1) override fun bindView(view: ComposeView) { super.bindView(view) Loading Loading @@ -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() } } Loading presentation/src/main/res/layout/compose_activity.xml +7 −0 Original line number Diff line number Diff line Loading @@ -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" Loading Loading
presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeActivity.kt +21 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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() Loading Loading @@ -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() Loading
presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeView.kt +1 −0 Original line number Diff line number Diff line Loading @@ -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> Loading
presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeViewModel.kt +20 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -219,6 +223,7 @@ class ComposeViewModel @Inject constructor( } } @RequiresApi(Build.VERSION_CODES.LOLLIPOP_MR1) override fun bindView(view: ComposeView) { super.bindView(view) Loading Loading @@ -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() } } Loading
presentation/src/main/res/layout/compose_activity.xml +7 −0 Original line number Diff line number Diff line Loading @@ -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" Loading