Merge pull request #12 from session-foundation/fix/1.20.4-fixes

Fix/1.20.4 fixes
pull/1706/head
ThomasSession 5 months ago committed by GitHub
commit 5d1cc109d6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -82,6 +82,8 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity
private String mimeType;
private boolean isPassingAlongMedia;
private ResolveMediaTask resolveTask;
@Override
protected void onCreate(Bundle icicle, boolean ready) {
if (!getIntent().hasExtra(ContactSelectionListFragment.DISPLAY_MODE)) {
@ -190,7 +192,8 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity
} else {
contactsFragment.getView().setVisibility(View.GONE);
progressWheel.setVisibility(View.VISIBLE);
new ResolveMediaTask(context).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, streamExtra);
resolveTask = new ResolveMediaTask(context);
resolveTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, streamExtra);
}
}
@ -262,6 +265,12 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity
public void onContactDeselected(String number) {
}
@Override
protected void onDestroy() {
super.onDestroy();
if (resolveTask != null) resolveTask.cancel(true);
}
@SuppressLint("StaticFieldLeak")
private class ResolveMediaTask extends AsyncTask<Uri, Void, Uri> {
private final Context context;

@ -169,9 +169,11 @@ class ConversationViewModel(
communityWriteAccessJob = viewModelScope.launch {
OpenGroupManager.getCommunitiesWriteAccessFlow()
.map {
if(openGroup?.groupId != null)
it[openGroup?.groupId]
else null
withContext(Dispatchers.Default) {
if (openGroup?.groupId != null)
it[openGroup?.groupId]
else null
}
}
.filterNotNull()
.collect{

@ -630,8 +630,17 @@ public class SQLCipherOpenHelper extends SQLiteOpenHelper {
}
if (oldVersion < lokiV47) {
db.execSQL(SmsDatabase.ADD_IS_DELETED_COLUMN);
db.execSQL(MmsDatabase.ADD_IS_DELETED_COLUMN);
// Ideally we shouldn't need to check if the column exists, but somehow we get
// "duplicated column" from play store crashes.
// If you are keen you can investigate
// deep into this but for now, we will just check if the column exists before adding it.
if (!columnExists(db, SmsDatabase.TABLE_NAME, SmsDatabase.IS_DELETED)) {
db.execSQL(SmsDatabase.ADD_IS_DELETED_COLUMN);
}
if (!columnExists(db, MmsDatabase.TABLE_NAME, MmsDatabase.IS_DELETED)) {
db.execSQL(MmsDatabase.ADD_IS_DELETED_COLUMN);
}
}
db.setTransactionSuccessful();

@ -37,7 +37,7 @@ class MessageRequestsActivity : PassphraseRequiredActionBarActivity(), Conversat
private val viewModel: MessageRequestsViewModel by viewModels()
private val adapter: MessageRequestsAdapter by lazy {
MessageRequestsAdapter(context = this, cursor = threadDb.unapprovedConversationList, listener = this)
MessageRequestsAdapter(context = this, cursor = null, listener = this)
}
override fun onCreate(savedInstanceState: Bundle?, ready: Boolean) {
@ -114,7 +114,7 @@ class MessageRequestsActivity : PassphraseRequiredActionBarActivity(), Conversat
}
private fun updateEmptyState() {
val threadCount = (binding.recyclerView.adapter as MessageRequestsAdapter).itemCount
val threadCount = adapter.itemCount
binding.emptyStateContainer.isVisible = threadCount == 0
binding.clearAllMessageRequestsButton.isVisible = threadCount != 0
}

@ -127,7 +127,7 @@ class ClearAllDataDialog : DialogFragment() {
ApplicationContext.getInstance(context).clearAllDataAndRestart().let { success ->
withContext(Main) {
if (success) {
dismiss()
dismissAllowingStateLoss()
} else {
Toast.makeText(ApplicationContext.getInstance(requireContext()), R.string.errorUnknown, Toast.LENGTH_LONG).show()
}
@ -161,8 +161,15 @@ class ClearAllDataDialog : DialogFragment() {
}
else if (deletionResultMap.values.all { it }) {
// ..otherwise if the network data deletion was successful proceed to delete the local data as well.
ApplicationContext.getInstance(context).clearAllDataAndRestart()
withContext(Main) { dismiss() }
ApplicationContext.getInstance(context).clearAllDataAndRestart().let { success ->
withContext(Main) {
if (success) {
dismissAllowingStateLoss()
} else {
Toast.makeText(ApplicationContext.getInstance(requireContext()), R.string.errorUnknown, Toast.LENGTH_LONG).show()
}
}
}
}
}
}

Loading…
Cancel
Save