mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-16 04:39:54 +01:00
Start NavDrawerActivity only after database was opened and services started
This commit is contained in:
@@ -17,7 +17,6 @@ import org.briarproject.bramble.api.lifecycle.LifecycleManager;
|
|||||||
import org.briarproject.bramble.api.lifecycle.LifecycleManager.StartResult;
|
import org.briarproject.bramble.api.lifecycle.LifecycleManager.StartResult;
|
||||||
import org.briarproject.bramble.api.system.AndroidExecutor;
|
import org.briarproject.bramble.api.system.AndroidExecutor;
|
||||||
import org.briarproject.briar.R;
|
import org.briarproject.briar.R;
|
||||||
import org.briarproject.briar.android.login.OpenDatabaseActivity;
|
|
||||||
import org.briarproject.briar.android.navdrawer.NavDrawerActivity;
|
import org.briarproject.briar.android.navdrawer.NavDrawerActivity;
|
||||||
|
|
||||||
import java.util.concurrent.CountDownLatch;
|
import java.util.concurrent.CountDownLatch;
|
||||||
@@ -90,11 +89,6 @@ public class BriarService extends Service {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Intent intent =
|
|
||||||
new Intent(getApplicationContext(), OpenDatabaseActivity.class);
|
|
||||||
intent.setFlags(FLAG_ACTIVITY_NEW_TASK);
|
|
||||||
startActivity(intent);
|
|
||||||
|
|
||||||
// Create notification channels
|
// Create notification channels
|
||||||
if (SDK_INT >= 26) {
|
if (SDK_INT >= 26) {
|
||||||
NotificationManager nm = (NotificationManager)
|
NotificationManager nm = (NotificationManager)
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.briarproject.briar.android.login;
|
package org.briarproject.briar.android.login;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
@@ -13,7 +14,8 @@ import org.briarproject.bramble.api.lifecycle.LifecycleManager;
|
|||||||
import org.briarproject.bramble.api.lifecycle.event.StartupEvent;
|
import org.briarproject.bramble.api.lifecycle.event.StartupEvent;
|
||||||
import org.briarproject.briar.R;
|
import org.briarproject.briar.R;
|
||||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
import org.briarproject.briar.android.activity.ActivityComponent;
|
||||||
import org.briarproject.briar.android.activity.BaseActivity;
|
import org.briarproject.briar.android.activity.BriarActivity;
|
||||||
|
import org.briarproject.briar.android.navdrawer.NavDrawerActivity;
|
||||||
|
|
||||||
import javax.annotation.ParametersAreNonnullByDefault;
|
import javax.annotation.ParametersAreNonnullByDefault;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
@@ -22,7 +24,7 @@ import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleS
|
|||||||
import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.RUNNING;
|
import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.RUNNING;
|
||||||
|
|
||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
public class OpenDatabaseActivity extends BaseActivity
|
public class OpenDatabaseActivity extends BriarActivity
|
||||||
implements EventListener {
|
implements EventListener {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@@ -48,15 +50,10 @@ public class OpenDatabaseActivity extends BaseActivity
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed() {
|
public void onStart() {
|
||||||
// do not let the user bail out of here
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onStart() {
|
|
||||||
super.onStart();
|
super.onStart();
|
||||||
if (lifecycleManager.getLifecycleState() == RUNNING) {
|
if (lifecycleManager.getLifecycleState() == RUNNING) {
|
||||||
supportFinishAfterTransition();
|
finishAndStartApp();
|
||||||
} else {
|
} else {
|
||||||
if (lifecycleManager.getLifecycleState() == MIGRATING) {
|
if (lifecycleManager.getLifecycleState() == MIGRATING) {
|
||||||
showMigration();
|
showMigration();
|
||||||
@@ -74,7 +71,7 @@ public class OpenDatabaseActivity extends BaseActivity
|
|||||||
@Override
|
@Override
|
||||||
public void eventOccurred(Event e) {
|
public void eventOccurred(Event e) {
|
||||||
if (e instanceof StartupEvent) {
|
if (e instanceof StartupEvent) {
|
||||||
runOnUiThreadUnlessDestroyed(this::supportFinishAfterTransition);
|
runOnUiThreadUnlessDestroyed(this::finishAndStartApp);
|
||||||
} else if (e instanceof DatabaseMigrationEvent) {
|
} else if (e instanceof DatabaseMigrationEvent) {
|
||||||
runOnUiThreadUnlessDestroyed(this::showMigration);
|
runOnUiThreadUnlessDestroyed(this::showMigration);
|
||||||
}
|
}
|
||||||
@@ -87,4 +84,9 @@ public class OpenDatabaseActivity extends BaseActivity
|
|||||||
showingMigration = true;
|
showingMigration = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void finishAndStartApp() {
|
||||||
|
startActivity(new Intent(this, NavDrawerActivity.class));
|
||||||
|
supportFinishAfterTransition();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import org.briarproject.briar.R;
|
|||||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
import org.briarproject.briar.android.activity.ActivityComponent;
|
||||||
import org.briarproject.briar.android.activity.BaseActivity;
|
import org.briarproject.briar.android.activity.BaseActivity;
|
||||||
import org.briarproject.briar.android.fragment.BaseFragment.BaseFragmentListener;
|
import org.briarproject.briar.android.fragment.BaseFragment.BaseFragmentListener;
|
||||||
import org.briarproject.briar.android.navdrawer.NavDrawerActivity;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
@@ -48,7 +47,7 @@ public class SetupActivity extends BaseActivity
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void showApp() {
|
public void showApp() {
|
||||||
Intent i = new Intent(this, NavDrawerActivity.class);
|
Intent i = new Intent(this, OpenDatabaseActivity.class);
|
||||||
i.setFlags(FLAG_ACTIVITY_NEW_TASK);
|
i.setFlags(FLAG_ACTIVITY_NEW_TASK);
|
||||||
startActivity(i);
|
startActivity(i);
|
||||||
supportFinishAfterTransition();
|
supportFinishAfterTransition();
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ import org.briarproject.briar.R;
|
|||||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
import org.briarproject.briar.android.activity.ActivityComponent;
|
||||||
import org.briarproject.briar.android.activity.BaseActivity;
|
import org.briarproject.briar.android.activity.BaseActivity;
|
||||||
import org.briarproject.briar.android.controller.ConfigController;
|
import org.briarproject.briar.android.controller.ConfigController;
|
||||||
|
import org.briarproject.briar.android.login.OpenDatabaseActivity;
|
||||||
import org.briarproject.briar.android.login.SetupActivity;
|
import org.briarproject.briar.android.login.SetupActivity;
|
||||||
import org.briarproject.briar.android.navdrawer.NavDrawerActivity;
|
|
||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ public class SplashScreenActivity extends BaseActivity {
|
|||||||
setContentView(R.layout.splash);
|
setContentView(R.layout.splash);
|
||||||
|
|
||||||
if (configController.accountSignedIn()) {
|
if (configController.accountSignedIn()) {
|
||||||
startActivity(new Intent(this, NavDrawerActivity.class));
|
startActivity(new Intent(this, OpenDatabaseActivity.class));
|
||||||
finish();
|
finish();
|
||||||
} else {
|
} else {
|
||||||
new Handler().postDelayed(() -> {
|
new Handler().postDelayed(() -> {
|
||||||
@@ -65,7 +65,7 @@ public class SplashScreenActivity extends BaseActivity {
|
|||||||
startActivity(new Intent(this, ExpiredActivity.class));
|
startActivity(new Intent(this, ExpiredActivity.class));
|
||||||
} else {
|
} else {
|
||||||
if (configController.accountExists()) {
|
if (configController.accountExists()) {
|
||||||
startActivity(new Intent(this, NavDrawerActivity.class));
|
startActivity(new Intent(this, OpenDatabaseActivity.class));
|
||||||
} else {
|
} else {
|
||||||
configController.deleteAccount(this);
|
configController.deleteAccount(this);
|
||||||
startActivity(new Intent(this, SetupActivity.class));
|
startActivity(new Intent(this, SetupActivity.class));
|
||||||
|
|||||||
Reference in New Issue
Block a user