Always launch AuthActivity on lock if MainActivity is resumed

This commit is contained in:
Alexander Bakker 2019-05-26 21:45:36 +02:00 committed by Michael Schättgen
parent ff584a323d
commit 66f99eb4d4
2 changed files with 25 additions and 1 deletions

View file

@ -17,6 +17,7 @@ import androidx.annotation.CallSuper;
import androidx.appcompat.app.AppCompatActivity;
public abstract class AegisActivity extends AppCompatActivity implements AegisApplication.LockListener {
private boolean _resumed;
private AegisApplication _app;
@Override
@ -53,6 +54,18 @@ public abstract class AegisActivity extends AppCompatActivity implements AegisAp
super.onDestroy();
}
@Override
protected void onResume() {
super.onResume();
_resumed = true;
}
@Override
protected void onPause() {
super.onPause();
_resumed = false;
}
@CallSuper
@Override
public void onLocked() {
@ -84,6 +97,13 @@ public abstract class AegisActivity extends AppCompatActivity implements AegisAp
}
}
/**
* Reports whether this Activity has been resumed. (i.e. onResume was called)
*/
protected boolean isOpen() {
return _resumed;
}
/**
* Reports whether this Activity instance has become an orphan. This can happen if
* the vault was locked by an external trigger while the Activity was still open.

View file

@ -489,7 +489,6 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
return true;
case R.id.action_lock:
_app.lock();
startAuthActivity();
return true;
default:
if (item.getGroupId() == R.id.action_filter_group) {
@ -615,6 +614,11 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
public void onLocked() {
_entryListView.clearEntries();
_loaded = false;
if (isOpen()) {
startAuthActivity();
}
super.onLocked();
}
}