|
|
@ -1375,66 +1375,80 @@ public class FragmentAccount extends FragmentBase {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void setFolders(List<EntityFolder> _folders, EntityAccount account) {
|
|
|
|
private void setFolders(List<EntityFolder> _folders, EntityAccount account) {
|
|
|
|
List<EntityFolder> folders = new ArrayList<>();
|
|
|
|
{
|
|
|
|
for (EntityFolder folder : _folders)
|
|
|
|
List<EntityFolder> folders = new ArrayList<>();
|
|
|
|
if (!EntityFolder.INBOX.equals(folder.type))
|
|
|
|
|
|
|
|
folders.add(folder);
|
|
|
|
EntityFolder none = new EntityFolder();
|
|
|
|
|
|
|
|
none.id = 0L;
|
|
|
|
EntityFolder none = new EntityFolder();
|
|
|
|
none.name = "-";
|
|
|
|
none.id = 0L;
|
|
|
|
folders.add(none);
|
|
|
|
none.name = "-";
|
|
|
|
|
|
|
|
folders.add(0, none);
|
|
|
|
for (EntityFolder folder : _folders)
|
|
|
|
|
|
|
|
if (!EntityFolder.INBOX.equals(folder.type))
|
|
|
|
adapter.clear();
|
|
|
|
folders.add(folder);
|
|
|
|
adapter.addAll(folders);
|
|
|
|
|
|
|
|
|
|
|
|
adapter.clear();
|
|
|
|
for (int pos = 0; pos < folders.size(); pos++) {
|
|
|
|
adapter.addAll(folders);
|
|
|
|
EntityFolder folder = folders.get(pos);
|
|
|
|
|
|
|
|
|
|
|
|
for (int pos = 0; pos < folders.size(); pos++) {
|
|
|
|
if (EntityFolder.DRAFTS.equals(folder.type))
|
|
|
|
EntityFolder folder = folders.get(pos);
|
|
|
|
spDrafts.setSelection(pos);
|
|
|
|
|
|
|
|
else if (EntityFolder.SENT.equals(folder.type))
|
|
|
|
if (EntityFolder.DRAFTS.equals(folder.type))
|
|
|
|
spSent.setSelection(pos);
|
|
|
|
spDrafts.setSelection(pos);
|
|
|
|
else if (EntityFolder.ARCHIVE.equals(folder.type))
|
|
|
|
else if (EntityFolder.SENT.equals(folder.type))
|
|
|
|
spArchive.setSelection(pos);
|
|
|
|
spSent.setSelection(pos);
|
|
|
|
else if (EntityFolder.TRASH.equals(folder.type))
|
|
|
|
else if (EntityFolder.ARCHIVE.equals(folder.type))
|
|
|
|
spTrash.setSelection(pos);
|
|
|
|
spArchive.setSelection(pos);
|
|
|
|
else if (EntityFolder.JUNK.equals(folder.type))
|
|
|
|
else if (EntityFolder.TRASH.equals(folder.type))
|
|
|
|
spJunk.setSelection(pos);
|
|
|
|
spTrash.setSelection(pos);
|
|
|
|
|
|
|
|
else if (EntityFolder.JUNK.equals(folder.type))
|
|
|
|
|
|
|
|
spJunk.setSelection(pos);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
EntityFolder ask = new EntityFolder();
|
|
|
|
{
|
|
|
|
ask.id = SWIPE_ACTION_ASK;
|
|
|
|
List<EntityFolder> folders = new ArrayList<>();
|
|
|
|
ask.name = getString(R.string.title_ask_what);
|
|
|
|
|
|
|
|
folders.add(1, ask);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EntityFolder seen = new EntityFolder();
|
|
|
|
EntityFolder none = new EntityFolder();
|
|
|
|
seen.id = SWIPE_ACTION_SEEN;
|
|
|
|
none.id = 0L;
|
|
|
|
seen.name = getString(R.string.title_seen);
|
|
|
|
none.name = "-";
|
|
|
|
folders.add(1, seen);
|
|
|
|
folders.add(none);
|
|
|
|
|
|
|
|
|
|
|
|
adapterSwipe.clear();
|
|
|
|
EntityFolder ask = new EntityFolder();
|
|
|
|
adapterSwipe.addAll(folders);
|
|
|
|
ask.id = SWIPE_ACTION_ASK;
|
|
|
|
|
|
|
|
ask.name = getString(R.string.title_ask_what);
|
|
|
|
|
|
|
|
folders.add(ask);
|
|
|
|
|
|
|
|
|
|
|
|
Long left = (account == null ? null : account.swipe_left);
|
|
|
|
EntityFolder seen = new EntityFolder();
|
|
|
|
Long right = (account == null ? null : account.swipe_right);
|
|
|
|
seen.id = SWIPE_ACTION_SEEN;
|
|
|
|
|
|
|
|
seen.name = getString(R.string.title_seen);
|
|
|
|
|
|
|
|
folders.add(seen);
|
|
|
|
|
|
|
|
|
|
|
|
String leftDefault = EntityFolder.TRASH;
|
|
|
|
folders.addAll(_folders);
|
|
|
|
String rightDefault = EntityFolder.TRASH;
|
|
|
|
|
|
|
|
for (EntityFolder folder : folders)
|
|
|
|
adapterSwipe.clear();
|
|
|
|
if (EntityFolder.ARCHIVE.equals(folder.type)) {
|
|
|
|
adapterSwipe.addAll(folders);
|
|
|
|
rightDefault = folder.type;
|
|
|
|
|
|
|
|
break;
|
|
|
|
Long left = (account == null ? null : account.swipe_left);
|
|
|
|
}
|
|
|
|
Long right = (account == null ? null : account.swipe_right);
|
|
|
|
|
|
|
|
|
|
|
|
for (int pos = 0; pos < folders.size(); pos++) {
|
|
|
|
String leftDefault = EntityFolder.TRASH;
|
|
|
|
EntityFolder folder = folders.get(pos);
|
|
|
|
String rightDefault = EntityFolder.TRASH;
|
|
|
|
|
|
|
|
for (EntityFolder folder : folders)
|
|
|
|
|
|
|
|
if (EntityFolder.ARCHIVE.equals(folder.type)) {
|
|
|
|
|
|
|
|
rightDefault = folder.type;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (left == null ? (account == null && leftDefault.equals(folder.type)) : left.equals(folder.id))
|
|
|
|
for (int pos = 0; pos < folders.size(); pos++) {
|
|
|
|
spLeft.setSelection(pos);
|
|
|
|
EntityFolder folder = folders.get(pos);
|
|
|
|
|
|
|
|
|
|
|
|
if (right == null ? (account == null && rightDefault.equals(folder.type)) : right.equals(folder.id))
|
|
|
|
if (left == null ? (account == null && leftDefault.equals(folder.type)) : left.equals(folder.id))
|
|
|
|
spRight.setSelection(pos);
|
|
|
|
spLeft.setSelection(pos);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (right == null ? (account == null && rightDefault.equals(folder.type)) : right.equals(folder.id))
|
|
|
|
|
|
|
|
spRight.setSelection(pos);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
grpFolders.setVisibility(_folders.size() > 1 ? View.VISIBLE : View.GONE);
|
|
|
|
grpFolders.setVisibility(_folders.size() > 1 ? View.VISIBLE : View.GONE);
|
|
|
|