mirror of https://github.com/M66B/FairEmail.git
Prevent crash
This commit is contained in:
parent
2c123b7902
commit
c7ba0cb058
|
@ -62,17 +62,17 @@ public class TwoStateOwner implements LifecycleOwner {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
registry.setCurrentState(Lifecycle.State.CREATED);
|
setState(Lifecycle.State.CREATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
void start() {
|
void start() {
|
||||||
if (!registry.getCurrentState().equals(Lifecycle.State.DESTROYED))
|
if (!registry.getCurrentState().equals(Lifecycle.State.DESTROYED))
|
||||||
registry.setCurrentState(Lifecycle.State.STARTED);
|
setState(Lifecycle.State.STARTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
void stop() {
|
void stop() {
|
||||||
if (!registry.getCurrentState().equals(Lifecycle.State.DESTROYED))
|
if (!registry.getCurrentState().equals(Lifecycle.State.DESTROYED))
|
||||||
registry.setCurrentState(Lifecycle.State.CREATED);
|
setState(Lifecycle.State.CREATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
void restart() {
|
void restart() {
|
||||||
|
@ -88,9 +88,9 @@ public class TwoStateOwner implements LifecycleOwner {
|
||||||
void destroy() {
|
void destroy() {
|
||||||
Lifecycle.State state = registry.getCurrentState();
|
Lifecycle.State state = registry.getCurrentState();
|
||||||
if (!state.equals(Lifecycle.State.CREATED))
|
if (!state.equals(Lifecycle.State.CREATED))
|
||||||
registry.setCurrentState(Lifecycle.State.CREATED);
|
setState(Lifecycle.State.CREATED);
|
||||||
if (!state.equals(Lifecycle.State.DESTROYED))
|
if (!state.equals(Lifecycle.State.DESTROYED))
|
||||||
registry.setCurrentState(Lifecycle.State.DESTROYED);
|
setState(Lifecycle.State.DESTROYED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
|
@ -98,4 +98,24 @@ public class TwoStateOwner implements LifecycleOwner {
|
||||||
public Lifecycle getLifecycle() {
|
public Lifecycle getLifecycle() {
|
||||||
return registry;
|
return registry;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setState(@NonNull Lifecycle.State state) {
|
||||||
|
try {
|
||||||
|
registry.setCurrentState(state);
|
||||||
|
} catch (Throwable ex) {
|
||||||
|
Log.e(ex);
|
||||||
|
/*
|
||||||
|
java.lang.RuntimeException: Failed to call observer method
|
||||||
|
at androidx.lifecycle.ClassesInfoCache$MethodReference.invokeCallback(SourceFile:226)
|
||||||
|
at androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeMethodsForEvent(SourceFile:194)
|
||||||
|
at androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeCallbacks(SourceFile:186)
|
||||||
|
at androidx.lifecycle.ReflectiveGenericLifecycleObserver.onStateChanged(SourceFile:37)
|
||||||
|
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(SourceFile:361)
|
||||||
|
at androidx.lifecycle.LifecycleRegistry.backwardPass(SourceFile:316)
|
||||||
|
at androidx.lifecycle.LifecycleRegistry.sync(SourceFile:334)
|
||||||
|
at androidx.lifecycle.LifecycleRegistry.moveToState(SourceFile:145)
|
||||||
|
at androidx.lifecycle.LifecycleRegistry.setCurrentState(SourceFile:118)
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue