Skip to content
Snippets Groups Projects
Commit 199a2ffc authored by akwizgran's avatar akwizgran
Browse files

Merge branch '909-prevent-multiple-password-screens' into 'master'

Prevent multiple instances of PasswordActivity

Closes #909

See merge request !504
parents f039bd12 f6ad2992
No related branches found
No related tags found
1 merge request!504Prevent multiple instances of PasswordActivity
......@@ -27,7 +27,6 @@ import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK;
import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION;
import static android.content.Intent.FLAG_ACTIVITY_SINGLE_TOP;
import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_PASSWORD;
@SuppressLint("Registered")
......@@ -61,7 +60,6 @@ public abstract class BriarActivity extends BaseActivity {
super.onStart();
if (!briarController.hasEncryptionKey() && !isFinishing()) {
Intent i = new Intent(this, PasswordActivity.class);
i.setFlags(FLAG_ACTIVITY_SINGLE_TOP);
startActivityForResult(i, REQUEST_PASSWORD);
}
}
......
......@@ -19,6 +19,7 @@ import android.widget.TextView.OnEditorActionListener;
import org.briarproject.briar.R;
import org.briarproject.briar.android.activity.ActivityComponent;
import org.briarproject.briar.android.activity.BaseActivity;
import org.briarproject.briar.android.controller.BriarController;
import org.briarproject.briar.android.controller.handler.UiResultHandler;
import org.briarproject.briar.android.util.UiUtils;
......@@ -26,13 +27,18 @@ import javax.inject.Inject;
import static android.content.Intent.ACTION_MAIN;
import static android.content.Intent.CATEGORY_HOME;
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static android.view.View.INVISIBLE;
import static android.view.View.VISIBLE;
public class PasswordActivity extends BaseActivity {
@Inject
protected PasswordController passwordController;
PasswordController passwordController;
@Inject
BriarController briarController;
private Button signInButton;
private ProgressBar progress;
......@@ -82,6 +88,16 @@ public class PasswordActivity extends BaseActivity {
});
}
@Override
public void onStart() {
super.onStart();
// If the user has already signed in, clean up this instance
if (briarController.hasEncryptionKey()) {
setResult(RESULT_OK);
finish();
}
}
@Override
public void injectActivity(ActivityComponent component) {
component.inject(this);
......@@ -98,8 +114,9 @@ public class PasswordActivity extends BaseActivity {
private void deleteAccount() {
passwordController.deleteAccount(this);
setResult(RESULT_CANCELED);
startActivity(new Intent(this, SetupActivity.class));
supportFinishAfterTransition();
Intent i = new Intent(this, SetupActivity.class);
i.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);
}
public void onSignInClick(View v) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment