mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-04-27 17:26:09 +00:00
Unset "singleTask" as the launchMode for MainActivity
We don't actually need this, and I have a feeling that it may be causing some of the inexplicable crashes we're seeing in the Play Console. For example: apparently the app sometimes gets itself into a state where the vault is unlocked, but the user is still shown AuthActivity (possibly due to it being launched twice). I can't prove that "singleTask" causes this, as I can't reproduce the issue on my device or an emulator, but it's the only odd thing we have in our activity lifecycle handling. Test plan: - Go through the intro, add an entry, change some settings, etc - See if the app shortcuts still work. Scenarios: - The app is terminated. - The app is locked. - MainActivity is open. - Some other activity is open. - See if auto-locking still works. Scenarios: - The app is locked. - MainActivity is open. - Some other activity is open. - Turn on "Don't keep activities" in developer options and repeat the above steps.
This commit is contained in:
parent
db681273e6
commit
e2cf6a40cb
4 changed files with 3 additions and 16 deletions
|
@ -32,8 +32,7 @@
|
||||||
android:label="Select entries" />
|
android:label="Select entries" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.MainActivity"
|
android:name=".ui.MainActivity"
|
||||||
android:label="${title}"
|
android:label="${title}">
|
||||||
android:launchMode="singleTask">
|
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
|
|
|
@ -141,6 +141,7 @@ public class AegisApplication extends Application {
|
||||||
|
|
||||||
Intent intent = new Intent(this, MainActivity.class);
|
Intent intent = new Intent(this, MainActivity.class);
|
||||||
intent.putExtra("action", "scan");
|
intent.putExtra("action", "scan");
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
||||||
intent.setAction(Intent.ACTION_MAIN);
|
intent.setAction(Intent.ACTION_MAIN);
|
||||||
|
|
||||||
ShortcutInfo shortcut = new ShortcutInfo.Builder(this, "shortcut_new")
|
ShortcutInfo shortcut = new ShortcutInfo.Builder(this, "shortcut_new")
|
||||||
|
|
|
@ -35,7 +35,7 @@ public abstract class AegisActivity extends AppCompatActivity implements AegisAp
|
||||||
// if the app was killed, relaunch MainActivity and close everything else
|
// if the app was killed, relaunch MainActivity and close everything else
|
||||||
if (savedInstanceState != null && isOrphan()) {
|
if (savedInstanceState != null && isOrphan()) {
|
||||||
Intent intent = new Intent(this, MainActivity.class);
|
Intent intent = new Intent(this, MainActivity.class);
|
||||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -160,21 +160,8 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
|
||||||
return super.dispatchTouchEvent(event);
|
return super.dispatchTouchEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onNewIntent(Intent intent) {
|
|
||||||
super.onNewIntent(intent);
|
|
||||||
setIntent(intent);
|
|
||||||
|
|
||||||
doShortcutActions();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
// don't process any activity results if the vault is locked
|
|
||||||
if (requestCode != CODE_DECRYPT && requestCode != CODE_DO_INTRO && _app.isVaultLocked()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (resultCode != RESULT_OK) {
|
if (resultCode != RESULT_OK) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue