Add more lifecycle states, merge lifecycle events.

This commit is contained in:
akwizgran
2018-03-01 14:29:35 +00:00
committed by Torsten Grote
parent db7dbfce68
commit 9a4f0b8e89
10 changed files with 69 additions and 59 deletions

View File

@@ -6,12 +6,12 @@ import android.support.annotation.Nullable;
import android.widget.ImageView;
import android.widget.TextView;
import org.briarproject.bramble.api.db.DatabaseMigrationEvent;
import org.briarproject.bramble.api.event.Event;
import org.briarproject.bramble.api.event.EventBus;
import org.briarproject.bramble.api.event.EventListener;
import org.briarproject.bramble.api.lifecycle.LifecycleManager;
import org.briarproject.bramble.api.lifecycle.event.StartupEvent;
import org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState;
import org.briarproject.bramble.api.lifecycle.event.LifecycleEvent;
import org.briarproject.briar.R;
import org.briarproject.briar.android.activity.ActivityComponent;
import org.briarproject.briar.android.activity.BriarActivity;
@@ -20,8 +20,8 @@ import org.briarproject.briar.android.navdrawer.NavDrawerActivity;
import javax.annotation.ParametersAreNonnullByDefault;
import javax.inject.Inject;
import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.MIGRATING;
import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.RUNNING;
import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.MIGRATING_DATABASE;
import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.STARTING_SERVICES;
@ParametersAreNonnullByDefault
public class OpenDatabaseActivity extends BriarActivity
@@ -52,12 +52,11 @@ public class OpenDatabaseActivity extends BriarActivity
@Override
public void onStart() {
super.onStart();
if (lifecycleManager.getLifecycleState() == RUNNING) {
LifecycleState state = lifecycleManager.getLifecycleState();
if (state.isAfter(STARTING_SERVICES)) {
finishAndStartApp();
} else {
if (lifecycleManager.getLifecycleState() == MIGRATING) {
showMigration();
}
if (state == MIGRATING_DATABASE) showMigration();
eventBus.addListener(this);
}
}
@@ -70,10 +69,12 @@ public class OpenDatabaseActivity extends BriarActivity
@Override
public void eventOccurred(Event e) {
if (e instanceof StartupEvent) {
runOnUiThreadUnlessDestroyed(this::finishAndStartApp);
} else if (e instanceof DatabaseMigrationEvent) {
runOnUiThreadUnlessDestroyed(this::showMigration);
if (e instanceof LifecycleEvent) {
LifecycleState state = ((LifecycleEvent) e).getLifecycleState();
if (state.isAfter(STARTING_SERVICES))
runOnUiThreadUnlessDestroyed(this::finishAndStartApp);
else if (state == MIGRATING_DATABASE)
runOnUiThreadUnlessDestroyed(this::showMigration);
}
}