mirror of https://github.com/M66B/FairEmail.git
Compare commits
6 Commits
265d5d1299
...
4c350ebd8c
Author | SHA1 | Date |
---|---|---|
M66B | 4c350ebd8c | |
M66B | 3f106c4d30 | |
M66B | 069064502c | |
M66B | 0b44482f5b | |
M66B | 7a066d774c | |
M66B | 433790bbd0 |
|
@ -708,11 +708,11 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
|
|||
submenu.add(Menu.FIRST, R.string.title_notify_batch_disable, 5, R.string.title_notify_batch_disable);
|
||||
submenu.add(Menu.FIRST, R.string.title_unified_inbox_add, 6, R.string.title_unified_inbox_add);
|
||||
submenu.add(Menu.FIRST, R.string.title_unified_inbox_delete, 7, R.string.title_unified_inbox_delete);
|
||||
submenu.add(Menu.FIRST, R.string.title_navigation_folder, 6, R.string.title_navigation_folder);
|
||||
submenu.add(Menu.FIRST, R.string.title_navigation_folder_hide, 7, R.string.title_navigation_folder_hide);
|
||||
submenu.add(Menu.FIRST, R.string.title_synchronize_more, 8, R.string.title_synchronize_more);
|
||||
submenu.add(Menu.FIRST, R.string.title_download_batch_enable, 9, R.string.title_download_batch_enable);
|
||||
submenu.add(Menu.FIRST, R.string.title_download_batch_disable, 10, R.string.title_download_batch_disable);
|
||||
submenu.add(Menu.FIRST, R.string.title_navigation_folder, 8, R.string.title_navigation_folder);
|
||||
submenu.add(Menu.FIRST, R.string.title_navigation_folder_hide, 9, R.string.title_navigation_folder_hide);
|
||||
submenu.add(Menu.FIRST, R.string.title_synchronize_more, 10, R.string.title_synchronize_more);
|
||||
submenu.add(Menu.FIRST, R.string.title_download_batch_enable, 11, R.string.title_download_batch_enable);
|
||||
submenu.add(Menu.FIRST, R.string.title_download_batch_disable, 12, R.string.title_download_batch_disable);
|
||||
}
|
||||
|
||||
if (folder.account != null && folder.accountProtocol == EntityAccount.TYPE_IMAP)
|
||||
|
@ -869,11 +869,10 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
|
|||
EntityOperation.sync(context, folder.id, true, !children);
|
||||
|
||||
if (children) {
|
||||
List<EntityFolder> folders = db.folder().getChildFolders(folder.id);
|
||||
if (folders != null)
|
||||
for (EntityFolder child : folders)
|
||||
if (child.selectable)
|
||||
EntityOperation.sync(context, child.id, true);
|
||||
List<EntityFolder> folders = EntityFolder.getChildFolders(context, folder.id);
|
||||
for (EntityFolder child : folders)
|
||||
if (child.selectable)
|
||||
EntityOperation.sync(context, child.id, true);
|
||||
}
|
||||
|
||||
if (folder.account != null) {
|
||||
|
@ -935,10 +934,8 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
|
|||
DB db = DB.getInstance(context);
|
||||
try {
|
||||
db.beginTransaction();
|
||||
List<EntityFolder> children = db.folder().getChildFolders(id);
|
||||
if (children == null)
|
||||
return null;
|
||||
|
||||
List<EntityFolder> children = EntityFolder.getChildFolders(context, id);
|
||||
for (EntityFolder child : children)
|
||||
db.folder().setFolderSynchronize(child.id, enabled);
|
||||
|
||||
|
@ -973,10 +970,8 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
|
|||
DB db = DB.getInstance(context);
|
||||
try {
|
||||
db.beginTransaction();
|
||||
List<EntityFolder> children = db.folder().getChildFolders(id);
|
||||
if (children == null)
|
||||
return null;
|
||||
|
||||
List<EntityFolder> children = EntityFolder.getChildFolders(context, id);
|
||||
for (EntityFolder child : children)
|
||||
db.folder().setFolderNotify(child.id, enabled);
|
||||
|
||||
|
@ -1009,10 +1004,8 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
|
|||
DB db = DB.getInstance(context);
|
||||
try {
|
||||
db.beginTransaction();
|
||||
List<EntityFolder> children = db.folder().getChildFolders(id);
|
||||
if (children == null)
|
||||
return null;
|
||||
|
||||
List<EntityFolder> children = EntityFolder.getChildFolders(context, id);
|
||||
for (EntityFolder child : children)
|
||||
db.folder().setFolderUnified(child.id, add);
|
||||
|
||||
|
@ -1045,10 +1038,8 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
|
|||
DB db = DB.getInstance(context);
|
||||
try {
|
||||
db.beginTransaction();
|
||||
List<EntityFolder> children = db.folder().getChildFolders(id);
|
||||
if (children == null)
|
||||
return null;
|
||||
|
||||
List<EntityFolder> children = EntityFolder.getChildFolders(context, id);
|
||||
for (EntityFolder child : children)
|
||||
db.folder().setFolderNavigation(child.id, enabled);
|
||||
|
||||
|
@ -1092,10 +1083,8 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
|
|||
DB db = DB.getInstance(context);
|
||||
try {
|
||||
db.beginTransaction();
|
||||
List<EntityFolder> children = db.folder().getChildFolders(id);
|
||||
if (children == null)
|
||||
return null;
|
||||
|
||||
List<EntityFolder> children = EntityFolder.getChildFolders(context, id);
|
||||
for (EntityFolder child : children)
|
||||
db.folder().setFolderDownload(child.id, enabled);
|
||||
|
||||
|
|
|
@ -7827,6 +7827,10 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|||
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibDelete,
|
||||
context.getString(R.string.title_trash_selection)));
|
||||
|
||||
if (ibMove != null && ibMove.getVisibility() == View.VISIBLE && ibMove.isEnabled())
|
||||
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibMove,
|
||||
context.getString(R.string.title_move_to)));
|
||||
|
||||
if (ibAvatar.getVisibility() == View.VISIBLE && ibAvatar.isEnabled())
|
||||
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibAvatar,
|
||||
context.getString(R.string.title_accessibility_view_contact)));
|
||||
|
|
|
@ -115,7 +115,6 @@ public class ConnectionHelper {
|
|||
"NO", // Norway
|
||||
"PL", // Poland
|
||||
"PT", // Portugal
|
||||
"RE", // La Réunion
|
||||
"RO", // Romania
|
||||
"SK", // Slovakia
|
||||
"SI", // Slovenia
|
||||
|
|
|
@ -415,6 +415,16 @@ public class EntityFolder extends EntityOrder implements Serializable {
|
|||
return outbox;
|
||||
}
|
||||
|
||||
static List<EntityFolder> getChildFolders(Context context, long id) {
|
||||
DB db = DB.getInstance(context);
|
||||
List<EntityFolder> children = db.folder().getChildFolders(id);
|
||||
if (children == null)
|
||||
children = new ArrayList<>();
|
||||
for (EntityFolder child : new ArrayList<>(children))
|
||||
children.addAll(getChildFolders(context, child.id));
|
||||
return children;
|
||||
}
|
||||
|
||||
static String getNotificationChannelId(long id) {
|
||||
return "notification.folder." + id;
|
||||
}
|
||||
|
|
|
@ -62,10 +62,14 @@ public class FairEmailLoggingProvider extends TinylogLoggingProvider {
|
|||
}
|
||||
|
||||
static void setup(Context context) {
|
||||
System.setProperty("tinylog.directory",
|
||||
Helper.ensureExists(context, "logs").getAbsolutePath());
|
||||
try {
|
||||
System.setProperty("tinylog.directory",
|
||||
Helper.ensureExists(context, "logs").getAbsolutePath());
|
||||
|
||||
setLevel(context);
|
||||
setLevel(context);
|
||||
} catch (Throwable ex) {
|
||||
Log.e(ex);
|
||||
}
|
||||
}
|
||||
|
||||
static void setLevel(Context context) {
|
||||
|
|
|
@ -110,9 +110,8 @@ public class FragmentDialogSync extends FragmentDialogBase {
|
|||
folders.add(folder);
|
||||
|
||||
if (children) {
|
||||
List<EntityFolder> sub = db.folder().getChildFolders(folder.id);
|
||||
if (sub != null)
|
||||
folders.addAll(sub);
|
||||
List<EntityFolder> sub = EntityFolder.getChildFolders(context, folder.id);
|
||||
folders.addAll(sub);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5932,6 +5932,7 @@ public class FragmentMessages extends FragmentBase
|
|||
|
||||
final Context context = getContext();
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean primary_inbox = "inbox".equals(prefs.getString("startup", "unified"));
|
||||
String sort = prefs.getString(getSort(context, viewType, type), "time");
|
||||
boolean ascending = prefs.getBoolean(getSortOrder(context, viewType, type), outbox);
|
||||
boolean filter_seen = prefs.getBoolean(getFilter(context, "seen", viewType, type), false);
|
||||
|
@ -6069,7 +6070,7 @@ public class FragmentMessages extends FragmentBase
|
|||
.setVisible(viewType == AdapterMessage.ViewType.THREAD);
|
||||
|
||||
menu.findItem(R.id.menu_compact).setChecked(compact);
|
||||
menu.findItem(R.id.menu_theme).setVisible(viewType == AdapterMessage.ViewType.UNIFIED);
|
||||
menu.findItem(R.id.menu_theme).setVisible(viewType == AdapterMessage.ViewType.UNIFIED || primary_inbox);
|
||||
|
||||
menu.findItem(R.id.menu_confirm_links)
|
||||
.setChecked(confirm_links)
|
||||
|
@ -6096,7 +6097,7 @@ public class FragmentMessages extends FragmentBase
|
|||
}
|
||||
|
||||
menu.findItem(R.id.menu_sync_more).setVisible(folder);
|
||||
menu.findItem(R.id.menu_force_sync).setVisible(viewType == AdapterMessage.ViewType.UNIFIED);
|
||||
menu.findItem(R.id.menu_force_sync).setVisible(viewType == AdapterMessage.ViewType.UNIFIED || primary_inbox);
|
||||
menu.findItem(R.id.menu_force_send).setVisible(outbox);
|
||||
|
||||
menu.findItem(R.id.menu_expunge).setVisible(viewType == AdapterMessage.ViewType.FOLDER &&
|
||||
|
|
Loading…
Reference in New Issue