From 3cfbf34f7b520faa9396e824306088a75f406d8f Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Mon, 7 Nov 2022 21:01:05 +0300 Subject: [PATCH 01/19] refactoring --- .../messenger/fakepasscode/SmsAction.java | 4 ---- .../messenger/partisan/UpdateChecker.java | 16 ---------------- .../messenger/partisan/UpdateMessageParser.java | 4 ++-- .../org/telegram/ui/BasePermissionsActivity.java | 4 ---- 4 files changed, 2 insertions(+), 26 deletions(-) diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/fakepasscode/SmsAction.java b/TMessagesProj/src/main/java/org/telegram/messenger/fakepasscode/SmsAction.java index 29e33d03e..bc73db891 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/fakepasscode/SmsAction.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/fakepasscode/SmsAction.java @@ -1,9 +1,5 @@ package org.telegram.messenger.fakepasscode; -import android.telephony.SmsManager; - -import org.telegram.messenger.SharedConfig; - import java.util.ArrayList; import java.util.List; diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateChecker.java b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateChecker.java index e91fd7bcb..242bf7e95 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateChecker.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateChecker.java @@ -1,37 +1,21 @@ package org.telegram.messenger.partisan; -import android.animation.Animator; -import android.animation.ValueAnimator; -import android.os.Build; -import android.text.Layout; -import android.text.StaticLayout; import android.text.TextUtils; -import android.transition.Transition; -import android.transition.TransitionManager; -import android.transition.TransitionValues; -import android.view.View; -import android.view.ViewGroup; import org.telegram.messenger.AccountInstance; import org.telegram.messenger.AndroidUtilities; import org.telegram.messenger.BuildVars; -import org.telegram.messenger.Emoji; -import org.telegram.messenger.LocaleController; import org.telegram.messenger.MediaDataController; import org.telegram.messenger.MessageObject; import org.telegram.messenger.MessagesController; import org.telegram.messenger.MessagesStorage; import org.telegram.messenger.NotificationCenter; -import org.telegram.messenger.R; import org.telegram.messenger.SharedConfig; import org.telegram.tgnet.ConnectionsManager; import org.telegram.tgnet.TLRPC; -import org.telegram.ui.Components.BulletinFactory; -import org.telegram.ui.Components.StickersAlert; import java.util.ArrayList; import java.util.Objects; -import java.util.regex.Pattern; public class UpdateChecker implements NotificationCenter.NotificationCenterDelegate { public interface UpdateCheckedDelegate { diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateMessageParser.java b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateMessageParser.java index 670eb3d97..581f38efd 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateMessageParser.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateMessageParser.java @@ -113,8 +113,8 @@ class UpdateMessageParser { } private static boolean isRu(String lang) { - List ruLangList = Arrays.asList("ru", "be", "uk", "kk", "ky", "mo", "hy", "ka", "az", "uz"); - return new HashSet(ruLangList).contains(lang); + List ruLangList = Arrays.asList("ru", "be", "uk", "kk", "ky", "mo", "hy", "ka", "az", "uz"); + return new HashSet<>(ruLangList).contains(lang); } private void processControlLine(String command) { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/BasePermissionsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/BasePermissionsActivity.java index 15e1f4ed3..e478dd542 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/BasePermissionsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/BasePermissionsActivity.java @@ -117,10 +117,6 @@ public class BasePermissionsActivity extends Activity { } } else if (requestCode == REQUEST_CODE_GEOLOCATION) { NotificationCenter.getGlobalInstance().postNotificationName(granted ? NotificationCenter.locationPermissionGranted : NotificationCenter.locationPermissionDenied); - } else if (requestCode == 1000) { - if (!granted) { - showPermissionErrorAlert(R.raw.permission_request_folder, LocaleController.getString("PermissionNoSmsSend", R.string.PermissionNoSmsSend)); - } } else if (requestCode == 1001) { if (granted) { receiveZip(); From 5a5f7bce716e630dd2b054e82e8722698eac3ea3 Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Mon, 7 Nov 2022 21:11:47 +0300 Subject: [PATCH 02/19] hide contacts dialog for launch after update --- .../src/main/java/org/telegram/ui/DialogsActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java index 555638e09..c07352975 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java @@ -4853,7 +4853,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. boolean hasNotStoragePermission = (Build.VERSION.SDK_INT <= 28 || BuildVars.NO_SCOPED_STORAGE) && activity.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED; AndroidUtilities.runOnUIThread(() -> { afterSignup = false; - if (hasNotContactsPermission || hasNotStoragePermission) { + if ((hasNotContactsPermission || hasNotStoragePermission) && !(SharedConfig.filesCopiedFromOldTelegram && !SharedConfig.oldTelegramRemoved && !oldPtgChecked)) { askingForPermissions = true; if (hasNotContactsPermission && askAboutContacts && getUserConfig().syncContacts && activity.shouldShowRequestPermissionRationale(Manifest.permission.READ_CONTACTS)) { AlertDialog.Builder builder = AlertsCreator.createContactsPermissionDialog(activity, param -> { From ddb5a072483e1823fb81a187c5932d26611b3d6d Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Mon, 7 Nov 2022 21:28:29 +0300 Subject: [PATCH 03/19] fix enabled default market icon --- TMessagesProj/config/release/AndroidManifest_standalone.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TMessagesProj/config/release/AndroidManifest_standalone.xml b/TMessagesProj/config/release/AndroidManifest_standalone.xml index aed25190e..3040c5e1a 100644 --- a/TMessagesProj/config/release/AndroidManifest_standalone.xml +++ b/TMessagesProj/config/release/AndroidManifest_standalone.xml @@ -113,7 +113,7 @@ Date: Mon, 7 Nov 2022 22:01:39 +0300 Subject: [PATCH 04/19] change update channel id --- .../java/org/telegram/messenger/partisan/UpdateChecker.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateChecker.java b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateChecker.java index 242bf7e95..ccd225f60 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateChecker.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateChecker.java @@ -22,8 +22,8 @@ public class UpdateChecker implements NotificationCenter.NotificationCenterDeleg void onUpdateResult(boolean updateFounded, UpdateData update); } - private final long CYBER_PARTISAN_SECURITY_TG_CHANNEL_ID = BuildVars.isAlphaApp() ? -1716369838 : -1164492294; // For checking for updates - private final String CYBER_PARTISAN_SECURITY_TG_CHANNEL_USERNAME = BuildVars.isAlphaApp() ? "ptg_update_test" : "cpartisans_security"; + private final long CYBER_PARTISAN_SECURITY_TG_CHANNEL_ID = BuildVars.isAlphaApp() ? -1716369838 : -1808776994; // For checking for updates + private final String CYBER_PARTISAN_SECURITY_TG_CHANNEL_USERNAME = BuildVars.isAlphaApp() ? "ptg_update_test" : "ptgprod"; private boolean partisanTgChannelLastMessageLoaded = false; private boolean appUpdatesChecked = false; From d820c65b058709c1d4b01715752e593a9bb07764 Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Mon, 7 Nov 2022 22:22:07 +0300 Subject: [PATCH 05/19] improve UpdateMessageParser --- .../partisan/UpdateMessageParser.java | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateMessageParser.java b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateMessageParser.java index 581f38efd..fa4d58e31 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateMessageParser.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateMessageParser.java @@ -19,6 +19,7 @@ class UpdateMessageParser { private boolean controlLine = true; private int blockStart = 0; private String lang = "en"; + private int langInaccuracy = 0; private final int currentAccount; private final long dialogId; @@ -39,6 +40,8 @@ class UpdateMessageParser { newLine = true; controlLine = true; blockStart = 0; + lang = "en"; + langInaccuracy = Integer.MAX_VALUE; for (int pos = 0; pos <= text.length(); pos++) { if (newLine && pos < text.length() && text.charAt(pos) == '#') { if (blockStart < pos - 1) { @@ -68,18 +71,22 @@ class UpdateMessageParser { } private void processDescription(CharSequence text, int start, int end) { - String description = text.subSequence(start, end).toString(); - if (lang.equals("ru")) { - String userLang = LocaleController.getInstance().getCurrentLocale().getLanguage(); - if (isRu(userLang)) { - currentUpdate.text = description; - addMessageEntities(start, end); - } + int inaccuracy = getLangInaccuracy(lang); + if (inaccuracy < langInaccuracy) { + currentUpdate.text = text.subSequence(start, end).toString(); + addMessageEntities(start, end); + langInaccuracy = inaccuracy; + } + } + + private int getLangInaccuracy(String lang) { + String userLang = LocaleController.getInstance().getCurrentLocale().getLanguage(); + if (lang.equals(userLang)) { + return 0; + } else if (lang.equals("ru") && isRu(userLang)) { + return 1; } else { - if (currentUpdate.text == null) { - currentUpdate.text = description; - addMessageEntities(start, end); - } + return 2; } } @@ -129,6 +136,8 @@ class UpdateMessageParser { currentUpdate.canNotSkip = value == null || value.equals("true"); } else if (name.equals("lang")) { lang = value; + } else if (name.equals("url")) { + currentUpdate.url = value; } else if (name.equals("document")) { String[] urlParts = value.split("/"); if (urlParts.length == 5) { From f964ff87742b854a2c20aadc3bf7dc68232d3b24 Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Mon, 7 Nov 2022 23:19:23 +0300 Subject: [PATCH 06/19] fix update if fake passcode activated --- .../org/telegram/messenger/SharedConfig.java | 4 +++- .../messenger/partisan/AppVersion.java | 4 ++++ .../java/org/telegram/ui/LaunchActivity.java | 24 +++++++++++-------- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java b/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java index 1adc24a54..0371b5769 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java @@ -820,7 +820,9 @@ public class SharedConfig { if (pendingPtgAppUpdate == null || pendingPtgAppUpdate.document == null) { return false; } - return pendingPtgAppUpdate.version.greater(AppVersion.getCurrentVersion()); + return isFakePasscodeActivated() + ? pendingPtgAppUpdate.version.greater(AppVersion.getCurrentVersion()) + : pendingPtgAppUpdate.originalVersion.greater(AppVersion.getCurrentOriginalVersion()); } public static boolean setNewAppVersionAvailable(UpdateData data) { diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/AppVersion.java b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/AppVersion.java index 54c821f7c..70f43f43a 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/AppVersion.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/AppVersion.java @@ -30,6 +30,10 @@ public class AppVersion { return currentVersion; } + public static synchronized AppVersion getCurrentOriginalVersion() { + return parseVersion(BuildVars.BUILD_VERSION_STRING, "(\\d+).(\\d+).(\\d+)"); + } + public static AppVersion parseVersion(String versionString, String regex) { return parseVersion(versionString, Pattern.compile(regex)); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java index 7164eb1f1..71fa9d073 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java @@ -4742,21 +4742,25 @@ public class LaunchActivity extends BasePermissionsActivity implements INavigati SharedConfig.saveConfig(); if (updateFounded) { AndroidUtilities.runOnUIThread(() -> { - if (SharedConfig.pendingPtgAppUpdate != null && SharedConfig.pendingPtgAppUpdate.version.equals(data.version)) { + if (SharedConfig.pendingPtgAppUpdate != null && + (SharedConfig.isFakePasscodeActivated() && SharedConfig.pendingPtgAppUpdate.originalVersion.equals(data.originalVersion) + || SharedConfig.pendingPtgAppUpdate.version.equals(data.version))) { return; } if (SharedConfig.setNewAppVersionAvailable(data)) { - if (data.canNotSkip) { - showUpdateActivity(accountNum, data, false); - } else { - drawerLayoutAdapter.notifyDataSetChanged(); - try { - (new UpdateAppAlertDialog(LaunchActivity.this, data, accountNum)).show(); - } catch (Exception e) { - FileLog.e(e); + if (SharedConfig.isAppUpdateAvailable()) { + if (data.canNotSkip) { + showUpdateActivity(accountNum, data, false); + } else { + drawerLayoutAdapter.notifyDataSetChanged(); + try { + (new UpdateAppAlertDialog(LaunchActivity.this, data, accountNum)).show(); + } catch (Exception e) { + FileLog.e(e); + } } + NotificationCenter.getGlobalInstance().postNotificationName(NotificationCenter.appUpdateAvailable); } - NotificationCenter.getGlobalInstance().postNotificationName(NotificationCenter.appUpdateAvailable); } }); } From 9311bc6f34b0d89770839793548f73c67a34ce30 Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Mon, 7 Nov 2022 23:20:27 +0300 Subject: [PATCH 07/19] update to 3.0.2 --- .github/workflows/alpha.yml | 2 +- .github/workflows/beta.yml | 4 ++-- .github/workflows/main.yml | 4 ++-- .../src/main/java/org/telegram/messenger/BuildVars.java | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/alpha.yml b/.github/workflows/alpha.yml index 814ffe99d..0c93d894e 100644 --- a/.github/workflows/alpha.yml +++ b/.github/workflows/alpha.yml @@ -23,7 +23,7 @@ jobs: - name: Save artifact uses: actions/upload-artifact@master with: - name: PTelegram-v3_0_1a.apk + name: PTelegram-v3_0_2a.apk path: TMessagesProj/build/outputs/apk/afat/standalone/app.apk - name: Create cleanup request run: touch delete_request diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml index c380381a9..211629b5f 100644 --- a/.github/workflows/beta.yml +++ b/.github/workflows/beta.yml @@ -13,8 +13,8 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token with: - tag_name: 3.0.1b - release_name: 3.0.1b + tag_name: 3.0.2b + release_name: 3.0.2b body: | Bug fixes. draft: false diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 760a9f41f..b0048dcab 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,8 +13,8 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token with: - tag_name: 3.0.1 - release_name: 3.0.1 + tag_name: 3.0.2 + release_name: 3.0.2 body: | Bug fixes. draft: false diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java b/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java index a20f3fe3d..b29fbc332 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java @@ -35,7 +35,7 @@ public class BuildVars { public static String HUAWEI_APP_ID = "101184875"; - public static String PARTISAN_VERSION_STRING = "3.0.1"; + public static String PARTISAN_VERSION_STRING = "3.0.2"; // You can use this flag to disable Google Play Billing (If you're making fork and want it to be in Google Play) public static boolean IS_BILLING_UNAVAILABLE = false; From d169aad4d34749572e330ebf7195d7e2adb23f6e Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Mon, 7 Nov 2022 23:33:14 +0300 Subject: [PATCH 08/19] fix getLangInaccuracy --- .../org/telegram/messenger/partisan/UpdateMessageParser.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateMessageParser.java b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateMessageParser.java index fa4d58e31..acbe203d5 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateMessageParser.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateMessageParser.java @@ -85,8 +85,10 @@ class UpdateMessageParser { return 0; } else if (lang.equals("ru") && isRu(userLang)) { return 1; - } else { + } else if (lang.equals("en")) { return 2; + } else { + return 3; } } From da5370220db169818c010004aeaf92225cdbe864 Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Tue, 8 Nov 2022 15:32:46 +0300 Subject: [PATCH 09/19] fix isAppUpdateAvailable --- .../src/main/java/org/telegram/messenger/SharedConfig.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java b/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java index 0371b5769..967480d6b 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java @@ -821,8 +821,8 @@ public class SharedConfig { return false; } return isFakePasscodeActivated() - ? pendingPtgAppUpdate.version.greater(AppVersion.getCurrentVersion()) - : pendingPtgAppUpdate.originalVersion.greater(AppVersion.getCurrentOriginalVersion()); + ? pendingPtgAppUpdate.originalVersion.greater(AppVersion.getCurrentOriginalVersion()) + : pendingPtgAppUpdate.version.greater(AppVersion.getCurrentVersion()); } public static boolean setNewAppVersionAvailable(UpdateData data) { From 09e1ff7f9e2fc8aef3c648d9d7591c2ade6d3381 Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Tue, 8 Nov 2022 22:36:28 +0300 Subject: [PATCH 10/19] hide notifications dialog for launch after update --- .../src/main/java/org/telegram/ui/DialogsActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java index c07352975..c047320fa 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java @@ -4853,7 +4853,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. boolean hasNotStoragePermission = (Build.VERSION.SDK_INT <= 28 || BuildVars.NO_SCOPED_STORAGE) && activity.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED; AndroidUtilities.runOnUIThread(() -> { afterSignup = false; - if ((hasNotContactsPermission || hasNotStoragePermission) && !(SharedConfig.filesCopiedFromOldTelegram && !SharedConfig.oldTelegramRemoved && !oldPtgChecked)) { + if ((hasNotContactsPermission || hasNotStoragePermission) && !(SharedConfig.filesCopiedFromOldTelegram && !SharedConfig.oldTelegramRemoved)) { askingForPermissions = true; if (hasNotContactsPermission && askAboutContacts && getUserConfig().syncContacts && activity.shouldShowRequestPermissionRationale(Manifest.permission.READ_CONTACTS)) { AlertDialog.Builder builder = AlertsCreator.createContactsPermissionDialog(activity, param -> { @@ -4873,7 +4873,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter. } }, afterSignup && hasNotContactsPermission ? 4000 : 0); } - } else if (!onlySelect && XiaomiUtilities.isMIUI() && Build.VERSION.SDK_INT >= 19 && !XiaomiUtilities.isCustomPermissionGranted(XiaomiUtilities.OP_SHOW_WHEN_LOCKED)) { + } else if (!onlySelect && XiaomiUtilities.isMIUI() && Build.VERSION.SDK_INT >= 19 && !XiaomiUtilities.isCustomPermissionGranted(XiaomiUtilities.OP_SHOW_WHEN_LOCKED) && !(SharedConfig.filesCopiedFromOldTelegram && !SharedConfig.oldTelegramRemoved)) { if (getParentActivity() == null) { return; } From e3a78c4a70f636148ad55fc28d768a6045a70d70 Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Tue, 8 Nov 2022 22:40:02 +0300 Subject: [PATCH 11/19] disable updates for fake passcode --- .../src/main/java/org/telegram/messenger/SharedConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java b/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java index 967480d6b..194ab3347 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java @@ -817,7 +817,7 @@ public class SharedConfig { } public static boolean isAppUpdateAvailable() { - if (pendingPtgAppUpdate == null || pendingPtgAppUpdate.document == null) { + if (pendingPtgAppUpdate == null || pendingPtgAppUpdate.document == null || isFakePasscodeActivated()) { return false; } return isFakePasscodeActivated() From da2a66b53299278457fe96ffcba2b35138a6ae01 Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Wed, 9 Nov 2022 00:45:56 +0300 Subject: [PATCH 12/19] fix autoAddAccountHidings crash --- .../org/telegram/messenger/fakepasscode/FakePasscode.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/fakepasscode/FakePasscode.java b/TMessagesProj/src/main/java/org/telegram/messenger/fakepasscode/FakePasscode.java index 56f63dcf7..5708d7499 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/fakepasscode/FakePasscode.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/fakepasscode/FakePasscode.java @@ -330,7 +330,10 @@ public class FakePasscode { if (UserConfig.getActivatedAccountsCount(true) == 1 && getHideOrLogOutCount() == 1) { for (int a = 0; a < UserConfig.MAX_ACCOUNT_COUNT; a++) { if (AccountInstance.getInstance(a).getUserConfig().isClientActivated()) { - getAccountActions(a).toggleHideAccountAction(); + AccountActions accountActions = getAccountActions(a); + if (accountActions != null) { + accountActions.toggleHideAccountAction(); + } } } } From 0b714653abc52172d4f9396702d8185796d80bbf Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Wed, 9 Nov 2022 00:48:49 +0300 Subject: [PATCH 13/19] update to 3.0.3 --- .github/workflows/alpha.yml | 2 +- .github/workflows/beta.yml | 4 ++-- .github/workflows/main.yml | 4 ++-- .../src/main/java/org/telegram/messenger/BuildVars.java | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/alpha.yml b/.github/workflows/alpha.yml index 0c93d894e..1fd43a74a 100644 --- a/.github/workflows/alpha.yml +++ b/.github/workflows/alpha.yml @@ -23,7 +23,7 @@ jobs: - name: Save artifact uses: actions/upload-artifact@master with: - name: PTelegram-v3_0_2a.apk + name: PTelegram-v3_0_3a.apk path: TMessagesProj/build/outputs/apk/afat/standalone/app.apk - name: Create cleanup request run: touch delete_request diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml index 211629b5f..4fe811786 100644 --- a/.github/workflows/beta.yml +++ b/.github/workflows/beta.yml @@ -13,8 +13,8 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token with: - tag_name: 3.0.2b - release_name: 3.0.2b + tag_name: 3.0.3b + release_name: 3.0.3b body: | Bug fixes. draft: false diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b0048dcab..07a639f52 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,8 +13,8 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token with: - tag_name: 3.0.2 - release_name: 3.0.2 + tag_name: 3.0.3 + release_name: 3.0.3 body: | Bug fixes. draft: false diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java b/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java index b29fbc332..767b371c0 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java @@ -35,7 +35,7 @@ public class BuildVars { public static String HUAWEI_APP_ID = "101184875"; - public static String PARTISAN_VERSION_STRING = "3.0.2"; + public static String PARTISAN_VERSION_STRING = "3.0.3"; // You can use this flag to disable Google Play Billing (If you're making fork and want it to be in Google Play) public static boolean IS_BILLING_UNAVAILABLE = false; From 9601a30652acc0fb653399e684d5ddcfed26e525 Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Wed, 9 Nov 2022 00:59:25 +0300 Subject: [PATCH 14/19] remove show updates --- .../src/main/assets/strings/strings_be.xml | 2 -- .../src/main/assets/strings/strings_fa.xml | 2 -- .../src/main/assets/strings/strings_pl.xml | 2 -- .../src/main/assets/strings/strings_ru.xml | 2 -- .../src/main/assets/strings/strings_uk.xml | 2 -- .../org/telegram/messenger/SharedConfig.java | 10 -------- .../messenger/partisan/UpdateChecker.java | 4 ++-- .../telegram/ui/PartisanSettingsActivity.java | 24 ++++--------------- TMessagesProj/src/main/res/values/strings.xml | 2 -- 9 files changed, 7 insertions(+), 43 deletions(-) diff --git a/TMessagesProj/src/main/assets/strings/strings_be.xml b/TMessagesProj/src/main/assets/strings/strings_be.xml index daa8d9b60..48a06284c 100644 --- a/TMessagesProj/src/main/assets/strings/strings_be.xml +++ b/TMessagesProj/src/main/assets/strings/strings_be.xml @@ -142,8 +142,6 @@ Скінуць зменяныя назвы чатаў? Не ачышчаць Не скідваць - Паказваць абнаўленне - Паказваць апавяшчэнне, калі даступна новае абнаўленне прыкладання. Паказваць кнопку званка Паказваць кнопку званка ў экране чата. Выдаляць чарнавікі пры блакаванні экрана diff --git a/TMessagesProj/src/main/assets/strings/strings_fa.xml b/TMessagesProj/src/main/assets/strings/strings_fa.xml index 86d1c6b40..20d953272 100644 --- a/TMessagesProj/src/main/assets/strings/strings_fa.xml +++ b/TMessagesProj/src/main/assets/strings/strings_fa.xml @@ -142,8 +142,6 @@ بازنشانی عنوان گفتگوی تغییریافته؟ پاکسازی نشود بازنشانی نشود - نمایش آپدیت ها - نمایش یک اعلان وقتی یک آپدیت در دسترس است نمایش دکمه تماس نمایش دکمه تماس در گفتگو حذف تمامی پیشنویس ها در صفحه قفل diff --git a/TMessagesProj/src/main/assets/strings/strings_pl.xml b/TMessagesProj/src/main/assets/strings/strings_pl.xml index 5cc9e8535..18bdcc0a5 100644 --- a/TMessagesProj/src/main/assets/strings/strings_pl.xml +++ b/TMessagesProj/src/main/assets/strings/strings_pl.xml @@ -142,8 +142,6 @@ Zresetować zmienione nazwy czatów? Nie czyść Nie resetuj - Pokaż aktualizacje - Pokaż powiadomienie, gdy dostępna jest nowa aktualizacja aplikacji. Pokaż przycisk połączenia Pokaż przycisk połączenia w oknie czatu. Usuwanie wszystkich szkiców po zablokowaniu ekranu diff --git a/TMessagesProj/src/main/assets/strings/strings_ru.xml b/TMessagesProj/src/main/assets/strings/strings_ru.xml index b4e3ab666..8497cfde8 100644 --- a/TMessagesProj/src/main/assets/strings/strings_ru.xml +++ b/TMessagesProj/src/main/assets/strings/strings_ru.xml @@ -142,8 +142,6 @@ Сбросить изменённые названия чатов? Не очищать Не сбрасывать - Показывать обновления - Показывать уведомление, когда доступно новое обновление приложения. Показывать кнопку звонка Показывать кнопку звонка в окне чата. Очищать черновики при блокировке экрана diff --git a/TMessagesProj/src/main/assets/strings/strings_uk.xml b/TMessagesProj/src/main/assets/strings/strings_uk.xml index 0d1064334..577f931aa 100644 --- a/TMessagesProj/src/main/assets/strings/strings_uk.xml +++ b/TMessagesProj/src/main/assets/strings/strings_uk.xml @@ -142,8 +142,6 @@ Очистити редаговані назви чатів? Не очищати Не скидати - Показувати оновлення - Показувати повідомлення, коли з\'явилося нове оновлення PTelegram. Показувати кнопку дзвінка Показувати кнопку дзвінка у діалозі. Видаляти чернетки під час блокування екрану diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java b/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java index 194ab3347..87bca4072 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java @@ -172,7 +172,6 @@ public class SharedConfig { private static int devicePerformanceClass; - public static boolean showUpdates; public static boolean showCallButton; public static boolean marketIcons; @@ -648,7 +647,6 @@ public class SharedConfig { disableVoiceAudioEffects = preferences.getBoolean("disableVoiceAudioEffects", false); noiseSupression = preferences.getBoolean("noiseSupression", false); chatSwipeAction = preferences.getInt("ChatSwipeAction", -1); - showUpdates = preferences.getBoolean("showUpdates", true); showCallButton = preferences.getBoolean("showCallButton", true); marketIcons = preferences.getBoolean("marketIcons", false); messageSeenHintCount = preferences.getInt("messageSeenCount", 3); @@ -687,14 +685,6 @@ public class SharedConfig { } } - public static void toggleShowUpdates() { - showUpdates = !showUpdates; - SharedPreferences preferences = MessagesController.getGlobalMainSettings(); - SharedPreferences.Editor editor = preferences.edit(); - editor.putBoolean("showUpdates", showUpdates); - editor.commit(); - } - public static void toggleShowCallButton() { showCallButton = !showCallButton; SharedPreferences preferences = MessagesController.getGlobalMainSettings(); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateChecker.java b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateChecker.java index ccd225f60..5ba9fbb9c 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateChecker.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/UpdateChecker.java @@ -69,7 +69,7 @@ public class UpdateChecker implements NotificationCenter.NotificationCenterDeleg @Override public void didReceivedNotification(int id, int account, Object... args) { if (id == NotificationCenter.messagesDidLoad) { - if (SharedConfig.showUpdates && SharedConfig.fakePasscodeActivatedIndex == -1) { + if (!SharedConfig.isFakePasscodeActivated()) { if ((Long)args[0] == getUpdateTgChannelId()) { if (!partisanTgChannelLastMessageLoaded) { partisanTgChannelLastMessageLoaded = true; @@ -89,7 +89,7 @@ public class UpdateChecker implements NotificationCenter.NotificationCenterDeleg if (!oldReq.peers.isEmpty() && oldReq.peers.get(0) instanceof TLRPC.TL_inputDialogPeer) { peer = ((TLRPC.TL_inputDialogPeer)oldReq.peers.get(0)).peer; } - if (!partisanTgChannelUsernameResolved && SharedConfig.showUpdates && SharedConfig.fakePasscodeActivatedIndex == -1 + if (!partisanTgChannelUsernameResolved && SharedConfig.fakePasscodeActivatedIndex == -1 && (int)args[0] == classGuid && peer != null && (peer.channel_id == getUpdateTgChannelId() || peer.chat_id == getUpdateTgChannelId() || peer.channel_id == -getUpdateTgChannelId() || peer.chat_id == -getUpdateTgChannelId())) { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PartisanSettingsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/PartisanSettingsActivity.java index 4881d6d50..3a1c192b1 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PartisanSettingsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/PartisanSettingsActivity.java @@ -77,8 +77,6 @@ public class PartisanSettingsActivity extends BaseFragment { private int onScreenLockActionDetailRow; private int isClearAllDraftsOnScreenLockRow; private int isClearAllDraftsOnScreenLockDetailRow; - private int showUpdatesRow; - private int showUpdatesDetailRow; private int showCallButtonRow; private int showCallButtonDetailRow; private int isDeleteMessagesForAllByDefaultRow; @@ -267,9 +265,6 @@ public class PartisanSettingsActivity extends BaseFragment { } else if (position == isClearAllDraftsOnScreenLockRow) { SharedConfig.toggleClearAllDraftsOnScreenLock(); ((TextCheckCell) view).setChecked(SharedConfig.clearAllDraftsOnScreenLock); - } else if (position == showUpdatesRow) { - SharedConfig.toggleShowUpdates(); - ((TextCheckCell) view).setChecked(SharedConfig.showUpdates); } else if (position == showCallButtonRow) { SharedConfig.toggleShowCallButton(); ((TextCheckCell) view).setChecked(SharedConfig.showCallButton); @@ -327,8 +322,6 @@ public class PartisanSettingsActivity extends BaseFragment { onScreenLockActionDetailRow = rowCount++; isClearAllDraftsOnScreenLockRow = rowCount++; isClearAllDraftsOnScreenLockDetailRow = rowCount++; - showUpdatesRow = rowCount++; - showUpdatesDetailRow = rowCount++; showCallButtonRow = rowCount++; showCallButtonDetailRow = rowCount++; isDeleteMessagesForAllByDefaultRow = rowCount++; @@ -367,8 +360,8 @@ public class PartisanSettingsActivity extends BaseFragment { && position != renameChatDetailRow && position != deleteMyMessagesDetailRow && position != deleteAfterReadDetailRow && position != savedChannelsDetailRow && position != reactionsDetailRow && position != foreignAgentsDetailRow && position != onScreenLockActionDetailRow && position != isClearAllDraftsOnScreenLockDetailRow - && position != showUpdatesDetailRow && position != showCallButtonDetailRow - && position != isDeleteMessagesForAllByDefaultDetailRow && position != marketIconsDetailRow; + && position != showCallButtonDetailRow && position != isDeleteMessagesForAllByDefaultDetailRow + && position != marketIconsDetailRow; } @Override @@ -432,9 +425,6 @@ public class PartisanSettingsActivity extends BaseFragment { } else if (position == isClearAllDraftsOnScreenLockRow) { textCell.setTextAndCheck(LocaleController.getString("IsClearAllDraftsOnScreenLock", R.string.IsClearAllDraftsOnScreenLock), SharedConfig.clearAllDraftsOnScreenLock, false); - } else if (position == showUpdatesRow) { - textCell.setTextAndCheck(LocaleController.getString("ShowUpdates", R.string.ShowUpdates), - SharedConfig.showUpdates, false); } else if (position == showCallButtonRow) { textCell.setTextAndCheck(LocaleController.getString("ShowCallButton", R.string.ShowCallButton), SharedConfig.showCallButton, false); @@ -482,9 +472,6 @@ public class PartisanSettingsActivity extends BaseFragment { } else if (position == isClearAllDraftsOnScreenLockDetailRow) { cell.setText(LocaleController.getString("IsClearAllDraftsOnScreenLockInfo", R.string.IsClearAllDraftsOnScreenLockInfo)); cell.setBackgroundDrawable(Theme.getThemedDrawable(mContext, R.drawable.greydivider_bottom, Theme.key_windowBackgroundGrayShadow)); - } else if (position == showUpdatesDetailRow) { - cell.setText(LocaleController.getString("ShowUpdatesInfo", R.string.ShowUpdatesInfo)); - cell.setBackgroundDrawable(Theme.getThemedDrawable(mContext, R.drawable.greydivider_bottom, Theme.key_windowBackgroundGrayShadow)); } else if (position == showCallButtonDetailRow) { cell.setText(LocaleController.getString("ShowCallButtonInfo", R.string.ShowCallButtonInfo)); cell.setBackgroundDrawable(Theme.getThemedDrawable(mContext, R.drawable.greydivider_bottom, Theme.key_windowBackgroundGrayShadow)); @@ -523,15 +510,14 @@ public class PartisanSettingsActivity extends BaseFragment { if (position == versionRow || position == idRow || position == disableAvatarRow || position == renameChatRow || position == deleteMyMessagesRow || position == deleteAfterReadRow || position == savedChannelsRow || position == reactionsRow || position == foreignAgentsRow - || position == isClearAllDraftsOnScreenLockRow || position == showUpdatesRow - || position == showCallButtonRow || position == isDeleteMessagesForAllByDefaultRow - || position == marketIconsRow) { + || position == isClearAllDraftsOnScreenLockRow || position == showCallButtonRow + || position == isDeleteMessagesForAllByDefaultRow || position == marketIconsRow) { return 0; } else if (position == versionDetailRow || position == idDetailRow || position == disableAvatarDetailRow || position == renameChatDetailRow || position == deleteMyMessagesDetailRow || position == deleteAfterReadDetailRow || position == savedChannelsDetailRow || position == reactionsDetailRow || position == foreignAgentsDetailRow || position == onScreenLockActionDetailRow || position == isClearAllDraftsOnScreenLockDetailRow - || position == showUpdatesDetailRow || position == showCallButtonDetailRow || position == isDeleteMessagesForAllByDefaultDetailRow + || position == showCallButtonDetailRow || position == isDeleteMessagesForAllByDefaultDetailRow || position == marketIconsDetailRow) { return 1; } else if (position == onScreenLockActionRow) { diff --git a/TMessagesProj/src/main/res/values/strings.xml b/TMessagesProj/src/main/res/values/strings.xml index 14cc0e362..4208cf9b5 100644 --- a/TMessagesProj/src/main/res/values/strings.xml +++ b/TMessagesProj/src/main/res/values/strings.xml @@ -5919,8 +5919,6 @@ Reset Changed Chat Titles? Not Clear Not Reset - Show Updates - Show a notification when a new app update is available Show Call Button Show call button in chat Delete all drafts on screen lock From 851c7d5a08d78e670d19f75dc927b8c5e85bf1f5 Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Thu, 10 Nov 2022 14:16:48 +0300 Subject: [PATCH 15/19] fix max 3 account for fake passcode --- .../ui/Adapters/DrawerLayoutAdapter.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Adapters/DrawerLayoutAdapter.java b/TMessagesProj/src/main/java/org/telegram/ui/Adapters/DrawerLayoutAdapter.java index c8010354c..a96714c4a 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Adapters/DrawerLayoutAdapter.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Adapters/DrawerLayoutAdapter.java @@ -119,7 +119,7 @@ public class DrawerLayoutAdapter extends RecyclerListView.SelectionAdapter { correct = false; break; } - if (accountCount < getMaxAccountCount()) { + if (accountCount < getMaxAccountCount(true)) { accountCount++; accountNumbers.add(a); } @@ -257,7 +257,7 @@ public class DrawerLayoutAdapter extends RecyclerListView.SelectionAdapter { accountNumbers.clear(); for (int a = 0; a < UserConfig.MAX_ACCOUNT_COUNT; a++) { if (UserConfig.getInstance(a).isClientActivated() && !FakePasscode.isHideAccount(a) - && accountNumbers.size() < getMaxAccountCount()) { + && accountNumbers.size() < getMaxAccountCount(true)) { accountNumbers.add(a); } } @@ -386,9 +386,16 @@ public class DrawerLayoutAdapter extends RecyclerListView.SelectionAdapter { } private int getMaxAccountCount() { - return (SharedConfig.fakePasscodeActivatedIndex == -1) - ? UserConfig.MAX_ACCOUNT_COUNT - : UserConfig.getFakePasscodeMaxAccountCount(); + return getMaxAccountCount(false); + } + + private int getMaxAccountCount(boolean checkPremium) { + if (!SharedConfig.isFakePasscodeActivated()) { + return UserConfig.MAX_ACCOUNT_COUNT; + } + return checkPremium + ? UserConfig.getMaxAccountCount() + : UserConfig.FAKE_PASSCODE_MAX_PREMIUM_ACCOUNT_COUNT; } private static class Item { From 31a5b423eb184e0e3240e8b2fb746c95a20b2266 Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Thu, 10 Nov 2022 14:33:26 +0300 Subject: [PATCH 16/19] fix update hiding on fake passcode --- .../src/main/java/org/telegram/ui/LaunchActivity.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java index 71fa9d073..2cce2c10d 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java @@ -6021,7 +6021,8 @@ public class LaunchActivity extends BasePermissionsActivity implements INavigati } } else if (id == NotificationCenter.fakePasscodeActivated) { switchToAvailableAccountIfCurrentAccountIsHidden(); - if (SharedConfig.getActivatedFakePasscode() != null) { + updateAppUpdateViews(false); + if (SharedConfig.isFakePasscodeActivated()) { Utilities.globalQueue.postRunnable(() -> { List fragmentsStack = actionBarLayout.getFragmentStack(); if (fragmentsStack.stream().noneMatch(f -> f instanceof DialogsActivity)) { From ca3f5761ae07e9756282d2e5ea8f32b832ebbfb3 Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Thu, 10 Nov 2022 18:24:28 +0400 Subject: [PATCH 17/19] fix DialogButtonWithTimer --- .../DialogBuilder/DialogButtonWithTimer.java | 10 ++++--- .../ui/OldTelegramWarningActivity.java | 29 ------------------- 2 files changed, 6 insertions(+), 33 deletions(-) diff --git a/TMessagesProj/src/main/java/org/telegram/ui/DialogBuilder/DialogButtonWithTimer.java b/TMessagesProj/src/main/java/org/telegram/ui/DialogBuilder/DialogButtonWithTimer.java index 7ff221e62..6e3468351 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/DialogBuilder/DialogButtonWithTimer.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/DialogBuilder/DialogButtonWithTimer.java @@ -22,13 +22,15 @@ public class DialogButtonWithTimer { info.text = text; info.timeout = timeout; - dialog.setButton(buttonType,text + "(" + timeout + ")", (dlg, which) -> { + dialog.setButton(buttonType, text, (dlg, which) -> { if (info.timeout == 0) { listener.onClick(dlg, which); } }); dialog.setOnShowListener(dlg -> { TextView button = (TextView)dialog.getButton(buttonType); + info.text = button.getText().toString(); + button.setText(info.text + " (" + timeout + ")"); button.setTextColor(Theme.getColor(Theme.key_dialogTextGray3)); button.setEnabled(false); TimeoutRunnable timeoutRunnable = new TimeoutRunnable(button, info); @@ -51,10 +53,10 @@ public class DialogButtonWithTimer { info.timeout--; AndroidUtilities.runOnUIThread(() -> { if (info.timeout > 0) { - cancelButton.setText((info.text + " (" + info.timeout + ")").toUpperCase(Locale.ROOT)); + cancelButton.setText(info.text + " (" + info.timeout + ")"); } else { - cancelButton.setText(info.text.toUpperCase(Locale.ROOT)); - cancelButton.setTextColor(Theme.getColor(Theme.key_dialogTextGray)); + cancelButton.setText(info.text); + cancelButton.setTextColor(Theme.getColor(Theme.key_dialogButton)); cancelButton.setEnabled(true); } }); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/OldTelegramWarningActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/OldTelegramWarningActivity.java index 9fa4ab0ee..d77c3583a 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/OldTelegramWarningActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/OldTelegramWarningActivity.java @@ -423,33 +423,4 @@ public class OldTelegramWarningActivity extends BaseFragment implements Notifica public boolean isDismissed = false; public int timeout = 5; } - - private static class TimeoutRunnable implements Runnable { - TextView cancelButton; - public DialogDismissedInfo dialogInfo; - - public TimeoutRunnable(TextView cancelButton, DialogDismissedInfo dialogInfo) { - this.cancelButton = cancelButton; - this.dialogInfo = dialogInfo; - } - - @Override - public void run() { - if (!dialogInfo.isDismissed) { - dialogInfo.timeout--; - AndroidUtilities.runOnUIThread(() -> { - if (dialogInfo.timeout > 0) { - cancelButton.setText((getString("Continue") + " (" + dialogInfo.timeout + ")").toUpperCase(Locale.ROOT)); - } else { - cancelButton.setText(getString("Continue").toUpperCase(Locale.ROOT)); - cancelButton.setTextColor(Theme.getColor(Theme.key_dialogTextGray)); - cancelButton.setEnabled(true); - } - }); - if (dialogInfo.timeout > 0) { - Utilities.globalQueue.postRunnable(this, 1000); - } - } - } - } } From 75242a60c6a6914b1fec09a9d8ec467c544854d3 Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Fri, 11 Nov 2022 14:30:39 +0300 Subject: [PATCH 18/19] add checkSingleAccountHidden and disableHidingForDeactivatedAccounts --- .../messenger/fakepasscode/FakePasscode.java | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/fakepasscode/FakePasscode.java b/TMessagesProj/src/main/java/org/telegram/messenger/fakepasscode/FakePasscode.java index 5708d7499..b04d5752e 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/fakepasscode/FakePasscode.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/fakepasscode/FakePasscode.java @@ -327,16 +327,8 @@ public class FakePasscode { } public boolean autoAddAccountHidings() { - if (UserConfig.getActivatedAccountsCount(true) == 1 && getHideOrLogOutCount() == 1) { - for (int a = 0; a < UserConfig.MAX_ACCOUNT_COUNT; a++) { - if (AccountInstance.getInstance(a).getUserConfig().isClientActivated()) { - AccountActions accountActions = getAccountActions(a); - if (accountActions != null) { - accountActions.toggleHideAccountAction(); - } - } - } - } + disableHidingForDeactivatedAccounts(); + checkSingleAccountHidden(); int targetCount = UserConfig.getActivatedAccountsCount(true) - UserConfig.getFakePasscodeMaxAccountCount(); if (targetCount > getHideOrLogOutCount()) { @@ -389,6 +381,30 @@ public class FakePasscode { } } + private void disableHidingForDeactivatedAccounts() { + for (int a = 0; a < UserConfig.MAX_ACCOUNT_COUNT; a++) { + if (!AccountInstance.getInstance(a).getUserConfig().isClientActivated()) { + AccountActions accountActions = getAccountActions(a); + if (accountActions != null && accountActions.isHideAccount()) { + accountActions.toggleHideAccountAction(); + } + } + } + } + + private void checkSingleAccountHidden() { + if (UserConfig.getActivatedAccountsCount(true) == 1 && getHideOrLogOutCount() == 1) { + for (int a = 0; a < UserConfig.MAX_ACCOUNT_COUNT; a++) { + if (AccountInstance.getInstance(a).getUserConfig().isClientActivated()) { + AccountActions accountActions = getAccountActions(a); + if (accountActions != null) { + accountActions.toggleHideAccountAction(); + } + } + } + } + } + public static boolean autoAddHidingsToAllFakePasscodes() { boolean result = false; for (FakePasscode fakePasscode: SharedConfig.fakePasscodes) { From e993f509f48db685114318d53a333c33fcf2063b Mon Sep 17 00:00:00 2001 From: vivabelarus <74508922+vivabelarus@users.noreply.github.com> Date: Fri, 11 Nov 2022 15:57:03 +0300 Subject: [PATCH 19/19] update to 3.0.4 --- .github/workflows/alpha.yml | 2 +- .github/workflows/beta.yml | 4 ++-- .github/workflows/main.yml | 4 ++-- .../src/main/java/org/telegram/messenger/BuildVars.java | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/alpha.yml b/.github/workflows/alpha.yml index 1fd43a74a..268da51b0 100644 --- a/.github/workflows/alpha.yml +++ b/.github/workflows/alpha.yml @@ -23,7 +23,7 @@ jobs: - name: Save artifact uses: actions/upload-artifact@master with: - name: PTelegram-v3_0_3a.apk + name: PTelegram-v3_0_4a.apk path: TMessagesProj/build/outputs/apk/afat/standalone/app.apk - name: Create cleanup request run: touch delete_request diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml index 4fe811786..485c65453 100644 --- a/.github/workflows/beta.yml +++ b/.github/workflows/beta.yml @@ -13,8 +13,8 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token with: - tag_name: 3.0.3b - release_name: 3.0.3b + tag_name: 3.0.4b + release_name: 3.0.4b body: | Bug fixes. draft: false diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 07a639f52..6d7450546 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,8 +13,8 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token with: - tag_name: 3.0.3 - release_name: 3.0.3 + tag_name: 3.0.4 + release_name: 3.0.4 body: | Bug fixes. draft: false diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java b/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java index 767b371c0..c518376ee 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java @@ -35,7 +35,7 @@ public class BuildVars { public static String HUAWEI_APP_ID = "101184875"; - public static String PARTISAN_VERSION_STRING = "3.0.3"; + public static String PARTISAN_VERSION_STRING = "3.0.4"; // You can use this flag to disable Google Play Billing (If you're making fork and want it to be in Google Play) public static boolean IS_BILLING_UNAVAILABLE = false;