diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index 143c3e3ea..234b8bc8d 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -252,7 +252,22 @@
+ android:exported="true"
+ android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{
+ dcContext.setConfigFromQr(uri.toString());
+ dcContext.restartIo();
+ adapter.changeData(DcHelper.get(this, CONFIG_PROXY_URL));
+ proxySwitch.setChecked(DcHelper.getInt(this, CONFIG_PROXY_ENABLED) == 1);
+ })
+ .setNegativeButton(R.string.cancel, null)
+ .setCancelable(false)
+ .show();
+ } else {
+ Toast.makeText(this, R.string.proxy_invalid, Toast.LENGTH_LONG).show();
+ }
+ }
+ }
+
@Override
public void handleEvent(@NonNull DcEvent event) {
if (event.getId() == DcContext.DC_EVENT_CONNECTIVITY_CHANGED) {
diff --git a/src/main/java/org/thoughtcrime/securesms/util/LongClickCopySpan.java b/src/main/java/org/thoughtcrime/securesms/util/LongClickCopySpan.java
index 4108b0dbb..13a679b98 100644
--- a/src/main/java/org/thoughtcrime/securesms/util/LongClickCopySpan.java
+++ b/src/main/java/org/thoughtcrime/securesms/util/LongClickCopySpan.java
@@ -81,7 +81,14 @@ public class LongClickCopySpan extends ClickableSpan {
QrCodeHandler qrCodeHandler = new QrCodeHandler((Activity) widget.getContext());
qrCodeHandler.handleQrData(url);
} else {
- IntentUtils.showBrowserIntent(widget.getContext(), url);
+ Activity activity = (Activity) widget.getContext();
+ DcContext dcContext = DcHelper.getContext(activity);
+ if (dcContext.checkQr(url).getState() == DcContext.DC_QR_PROXY) {
+ QrCodeHandler qrCodeHandler = new QrCodeHandler(activity);
+ qrCodeHandler.handleQrData(url);
+ } else {
+ IntentUtils.showBrowserIntent(widget.getContext(), url);
+ }
}
}