Merge remote-tracking branch 'upstream/master'

This commit is contained in:
adbenitez
2021-08-04 16:08:57 -04:00
2 changed files with 17 additions and 2 deletions
@@ -418,7 +418,14 @@ public class ConversationListFragment extends Fragment
} else {
listflags |= DcContext.DC_GCL_ADD_ALLDONE_HINT;
}
DcChatlist chatlist = DcHelper.getContext(getContext()).getChatlist(listflags, queryFilter.isEmpty() ? null : queryFilter, 0);
Context context = getContext();
if (context == null) {
// can't load chat list at this time, see: https://github.com/deltachat/deltachat-android/issues/2012
Log.w(TAG, "Ignoring call to loadChatlist()");
return;
}
DcChatlist chatlist = DcHelper.getContext(context).getChatlist(listflags, queryFilter.isEmpty() ? null : queryFilter, 0);
Util.runOnMain(() -> {
if (chatlist.getCnt() <= 0 && TextUtils.isEmpty(queryFilter)) {
@@ -52,6 +52,8 @@ public class AccountManager {
public void migrateToDcAccounts(ApplicationContext context) {
try {
int selectAccountId = 0;
File[] files = context.getFilesDir().listFiles();
for (File file : files) {
// old accounts have the pattern "messenger*.db"
@@ -61,11 +63,17 @@ public class AccountManager {
String selName = PreferenceManager.getDefaultSharedPreferences(context)
.getString("curr_account_db_name", "messenger.db");
if (file.getName().equals(selName)) {
context.dcAccounts.selectAccount(accountId);
// postpone selection as it will otherwise be overwritten by the next migrateAccount() call
// (if more than one account needs to be migrated)
selectAccountId = accountId;
}
}
}
}
if (selectAccountId != 0) {
context.dcAccounts.selectAccount(selectAccountId);
}
} catch (Exception e) {
e.printStackTrace();
}