Closed Nriver closed 2 years ago
Thanks, I'll check it out!
On Thu, Nov 4, 2021, 06:53 Nriver @.***> wrote:
Describe the bug
App crash when modify "Pre-alarm duration". To Reproduce
Clone the latetest code from repo and build it with Android Studio. Run the app on my phone and modify "Pre-alarm duration" in settings, the app will crash. Logs
Some output in logcat.
D/ViewRootImpl: enqueueInputEventMotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=393.75, y[0]=552.25, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=103793789, downTime=103793789, deviceId=2, source=0x1002, displayId=0 }
D/ViewRootImpl[SettingsActivity]: processMotionEvent MotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=393.75, y[0]=552.25, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=103793789, downTime=103793789, deviceId=2, source=0x1002, displayId=0 }
D/ViewRootImpl[SettingsActivity]: dispatchPointerEvent handled=true, event=MotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=393.75, y[0]=552.25, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=103793789, downTime=103793789, deviceId=2, source=0x1002, displayId=0 }
D/ViewRootImpl[SettingsActivity]: processMotionEvent MotionEvent { action=ACTION_UP, actionButton=0, id[0]=0, x[0]=393.75, y[0]=552.25, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=103793844, downTime=103793789, deviceId=2, source=0x1002, displayId=0 }
D/ViewRootImpl[SettingsActivity]: dispatchPointerEvent handled=true, event=MotionEvent { action=ACTION_UP, actionButton=0, id[0]=0, x[0]=393.75, y[0]=552.25, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=103793844, downTime=103793789, deviceId=2, source=0x1002, displayId=0 }
D/OpenGLRenderer: endAllActiveAnimators on 0xb400007a76d03d00 (AlertController$RecycleListView) with handle 0xb400007ae6681b00
D/AlarmCore: [main] - [Alarm 1] event PrealarmDurationChanged -> (DisabledState > RootState)
W/System.err: 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 | java.lang.RuntimeException: Unhandled event: PrealarmDurationChanged
W/System.err: 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 io.reactivex.internal.operators.observable.ObservableSkip$SkipObserver.onNext(ObservableSkip.java:56) at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:62) at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:62) at io.reactivex.internal.operators.observable.ObservableFilter$FilterObserver.onNext(ObservableFilter.java:52) at io.reactivex.internal.operators.observable.ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver.onNext(ObservableConcatMap.java:506) at io.reactivex.internal.operators.observable.ObservableRefCount$RefCountObserver.onNext(ObservableRefCount.java:227) at io.reactivex.internal.operators.observable.ObservablePublishAlt$PublishConnection.onNext(ObservablePublishAlt.java:177) at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onNext(ObservableCreate.java:66) at com.better.alarm.stores.SharedRxDataStoreFactory$keyChanges$1$listener$1.onSharedPreferenceChanged(SharedRxDataStoreFactory.kt:59) at android.app.SharedPreferencesImpl$EditorImpl.notifyListeners(SharedPreferencesImpl.java:637) at android.app.SharedPreferencesImpl$EditorImpl.apply(SharedPreferencesImpl.java:511) at androidx.preference.Preference.tryCommit(Preference.java:1632) at androidx.preference.Preference.persistString(Preference.java:1663) at androidx.preference.ListPreference.setValue(ListPreference.java:190) at androidx.preference.ListPreferenceDialogFragmentCompat.onDialogClosed(ListPreferenceDialogFragmentCompat.java:108) at androidx.preference.PreferenceDialogFragmentCompat.onDismiss(PreferenceDialogFragmentCompat.java:265) at androidx.fragment.app.DialogFragment$3.onDismiss(DialogFragment.java:120) at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1424) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:260) at android.app.ActivityThread.main(ActivityThread.java:8260) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1006)
W/System.err: Caused by: java.lang.RuntimeException: Unhandled event: PrealarmDurationChanged
at com.better.alarm.model.AlarmCore$RootState.onEvent(AlarmCore.kt:202) at com.better.alarm.model.AlarmCore$RootState.onEvent(AlarmCore.kt:199) at com.better.alarm.statemachine.StateMachine.sendEvent(StateMachine.kt:158) at com.better.alarm.model.AlarmCore._init_$lambda-0(AlarmCore.kt:149) at com.better.alarm.model.AlarmCore.$r8$lambda$tGW0lBtaF0xMDZhI0SuKJFMnBzQ(Unknown Source:0) at com.better.alarm.model.AlarmCore$$ExternalSyntheticLambda0.accept(Unknown Source:4) at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63) ... 24 more
E/BugReporter: [main] - Uncaught exception 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 | java.lang.RuntimeException: Unhandled event: PrealarmDurationChanged
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 | java.lang.RuntimeException: Unhandled event: PrealarmDurationChanged 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 io.reactivex.internal.operators.observable.ObservableSkip$SkipObserver.onNext(ObservableSkip.java:56) at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:62) at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:62) at io.reactivex.internal.operators.observable.ObservableFilter$FilterObserver.onNext(ObservableFilter.java:52) at io.reactivex.internal.operators.observable.ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver.onNext(ObservableConcatMap.java:506) at io.reactivex.internal.operators.observable.ObservableRefCount$RefCountObserver.onNext(ObservableRefCount.java:227) at io.reactivex.internal.operators.observable.ObservablePublishAlt$PublishConnection.onNext(ObservablePublishAlt.java:177) at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onNext(ObservableCreate.java:66) at com.better.alarm.stores.SharedRxDataStoreFactory$keyChanges$1$listener$1.onSharedPreferenceChanged(SharedRxDataStoreFactory.kt:59) at android.app.SharedPreferencesImpl$EditorImpl.notifyListeners(SharedPreferencesImpl.java:637) at android.app.SharedPreferencesImpl$EditorImpl.apply(SharedPreferencesImpl.java:511) at androidx.preference.Preference.tryCommit(Preference.java:1632) at androidx.preference.Preference.persistString(Preference.java:1663) at androidx.preference.ListPreference.setValue(ListPreference.java:190) at androidx.preference.ListPreferenceDialogFragmentCompat.onDialogClosed(ListPreferenceDialogFragmentCompat.java:108) at androidx.preference.PreferenceDialogFragmentCompat.onDismiss(PreferenceDialogFragmentCompat.java:265) at androidx.fragment.app.DialogFragment$3.onDismiss(DialogFragment.java:120) at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1424) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:260) at android.app.ActivityThread.main(ActivityThread.java:8260) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1006) Caused by: java.lang.RuntimeException: Unhandled event: PrealarmDurationChanged at com.better.alarm.model.AlarmCore$RootState.onEvent(AlarmCore.kt:202) at com.better.alarm.model.AlarmCore$RootState.onEvent(AlarmCore.kt:199) at com.better.alarm.statemachine.StateMachine.sendEvent(StateMachine.kt:158) at com.better.alarm.model.AlarmCore._init_$lambda-0(AlarmCore.kt:149) at com.better.alarm.model.AlarmCore.$r8$lambda$tGW0lBtaF0xMDZhI0SuKJFMnBzQ(Unknown Source:0) at com.better.alarm.model.AlarmCore$$ExternalSyntheticLambda0.accept(Unknown Source:4) at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63) ... 24 common frames omitted
I/ACRA: Sending report /data/user/0/com.better.alarm.debug/app_ACRA-approved/2021-11-04T11:42:07.838+08:00.stacktrace
W/Bundle: Key android.intent.extra.TEXT expected ArrayList
but value was a java.lang.String. The default value was returned. W/Bundle: Attempt to cast generated internal exception:
java.lang.ClassCastException: java.lang.String cannot be cast to java.util.ArrayList at android.os.BaseBundle.getCharSequenceArrayList(BaseBundle.java:1351) at android.os.Bundle.getCharSequenceArrayList(Bundle.java:1145) at android.content.Intent.getCharSequenceArrayListExtra(Intent.java:8391) at android.content.Intent.migrateExtraStreamToClipData(Intent.java:11404) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1723) at android.app.ContextImpl.startActivity(ContextImpl.java:1059) at android.app.ContextImpl.startActivity(ContextImpl.java:1017) at android.content.ContextWrapper.startActivity(ContextWrapper.java:413) at org.acra.sender.EmailIntentSender.send(EmailIntentSender.java:101) at org.acra.sender.ReportSender.send(ReportSender.java:54) at org.acra.sender.ReportDistributor.sendCrashReport(ReportDistributor.java:115) at org.acra.sender.ReportDistributor.distribute(ReportDistributor.java:80) at org.acra.sender.SendingConductor.sendReports(SendingConductor.java:70) at org.acra.scheduler.DefaultSenderScheduler.scheduleReportSending(DefaultSenderScheduler.java:70) at org.acra.scheduler.SchedulerStarter.scheduleReports(SchedulerStarter.java:66) at org.acra.builder.ReportExecutor.sendReport(ReportExecutor.java:248) at org.acra.builder.ReportExecutor.execute(ReportExecutor.java:183) at org.acra.builder.ReportBuilder.build(ReportBuilder.java:183) at org.acra.reporter.ErrorReporterImpl.handleException(ErrorReporterImpl.java:206) at org.acra.reporter.ErrorReporterImpl.handleException(ErrorReporterImpl.java:214) at com.better.alarm.bugreports.BugReporter.attachToMainThread$lambda-4(BugReporter.kt:68) at com.better.alarm.bugreports.BugReporter.$r8$lambda$rqcnpRaz7fl9d5xns7KsLOxNrcQ(Unknown Source:0) at com.better.alarm.bugreports.BugReporter$$ExternalSyntheticLambda0.uncaughtException(Unknown Source:4) at io.reactivex.plugins.RxJavaPlugins.uncaught(RxJavaPlugins.java:429) at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:383) 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 io.reactivex.internal.operators.observable.ObservableSkip$SkipObserver.onNext(ObservableSkip.java:56) at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:62) at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:62) at io.reactivex.internal.operators.observable.ObservableFilter$FilterObserver.onNext(ObservableFilter.java:52) at io.reactivex.internal.operators.observable.ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver.onNext(ObservableConcatMap.java:506) at io.reactivex.internal.operators.observable.ObservableRefCount$RefCountObserver.onNext(ObservableRefCount.java:227) at io.reactivex.internal.operators.observable.ObservablePublishAlt$PublishConnection.onNext(ObservablePublishAlt.java:177) at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onNext(ObservableCreate.java:66) at com.better.alarm.stores.SharedRxDataStoreFactory$keyChanges$1$listener$1.onSharedPreferenceChanged(SharedRxDataStoreFactory.kt:59) at android.app.SharedPreferencesImpl$EditorImpl.notifyListeners(SharedPreferencesImpl.java:637) at android.app.SharedPreferencesImpl$EditorImpl.apply(SharedPreferencesImpl.java:511) at androidx.preference.Preference.tryCommit(Preference.java:1632) at androidx.preference.Preference.persistString(Preference.java:1663) at androidx.preference.ListPreference.setValue(ListPreference.java:190) at androidx.preference.ListPreferenceDialogFragmentCompat.onDialogClosed(ListPreferenceDialogFragmentCompat.java:108) at androidx.preference.PreferenceDialogFragmentCompat.onDismiss(PreferenceDialogFragmentCompat.java:265) at androidx.fragment.app.DialogFragment$3.onDismiss(DialogFragment.java:120) at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1424) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:260) at android.app.ActivityThread.main(ActivityThread.java:8260) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1006)
E/Parcel: Reading a NULL string not supported here.
E/ACRA: ACRA caught a OnErrorNotImplementedException for com.better.alarm.debug
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 | java.lang.RuntimeException: Unhandled event: PrealarmDurationChanged 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 io.reactivex.internal.operators.observable.ObservableSkip$SkipObserver.onNext(ObservableSkip.java:56) at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:62) at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:62) at io.reactivex.internal.operators.observable.ObservableFilter$FilterObserver.onNext(ObservableFilter.java:52) at io.reactivex.internal.operators.observable.ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver.onNext(ObservableConcatMap.java:506) at io.reactivex.internal.operators.observable.ObservableRefCount$RefCountObserver.onNext(ObservableRefCount.java:227) at io.reactivex.internal.operators.observable.ObservablePublishAlt$PublishConnection.onNext(ObservablePublishAlt.java:177) at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onNext(ObservableCreate.java:66) at com.better.alarm.stores.SharedRxDataStoreFactory$keyChanges$1$listener$1.onSharedPreferenceChanged(SharedRxDataStoreFactory.kt:59) at android.app.SharedPreferencesImpl$EditorImpl.notifyListeners(SharedPreferencesImpl.java:637) at android.app.SharedPreferencesImpl$EditorImpl.apply(SharedPreferencesImpl.java:511) at androidx.preference.Preference.tryCommit(Preference.java:1632) at androidx.preference.Preference.persistString(Preference.java:1663) at androidx.preference.ListPreference.setValue(ListPreference.java:190) at androidx.preference.ListPreferenceDialogFragmentCompat.onDialogClosed(ListPreferenceDialogFragmentCompat.java:108) at androidx.preference.PreferenceDialogFragmentCompat.onDismiss(PreferenceDialogFragmentCompat.java:265) at androidx.fragment.app.DialogFragment$3.onDismiss(DialogFragment.java:120) at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1424) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:260) at android.app.ActivityThread.main(ActivityThread.java:8260) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1006) Caused by: java.lang.RuntimeException: Unhandled event: PrealarmDurationChanged at com.better.alarm.model.AlarmCore$RootState.onEvent(AlarmCore.kt:202) at com.better.alarm.model.AlarmCore$RootState.onEvent(AlarmCore.kt:199) at com.better.alarm.statemachine.StateMachine.sendEvent(StateMachine.kt:158) at com.better.alarm.model.AlarmCore._init_$lambda-0(AlarmCore.kt:149) at com.better.alarm.model.AlarmCore.$r8$lambda$tGW0lBtaF0xMDZhI0SuKJFMnBzQ(Unknown Source:0) at com.better.alarm.model.AlarmCore$$ExternalSyntheticLambda0.accept(Unknown Source:4) at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63) at io.reactivex.internal.operators.observable.ObservableSkip$SkipObserver.onNext(ObservableSkip.java:56) at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:62) at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:62) at io.reactivex.internal.operators.observable.ObservableFilter$FilterObserver.onNext(ObservableFilter.java:52) at io.reactivex.internal.operators.observable.ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver.onNext(ObservableConcatMap.java:506) at io.reactivex.internal.operators.observable.ObservableRefCount$RefCountObserver.onNext(ObservableRefCount.java:227) at io.reactivex.internal.operators.observable.ObservablePublishAlt$PublishConnection.onNext(ObservablePublishAlt.java:177) at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onNext(ObservableCreate.java:66) at com.better.alarm.stores.SharedRxDataStoreFactory$keyChanges$1$listener$1.onSharedPreferenceChanged(SharedRxDataStoreFactory.kt:59) at android.app.SharedPreferencesImpl$EditorImpl.notifyListeners(SharedPreferencesImpl.java:637) at android.app.SharedPreferencesImpl$EditorImpl.apply(SharedPreferencesImpl.java:511) at androidx.preference.Preference.tryCommit(Preference.java:1632) at androidx.preference.Preference.persistString(Preference.java:1663) at androidx.preference.ListPreference.setValue(ListPreference.java:190) at androidx.preference.ListPreferenceDialogFragmentCompat.onDialogClosed(ListPreferenceDialogFragmentCompat.java:108) at androidx.preference.PreferenceDialogFragmentCompat.onDismiss(PreferenceDialogFragmentCompat.java:265) at androidx.fragment.app.DialogFragment$3.onDismiss(DialogFragment.java:120) at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1424) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:260) at android.app.ActivityThread.main(ActivityThread.java:8260) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1006)
I/ACRA: Sending report /data/user/0/com.better.alarm.debug/app_ACRA-approved/2021-11-04T11:42:07.884+08:00.stacktrace
W/Bundle: Key android.intent.extra.TEXT expected ArrayList
but value was a java.lang.String. The default value was returned. Attempt to cast generated internal exception: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.ArrayList at android.os.BaseBundle.getCharSequenceArrayList(BaseBundle.java:1351) at android.os.Bundle.getCharSequenceArrayList(Bundle.java:1145) at android.content.Intent.getCharSequenceArrayListExtra(Intent.java:8391) at android.content.Intent.migrateExtraStreamToClipData(Intent.java:11404) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1723) at android.app.ContextImpl.startActivity(ContextImpl.java:1059) at android.app.ContextImpl.startActivity(ContextImpl.java:1017) at android.content.ContextWrapper.startActivity(ContextWrapper.java:413) at org.acra.sender.EmailIntentSender.send(EmailIntentSender.java:101) at org.acra.sender.ReportSender.send(ReportSender.java:54) at org.acra.sender.ReportDistributor.sendCrashReport(ReportDistributor.java:115) at org.acra.sender.ReportDistributor.distribute(ReportDistributor.java:80) at org.acra.sender.SendingConductor.sendReports(SendingConductor.java:70) at org.acra.scheduler.DefaultSenderScheduler.scheduleReportSending(DefaultSenderScheduler.java:70) at org.acra.scheduler.SchedulerStarter.scheduleReports(SchedulerStarter.java:66) at org.acra.builder.ReportExecutor.sendReport(ReportExecutor.java:248) at org.acra.builder.ReportExecutor.execute(ReportExecutor.java:183) at org.acra.builder.ReportBuilder.build(ReportBuilder.java:183) at org.acra.reporter.ErrorReporterImpl.uncaughtException(ErrorReporterImpl.java:161) at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1073) at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068) at com.better.alarm.bugreports.BugReporter.attachToMainThread$lambda-4(BugReporter.kt:69) at com.better.alarm.bugreports.BugReporter.$r8$lambda$rqcnpRaz7fl9d5xns7KsLOxNrcQ(Unknown Source:0) at com.better.alarm.bugreports.BugReporter$$ExternalSyntheticLambda0.uncaughtException(Unknown Source:4) at io.reactivex.plugins.RxJavaPlugins.uncaught(RxJavaPlugins.java:429) at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:383) 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 io.reactivex.internal.operators.observable.ObservableSkip$SkipObserver.onNext(ObservableSkip.java:56) at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:62) at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(ObservableMap.java:62) at io.reactivex.internal.operators.observable.ObservableFilter$FilterObserver.onNext(ObservableFilter.java:52) at io.reactivex.internal.operators.observable.ObservableConcatMap$ConcatMapDelayErrorObserver$DelayErrorInnerObserver.onNext(ObservableConcatMap.java:506) at io.reactivex.internal.operators.observable.ObservableRefCount$RefCountObserver.onNext(ObservableRefCount.java:227) at io.reactivex.internal.operators.observable.ObservablePublishAlt$PublishConnection.onNext(ObservablePublishAlt.java:177) at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onNext(ObservableCreate.java:66) at com.better.alarm.stores.SharedRxDataStoreFactory$keyChanges$1$listener$1.onSharedPreferenceChanged(SharedRxDataStoreFactory.kt:59) at android.app.SharedPreferencesImpl$EditorImpl.notifyListeners(SharedPreferencesImpl.java:637) at android.app.SharedPreferencesImpl$EditorImpl.apply(SharedPreferencesImpl.java:511) at androidx.preference.Preference.tryCommit(Preference.java:1632) at androidx.preference.Preference.persistString(Preference.java:1663) at androidx.preference.ListPreference.setValue(ListPreference.java:190) at androidx.preference.ListPreferenceDialogFragmentCompat.onDialogClosed(ListPreferenceDialogFragmentCompat.java:108) at androidx.preference.PreferenceDialogFragmentCompat.onDismiss(PreferenceDialogFragmentCompat.java:265) at androidx.fragment.app.DialogFragment$3.onDismiss(DialogFragment.java:120) at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1424) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:260) at android.app.ActivityThread.main(ActivityThread.java:8260) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1006)
E/Parcel: Reading a NULL string not supported here.
I/Process: Sending signal. PID: 13767 SIG: 9
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/yuriykulikov/AlarmClock/issues/389, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGKDEUC42XUQGW3S4DHE33UKINUPANCNFSM5HKUOVJQ .
Ok, this is reproduced when there is at least one disabled alarm AND we are in the debug mode. Production is not affected by this issue.
Describe the bug
App crash when modify "Pre-alarm duration".
To Reproduce
Clone the latetest code from repo and build it with Android Studio. Run the app on my phone and modify "Pre-alarm duration" in settings, the app will crash.
Logs
Some output in logcat.