moezbhatti / qksms

The most beautiful SMS messenger for Android
https://qklabs.com/download
GNU General Public License v3.0
4.42k stars 1.06k forks source link

Crash when I add a number to the block list #1932

Open timea-techgirl opened 1 year ago

timea-techgirl commented 1 year ago

DESCRIPTION

Qksms crashes when I manually add a number to the block list. Or when I tap on the X button next to a number in the block list.

STEPS

  1. Pull the navigation bar and select "Blocking"
  2. Tap on the + button, input a number and tap "Block" and the app crashes
  3. Or pressing the X button next to a blocked contact crashes the app as well.

EXPECTED

App shouldn't crash. The action must be completed.

OBSERVATIONS

App freezes and crashes. Here is the crash report.

Process: com.moez.QKSMS
PID: 32021
UID: 10460
Flags: 0x20e8be44
Package: com.moez.QKSMS v2220 (3.10.1)
Foreground: Yes
Process-Runtime: 2947575935

io.reactivex.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | io.realm.exceptions.RealmException: Running transactions on the UI thread has been disabled. It can be enabled by setting 'RealmConfiguration.Builder.allowWritesOnUiThread(true)'.
    at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704)
    at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:701)
    at io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:77)
    at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:67)
    at com.uber.rxdogtag.DogTagObserver.lambda$onNext$3(DogTagObserver.java:56)
    at com.uber.rxdogtag.DogTagObserver.$r8$lambda$f0wJW-YqP_qhxycZAJ7_fzpO5xs(Unknown Source:0)
    at com.uber.rxdogtag.DogTagObserver$$ExternalSyntheticLambda5.run(Unknown Source:4)
    at com.uber.rxdogtag.RxDogTag.guardedDelegateCall(RxDogTag.java:221)
    at com.uber.rxdogtag.DogTagObserver.onNext(DogTagObserver.java:56)
    at com.uber.autodispose.HalfSerializer.onNext(HalfSerializer.java:121)
    at com.uber.autodispose.AutoDisposingObserverImpl.onNext(AutoDisposingObserverImpl.java:85)
    at com.uber.rxdogtag.DogTagObserver.lambda$onNext$3(DogTagObserver.java:56)
    at com.uber.rxdogtag.DogTagObserver.$r8$lambda$f0wJW-YqP_qhxycZAJ7_fzpO5xs(Unknown Source:0)
    at com.uber.rxdogtag.DogTagObserver$$ExternalSyntheticLambda5.run(Unknown Source:4)
    at com.uber.rxdogtag.RxDogTag.guardedDelegateCall(RxDogTag.java:221)
    at com.uber.rxdogtag.DogTagObserver.onNext(DogTagObserver.java:56)
    at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeOnObserver.onNext(ObservableSubscribeOn.java:58)
    at io.reactivex.subjects.PublishSubject$PublishDisposable.onNext(PublishSubject.java:308)
    at io.reactivex.subjects.PublishSubject.onNext(PublishSubject.java:228)
    at com.moez.QKSMS.feature.blocking.numbers.BlockedNumbersController.showAddDialog$lambda$0(BlockedNumbersController.kt:84)
    at com.moez.QKSMS.feature.blocking.numbers.BlockedNumbersController.$r8$lambda$QH_X5p53ElzdakTscXruKdLdfMs(Unknown Source:0)
    at com.moez.QKSMS.feature.blocking.numbers.BlockedNumbersController$$ExternalSyntheticLambda0.onClick(Unknown Source:4)
    at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:210)
    at android.os.Looper.loop(Looper.java:299)
    at android.app.ActivityThread.main(ActivityThread.java:8213)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)
Caused by: io.realm.exceptions.RealmException: Running transactions on the UI thread has been disabled. It can be enabled by setting 'RealmConfiguration.Builder.allowWritesOnUiThread(true)'.
    at com.moez.QKSMS.feature.blocking.numbers.BlockedNumbersPresenter.bindIntents(BlockedNumbersPresenter.kt:59)
    at [[ ↑↑ Inferred subscribe point ↑↑ ]].(:0)
    at [[ Originating callback: onNext ]].(:0)
    at [[ ↓↓ Original trace ↓↓ ]].(:0)
    at io.realm.BaseRealm.checkAllowWritesOnUiThread(BaseRealm.java:553)
    at io.realm.Realm.executeTransaction(Realm.java:1629)
    at com.moez.QKSMS.repository.BlockingRepositoryImpl.blockNumber(BlockingRepositoryImpl.kt:44)
    at com.moez.QKSMS.feature.blocking.numbers.BlockedNumbersPresenter$bindIntents$4.invoke(BlockedNumbersPresenter.kt:59)
    at com.moez.QKSMS.feature.blocking.numbers.BlockedNumbersPresenter$bindIntents$4.invoke(BlockedNumbersPresenter.kt:59)
    at com.moez.QKSMS.feature.blocking.numbers.BlockedNumbersPresenter.bindIntents$lambda$3(BlockedNumbersPresenter.kt:59)
    at com.moez.QKSMS.feature.blocking.numbers.BlockedNumbersPresenter.$r8$lambda$XirwJ1LyllrDkAC479PVPatHkHQ(Unknown Source:0)
    at com.moez.QKSMS.feature.blocking.numbers.BlockedNumbersPresenter$$ExternalSyntheticLambda3.accept(Unknown Source:2)
    at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63)
    ... 26 more