From dac7035dfd33afdaf34087b10e7338c68adfc804 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Wed, 12 Jun 2024 17:04:31 +0300
Subject: [PATCH] show connection is disabled dialog after migration
---
.../partisan/appmigration/AppMigrator.java | 9 +++++++--
.../org/telegram/ui/Components/AlertsCreator.java | 14 ++++++++++++++
.../java/org/telegram/ui/DataSettingsActivity.java | 4 +++-
.../main/java/org/telegram/ui/DialogsActivity.java | 4 +++-
.../main/java/org/telegram/ui/LaunchActivity.java | 4 +++-
.../main/java/org/telegram/ui/LoginActivity.java | 2 +-
.../main/java/org/telegram/ui/ProfileActivity.java | 4 ++--
TMessagesProj/src/main/res/values/strings.xml | 3 +++
8 files changed, 36 insertions(+), 8 deletions(-)
diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/appmigration/AppMigrator.java b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/appmigration/AppMigrator.java
index 094a3b1a3..40917ccb8 100644
--- a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/appmigration/AppMigrator.java
+++ b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/appmigration/AppMigrator.java
@@ -225,6 +225,11 @@ public class AppMigrator {
}
}
+ public static boolean isConnectionDisabled() {
+ return SharedConfig.isProxyEnabled()
+ && isProxyForDisablingConnection(SharedConfig.currentProxy);
+ }
+
public static void enableConnection() {
for (SharedConfig.ProxyInfo proxyInfo : SharedConfig.proxyList) {
if (isProxyForDisablingConnection(proxyInfo)) {
@@ -234,11 +239,11 @@ public class AppMigrator {
}
private static boolean isProxyForDisablingConnection(SharedConfig.ProxyInfo proxyInfo) {
- return "127.0.0.1".equals(proxyInfo.address) && proxyInfo.port == 1080;
+ return "127.0.0.1".equals(proxyInfo.address) && proxyInfo.port == -1;
}
public static void disableConnection() {
- SharedConfig.ProxyInfo proxyInfo = new SharedConfig.ProxyInfo("127.0.0.1", 1080, "", "", "");
+ SharedConfig.ProxyInfo proxyInfo = new SharedConfig.ProxyInfo("127.0.0.1", -1, "", "", "");
SharedPreferences preferences = MessagesController.getGlobalMainSettings();
SharedPreferences.Editor editor = preferences.edit();
SharedConfig.addProxy(proxyInfo);
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/AlertsCreator.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/AlertsCreator.java
index 06c53bcc3..a9ab6dca1 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/Components/AlertsCreator.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/AlertsCreator.java
@@ -95,6 +95,7 @@ import org.telegram.messenger.Utilities;
import org.telegram.messenger.browser.Browser;
import org.telegram.messenger.fakepasscode.FakePasscodeUtils;
import org.telegram.messenger.partisan.SpoofedLinkChecker;
+import org.telegram.messenger.partisan.appmigration.AppMigrator;
import org.telegram.tgnet.ConnectionsManager;
import org.telegram.tgnet.SerializedData;
import org.telegram.tgnet.TLObject;
@@ -7251,6 +7252,19 @@ public class AlertsCreator {
}
}
+ public static void showConnectionDisabledDialogIfNeed(BaseFragment fragment, Runnable onAccepted) {
+ if (AppMigrator.isConnectionDisabled() && !FakePasscodeUtils.isFakePasscodeActivated() && fragment != null) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getContext());
+ builder.setTitle(LocaleController.getString(R.string.ConnectionDisabledTitle));
+ builder.setMessage(LocaleController.getString(R.string.ConnectionDisabledMessage));
+ builder.setPositiveButton(LocaleController.getString(R.string.Continue), (dialog2, which) -> onAccepted.run());
+ builder.setNegativeButton(LocaleController.getString(R.string.Cancel), null);
+ fragment.showDialog(builder.create());
+ } else if (onAccepted != null) {
+ onAccepted.run();
+ }
+ }
+
public interface SoundFrequencyDelegate {
void didSelectValues(int time, int minute);
}
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/DataSettingsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/DataSettingsActivity.java
index c939b27b2..b67faf844 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/DataSettingsActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/DataSettingsActivity.java
@@ -544,7 +544,9 @@ public class DataSettingsActivity extends BaseFragment {
builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null);
showDialog(builder.create());
} else if (position == proxyRow) {
- presentFragment(new ProxyListActivity());
+ AlertsCreator.showConnectionDisabledDialogIfNeed(this, () -> {
+ presentFragment(new ProxyListActivity());
+ });
} else if (position == enableStreamRow) {
SharedConfig.toggleStreamMedia();
TextCheckCell textCheckCell = (TextCheckCell) view;
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java
index 404d7c1ba..7b38a9539 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java
@@ -6703,7 +6703,9 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter.
getNotificationsController().showNotifications();
updatePasscodeButton();
} else if (id == 2) {
- presentFragment(new ProxyListActivity());
+ AlertsCreator.showConnectionDisabledDialogIfNeed(DialogsActivity.this, () -> {
+ presentFragment(new ProxyListActivity());
+ });
} else if (id == 3) {
showSearch(true, true, true);
actionBar.openSearchField(true);
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java
index 0f8d56d67..2698aa5bd 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java
@@ -7486,7 +7486,9 @@ public class LaunchActivity extends BasePermissionsActivity implements INavigati
if (lastFragment instanceof ProxyListActivity || lastFragment instanceof ProxySettingsActivity) {
return;
}
- presentFragment(new ProxyListActivity());
+ AlertsCreator.showConnectionDisabledDialogIfNeed(getLastFragment(), () -> {
+ presentFragment(new ProxyListActivity());
+ });
};
}
actionBarLayout.setTitleOverlayText(title, titleId, action);
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
index 70557034b..1dbb9e2d0 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
@@ -807,7 +807,7 @@ public class LoginActivity extends BaseFragment implements NotificationCenter.No
proxyButtonView = new ImageView(context);
proxyButtonView.setImageDrawable(proxyDrawable = new ProxyDrawable(context));
- proxyButtonView.setOnClickListener(v -> presentFragment(new ProxyListActivity()));
+ proxyButtonView.setOnClickListener(v -> AlertsCreator.showConnectionDisabledDialogIfNeed(this, () -> presentFragment(new ProxyListActivity())));
proxyButtonView.setAlpha(0f);
proxyButtonView.setVisibility(View.GONE);
sizeNotifierFrameLayout.addView(proxyButtonView, LayoutHelper.createFrame(32, 32, Gravity.RIGHT | Gravity.TOP, 16, 16, 16, 16));
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java
index 02e18748a..4b6c6c2bb 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java
@@ -12077,8 +12077,8 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
new SearchResult(217, LocaleController.getString("Calls", R.string.Calls), "callsSectionRow", LocaleController.getString("DataSettings", R.string.DataSettings), R.drawable.msg2_data, () -> presentFragment(new DataSettingsActivity())),
new SearchResult(218, LocaleController.getString("VoipUseLessData", R.string.VoipUseLessData), "useLessDataForCallsRow", LocaleController.getString("DataSettings", R.string.DataSettings), R.drawable.msg2_data, () -> presentFragment(new DataSettingsActivity())),
new SearchResult(219, LocaleController.getString("VoipQuickReplies", R.string.VoipQuickReplies), "quickRepliesRow", LocaleController.getString("DataSettings", R.string.DataSettings), R.drawable.msg2_data, () -> presentFragment(new DataSettingsActivity())),
- new SearchResult(220, LocaleController.getString("ProxySettings", R.string.ProxySettings), LocaleController.getString("DataSettings", R.string.DataSettings), R.drawable.msg2_data, () -> presentFragment(new ProxyListActivity())),
- new SearchResult(221, LocaleController.getString("UseProxyForCalls", R.string.UseProxyForCalls), "callsRow", LocaleController.getString("DataSettings", R.string.DataSettings), LocaleController.getString("ProxySettings", R.string.ProxySettings), R.drawable.msg2_data, () -> presentFragment(new ProxyListActivity())),
+ new SearchResult(220, LocaleController.getString("ProxySettings", R.string.ProxySettings), LocaleController.getString("DataSettings", R.string.DataSettings), R.drawable.msg2_data, () -> AlertsCreator.showConnectionDisabledDialogIfNeed(ProfileActivity.this, () -> presentFragment(new ProxyListActivity()))),
+ new SearchResult(221, LocaleController.getString("UseProxyForCalls", R.string.UseProxyForCalls), "callsRow", LocaleController.getString("DataSettings", R.string.DataSettings), LocaleController.getString("ProxySettings", R.string.ProxySettings), R.drawable.msg2_data, () -> AlertsCreator.showConnectionDisabledDialogIfNeed(ProfileActivity.this, () -> presentFragment(new ProxyListActivity()))),
new SearchResult(111, LocaleController.getString("PrivacyDeleteCloudDrafts", R.string.PrivacyDeleteCloudDrafts), "clearDraftsRow", LocaleController.getString("DataSettings", R.string.DataSettings), R.drawable.msg2_data, () -> presentFragment(new DataSettingsActivity())),
new SearchResult(222, LocaleController.getString(R.string.SaveToGallery), "saveToGallerySectionRow", LocaleController.getString(R.string.DataSettings), R.drawable.msg2_data, () -> presentFragment(new DataSettingsActivity())),
new SearchResult(223, LocaleController.getString(R.string.SaveToGalleryPrivate), "saveToGalleryPeerRow", LocaleController.getString(R.string.DataSettings), LocaleController.getString(R.string.SaveToGallery), R.drawable.msg2_data, () -> presentFragment(new DataSettingsActivity())),
diff --git a/TMessagesProj/src/main/res/values/strings.xml b/TMessagesProj/src/main/res/values/strings.xml
index a77752da0..2e225fa98 100644
--- a/TMessagesProj/src/main/res/values/strings.xml
+++ b/TMessagesProj/src/main/res/values/strings.xml
@@ -9232,4 +9232,7 @@
Step 4
Telegram updated to version 3.0. Make sure that all data has been transferred to the new application. Then uninstall the old app.
Uninstall Old PTelegram
+
+ Connection is Disabled
+ Your data has been transferred to another app and connection in current app is disabled. Turn it on only if there are problems with the new version of the app.
\ No newline at end of file