mirror of https://github.com/M66B/FairEmail.git
Fixed last activity edge cases
This commit is contained in:
parent
a5d804d91f
commit
c473dab127
|
@ -265,6 +265,11 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
|
|||
|
||||
visible = true;
|
||||
|
||||
if (!(this instanceof ActivityMain)) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
prefs.edit().putString("last_activity", this.getClass().getName()).apply();
|
||||
}
|
||||
|
||||
boolean contacts = hasPermission(Manifest.permission.READ_CONTACTS);
|
||||
if (this.contacts != contacts &&
|
||||
!this.getClass().equals(ActivitySetup.class) &&
|
||||
|
@ -282,8 +287,6 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
|
|||
super.onPause();
|
||||
|
||||
visible = false;
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
prefs.edit().putString("last_activity", this.getClass().getName()).apply();
|
||||
|
||||
checkAuthentication(false);
|
||||
}
|
||||
|
|
|
@ -174,11 +174,23 @@ public class ActivityMain extends ActivityBase implements FragmentManager.OnBack
|
|||
|
||||
@Override
|
||||
protected Boolean onExecute(Context context, Bundle args) {
|
||||
DB db = DB.getInstance(context);
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
String last_activity = prefs.getString("last_activity", null);
|
||||
long composing = prefs.getLong("last_composing", -1L);
|
||||
if (ActivityCompose.class.getName().equals(last_activity) && composing >= 0) {
|
||||
EntityMessage draft = db.message().getMessage(composing);
|
||||
if (draft == null || draft.ui_hide)
|
||||
prefs.edit()
|
||||
.remove("last_activity")
|
||||
.remove("last_composing")
|
||||
.apply();
|
||||
}
|
||||
|
||||
if (prefs.getBoolean("has_accounts", false))
|
||||
return true;
|
||||
|
||||
DB db = DB.getInstance(context);
|
||||
List<EntityAccount> accounts = db.account().getSynchronizingAccounts(null);
|
||||
boolean hasAccounts = (accounts != null && accounts.size() > 0);
|
||||
|
||||
|
|
Loading…
Reference in New Issue