Fix QR code handler not running on UI thread

This commit is contained in:
Mikunj Varsani 2020-03-13 10:56:25 +11:00
parent 983b137cd6
commit 449a53ea32
3 changed files with 17 additions and 16 deletions

View File

@ -797,6 +797,7 @@ public class ConversationItem extends LinearLayout
} }
private void setContactPhoto(@NonNull Recipient recipient) { private void setContactPhoto(@NonNull Recipient recipient) {
if (messageRecord == null) return;
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams)bodyBubble.getLayoutParams(); LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams)bodyBubble.getLayoutParams();
int groupThreadMargin = (int)(getResources().getDimension(R.dimen.large_spacing) + getResources().getDimension(R.dimen.small_profile_picture_size)); int groupThreadMargin = (int)(getResources().getDimension(R.dimen.large_spacing) + getResources().getDimension(R.dimen.small_profile_picture_size));
int defaultMargin = 0; int defaultMargin = 0;

View File

@ -62,10 +62,9 @@ class JoinPublicChatActivity : PassphraseRequiredActionBarActivity(), ScanQRCode
} }
fun joinPublicChatIfPossible(url: String) { fun joinPublicChatIfPossible(url: String) {
runOnUiThread {
if (!Patterns.WEB_URL.matcher(url).matches() || !url.startsWith("https://")) { if (!Patterns.WEB_URL.matcher(url).matches() || !url.startsWith("https://")) {
Toast.makeText(this, "Invalid URL", Toast.LENGTH_SHORT).show() Toast.makeText(this, "Invalid URL", Toast.LENGTH_SHORT).show()
return@runOnUiThread return
} }
showLoader() showLoader()
@ -79,7 +78,6 @@ class JoinPublicChatActivity : PassphraseRequiredActionBarActivity(), ScanQRCode
Toast.makeText(this, "Couldn't join channel", Toast.LENGTH_SHORT).show() Toast.makeText(this, "Couldn't join channel", Toast.LENGTH_SHORT).show()
} }
} }
}
// endregion // endregion
} }

View File

@ -52,8 +52,10 @@ class ScanQRCodeWrapperFragment : Fragment(), ScanQRCodePlaceholderFragmentDeleg
} }
override fun onQrDataFound(string: String) { override fun onQrDataFound(string: String) {
activity?.runOnUiThread {
delegate?.handleQRCodeScanned(string) delegate?.handleQRCodeScanned(string)
} }
}
} }
interface ScanQRCodeWrapperFragmentDelegate { interface ScanQRCodeWrapperFragmentDelegate {