The crash happened because #getNextClosestEvent was called when mmsDatabase was null, which would normally be impossible. However, it seems implied that somehow #getNextClosestEvent was being called in the parent constructor before the child class was fully initialized. That would imply that the looper was called synchronously in some freak scenario, but it's the only explanation. So I added a delay to the call in the parent constructor. ```java java.lang.NullPointerException: at org.thoughtcrime.securesms.revealable.RevealableMessageManager.getNextClosestEvent (RevealableMessageManager.java:40) at org.thoughtcrime.securesms.revealable.RevealableMessageManager.getNextClosestEvent (RevealableMessageManager.java:23) at org.thoughtcrime.securesms.service.TimedEventManager.lambda$scheduleIfNecessary$1 (TimedEventManager.java:44) at org.thoughtcrime.securesms.service.-$$Lambda$TimedEventManager$kZDO3F2WBQVtGx-SkAgEDt8jCeU.run (Unknown Source:2) at android.os.Handler.handleCallback (Handler.java:873) at android.os.Handler.dispatchMessage (Handler.java:99) at android.os.Looper.loop (Looper.java:193) at android.os.HandlerThread.run (HandlerThread.java:65) ``` |
||
---|---|---|
.. | ||
org/thoughtcrime/securesms |