mirror of https://github.com/M66B/FairEmail.git
Improved auto create folders
This commit is contained in:
parent
be464e5356
commit
a89b117535
|
@ -399,20 +399,71 @@ public class FragmentQuickSetup extends FragmentBase {
|
||||||
|
|
||||||
folders = iservice.getFolders();
|
folders = iservice.getFolders();
|
||||||
|
|
||||||
if (folders.size() == 1 &&
|
if (!check) {
|
||||||
EntityFolder.INBOX.equals(folders.get(0).type))
|
boolean drafts = false;
|
||||||
try {
|
boolean sent = false;
|
||||||
Log.i("Creating system folders");
|
boolean archive = false;
|
||||||
Store istore = iservice.getStore();
|
boolean trash = false;
|
||||||
istore.getFolder(EntityFolder.DRAFTS).create(Folder.HOLDS_FOLDERS);
|
boolean junk = false;
|
||||||
istore.getFolder(EntityFolder.SENT).create(Folder.HOLDS_FOLDERS);
|
boolean other = false;
|
||||||
istore.getFolder(EntityFolder.ARCHIVE).create(Folder.HOLDS_FOLDERS);
|
for (EntityFolder folder : folders)
|
||||||
istore.getFolder(EntityFolder.TRASH).create(Folder.HOLDS_FOLDERS);
|
switch (folder.type) {
|
||||||
istore.getFolder(EntityFolder.JUNK).create(Folder.HOLDS_FOLDERS);
|
case EntityFolder.DRAFTS:
|
||||||
folders = iservice.getFolders();
|
drafts = true;
|
||||||
} catch (Throwable ex) {
|
break;
|
||||||
Log.e(ex);
|
case EntityFolder.SENT:
|
||||||
}
|
sent = true;
|
||||||
|
break;
|
||||||
|
case EntityFolder.ARCHIVE:
|
||||||
|
archive = true;
|
||||||
|
break;
|
||||||
|
case EntityFolder.TRASH:
|
||||||
|
trash = true;
|
||||||
|
break;
|
||||||
|
case EntityFolder.JUNK:
|
||||||
|
junk = true;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
other = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!other && !(drafts && sent && archive && trash && junk))
|
||||||
|
try {
|
||||||
|
Store istore = iservice.getStore();
|
||||||
|
|
||||||
|
String n = "";
|
||||||
|
Folder[] ns = istore.getPersonalNamespaces();
|
||||||
|
if (ns != null && ns.length == 1) {
|
||||||
|
n = ns[0].getFullName();
|
||||||
|
if (!TextUtils.isEmpty(n))
|
||||||
|
n += ns[0].getSeparator();
|
||||||
|
}
|
||||||
|
|
||||||
|
Log.i("Creating system folders" +
|
||||||
|
" namespace=" + n +
|
||||||
|
" drafts=" + drafts +
|
||||||
|
" sent=" + sent +
|
||||||
|
" archive=" + archive +
|
||||||
|
" trash=" + trash +
|
||||||
|
" junk=" + junk);
|
||||||
|
|
||||||
|
if (!drafts)
|
||||||
|
istore.getFolder(n + EntityFolder.DRAFTS).create(Folder.HOLDS_MESSAGES);
|
||||||
|
if (!sent)
|
||||||
|
istore.getFolder(n + EntityFolder.SENT).create(Folder.HOLDS_MESSAGES);
|
||||||
|
if (!archive)
|
||||||
|
istore.getFolder(n + EntityFolder.ARCHIVE).create(Folder.HOLDS_MESSAGES);
|
||||||
|
if (!trash)
|
||||||
|
istore.getFolder(n + EntityFolder.TRASH).create(Folder.HOLDS_MESSAGES);
|
||||||
|
if (!junk)
|
||||||
|
istore.getFolder(n + EntityFolder.JUNK).create(Folder.HOLDS_MESSAGES);
|
||||||
|
|
||||||
|
folders = iservice.getFolders();
|
||||||
|
} catch (Throwable ex) {
|
||||||
|
Log.e(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Long max_size;
|
Long max_size;
|
||||||
|
|
Loading…
Reference in New Issue