add restartIo() to DcContext

This commit is contained in:
adbenitez 2024-10-05 18:11:26 +02:00
parent a7f0f753fd
commit 30580366fd
3 changed files with 10 additions and 12 deletions

View file

@ -278,6 +278,11 @@ public class DcContext {
return oauth2url.startsWith("https://accounts.google.com/"); return oauth2url.startsWith("https://accounts.google.com/");
} }
public void restartIo() {
stopIo();
startIo();
}
/** /**
* @return true if at least one chat has location streaming enabled * @return true if at least one chat has location streaming enabled
*/ */

View file

@ -58,7 +58,7 @@ public class ProxySettingsActivity extends BaseActionBarActivity
showAddProxyDialog(); showAddProxyDialog();
} else { } else {
DcHelper.set(this, CONFIG_PROXY_ENABLED, proxySwitch.isChecked()? "1" : "0"); DcHelper.set(this, CONFIG_PROXY_ENABLED, proxySwitch.isChecked()? "1" : "0");
restartIO(); DcHelper.getContext(this).restartIo();
} }
}); });
@ -96,7 +96,7 @@ public class ProxySettingsActivity extends BaseActionBarActivity
@Override @Override
public void onItemClick(String proxyUrl) { public void onItemClick(String proxyUrl) {
if (DcHelper.getContext(this).setConfigFromQr(proxyUrl)) { if (DcHelper.getContext(this).setConfigFromQr(proxyUrl)) {
restartIO(); DcHelper.getContext(this).restartIo();
adapter.setSelectedProxy(proxyUrl); adapter.setSelectedProxy(proxyUrl);
proxySwitch.setChecked(DcHelper.getInt(this, CONFIG_PROXY_ENABLED) == 1); proxySwitch.setChecked(DcHelper.getInt(this, CONFIG_PROXY_ENABLED) == 1);
} else { } else {
@ -137,7 +137,7 @@ public class ProxySettingsActivity extends BaseActionBarActivity
} }
String proxyUrls = String.join("\n", proxies); String proxyUrls = String.join("\n", proxies);
DcHelper.set(this, CONFIG_PROXY_URL, proxyUrls); DcHelper.set(this, CONFIG_PROXY_URL, proxyUrls);
restartIO(); DcHelper.getContext(this).restartIo();
adapter.changeData(proxyUrls); adapter.changeData(proxyUrls);
} }
@ -156,7 +156,7 @@ public class ProxySettingsActivity extends BaseActionBarActivity
final DcLot qrParsed = dcContext.checkQr(newProxy); final DcLot qrParsed = dcContext.checkQr(newProxy);
if (qrParsed.getState() == DcContext.DC_QR_PROXY) { if (qrParsed.getState() == DcContext.DC_QR_PROXY) {
dcContext.setConfigFromQr(newProxy); dcContext.setConfigFromQr(newProxy);
restartIO(); DcHelper.getContext(this).restartIo();
adapter.changeData(DcHelper.get(this, CONFIG_PROXY_URL)); adapter.changeData(DcHelper.get(this, CONFIG_PROXY_URL));
} else { } else {
Toast.makeText(this, R.string.proxy_invalid, Toast.LENGTH_LONG).show(); Toast.makeText(this, R.string.proxy_invalid, Toast.LENGTH_LONG).show();
@ -173,12 +173,6 @@ public class ProxySettingsActivity extends BaseActionBarActivity
.show(); .show();
} }
private void restartIO() {
DcContext dcContext = DcHelper.getContext(this);
dcContext.stopIo();
dcContext.startIo();
}
@Override @Override
public void handleEvent(@NonNull DcEvent event) { public void handleEvent(@NonNull DcEvent event) {
if (event.getId() == DcContext.DC_EVENT_CONNECTIVITY_CHANGED) { if (event.getId() == DcContext.DC_EVENT_CONNECTIVITY_CHANGED) {

View file

@ -94,8 +94,7 @@ public class QrCodeHandler {
builder.setMessage(activity.getString(R.string.proxy_use_proxy_confirm, qrParsed.getText1())); builder.setMessage(activity.getString(R.string.proxy_use_proxy_confirm, qrParsed.getText1()));
builder.setPositiveButton(R.string.proxy_use_proxy, (dlg, btn) -> { builder.setPositiveButton(R.string.proxy_use_proxy, (dlg, btn) -> {
dcContext.setConfigFromQr(rawString); dcContext.setConfigFromQr(rawString);
dcContext.stopIo(); dcContext.restartIo();
dcContext.startIo();
}); });
builder.setNegativeButton(R.string.cancel, null); builder.setNegativeButton(R.string.cancel, null);
builder.setCancelable(false); builder.setCancelable(false);