mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-06 09:03:56 +02:00
Simplification
This commit is contained in:
@@ -317,33 +317,6 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
|
||||
}
|
||||
|
||||
private void init() {
|
||||
if ("primary".equals(startup)) {
|
||||
new SimpleTask<EntityAccount>() {
|
||||
@Override
|
||||
protected EntityAccount onExecute(Context context, Bundle args) {
|
||||
DB db = DB.getInstance(context);
|
||||
return db.account().getPrimaryAccount();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onExecuted(Bundle args, EntityAccount account) {
|
||||
Bundle aargs = new Bundle();
|
||||
aargs.putLong("account", account == null ? -1 : account.id);
|
||||
aargs.putBoolean("primary", true);
|
||||
FragmentBase fragment = new FragmentFolders();
|
||||
fragment.setArguments(aargs);
|
||||
init(fragment);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onException(Bundle args, Throwable ex) {
|
||||
Log.unexpectedError(getSupportFragmentManager(), ex);
|
||||
}
|
||||
}.execute(this, new Bundle(), "view:primary");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Bundle args = new Bundle();
|
||||
|
||||
FragmentBase fragment;
|
||||
@@ -355,15 +328,16 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
|
||||
case "folders":
|
||||
fragment = new FragmentFolders();
|
||||
break;
|
||||
case "primary":
|
||||
fragment = new FragmentFolders();
|
||||
args.putBoolean("primary", true);
|
||||
break;
|
||||
default:
|
||||
fragment = new FragmentMessages();
|
||||
}
|
||||
|
||||
fragment.setArguments(args);
|
||||
init(fragment);
|
||||
}
|
||||
|
||||
private void init(FragmentBase fragment) {
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
FragmentTransaction fragmentTransaction = fm.beginTransaction();
|
||||
for (Fragment existing : fm.getFragments())
|
||||
|
||||
@@ -80,16 +80,18 @@ public interface DaoFolder {
|
||||
", COUNT(DISTINCT CASE WHEN NOT message.ui_seen AND NOT message.ui_hide THEN message.id ELSE NULL END) AS unseen" +
|
||||
", COUNT(DISTINCT CASE WHEN operation.state = 'executing' THEN operation.id ELSE NULL END) AS executing" +
|
||||
" FROM folder" +
|
||||
" LEFT JOIN account ON account.id = folder.account" +
|
||||
" JOIN account ON account.id = folder.account" +
|
||||
" LEFT JOIN message ON message.folder = folder.id" +
|
||||
" LEFT JOIN rule ON rule.folder = folder.id" +
|
||||
" LEFT JOIN operation ON operation.folder = folder.id" +
|
||||
" WHERE CASE WHEN :account IS NULL" +
|
||||
" THEN folder.unified AND account.synchronize" +
|
||||
" ELSE folder.account = :account AND account.synchronize" +
|
||||
" WHERE CASE WHEN :primary THEN account.`primary` ELSE" +
|
||||
" CASE WHEN :account IS NULL" +
|
||||
" THEN folder.unified AND account.synchronize" +
|
||||
" ELSE folder.account = :account AND account.synchronize" +
|
||||
" END" +
|
||||
" END" +
|
||||
" GROUP BY folder.id")
|
||||
LiveData<List<TupleFolderEx>> liveFolders(Long account);
|
||||
LiveData<List<TupleFolderEx>> liveFolders(Long account, boolean primary);
|
||||
|
||||
@Query("SELECT folder.*" +
|
||||
", account.id AS accountId, account.pop AS accountProtocol, account.`order` AS accountOrder" +
|
||||
|
||||
@@ -306,7 +306,7 @@ public class FragmentFolders extends FragmentBase {
|
||||
});
|
||||
|
||||
// Observe folders
|
||||
db.folder().liveFolders(account < 0 ? null : account).observe(getViewLifecycleOwner(), new Observer<List<TupleFolderEx>>() {
|
||||
db.folder().liveFolders(account < 0 ? null : account, primary).observe(getViewLifecycleOwner(), new Observer<List<TupleFolderEx>>() {
|
||||
@Override
|
||||
public void onChanged(@Nullable List<TupleFolderEx> folders) {
|
||||
if (folders == null) {
|
||||
|
||||
Reference in New Issue
Block a user