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