From 6a67c1cfdcdc2a1453a58a483d6c236dbcb09708 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Sat, 3 Dec 2022 16:06:07 +0300
Subject: [PATCH 01/26] remove 3.0 update code
---
.../src/main/assets/strings/strings_be.xml | 5 -
.../src/main/assets/strings/strings_fa.xml | 5 -
.../src/main/assets/strings/strings_pl.xml | 5 -
.../src/main/assets/strings/strings_ru.xml | 5 -
.../src/main/assets/strings/strings_uk.xml | 5 -
.../org/telegram/messenger/SharedConfig.java | 19 -
.../java/org/telegram/ui/DialogsActivity.java | 55 +--
.../java/org/telegram/ui/LaunchActivity.java | 60 ---
.../ui/OldTelegramWarningActivity.java | 426 ------------------
TMessagesProj/src/main/res/values/strings.xml | 5 -
10 files changed, 5 insertions(+), 585 deletions(-)
delete mode 100644 TMessagesProj/src/main/java/org/telegram/ui/OldTelegramWarningActivity.java
diff --git a/TMessagesProj/src/main/assets/strings/strings_be.xml b/TMessagesProj/src/main/assets/strings/strings_be.xml
index 837bce817..cbd389d85 100644
--- a/TMessagesProj/src/main/assets/strings/strings_be.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_be.xml
@@ -178,9 +178,4 @@
У Вас уключана опцыя фатаграфавання пры няслушным паролі, але ў прыкладання няма дазволу на выкарыстанне камеры. Жадаеце выдаць гэты дазвол?
Даць дазвол
Адключыць фота
-
- Стары PTelegram не выдалены
- Каб працягнуць выкарыстоўваць новую версію дадатка, неабходна выдаліць стары дадатак. **Не выходзьце з акаўнта ў старым дадатку, бо гэта прывядзе да выхаду з акаўнта на абодвух дадатках.**
- PTelegram абноўлены
- Дадзеныя дадатка паспяхова перанесены. Пераканайцеся ў гэтым і выдаліце стары дадатак. **Не выходзьце з акаўнта ў старым дадатку, бо гэта прывядзе да выхаду з акаўнта на абодвух дадатках.**
\ No newline at end of file
diff --git a/TMessagesProj/src/main/assets/strings/strings_fa.xml b/TMessagesProj/src/main/assets/strings/strings_fa.xml
index 877d07af2..6af0c003a 100644
--- a/TMessagesProj/src/main/assets/strings/strings_fa.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_fa.xml
@@ -177,9 +177,4 @@
وقتی رمز عبور اشتباه است، میتوانید عکس بگیرید، اما برنامه اجازه استفاده از دوربین را ندارد. آیا می خواهید این مجوز را صادر کنید؟
اجازه دادن
غیرفعال کردن عکس
-
- PTelegram قدیمی حذف نشد
- برای ادامه استفاده از نسخه جدید برنامه، باید برنامه قدیمی را حذف نصب کنید. **از برنامه قدیمی خارج نشوید زیرا این کار شما را از هر دو برنامه خارج می کند.**
- PTelegram به روز شد
- داده های برنامه با موفقیت منتقل شد. آن را بررسی کنید و برنامه قدیمی را حذف نصب کنید. **از برنامه قدیمی خارج نشوید زیرا این کار شما را از هر دو برنامه خارج می کند.**
\ No newline at end of file
diff --git a/TMessagesProj/src/main/assets/strings/strings_pl.xml b/TMessagesProj/src/main/assets/strings/strings_pl.xml
index 61069105e..4ebee6f38 100644
--- a/TMessagesProj/src/main/assets/strings/strings_pl.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_pl.xml
@@ -177,9 +177,4 @@
Masz możliwość zrobienia zdjęcia, gdy hasło jest błędne, ale aplikacja nie ma uprawnień do korzystania z aparatu. Czy chcesz wydać to zezwolenie?
Dać pozwolenie
Wyłącz zdjęcie
-
- Stary PTelegram nie został usunięty
- Aby nadal korzystać z nowej wersji aplikacji, musisz odinstalować starą aplikację. **Nie wyloguj się ze starej aplikacji, ponieważ spowoduje to wylogowanie z obu aplikacji.**
- Zaktualizowano PTelegram
- Dane aplikacji zostały pomyślnie zmigrowane. Sprawdź to i odinstaluj starą aplikację. **Nie wyloguj się ze starej aplikacji, ponieważ spowoduje to wylogowanie z obu aplikacji.**
\ No newline at end of file
diff --git a/TMessagesProj/src/main/assets/strings/strings_ru.xml b/TMessagesProj/src/main/assets/strings/strings_ru.xml
index f289fe725..84f249486 100644
--- a/TMessagesProj/src/main/assets/strings/strings_ru.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_ru.xml
@@ -178,9 +178,4 @@
У Вас включена опция фотографирования при неверном пароле, но у приложения нет разрешения на использование камеры. Хотите выдать это разрешение?
Предоставить разрешение
Отключить фото
-
- Старый PTelegram не удалён
- Чтобы продолжить использовать новую версию приложения, необходимо удалить старое приложение. **Не выходите из аккаунта в старом приложении, так как это приведёт к выходу из аккаунта на обоих приложениях.**
- PTelegram обновлён
- Данные приложения успешно перенесены. Убедитесь в этом и удалите старое приложение. **Не выходите из аккаунта в старом приложении, так как это приведёт к выходу из аккаунта на обоих приложениях.**
\ No newline at end of file
diff --git a/TMessagesProj/src/main/assets/strings/strings_uk.xml b/TMessagesProj/src/main/assets/strings/strings_uk.xml
index e6dd1d6cb..29ee72f39 100644
--- a/TMessagesProj/src/main/assets/strings/strings_uk.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_uk.xml
@@ -178,9 +178,4 @@
У вас включена опція фотографування при неправильному паролі, але програма не має дозволу на використання камери. Бажаєте видати цей дозвіл?
Даць дазвол
Адключыць фота
-
- Старий PTelegram не видалено
- Щоб продовжити використання нової версії програми, потрібно видалити стару програму. **Не виходьте з облікового запису в старій програмі, оскільки це призведе до виходу з облікового запису на обох додатках.**
- PTelegram оновлено
- Дані програми успішно перенесені. Переконайтеся в цьому та видаліть стару програму. **Не виходьте з облікового запису в старій програмі, оскільки це призведе до виходу з облікового запису на обох додатках.**
\ No newline at end of file
diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java b/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java
index 87bca4072..c9c19787f 100644
--- a/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java
+++ b/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java
@@ -441,25 +441,6 @@ public class SharedConfig {
private static void migrateFakePasscode() {
SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("userconfing", Context.MODE_PRIVATE);
- if (filesCopiedFromOldTelegram && !oldTelegramRemoved && fakePasscodeLoadedWithErrors) {
- try {
- jsonMapper = new ObjectMapper();
- jsonMapper.registerModule(new JavaTimeModule());
- jsonMapper.registerModule(new KotlinModule());
- jsonMapper.activateDefaultTyping(jsonMapper.getPolymorphicTypeValidator());
- jsonMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- jsonMapper.setVisibility(jsonMapper.getSerializationConfig().getDefaultVisibilityChecker()
- .withFieldVisibility(JsonAutoDetect.Visibility.ANY)
- .withGetterVisibility(JsonAutoDetect.Visibility.NONE)
- .withIsGetterVisibility(JsonAutoDetect.Visibility.NONE)
- .withSetterVisibility(JsonAutoDetect.Visibility.NONE)
- .withCreatorVisibility(JsonAutoDetect.Visibility.NONE));
-
- fakePasscodes = jsonMapper.readValue(preferences.getString("fakePasscodes", null), FakePasscodesWrapper.class).fakePasscodes;
- fakePasscodeLoadedWithErrors = false;
- } catch (JsonProcessingException ignored) {
- }
- }
for (FakePasscode p: fakePasscodes) {
p.migrate();
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java
index 87785f6fb..129b7a36c 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java
@@ -488,7 +488,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter.
public BaseFragment passwordFragment = null;
private AlertDialog oldPtgNotRemovedDialog;
- private static boolean oldPtgChecked;
+ private static boolean permissionsChecked;
public final Property SCROLL_Y = new AnimationProperties.FloatProperty("animationValue") {
@Override
@@ -4104,46 +4104,9 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter.
FakePasscode.cleanupHiddenAccountSystemNotifications();
actionBar.setDrawBlurBackground(contentView);
- if (!oldPtgChecked) {
- oldPtgChecked = true;
-
- if (SharedConfig.filesCopiedFromOldTelegram && !SharedConfig.oldTelegramRemoved) {
-
- if (getParentActivity() instanceof LaunchActivity
- && !((LaunchActivity) getParentActivity()).isOldTelegramInstalled()) {
- SharedConfig.oldTelegramRemoved = true;
- SharedConfig.saveConfig();
- } else if (!SharedConfig.isFakePasscodeActivated()) {
- if (SharedConfig.runNumber >= 1) {
- SharedConfig.runNumber++;
- SharedConfig.saveConfig();
- }
- if (SharedConfig.runNumber == 0 && !SharedConfig.isFakePasscodeActivated()) {
- AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
- builder.setTitle(LocaleController.getString(R.string.UpdateCompletedTitle));
- builder.setMessage(AndroidUtilities.replaceTags(LocaleController.getString(R.string.UpdateCompletedMessage)));
- builder.setNegativeButton(LocaleController.getString(R.string.Cancel), (dlg, which) -> {
- SharedConfig.runNumber = 1;
- SharedConfig.saveConfig();
- dlg.dismiss();
- });
- AlertDialog dialog = builder.create();
- dialog.setCanCancel(false);
- dialog.setCancelable(false);
- dialog.show();
- } else if (SharedConfig.runNumber > 3 && !SharedConfig.isFakePasscodeActivated()) {
- AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
- builder.setTitle(LocaleController.getString(R.string.OldAppNotRemovedTitle));
- builder.setMessage(AndroidUtilities.replaceTags(LocaleController.getString(R.string.OldAppNotRemovedMessage)));
- oldPtgNotRemovedDialog = builder.create();
- oldPtgNotRemovedDialog.setCanCancel(false);
- oldPtgNotRemovedDialog.setCancelable(false);
- DialogButtonWithTimer.setButton(oldPtgNotRemovedDialog, AlertDialog.BUTTON_NEGATIVE, LocaleController.getString(R.string.Cancel), 10,
- (dlg, which) -> dlg.dismiss());
- oldPtgNotRemovedDialog.show();
- }
- }
- } else if (needCameraPermission()) {
+ if (!permissionsChecked) {
+ permissionsChecked = true;
+ if (needCameraPermission()) {
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
builder.setTitle(LocaleController.getString(R.string.AppName));
builder.setMessage(LocaleController.getString(R.string.NeedCameraPermissionMessage));
@@ -5003,13 +4966,6 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter.
updateVisibleRows(0, false);
updateProxyButton(false, true);
checkSuggestClearDatabase();
- if (oldPtgNotRemovedDialog != null
- && getParentActivity() instanceof LaunchActivity
- && !((LaunchActivity)getParentActivity()).isOldTelegramInstalled()) {
- oldPtgNotRemovedDialog.dismiss();
- SharedConfig.oldTelegramRemoved = true;
- SharedConfig.saveConfig();
- }
}
@Override
@@ -5431,8 +5387,7 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter.
if (SharedConfig.isFakePasscodeActivated()) {
return true;
}
- return !(SharedConfig.filesCopiedFromOldTelegram && !SharedConfig.oldTelegramRemoved) &&
- !needCameraPermission();
+ return !needCameraPermission();
}
private boolean needCameraPermission() {
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java
index 3715007a3..50cd3074f 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java
@@ -1096,9 +1096,6 @@ public class LaunchActivity extends BasePermissionsActivity implements INavigati
}
private BaseFragment getClientNotActivatedFragment() {
- if (!SharedConfig.filesCopiedFromOldTelegram && isOldTelegramInstalled()) {
- return new OldTelegramWarningActivity(getIntent().getBooleanExtra("fromOldTelegram", false));
- }
if (LoginActivity.loadCurrentState(false).getInt("currentViewNum", 0) != 0) {
return new LoginActivity();
}
@@ -5413,7 +5410,6 @@ public class LaunchActivity extends BasePermissionsActivity implements INavigati
}
invalidateTabletMode();
- checkOldTelegramIntent();
}
private void invalidateTabletMode() {
@@ -7044,60 +7040,4 @@ public class LaunchActivity extends BasePermissionsActivity implements INavigati
fileOrDirectory.delete();
}
}
-
- public boolean isOldTelegramInstalled() {
- PackageInfo packageInfo = getOldTelegramPackageInfo();
- if (packageInfo != null) {
- Signature[] signatures;
- if (Build.VERSION.SDK_INT >= 28) {
- signatures = packageInfo.signingInfo.getApkContentsSigners();
- } else {
- signatures = packageInfo.signatures;
- }
- if (signatures != null) {
- for (final Signature sig : signatures) {
- try {
- MessageDigest hash = MessageDigest.getInstance("SHA-1");
- String thumbprint = Utilities.bytesToHex(hash.digest(sig.toByteArray()));
- return thumbprint.equalsIgnoreCase("B134DF916190F59F832BE4E1DE8354DC23444059");
- } catch (NoSuchAlgorithmException ignored) {
- }
- }
- }
- }
- return false;
- }
-
- private PackageInfo getOldTelegramPackageInfo() {
- int flags;
- if (Build.VERSION.SDK_INT >= 28) {
- flags = PackageManager.GET_SIGNING_CERTIFICATES;
- } else {
- flags = PackageManager.GET_SIGNATURES;
- }
- try {
- PackageManager pm = getPackageManager();
- return pm.getPackageInfo("org.telegram.messenger", flags);
- } catch (PackageManager.NameNotFoundException ignored) {
- try {
- PackageManager pm = getPackageManager();
- return pm.getPackageInfo("org.telegram.messenger.beta", flags);
- } catch (PackageManager.NameNotFoundException ignored2) {
- return null;
- }
- }
- }
-
- private void checkOldTelegramIntent() {
- if (getIntent().getBooleanExtra("fromOldTelegram", false)) {
- byte[] password = getIntent().getByteArrayExtra("zipPassword");
- if (password != null) {
- if (ContextCompat.checkSelfPermission( this, android.Manifest.permission.READ_EXTERNAL_STORAGE ) != PackageManager.PERMISSION_GRANTED ) {
- ActivityCompat.requestPermissions( this, new String[] { Manifest.permission.READ_EXTERNAL_STORAGE }, 1001);
- } else {
- receiveZip();
- }
- }
- }
- }
}
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/OldTelegramWarningActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/OldTelegramWarningActivity.java
deleted file mode 100644
index d77c3583a..000000000
--- a/TMessagesProj/src/main/java/org/telegram/ui/OldTelegramWarningActivity.java
+++ /dev/null
@@ -1,426 +0,0 @@
-package org.telegram.ui;
-
-import android.annotation.SuppressLint;
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ActivityInfo;
-import android.content.pm.ResolveInfo;
-import android.graphics.Canvas;
-import android.os.Build;
-import android.util.TypedValue;
-import android.view.Gravity;
-import android.view.View;
-import android.widget.FrameLayout;
-import android.widget.ScrollView;
-import android.widget.TextView;
-
-import androidx.core.graphics.ColorUtils;
-
-import org.telegram.messenger.AndroidUtilities;
-import org.telegram.messenger.Intro;
-import org.telegram.messenger.LocaleController;
-import org.telegram.messenger.MessagesController;
-import org.telegram.messenger.NotificationCenter;
-import org.telegram.messenger.R;
-import org.telegram.messenger.UserConfig;
-import org.telegram.messenger.Utilities;
-import org.telegram.tgnet.ConnectionsManager;
-import org.telegram.ui.ActionBar.AlertDialog;
-import org.telegram.ui.ActionBar.BaseFragment;
-import org.telegram.ui.ActionBar.Theme;
-import org.telegram.ui.ActionBar.ThemeDescription;
-import org.telegram.ui.Components.LayoutHelper;
-import org.telegram.ui.Components.SimpleThemeDescription;
-import org.telegram.ui.Components.voip.CellFlickerDrawable;
-import org.telegram.ui.DialogBuilder.DialogButtonWithTimer;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-
-public class OldTelegramWarningActivity extends BaseFragment implements NotificationCenter.NotificationCenterDelegate {
-
- private final int currentAccount = UserConfig.selectedAccount;
-
- TextView headerTextView;
- TextView messageTextView;
- private TextView startMessagingButton;
- private TextView backToOldTelegramButton;
- private FrameLayout frameLayout2;
- private FrameLayout frameContainerView;
-
- private boolean startPressed = false;
-
- private final boolean oldTelegramDataReceiver;
-
- private AlertDialog progressDialog;
-
- public OldTelegramWarningActivity(boolean oldTelegramDataReceiver) {
- this.oldTelegramDataReceiver = oldTelegramDataReceiver;
- }
-
- @Override
- public View createView(Context context) {
- actionBar.setAddToContainer(false);
-
- ScrollView scrollView = new ScrollView(context);
- scrollView.setFillViewport(true);
-
- frameContainerView = new FrameLayout(context) {
-
- @Override
- protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
- super.onLayout(changed, left, top, right, bottom);
-
- int oneFourth = (bottom - top) / 4;
-
- int y = (oneFourth * 3 - AndroidUtilities.dp(275)) / 2;
- frameLayout2.layout(0, y, frameLayout2.getMeasuredWidth(), y + frameLayout2.getMeasuredHeight());
-
- y = oneFourth * 3 + (oneFourth - startMessagingButton.getMeasuredHeight()) / 2;
- int x = (getMeasuredWidth() - startMessagingButton.getMeasuredWidth()) / 2;
- startMessagingButton.layout(x, y, x + startMessagingButton.getMeasuredWidth(), y + startMessagingButton.getMeasuredHeight());
- x = (getMeasuredWidth() - backToOldTelegramButton.getMeasuredWidth()) / 2;
- backToOldTelegramButton.layout(x, y - backToOldTelegramButton.getMeasuredHeight(), x + backToOldTelegramButton.getMeasuredWidth(), y);
- }
- };
- scrollView.addView(frameContainerView, LayoutHelper.createScroll(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, Gravity.LEFT | Gravity.TOP));
-
- frameLayout2 = new FrameLayout(context);
- frameContainerView.addView(frameLayout2, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, Gravity.LEFT | Gravity.TOP, 0, 78, 0, 0));
-
- startMessagingButton = new TextView(context);
- startMessagingButton.setText(getString("StartMessagingAnyway"));
- startMessagingButton.setGravity(Gravity.CENTER);
- startMessagingButton.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
- frameContainerView.addView(startMessagingButton, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 50, Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM, 16, 0, 16, 76));
- startMessagingButton.setOnClickListener(view -> {
- DialogDismissedInfo dialogInfo = new DialogDismissedInfo();
- AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
- builder.setTitle(getString("UpdateNotCompletedTitle"));
- builder.setMessage(getString("UpdateNotCompletedMessage"));
- builder.setPositiveButton(getString("Cancel"), null);
- builder.setOnDismissListener(d -> dialogInfo.isDismissed = true);
- AlertDialog dialog = builder.create();
- DialogButtonWithTimer.setButton(dialog, AlertDialog.BUTTON_NEGATIVE, getString("Continue"), 5, (dlg, which) -> {
- if (startPressed) {
- return;
- }
- startPressed = true;
- presentFragment(new LoginActivity().setIntroView(frameContainerView, startMessagingButton), true);
- });
- showDialog(dialog);
- });
-
- backToOldTelegramButton = new InternalButton(context);
- backToOldTelegramButton.setText(getString("BackToOldTelegram"));
- backToOldTelegramButton.setGravity(Gravity.CENTER);
- backToOldTelegramButton.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf"));
- backToOldTelegramButton.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 15);
- backToOldTelegramButton.setPadding(AndroidUtilities.dp(34), 0, AndroidUtilities.dp(34), 0);
- frameContainerView.addView(backToOldTelegramButton, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 50, Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM, 16, 0, 16, 76));
- backToOldTelegramButton.setOnClickListener(view -> {
- Intent searchIntent = new Intent(Intent.ACTION_MAIN);
- searchIntent.addCategory(Intent.CATEGORY_LAUNCHER);
- List infoList = getParentActivity().getPackageManager().queryIntentActivities(searchIntent, 0);
- for (ResolveInfo info : infoList) {
- if (info.activityInfo.packageName.equals("org.telegram.messenger")
- || info.activityInfo.packageName.equals("org.telegram.messenger.beta")) {
- Intent intent = new Intent(Intent.ACTION_MAIN);
- try {
- intent.setClassName(info.activityInfo.applicationInfo.packageName, info.activityInfo.name);
-
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_GRANT_READ_URI_PERMISSION);
- getParentActivity().startActivity(intent);
- break;
- } catch (Exception ignored) {
- }
- }
- }
- if (Build.VERSION.SDK_INT >= 21) {
- getParentActivity().finishAndRemoveTask();
- } else {
- getParentActivity().finishAffinity();
- }
- });
-
- headerTextView = new TextView(frameContainerView.getContext());
- messageTextView = new TextView(frameContainerView.getContext());
-
- FrameLayout frameLayout = new FrameLayout(frameContainerView.getContext()) {
- @Override
- protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
- int oneFourth = (bottom - top) / 4;
- int y = (oneFourth * 3 - AndroidUtilities.dp(275)) / 2;
- y += AndroidUtilities.dp(150);
- y += AndroidUtilities.dp(16);
- int x = AndroidUtilities.dp(18);
- headerTextView.layout(x, y, x + headerTextView.getMeasuredWidth(), y + headerTextView.getMeasuredHeight());
-
- y += headerTextView.getTextSize();
- y += AndroidUtilities.dp(16);
- x = AndroidUtilities.dp(16);
- messageTextView.layout(x, y, x + messageTextView.getMeasuredWidth(), y + messageTextView.getMeasuredHeight());
- }
- };
-
- headerTextView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteBlackText));
- headerTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 26);
- headerTextView.setGravity(Gravity.CENTER);
- frameLayout.addView(headerTextView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, Gravity.TOP | Gravity.LEFT, 18, 244, 18, 0));
-
- messageTextView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteGrayText3));
- messageTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 15);
- messageTextView.setGravity(Gravity.CENTER);
- frameLayout.addView(messageTextView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, Gravity.TOP | Gravity.LEFT, 16, 286, 16, 0));
-
- frameContainerView.addView(frameLayout, 0);
-
- headerTextView.setText(getString("UpdateTitle"));
- messageTextView.setText(getString("UpdateMessage"));
-
- fragmentView = scrollView;
-
- NotificationCenter.getGlobalInstance().addObserver(this, NotificationCenter.suggestedLangpack);
- NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.configLoaded);
- NotificationCenter.getGlobalInstance().addObserver(this, NotificationCenter.telegramDataReceived);
- NotificationCenter.getGlobalInstance().addObserver(this, NotificationCenter.telegramDataReceivingError);
- ConnectionsManager.getInstance(currentAccount).updateDcSettings();
- LocaleController.getInstance().loadRemoteLanguages(currentAccount);
- checkContinueText();
-
- updateColors();
-
- if (oldTelegramDataReceiver) {
- AndroidUtilities.runOnUIThread(() -> {
- progressDialog = new AlertDialog(getParentActivity(), 3);
- progressDialog.setCanCancel(false);
- progressDialog.show();
- });
- }
-
- return fragmentView;
- }
-
- @SuppressLint("SourceLockedOrientationActivity")
- @Override
- public void onResume() {
- super.onResume();
- if (!AndroidUtilities.isTablet()) {
- Activity activity = getParentActivity();
- if (activity != null) {
- activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
- }
- }
- }
-
- @Override
- public void onPause() {
- super.onPause();
-
- if (!AndroidUtilities.isTablet()) {
- Activity activity = getParentActivity();
- if (activity != null) {
- activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
- }
- }
- }
-
- @Override
- public boolean hasForceLightStatusBar() {
- return true;
- }
-
- @Override
- public void onFragmentDestroy() {
- super.onFragmentDestroy();
- NotificationCenter.getGlobalInstance().removeObserver(this, NotificationCenter.suggestedLangpack);
- NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.configLoaded);
- NotificationCenter.getGlobalInstance().removeObserver(this, NotificationCenter.telegramDataReceived);
- NotificationCenter.getGlobalInstance().removeObserver(this, NotificationCenter.telegramDataReceivingError);
- MessagesController.getGlobalMainSettings().edit().putLong("intro_crashed_time", 0).apply();
- }
-
- private void checkContinueText() {
- LocaleController.LocaleInfo englishInfo = null;
- LocaleController.LocaleInfo systemInfo = null;
- String systemLang = MessagesController.getInstance(currentAccount).suggestedLangCode;
- if (systemLang == null || systemLang.equals("en") && LocaleController.getInstance().getSystemDefaultLocale().getLanguage() != null && !LocaleController.getInstance().getSystemDefaultLocale().getLanguage().equals("en")) {
- systemLang = LocaleController.getInstance().getSystemDefaultLocale().getLanguage();
- if (systemLang == null) {
- systemLang = "en";
- }
- }
-
- String arg = systemLang.contains("-") ? systemLang.split("-")[0] : systemLang;
- String alias = LocaleController.getLocaleAlias(arg);
- for (int a = 0; a < LocaleController.getInstance().languages.size(); a++) {
- LocaleController.LocaleInfo info = LocaleController.getInstance().languages.get(a);
- if (info.shortName.equals("en")) {
- englishInfo = info;
- }
- if (info.shortName.replace("_", "-").equals(systemLang) || info.shortName.equals(arg) || info.shortName.equals(alias)) {
- systemInfo = info;
- }
- if (englishInfo != null && systemInfo != null) {
- break;
- }
- }
- if (englishInfo == null || systemInfo == null || englishInfo == systemInfo) {
- return;
- }
- LocaleController.getInstance().applyLanguage(systemInfo, true, false, currentAccount);
- }
-
- @Override
- public void didReceivedNotification(int id, int account, Object... args) {
- if (id == NotificationCenter.suggestedLangpack || id == NotificationCenter.configLoaded) {
- checkContinueText();
- } if (id == NotificationCenter.telegramDataReceived) {
- AndroidUtilities.runOnUIThread(() -> {
- progressDialog = new AlertDialog(getParentActivity(), 3);
- progressDialog.setCanCancel(false);
- progressDialog.show();
- });
- } else if (id == NotificationCenter.telegramDataReceivingError) {
- AndroidUtilities.runOnUIThread(() -> {
- if (progressDialog != null) {
- progressDialog.dismiss();
- }
- });
- }
- }
-
- @Override
- public ArrayList getThemeDescriptions() {
- return SimpleThemeDescription.createThemeDescriptions(this::updateColors, Theme.key_windowBackgroundWhite,
- Theme.key_windowBackgroundWhiteBlueText4, Theme.key_chats_actionBackground, Theme.key_chats_actionPressedBackground,
- Theme.key_featuredStickers_buttonText, Theme.key_windowBackgroundWhiteBlackText, Theme.key_windowBackgroundWhiteGrayText3
- );
- }
-
- private void updateColors() {
- fragmentView.setBackgroundColor(Theme.getColor(Theme.key_windowBackgroundWhite));
- startMessagingButton.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteBlueText4));
- startMessagingButton.setBackground(null);
- backToOldTelegramButton.setTextColor(Theme.getColor(Theme.key_featuredStickers_buttonText));
- backToOldTelegramButton.setBackground(Theme.createSimpleSelectorRoundRectDrawable(AndroidUtilities.dp(6), Theme.getColor(Theme.key_changephoneinfo_image2), Theme.getColor(Theme.key_chats_actionPressedBackground)));
- Intro.setBackgroundColor(Theme.getColor(Theme.key_windowBackgroundWhite));
- }
-
- private static String getString(String key) {
- String locale = LocaleController.getInstance().getSystemDefaultLocale().getLanguage();
- if (locale.equals("ru")) {
- switch (key) {
- case "UpdateTitle": return "Обновление";
- case "UpdateMessage": return "Обновление партизанского телеграма ещё не закончено. Откройте старое приложение и продолжите обновлять.";
- case "BackToOldTelegram": return "Вернуться к старому PTelegram";
- case "StartMessagingAnyway": return "Продолжить без переноса данных";
- case "UpdateNotCompletedTitle": return "Обновление не завершено";
- case "UpdateNotCompletedMessage": return "Данные из старого приложения ещё не перенесены. Если продолжите, Вам придётся настраивать приложение заново.";
- case "Continue": return "Продолжить";
- case "Cancel": return "Отмена";
- }
- } else if (locale.equals("be")) {
- switch (key) {
- case "UpdateTitle": return "Абнаўленне";
- case "UpdateMessage": return "Абнаўленне партызанскага тэлеграма яшчэ не скончана. Адчыніце стары дадатак і працягніце абнаўляць.";
- case "BackToOldTelegram": return "Вярнуцца да старога PTelegram";
- case "StartMessagingAnyway": return "Працягнуць без пераносу дадзеных";
- case "UpdateNotCompletedTitle": return "Абнаўленне не скончана";
- case "UpdateNotCompletedMessage": return "Дадзеныя са старога прыкладання яшчэ не перанесены. Калі працягнеце, Вам давядзецца наладжваць прыкладанне зноўку.";
- case "Continue": return "Працягнуць";
- case "Cancel": return "Скасаваць";
- }
- } else if (locale.equals("uk")) {
- switch (key) {
- case "UpdateTitle": return "Оновлення";
- case "UpdateMessage": return "Оновлення партизанського телеграма ще не закінчено. Відкрийте стару програму та продовжуйте оновлювати.";
- case "BackToOldTelegram": return "Повернутися до старого PTelegram";
- case "StartMessagingAnyway": return "Продовжити без перенесення даних";
- case "UpdateNotCompletedTitle": return "Оновлення не завершено";
- case "UpdateNotCompletedMessage": return "Дані зі старої програми ще не перенесені. Якщо продовжите, Вам доведеться налаштовувати програму заново.";
- case "Continue": return "Продовжити";
- case "Cancel": return "Скасувати";
- }
- } else if (locale.equals("pl")) {
- switch (key) {
- case "UpdateTitle": return "Aktualizacja";
- case "UpdateMessage": return "Aktualizacja PTelegram nie została jeszcze zakończona. Otwórz starą aplikację i kontynuuj aktualizację.";
- case "BackToOldTelegram": return "Powrót do starego PTelegrama";
- case "StartMessagingAnyway": return "Kontynuuj bez przenoszenia danych";
- case "UpdateNotCompletedTitle": return "Aktualizacja nie została ukończona";
- case "UpdateNotCompletedMessage": return "Dane ze starej aplikacji nie zostały jeszcze zmigrowane. Jeśli będziesz kontynuować, będziesz musiał ponownie skonfigurować aplikację.";
- case "Continue": return "Kontynuuj";
- case "Cancel": return "Anuluj";
- }
- } else if (locale.equals("fa")) {
- switch (key) {
- case "UpdateTitle": return "به روز رسانی";
- case "UpdateMessage": return "آپدیت PTelegram هنوز تمام نشده است. برنامه قدیمی را باز کنید و به روز رسانی ادامه دهید.";
- case "BackToOldTelegram": return "بازگشت به PTelegram قدیمی";
- case "StartMessagingAnyway": return "بدون انتقال داده ادامه دهید";
- case "UpdateNotCompletedTitle": return "به روز رسانی کامل نشده است";
- case "UpdateNotCompletedMessage": return "داده های برنامه قدیمی هنوز منتقل نشده است. اگر ادامه دهید، باید دوباره برنامه را راه اندازی کنید.";
- case "Continue": return "ادامه";
- case "Cancel": return "لغو";
- }
- } else {
- switch (key) {
- case "UpdateTitle": return "Update";
- case "UpdateMessage": return "The Partisan Telegram update is not finished yet. Open the old application and continue updating.";
- case "BackToOldTelegram": return "Back to Old PTelegram";
- case "StartMessagingAnyway": return "Continue without transferring data";
- case "UpdateNotCompletedTitle": return "Update Not Completed";
- case "UpdateNotCompletedMessage": return "The data from the old application has not been transferred yet. If you continue, you will have to set up the application again.";
- case "Continue": return "Continue";
- case "Cancel": return "Cancel";
- }
- }
- return null;
- }
-
- @Override
- public boolean isLightStatusBar() {
- int color = Theme.getColor(Theme.key_windowBackgroundWhite, null, true);
- return ColorUtils.calculateLuminance(color) > 0.7f;
- }
-
- private static class InternalButton extends TextView {
- public InternalButton(Context context) {
- super(context);
- }
-
- CellFlickerDrawable cellFlickerDrawable;
-
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- if (cellFlickerDrawable == null) {
- cellFlickerDrawable = new CellFlickerDrawable();
- cellFlickerDrawable.drawFrame = false;
- cellFlickerDrawable.repeatProgress = 2f;
- }
- cellFlickerDrawable.setParentWidth(getMeasuredWidth());
- AndroidUtilities.rectTmp.set(0, 0, getMeasuredWidth(), getMeasuredHeight());
- cellFlickerDrawable.draw(canvas, AndroidUtilities.rectTmp, AndroidUtilities.dp(4), null);
- invalidate();
- }
-
- @Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- int size = MeasureSpec.getSize(widthMeasureSpec);
- if (size > AndroidUtilities.dp(260)) {
- super.onMeasure(MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(320), MeasureSpec.EXACTLY), heightMeasureSpec);
- } else {
- super.onMeasure(widthMeasureSpec, heightMeasureSpec);
- }
- }
- }
-
- private static class DialogDismissedInfo {
- public boolean isDismissed = false;
- public int timeout = 5;
- }
-}
diff --git a/TMessagesProj/src/main/res/values/strings.xml b/TMessagesProj/src/main/res/values/strings.xml
index 183dd9a18..7bceb1494 100644
--- a/TMessagesProj/src/main/res/values/strings.xml
+++ b/TMessagesProj/src/main/res/values/strings.xml
@@ -5966,9 +5966,4 @@
You have the option to take a photo when the password is wrong, but the application does not have permission to use the camera. Would you like to issue this permit?
Grant Permission
Disable Photo
-
- Old PTelegram Not Removed
- To continue using the new version of the app, you must uninstall the old app. **Do not log out of your old app as this will log you out of both apps**
- PTelegram updated
- Application data has been migrated successfully. Check it out and uninstall the old app. **Do not log out on the old app as this will log you out on both apps.**
From 830734a747344e14f85d910a761a8433c49f7868 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Sat, 3 Dec 2022 18:59:37 +0300
Subject: [PATCH 02/26] remove 3.0 update code
---
.../main/java/org/telegram/ui/TesterSettingsActivity.java | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/TesterSettingsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/TesterSettingsActivity.java
index bc7b98070..4ec579cce 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/TesterSettingsActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/TesterSettingsActivity.java
@@ -70,7 +70,6 @@ public class TesterSettingsActivity extends BaseFragment {
private int sessionTerminateActionWarningRow;
private int updateChannelIdRow;
private int updateChannelUsernameRow;
- private int resetUpdateRow;
private int showPlainBackupRow;
private int disablePremiumRow;
private int simpleDataStartRow;
@@ -308,8 +307,6 @@ public class TesterSettingsActivity extends BaseFragment {
textCell.setTextAndValue("Update Channel Id", id != 0 ? Long.toString(id) : "", true);
} else if (position == updateChannelUsernameRow) {
textCell.setTextAndValue("Update Channel Username", SharedConfig.updateChannelUsernameOverride, true);
- } else if (position == resetUpdateRow) {
- textCell.setText("Reset Update", true);
} else if (simpleDataStartRow <= position && position < simpleDataEndRow) {
SimpleData simpleData = simpleDataArray[position - simpleDataStartRow];
textCell.setTextAndValue(simpleData.name, simpleData.getValue.get(), true);
@@ -325,7 +322,7 @@ public class TesterSettingsActivity extends BaseFragment {
|| position == disablePremiumRow || position == hideDialogIsNotSafeWarningRow) {
return 0;
} else if (position == updateChannelIdRow || position == updateChannelUsernameRow
- || position == resetUpdateRow || (simpleDataStartRow <= position && position < simpleDataEndRow)) {
+ || (simpleDataStartRow <= position && position < simpleDataEndRow)) {
return 1;
}
return 0;
From 8829e137c04856d1c5ab3b454b86aec14e1946fa Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Sat, 3 Dec 2022 22:19:08 +0300
Subject: [PATCH 03/26] show error if activation message starts or ends with
spaces
---
.../ui/DialogBuilder/DialogTemplate.java | 12 ++++++++----
.../ui/DialogBuilder/EditTemplate.java | 11 +++++++++--
.../org/telegram/ui/FakePasscodeActivity.java | 18 +++++++++++++++++-
3 files changed, 34 insertions(+), 7 deletions(-)
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/DialogBuilder/DialogTemplate.java b/TMessagesProj/src/main/java/org/telegram/ui/DialogBuilder/DialogTemplate.java
index f38af39a1..7cb22be67 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/DialogBuilder/DialogTemplate.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/DialogBuilder/DialogTemplate.java
@@ -19,7 +19,7 @@ public class DialogTemplate {
editTemplate.text = text;
editTemplate.name = name;
editTemplate.singleLine = singleLine;
- viewTemplates.add(editTemplate);
+ addViewTemplate(editTemplate);
}
public void addPhoneEditTemplate(String text, String name, boolean singleLine) {
@@ -27,7 +27,7 @@ public class DialogTemplate {
editTemplate.text = text;
editTemplate.name = name;
editTemplate.singleLine = singleLine;
- viewTemplates.add(editTemplate);
+ addViewTemplate(editTemplate);
}
public void addNumberEditTemplate(String text, String name, boolean singleLine) {
@@ -35,7 +35,7 @@ public class DialogTemplate {
editTemplate.text = text;
editTemplate.name = name;
editTemplate.singleLine = singleLine;
- viewTemplates.add(editTemplate);
+ addViewTemplate(editTemplate);
}
public void addCheckboxTemplate(boolean checked, String name) {
@@ -47,6 +47,10 @@ public class DialogTemplate {
checkBoxTemplate.name = name;
checkBoxTemplate.checked = checked;
checkBoxTemplate.onCheckedChangeListener = onCheckedChangeListener;
- viewTemplates.add(checkBoxTemplate);
+ addViewTemplate(checkBoxTemplate);
+ }
+
+ public void addViewTemplate(ViewTemplate template) {
+ viewTemplates.add(template);
}
}
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/DialogBuilder/EditTemplate.java b/TMessagesProj/src/main/java/org/telegram/ui/DialogBuilder/EditTemplate.java
index e93d57398..b89e82e0d 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/DialogBuilder/EditTemplate.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/DialogBuilder/EditTemplate.java
@@ -11,12 +11,19 @@ import org.telegram.messenger.R;
import org.telegram.ui.ActionBar.Theme;
import org.telegram.ui.Components.EditTextCaption;
-public class
-EditTemplate implements ViewTemplate {
+public class EditTemplate implements ViewTemplate {
String text;
String name;
boolean singleLine;
+ public EditTemplate() {}
+
+ public EditTemplate(String text, String name, boolean singleLine) {
+ this.text = text;
+ this.name = name;
+ this.singleLine = singleLine;
+ }
+
@Override
public View create(Context context) {
EditTextCaption editText = new EditTextCaption(context, null);
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/FakePasscodeActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/FakePasscodeActivity.java
index 1a86609ce..315b36717 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/FakePasscodeActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/FakePasscodeActivity.java
@@ -88,6 +88,7 @@ import org.telegram.ui.Components.TransformableLoginButtonView;
import org.telegram.ui.Components.VerticalPositionAutoAnimator;
import org.telegram.ui.DialogBuilder.DialogTemplate;
import org.telegram.ui.DialogBuilder.DialogType;
+import org.telegram.ui.DialogBuilder.EditTemplate;
import org.telegram.ui.DialogBuilder.FakePasscodeDialogBuilder;
import java.lang.annotation.Retention;
@@ -386,7 +387,22 @@ public class FakePasscodeActivity extends BaseFragment implements NotificationCe
DialogTemplate template = new DialogTemplate();
template.type = DialogType.EDIT;
template.title = LocaleController.getString("ActivationMessage", R.string.ActivationMessage);
- template.addEditTemplate(fakePasscode.activationMessage, LocaleController.getString("Message", R.string.Message), false);
+ EditTemplate editTemplate = new EditTemplate(fakePasscode.activationMessage, LocaleController.getString("Message", R.string.Message), false) {
+ @Override
+ public boolean validate(View view) {
+ if (!super.validate(view)) {
+ return false;
+ }
+ EditTextCaption edit = (EditTextCaption)view;
+ String text = edit.getText().toString();
+ if (text.startsWith(" ") || text.endsWith(" ")) {
+ edit.setError(LocaleController.getString(R.string.ErrorOccurred));
+ return false;
+ }
+ return true;
+ }
+ };
+ template.addViewTemplate(editTemplate);
template.positiveListener = views -> {
fakePasscode.activationMessage = ((EditTextCaption)views.get(0)).getText().toString();
SharedConfig.saveConfig();
From 4065cbcf2620d8e43e7cf91f279d339dfd216770 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Sat, 3 Dec 2022 22:31:44 +0300
Subject: [PATCH 04/26] fix chat id
---
.../src/main/java/org/telegram/ui/ProfileActivity.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java
index bbcb969b4..539e2a151 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java
@@ -8784,7 +8784,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
if (userId != 0) {
detailCell.setTextAndValue(String.valueOf(userId), LocaleController.getString("UserId", R.string.UserId), false);
} else if (currentChat != null) {
- detailCell.setTextAndValue(String.valueOf(chatId), LocaleController.getString("ChatId", R.string.ChatId), false);
+ detailCell.setTextAndValue(String.valueOf(-chatId), LocaleController.getString("ChatId", R.string.ChatId), false);
}
}
detailCell.setTag(position);
From da67a8f7fd3aecb84fb481031ed6e0f9420aadfa Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Sat, 3 Dec 2022 23:49:06 +0300
Subject: [PATCH 05/26] update to 3.0.13
---
.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 0f0510fce..c2338cf10 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_12a.apk
+ name: PTelegram-v3_0_13a.apk
path: TMessagesProj/build/outputs/apk/afat/alpha/app.apk
- name: Create cleanup request
run: touch delete_request
diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml
index 01e6ed9bd..1eb7bae3f 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.12b
- release_name: 3.0.12b
+ tag_name: 3.0.13b
+ release_name: 3.0.13b
body: |
Bug fixes.
draft: false
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 7a020bc1a..074f39b31 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.12
- release_name: 3.0.12
+ tag_name: 3.0.13
+ release_name: 3.0.13
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 e42c50ddc..82274af2b 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.12";
+ public static String PARTISAN_VERSION_STRING = "3.0.13";
// 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 3587e058883e0518b1c3bf0f5f8b2b25934c0457 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Sun, 4 Dec 2022 01:00:04 +0300
Subject: [PATCH 06/26] fix alpha build
---
.github/workflows/alpha.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/alpha.yml b/.github/workflows/alpha.yml
index c2338cf10..a7f8cfc96 100644
--- a/.github/workflows/alpha.yml
+++ b/.github/workflows/alpha.yml
@@ -14,7 +14,7 @@ jobs:
RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEY_PASSWORD }}
RELEASE_STORE_PASSWORD: ${{ secrets.RELEASE_STORE_PASSWORD }}
- name: Build docker image
- run: docker build -f Dockerfile -t telegram-build .
+ run: docker build -f DockerfileAlpha -t telegram-build .
- name: Build app
run: docker run --rm -v "$PWD":/home/source telegram-build #--cpus="3.5" -m 6000M telegram-build
- name: Print Hash
From 286f86f88013e940569e5e79cdcd60d379cef342 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Sun, 4 Dec 2022 13:51:46 +0300
Subject: [PATCH 07/26] remove password replacing for alhpa
---
.github/workflows/alpha.yml | 5 -----
1 file changed, 5 deletions(-)
diff --git a/.github/workflows/alpha.yml b/.github/workflows/alpha.yml
index a7f8cfc96..094613e56 100644
--- a/.github/workflows/alpha.yml
+++ b/.github/workflows/alpha.yml
@@ -8,11 +8,6 @@ jobs:
runs-on: ubuntu-latest # [self-hosted, ptg]
steps:
- uses: actions/checkout@v2
- - name: Replace passwords
- run: RELEASE_KEY_PASSWORD=$(printf '%s\n' "$RELEASE_KEY_PASSWORD" | sed -e 's/[\/&]/\\&/g') && sed -i "s/UCKJJtMyqB\!9uGrAw6xu/$RELEASE_KEY_PASSWORD/g" gradle.properties && RELEASE_STORE_PASSWORD=$(printf '%s\n' "$RELEASE_STORE_PASSWORD" | sed -e 's/[\/&]/\\&/g') && sed -i "s/LdAaKx_MFWGzL4ix4Jj\*/$RELEASE_STORE_PASSWORD/g" gradle.properties && sed -i "s/key0/keyPtg/g" gradle.properties
- env:
- RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEY_PASSWORD }}
- RELEASE_STORE_PASSWORD: ${{ secrets.RELEASE_STORE_PASSWORD }}
- name: Build docker image
run: docker build -f DockerfileAlpha -t telegram-build .
- name: Build app
From 4951995cb31560f6486bdcc8aa90171b70f6970e Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Sun, 4 Dec 2022 16:04:32 +0300
Subject: [PATCH 08/26] replace chats with groups in strings
---
TMessagesProj/src/main/assets/strings/strings_be.xml | 8 ++++----
TMessagesProj/src/main/assets/strings/strings_ru.xml | 8 ++++----
TMessagesProj/src/main/assets/strings/strings_uk.xml | 8 ++++----
TMessagesProj/src/main/res/values/strings.xml | 10 +++++-----
4 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/TMessagesProj/src/main/assets/strings/strings_be.xml b/TMessagesProj/src/main/assets/strings/strings_be.xml
index cbd389d85..96fe0f4ed 100644
--- a/TMessagesProj/src/main/assets/strings/strings_be.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_be.xml
@@ -86,8 +86,8 @@
Выдаляць новыя паведамленні
Выдаляць паведамленні, якія прыйдуць пасля таго, як дыялог быў выдалены. Паведамленні будуць выдаленыя толькі на гэтай прыладзе. Пасля ўваходу з арыгінальным код-паролем, паведамленні выдаляцца не будуць. Гэтая опцыя прымяняецца толькі для дыялогаў з карыстальнікамі і ботамі.
Выдаліць усе мае паведамленні
- Будуць выдалены ўсе Вашы паведамленні перад выхадам з чата. Гэтая опцыя прымяняецца толькі для чатаў.\n\nПапярэджанне! Пакуль не будуць правераны ўсе паведамленні ў чаце, чат не будзе выдалены, ён будзе схаваны. Калі ў чаце шмат паведамленняў, ён можа доўгі час не выдаляцца. Старыя паведамленні могуць не выдаліцца, калі ў чаце шмат паведамленняў. Калі няма інтэрнэту, паведамленні выдаляцца не будуць.
- Калі была абраная опцыя \"схаваць\", дыялогі (чаты, каналы) не будуць выдаленыя. Яны будуць схаваныя са спісу дыялогаў. Іх апавяшчэнні таксама будуць схаваныя. Пасля ўваходу з арыгінальным код-паролем дыялогі (чаты, каналы) з\'явяцца ў спісе. Больш бяспечна выкарыстоўваць выдаленне.
+ Будуць выдалены ўсе Вашы паведамленні перад выхадам з групавога чату. Гэтая опцыя прымяняецца толькі для групаў.\n\nПапярэджанне! Пакуль не будуць правераны ўсе паведамленні ў групе, група не будзе выдаленая, яна будзе схаваная. Калі ў групе шмат паведамленняў, яна можа доўгі час не выдаляцца. Старыя паведамленні могуць не выдаліцца, калі ў групе шмат паведамленняў. Калі няма інтэрнэту, паведамленні выдаляцца не будуць.
+ Калі была абраная опцыя \"схаваць\", дыялогі (групы, каналы) не будуць выдаленыя. Яны будуць схаваныя са спісу дыялогаў. Іх апавяшчэнні таксама будуць схаваныя. Пасля ўваходу з арыгінальным код-паролем дыялогі (групы, каналы) з\'явяцца ў спісе. Больш бяспечна выкарыстоўваць выдаленне.
Опцыя "схаваць" небяспечна. Больш бяспечна выкарыстоўваць выдаленне.
Выдаліць дыялог з спісу
Вы сапраўды жадаеце выдаліць дыялог з спісу?
@@ -115,11 +115,11 @@
Паказваць версію
Паказваць версію PTelegram у наладах.
Паказваць ID
- Паказваць ID у профілях карыстальнікаў, чатаў, каналаў, ботаў.
+ Паказваць ID у профілях карыстальнікаў, групаў, каналаў, ботаў.
Адключэнне аватараў
Паказваць кнопку адключэння аватара. Пры адключэнні гэтай функцыі, вы можаце скінуць адключаныя аватары.
Змена назваў чатаў
- Паказваць кнопку перайменавання чатаў і каналаў. Пры адключэнні гэтай функцыі, вы можаце скінуць імёны чатаў.
+ Паказваць кнопку перайменавання групаў і каналаў. Пры адключэнні гэтай функцыі, вы можаце скінуць імёны чатаў.
Выдаленне маіх паведамленняў
Паказваць кнопкі выдалення сваіх паведамленняў у чаце.
Выдаленне пасля чытання
diff --git a/TMessagesProj/src/main/assets/strings/strings_ru.xml b/TMessagesProj/src/main/assets/strings/strings_ru.xml
index 84f249486..fa10566a1 100644
--- a/TMessagesProj/src/main/assets/strings/strings_ru.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_ru.xml
@@ -86,8 +86,8 @@
Удалять новые сообщения
Удалять сообщения, которые придут после того, как диалог был удалён. Сообщения будут удалены только на этом устройстве. После входа с оригинальным код-паролем, сообщения удаляться не будут. Эта опция применяется только для диалогов с пользователями и ботами.
Удалить все мои сообщения
- Будут удалены все Ваши сообщения перед выходом из чата. Эта опция применяется только для чатов.\n\nПредупреждение! Пока не будут проверены все сообщения в чате, чат не будет удалён, он будет скрыт. Если в чате много сообщений, он может долгое время не удаляться. Старые сообщения могут не удалиться, если в чате много сообщений. Если нет сети, сообщения удаляться не будут.
- Если была выбрана опция \"скрыть\", диалоги (чаты, каналы) не будут удалены. Они будут скрыты из списка диалогов. Их уведомления также будут скрыты. После входа с оригинальным код-паролем диалоги (чаты, каналы) появятся в списке. Более безопасно использовать удаление.
+ Будут удалены все Ваши сообщения перед выходом из группового чата. Эта опция применяется только для групп.\n\nПредупреждение! Пока не будут проверены все сообщения в группе, группа не будет удалён, она будет скрыта. Если в группе много сообщений, он может долгое время не удаляться. Старые сообщения могут не удалиться, если в группе много сообщений. Если нет сети, сообщения удаляться не будут.
+ Если была выбрана опция \"скрыть\", диалоги (группы, каналы) не будут удалены. Они будут скрыты из списка диалогов. Их уведомления также будут скрыты. После входа с оригинальным код-паролем диалоги (группы, каналы) появятся в списке. Более безопасно использовать удаление.
Опция "скрыть" небезопасна. Более безопасно использовать удаление.
Удалить диалог из списка
Вы действительно хотите удалить диалог из списка?
@@ -115,11 +115,11 @@
Показывать версию
Показывать версию PTelegram в настройках.
Показывать ID
- Показывать ID в профилях пользователей, чатов, каналов, ботов.
+ Показывать ID в профилях пользователей, групп, каналов, ботов.
Отключение аватаров
Показывать кнопку отключения аватара. При отключении этой опции, вы можете сбросить отключённые аватары.
Переименование чатов
- Показывать кнопку переименования чатов и каналов. При отключении этой функции, вы можете сбросить имена чатов.
+ Показывать кнопку переименования групп и каналов. При отключении этой функции, вы можете сбросить имена чатов.
Удаление моих сообщений
Показывать кнопки удаления своих сообщений в чате.
Удаление после прочтения
diff --git a/TMessagesProj/src/main/assets/strings/strings_uk.xml b/TMessagesProj/src/main/assets/strings/strings_uk.xml
index 29ee72f39..cb0818bfb 100644
--- a/TMessagesProj/src/main/assets/strings/strings_uk.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_uk.xml
@@ -86,8 +86,8 @@
Видаляти нові повідомлення
Видаляти повідомлення, які прийдуть після видадення діалогу. Повідомлення будуть видалені тільки на цьому пристрої. Після входу зі справжнім кодом блокування, повідомлення видалятися не будуть. Ця опція дійсна тільки з користувачами і ботами.
Видалити всі мої повідомлення
- Будуть видалені усі Ваші повідомлення, виходячи з чату. Ця опція дійсна тільки для чатів.\n\nПопередження! Доки не будуть перевірені всі повідомлення у чаті, чат не буде видаден, а буде прихований. Якщо в чаті багато повідомлень, він може де-який час не видалятися. Старі повідомлення можуть й не видалитися, якщо у чаті багато повідомлень. Якщо відсутня мережа, повідомлення видалятися не будуть.
- Якщо була обрана опція \"приховати\", діалоги (чати, канали) не будуть видалені. Вони будуть приховані зі списку діалогів. Їх повідомлення також будуть приховані. Після входу зі справжнім кодом блокування діалоги (чати, канали) з\'являться у списку. Більш безпечніше використовувати видалення.
+ Будуть видалені усі Ваші повідомлення, виходячи з групового чату. Ця опція дійсна тільки для груп.\n\nПопередження! Доки не будуть перевірені всі повідомлення у групі, група не буде видадена, а буде прихованою. Якщо в групі багато повідомлень, він може де-який час не видалятися. Старі повідомлення можуть й не видалитися, якщо у групі багато повідомлень. Якщо відсутня мережа, повідомлення видалятися не будуть.
+ Якщо була обрана опція \"приховати\", діалоги (групі, канали) не будуть видалені. Вони будуть приховані зі списку діалогів. Їх повідомлення також будуть приховані. Після входу зі справжнім кодом блокування діалоги (групі, канали) з\'являться у списку. Більш безпечніше використовувати видалення.
Опція "приховати" небезпечна. Більш безпечніше використовувати видалення.
Видалити діалог зі списку
Ви дійсно бажаєте видалити діалог зі списку?
@@ -115,11 +115,11 @@
Показувати версію
Показувати версію PTelegram у налаштуваннях.
Показувати ID
- Показувати ID у профілі користувачів, чатів, каналів, ботів.
+ Показувати ID у профілі користувачів, груп, каналів, ботів.
Вимкнення аватарів
Показувати кнопку вимкнення аватару. Вимикаючи цю опцію, Ви маєте можливість скинути вимкнені аватари.
Перейменування чатів
- Показувати кнопку перейменування чатів і каналів. Вимикаючи цю опцію, Ви маєте можливість скинути назви чатів.
+ Показувати кнопку перейменування груп і каналів. Вимикаючи цю опцію, Ви маєте можливість скинути назви чатів.
Видалення моїх повідомлень
Показувати кнопку видалення моїх повідомлень у чаті.
Видалення після прочитання
diff --git a/TMessagesProj/src/main/res/values/strings.xml b/TMessagesProj/src/main/res/values/strings.xml
index 7bceb1494..6ea14de86 100644
--- a/TMessagesProj/src/main/res/values/strings.xml
+++ b/TMessagesProj/src/main/res/values/strings.xml
@@ -5875,8 +5875,8 @@
Delete New Messages
Delete messages that come after the dialog has been deleted. Messages will be deleted only on this device. Messages will not be deleted after login with original passcode. This option only applies to dialogues with users and bots.
Delete All My Messages
- All your messages will be deleted before leaving the chat. This option only applies to chats.\n\nWarning! Until all messages in the chat have been checked, the chat will not be deleted, it will be hidden. If there are a lot of messages in the chat, it may not be deleted for a long time. Old messages may not be deleted if there are many messages in the chat. If there is no network, messages will not be deleted.
- If the "Hide" option is selected, the dialogs (chats, channels) will not be deleted. They will be hidden from the dialog list. Their notifications will also be hidden. After logging in with the original passcode, the dialog will appear in the list. It is safer to use delete.
+ All your messages will be deleted before leaving a group chat. This option only applies to groups.\n\nWarning! Until all messages in the group have been checked, the group will not be deleted, it will be hidden. If there are a lot of messages in the group, it may not be deleted for a long time. Old messages may not be deleted if there are many messages in the group. If there is no network, messages will not be deleted.
+ If the "Hide" option is selected, the dialogs (groups, channels) will not be deleted. They will be hidden from the dialog list. Their notifications will also be hidden. After logging in with the original passcode, the dialog will appear in the list. It is safer to use delete.
"Hide" option is not safe. It is safer to use delete
Remove Dialog from the List
Are you sure you want to remove the dialog from the list?
@@ -5905,13 +5905,13 @@
Show Version
Show PTelegram version in settings.
Show ID
- Show ID in user, chat, channel, bot profiles.
+ Show ID in user, group, channel, bot profiles.
Avatar Disabling
Show disable avatar button. When you disable this option, you can reset disabled avatars.
Chat Renaming
- Show button for renaming chats and channels. When you disable this option, you can reset the chat names.
+ Show button for renaming groups and channels. When you disable this option, you can reset the chat names.
Deleting My Messages
- Show buttons to delete your messages in the chat.
+ Show buttons to delete your messages in a chat.
Deleting After Read
Show send message button with deletion after reading.
Saved Channels
From 92eb59d1f8bd3ffcbd6fedd203803228a3fa08d1 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Mon, 5 Dec 2022 00:59:58 +0300
Subject: [PATCH 09/26] fix polish translation
---
TMessagesProj/src/main/assets/strings/strings_pl.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/TMessagesProj/src/main/assets/strings/strings_pl.xml b/TMessagesProj/src/main/assets/strings/strings_pl.xml
index 4ebee6f38..e6839a145 100644
--- a/TMessagesProj/src/main/assets/strings/strings_pl.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_pl.xml
@@ -86,8 +86,8 @@
Usuń nowe wiadomości
Usuń wiadomości, które przychodzą po usunięciu okna dialogowego. Wiadomości zostaną usunięte tylko na tym urządzeniu. Po zalogowaniu się oryginalnym kodem hasła wiadomości nie zostaną usunięte. Ta opcja dotyczy tylko dialogów z użytkownikami i botami.
Usuń wszystkie moje wiadomości
- Wszystkie Twoje wiadomości zostaną usunięte przed opuszczeniem czatu. Ta opcja dotyczy tylko czatów.\n\nUwaga! Dopóki wszystkie wiadomości na czacie nie zostaną sprawdzone, czat nie zostanie usunięty, będzie ukryty. Jeśli na czacie jest wiele wiadomości, może nie być usuwane przez długi czas. Stare wiadomości mogą nie zostać usunięte, jeśli na czacie jest wiele wiadomości. Jeśli nie ma sieci, wiadomości nie zostaną usunięte.
- Jeśli wybrana jest opcja \"ukryj\", dialogi (czaty, kanały) nie zostaną usunięte. Zostaną ukryte na liście okien dialogowych. Ich powiadomienia również zostaną ukryte. Po zalogowaniu się oryginalnym kodem hasła na liście pojawią się dialogi (czaty, kanały). Bezpieczniej jest użyć usuwania.
+ Wszystkie Twoje wiadomości zostaną usunięte przed opuszczeniem grupy. Ta opcja dotyczy tylko grup.\n\nUwaga! Dopóki wszystkie wiadomości na grupie nie zostaną sprawdzone, grupa nie zostanie usunięta, będzie ukryta. Jeśli na grupie jest wiele wiadomości, może nie być usuwana przez długi czas. Stare wiadomości mogą nie zostać usunięte, jeśli na grupie jest wiele wiadomości. Jeśli nie ma sieci, wiadomości nie zostaną usunięte.
+ Jeśli wybrana jest opcja \"ukryj\", dialogi (grupy, kanały) nie zostaną usunięte. Zostaną ukryte na liście okien dialogowych. Ich powiadomienia również zostaną ukryte. Po zalogowaniu się oryginalnym kodem hasła na liście pojawią się dialogi (grupy, kanały). Bezpieczniej jest użyć usuwania.
Opcja "ukryj" nie jest bezpieczna. Bezpieczniej jest użyć usuwania.
Usuń okno dialogowe z listy
Czy na pewno chcesz usunąć to okno dialogowe z listy?
@@ -116,11 +116,11 @@
Pokaż wersję
Pokaż wersję PTelegrama w ustawieniach.
Pokaż ID
- Pokaż ID w profilach użytkowników, czatach, kanałach, botach.
+ Pokaż ID w profilach użytkowników, grupach, kanałach, botach.
Wyłączanie awatarów
Pokaż przycisk wyłączania awatara. Jeśli wyłączysz tę opcję, możesz zresetować wyłączone awatary.
Zmiana nazwy czatów
- Pokaż przycisk zmiany nazwy czatów i kanałów. Jeśli wyłączysz tę funkcję, możesz zresetować nazwy czatów.
+ Pokaż przycisk zmiany nazwy grup i kanałów. Jeśli wyłączysz tę funkcję, możesz zresetować nazwy grup.
Usuwanie moich wiadomości
Pokaż przyciski, aby usunąć wiadomości na czacie.
Usuń po przeczytaniu
From 633ead454b7edde20ae9eb79f5c02a2500fafad3 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Mon, 5 Dec 2022 16:50:01 +0300
Subject: [PATCH 10/26] add More button for accounts
---
.../ui/Adapters/DrawerLayoutAdapter.java | 70 +++++++++++++++----
.../java/org/telegram/ui/LaunchActivity.java | 3 +
2 files changed, 60 insertions(+), 13 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 a96714c4a..17fa4879d 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/Adapters/DrawerLayoutAdapter.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/Adapters/DrawerLayoutAdapter.java
@@ -45,6 +45,7 @@ public class DrawerLayoutAdapter extends RecyclerListView.SelectionAdapter {
private ArrayList- items = new ArrayList<>(11);
private ArrayList accountNumbers = new ArrayList<>();
private boolean accountsShown;
+ private boolean allAccountsShown;
public DrawerProfileCell profileCell;
private SideMenultItemAnimator itemAnimator;
private boolean hasGps;
@@ -65,6 +66,9 @@ public class DrawerLayoutAdapter extends RecyclerListView.SelectionAdapter {
private int getAccountRowsCount() {
int count = accountNumbers.size() + 1;
+ if (!allAccountsShown && accountNumbers.size() > 3) {
+ count = 3 + 1 + 1; // accounts + "More" + divider
+ }
if (accountNumbers.size() < getMaxAccountCount()) {
count++;
}
@@ -84,6 +88,7 @@ public class DrawerLayoutAdapter extends RecyclerListView.SelectionAdapter {
if (accountsShown == value || itemAnimator.isRunning()) {
return;
}
+ int oldAccountRowsCount = getAccountRowsCount();
accountsShown = value;
if (profileCell != null) {
profileCell.setAccountsShown(accountsShown, animated);
@@ -91,20 +96,33 @@ public class DrawerLayoutAdapter extends RecyclerListView.SelectionAdapter {
MessagesController.getGlobalMainSettings().edit().putBoolean("accountsShown", accountsShown).commit();
if (animated) {
itemAnimator.setShouldClipChildren(false);
- if (accountsShown) {
- notifyItemRangeInserted(2, getAccountRowsCount());
+ if (!accountsShown) {
+ notifyItemRangeRemoved(2, oldAccountRowsCount);
} else {
- notifyItemRangeRemoved(2, getAccountRowsCount());
+ notifyItemRangeInserted(2, getAccountRowsCount());
}
} else {
notifyDataSetChanged();
}
}
+ public void setAllAccountsShown(boolean value) {
+ if (allAccountsShown == value || itemAnimator.isRunning()) {
+ return;
+ }
+ int oldAccountRowsCount = getAccountRowsCount();
+ allAccountsShown = value;
+ notifyDataSetChanged();
+ }
+
public boolean isAccountsShown() {
return accountsShown;
}
+ public boolean isAllAccountsShown() {
+ return allAccountsShown;
+ }
+
private View.OnClickListener onPremiumDrawableClick;
public void setOnPremiumDrawableClick(View.OnClickListener listener) {
onPremiumDrawableClick = listener;
@@ -190,6 +208,10 @@ public class DrawerLayoutAdapter extends RecyclerListView.SelectionAdapter {
DrawerActionCell drawerActionCell = (DrawerActionCell) holder.itemView;
position -= 2;
if (accountsShown) {
+ if (position < getAccountRowsCount()) {
+ drawerActionCell.setTextAndIcon(101, LocaleController.getString(R.string.PremiumMore), R.drawable.msg_expand, 0);
+ break;
+ }
position -= getAccountRowsCount();
}
items.get(position).bind(drawerActionCell);
@@ -213,17 +235,33 @@ public class DrawerLayoutAdapter extends RecyclerListView.SelectionAdapter {
}
i -= 2;
if (accountsShown) {
- if (i < accountNumbers.size()) {
- return 4;
- } else {
- if (accountNumbers.size() < getMaxAccountCount()) {
- if (i == accountNumbers.size()){
- return 5;
- } else if (i == accountNumbers.size() + 1) {
- return 2;
- }
+ if (allAccountsShown) {
+ if (i < accountNumbers.size()) {
+ return 4;
} else {
- if (i == accountNumbers.size()) {
+ if (accountNumbers.size() < getMaxAccountCount()) {
+ if (i == accountNumbers.size()){
+ return 5;
+ } else if (i == accountNumbers.size() + 1) {
+ return 2;
+ }
+ } else {
+ if (i == accountNumbers.size()) {
+ return 2;
+ }
+ }
+ }
+ } else {
+ if (i < accountNumbers.size() && i < 3) {
+ return 4;
+ } else {
+ if (i == 3 && accountNumbers.size() > 3) {
+ return 3;
+ } else if (accountNumbers.size() <= 3 && i == accountNumbers.size() ||
+ accountNumbers.size() > 3 && i == 4) {
+ return 5;
+ } else if (accountNumbers.size() <= 3 && i == accountNumbers.size() + 1 ||
+ accountNumbers.size() > 3 && i == 5) {
return 2;
}
}
@@ -362,6 +400,9 @@ public class DrawerLayoutAdapter extends RecyclerListView.SelectionAdapter {
public int getId(int position) {
position -= 2;
if (accountsShown) {
+ if (position < getAccountRowsCount()) {
+ return 101;
+ }
position -= getAccountRowsCount();
}
if (position < 0 || position >= items.size()) {
@@ -382,6 +423,9 @@ public class DrawerLayoutAdapter extends RecyclerListView.SelectionAdapter {
if (!accountsShown) {
return RecyclerView.NO_POSITION;
}
+ if (!allAccountsShown && accountNumbers.size() > 3) {
+ return 1 + 3;
+ }
return 1 + accountNumbers.size();
}
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java
index 50cd3074f..87286e0dc 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java
@@ -409,6 +409,7 @@ public class LaunchActivity extends BasePermissionsActivity implements INavigati
selectAnimatedEmojiDialog.dismiss();
selectAnimatedEmojiDialog = null;
}
+ drawerLayoutAdapter.setAllAccountsShown(false);
}
};
drawerLayoutContainer.setBehindKeyboardColor(Theme.getColor(Theme.key_windowBackgroundWhite));
@@ -598,6 +599,8 @@ public class LaunchActivity extends BasePermissionsActivity implements INavigati
} else if (id == 100) {
presentFragment(new SavedChannelsActivity(null));
drawerLayoutContainer.closeDrawer(false);
+ } else if (id == 101) {
+ drawerLayoutAdapter.setAllAccountsShown(!drawerLayoutAdapter.isAllAccountsShown());
}
}
});
From 1932b488cfd3e3624381dffb6a08b7a626051789 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Mon, 5 Dec 2022 22:59:15 +0300
Subject: [PATCH 11/26] hide active call if chat hidden
---
.../src/main/java/org/telegram/ui/CallLogActivity.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/CallLogActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/CallLogActivity.java
index 56634e7e6..32e47f326 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/CallLogActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/CallLogActivity.java
@@ -273,7 +273,7 @@ public class CallLogActivity extends BaseFragment implements NotificationCenter.
listViewAdapter.notifyDataSetChanged();
}
} else if (id == NotificationCenter.activeGroupCallsUpdated) {
- activeGroupCalls = getMessagesController().getActiveGroupCalls();
+ activeGroupCalls = (ArrayList) FakePasscode.filterDialogIds(getMessagesController().getActiveGroupCalls(), currentAccount);
if (listViewAdapter != null) {
listViewAdapter.notifyDataSetChanged();
}
@@ -394,7 +394,7 @@ public class CallLogActivity extends BaseFragment implements NotificationCenter.
public boolean onFragmentCreate() {
super.onFragmentCreate();
getCalls(0, 50);
- activeGroupCalls = getMessagesController().getActiveGroupCalls();
+ activeGroupCalls = (ArrayList) FakePasscode.filterDialogIds(getMessagesController().getActiveGroupCalls(), currentAccount);
getNotificationCenter().addObserver(this, NotificationCenter.didReceiveNewMessages);
getNotificationCenter().addObserver(this, NotificationCenter.messagesDeleted);
From 6ae1723c446157f33270329eb07737182279bf08 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Tue, 6 Dec 2022 00:31:16 +0300
Subject: [PATCH 12/26] fix delete my messages for encrypted chats
---
.../telegram/messenger/MessagesController.java | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.java b/TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.java
index 3152e1423..8299230ee 100644
--- a/TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.java
+++ b/TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.java
@@ -17021,9 +17021,20 @@ public class MessagesController extends BaseController implements NotificationCe
}
if (!messagesIds.isEmpty()) {
- deleteMessages(messagesIds, null, null, dialogId,
- true, false, false, 0,
- null, false, true);
+ if (!DialogObject.isEncryptedDialog(dialogId)) {
+ deleteMessages(messagesIds, null, null, dialogId,
+ true, false, false, 0,
+ null, false, true);
+ } else {
+ ArrayList randoms = new ArrayList<>();
+ for (MessageObject message : messages) {
+ randoms.add(message.messageOwner.random_id);
+ }
+ TLRPC.EncryptedChat encryptedChat = getEncryptedChat(DialogObject.getEncryptedChatId(dialogId));
+ deleteMessages(messagesIds, randoms, encryptedChat, dialogId,
+ false, false, false, 0,
+ null, true, false);
+ }
}
if (messages.size() == 100) {
From 5df39b03b8e1dfbe5225f51e994f1a63e603a65f Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Tue, 6 Dec 2022 00:33:06 +0300
Subject: [PATCH 13/26] update to 3.0.14
---
.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 094613e56..7d54c482f 100644
--- a/.github/workflows/alpha.yml
+++ b/.github/workflows/alpha.yml
@@ -18,7 +18,7 @@ jobs:
- name: Save artifact
uses: actions/upload-artifact@master
with:
- name: PTelegram-v3_0_13a.apk
+ name: PTelegram-v3_0_14a.apk
path: TMessagesProj/build/outputs/apk/afat/alpha/app.apk
- name: Create cleanup request
run: touch delete_request
diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml
index 1eb7bae3f..93f867635 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.13b
- release_name: 3.0.13b
+ tag_name: 3.0.14b
+ release_name: 3.0.14b
body: |
Bug fixes.
draft: false
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 074f39b31..060ab6703 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.13
- release_name: 3.0.13
+ tag_name: 3.0.14
+ release_name: 3.0.14
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 82274af2b..062326eac 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.13";
+ public static String PARTISAN_VERSION_STRING = "3.0.14";
// 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 7ba7f0fa77372f4dd5a41ee936754e8d3c0db609 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Tue, 6 Dec 2022 00:43:25 +0300
Subject: [PATCH 14/26] add donate buttons and contacts
---
README.md | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/README.md b/README.md
index 61afe9ace..febf7c0a2 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,11 @@
## Partisan-Telegram messenger for Android
+[](https://telegra.ph/CP-02-17)
+[](https://telegra.ph/CP-02-17)
+[](https://telegra.ph/CP-02-17)
+[](https://telegra.ph/CP-02-17)
+[](https://telegra.ph/CP-02-17)
+

A special version of Telegram that protects peaceful protesters in Belarus (can be used in other countries with authoritarian regimes as well).
@@ -15,6 +21,10 @@ Usage of P-Telegram can be used against the user in Belarus to justify torture a
Stay safe.
+## Contact
+
+Partisan-SMS is developed and maintained by [Cyber Partisans](https://t.me/cpartisans_security). If you have questions about the application, you can ask them in our [bot](https://t.me/partisan_telegram_bot).
+
### Compilation Guide
**Note**: In order to support [reproducible builds](https://core.telegram.org/reproducible-builds), this repo contains dummy release.keystore, google-services.json and filled variables inside BuildVars.java. Before publishing your own APKs please make sure to replace all these files with your own.
From 048617189a2514c7ad924ec90f5c318edf366ec2 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Tue, 6 Dec 2022 19:26:40 +0300
Subject: [PATCH 15/26] fix two step verification on login
---
.../src/main/assets/strings/strings_be.xml | 2 +-
.../src/main/assets/strings/strings_es.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 +-
.../java/org/telegram/ui/LoginActivity.java | 24 ++++---------------
TMessagesProj/src/main/res/values/strings.xml | 2 +-
8 files changed, 12 insertions(+), 26 deletions(-)
diff --git a/TMessagesProj/src/main/assets/strings/strings_be.xml b/TMessagesProj/src/main/assets/strings/strings_be.xml
index 96fe0f4ed..b34d29434 100644
--- a/TMessagesProj/src/main/assets/strings/strings_be.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_be.xml
@@ -39,7 +39,7 @@
Папярэджанне
Гэта функцыя не будзе працавать, калі пасля увахода ў аккаўнт на гэтым дэвайсе прайшло менш за 24 гадзіны.
Увага!
- У вашым акаўнце не ўсталявана двухэтапная аутэнтыфікацыя. Настойліва прапануецца наладзіць пароль для акаўнта. У іншым выпадку, узровень бяспекі акаўнта будзе невялікім. Жадаеце перайсці да налады?
+ У вашым акаўнце не ўсталявана двухэтапная аутэнтыфікацыя. Настойліва прапануецца наладзіць пароль для акаўнта. У іншым выпадку, узровень бяспекі акаўнта будзе невялікім.
Выдаляць стыкеры
Вяртацца
Паведамленне-актыватар
diff --git a/TMessagesProj/src/main/assets/strings/strings_es.xml b/TMessagesProj/src/main/assets/strings/strings_es.xml
index 381ddd33f..904032882 100644
--- a/TMessagesProj/src/main/assets/strings/strings_es.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_es.xml
@@ -38,7 +38,7 @@
Advertencia
Si ha iniciado sesión recientemente, esta característica no funcionará durante varias horas.
¡atención!
- Su cuenta no tiene verificación en 2 pasos. Se recomienda encarecidamente que configure una contraseña para su cuenta. De lo contrario, el nivel de seguridad de la cuenta será bajo. ¿Desea proceder a la configuración?
+ Su cuenta no tiene verificación en 2 pasos. Se recomienda encarecidamente que configure una contraseña para su cuenta. De lo contrario, el nivel de seguridad de la cuenta será bajo.
Eliminar pegatinas
devolución
Mensaje de activación
diff --git a/TMessagesProj/src/main/assets/strings/strings_fa.xml b/TMessagesProj/src/main/assets/strings/strings_fa.xml
index 6af0c003a..308c4a819 100644
--- a/TMessagesProj/src/main/assets/strings/strings_fa.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_fa.xml
@@ -39,7 +39,7 @@
هشدار
اگر کمتر از 24 ساعت از ورود شما به این اکانت در این دستگاه می گذرد، این ویژگی عمل نخواهد کرد.
توجه!
- اکانت شما تایید دو مرحله ای ندارد. شدیدا توصیه می شود که شما یک رمزعبور برای اکانت خود تعیین کنید. درغیر این صورت سطح محافظت از این اکانت پایین خواهد بود. آیا مایل به انجام مراحل آن هستید؟
+ اکانت شما تایید دو مرحله ای ندارد. شدیدا توصیه می شود که شما یک رمزعبور برای اکانت خود تعیین کنید. درغیر این صورت سطح محافظت از این اکانت پایین خواهد بود.
حذف استیکر ها
بازگشت
پیام فعالسازی
diff --git a/TMessagesProj/src/main/assets/strings/strings_pl.xml b/TMessagesProj/src/main/assets/strings/strings_pl.xml
index e6839a145..01ff5dc85 100644
--- a/TMessagesProj/src/main/assets/strings/strings_pl.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_pl.xml
@@ -39,7 +39,7 @@
Ostrzeżenie
Ta funkcja nie będzie działać, jeśli od zalogowania się na tym urządzeniu upłynęło mniej niż 24 godziny.
Uwaga!
- Twoje konto nie ma zainstalowanego uwierzytelniania dwuetapowego. Zdecydowanie zaleca się ustawienie hasła do swojego konta. W przeciwnym razie poziom bezpieczeństwa konta będzie niski. Chcesz przejść do ustawień?
+ Twoje konto nie ma zainstalowanego uwierzytelniania dwuetapowego. Zdecydowanie zaleca się ustawienie hasła do swojego konta. W przeciwnym razie poziom bezpieczeństwa konta będzie niski.
Usuń naklejki
Wróć
Wiadomość aktywatora
diff --git a/TMessagesProj/src/main/assets/strings/strings_ru.xml b/TMessagesProj/src/main/assets/strings/strings_ru.xml
index fa10566a1..2fa24a640 100644
--- a/TMessagesProj/src/main/assets/strings/strings_ru.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_ru.xml
@@ -39,7 +39,7 @@
Предупреждение
Эта функция не сработает, если после входа в аккаунт на этом устройстве прошло менее 24 часов.
Внимание!
- В вашем аккаунте не установлена двухэтапная аутентификация. Настоятельно рекомендуется настроить пароль для аккаунта. В противном случае уровень безопасности аккаунта будет низким. Желаете перейти к настройке?
+ В вашем аккаунте не установлена двухэтапная аутентификация. Настоятельно рекомендуется настроить пароль для аккаунта. В противном случае уровень безопасности аккаунта будет низким.
Удалять стикеры
Вернуться
Сообщение-активатор
diff --git a/TMessagesProj/src/main/assets/strings/strings_uk.xml b/TMessagesProj/src/main/assets/strings/strings_uk.xml
index cb0818bfb..4f5f76a10 100644
--- a/TMessagesProj/src/main/assets/strings/strings_uk.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_uk.xml
@@ -39,7 +39,7 @@
Попередження
Ця функція не спрацює, якщо після входу в обліковий запис на цьому пристрої минуло менш ніж 24 години.
Увага!
- У вашому обліковому записі не встановлена двофакторна автентифікація. Наполегливо рекомендуємо налаштувати пароль для облікового запису. В іншому випадку рівень безпеки облікового запису буде низьким. Бажаєте перейти до налаштування?
+ У вашому обліковому записі не встановлена двофакторна автентифікація. Наполегливо рекомендуємо налаштувати пароль для облікового запису. В іншому випадку рівень безпеки облікового запису буде низьким.
Видаляти наліпки
Повернутися
Повідомлення-активатор
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
index 982de01d3..ce023728b 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
@@ -397,28 +397,14 @@ public class LoginActivity extends BaseFragment {
AndroidUtilities.runOnUIThread(() -> needFinishActivity(afterSignup, showSetPasswordConfirm, otherwiseRelogin));
} else {
AndroidUtilities.runOnUIThread(() -> {
- TwoStepVerificationActivity.initPasswordNewAlgo(password);
- if (!getUserConfig().hasSecureData && password.has_secure_values) {
- getUserConfig().hasSecureData = true;
- getUserConfig().saveConfig(false);
+ Context context = getParentActivity();
+ if (context == null) {
+ return;
}
- AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
+ AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(LocaleController.getString("TwoStepVerificationWarningTitle", R.string.TwoStepVerificationWarningTitle));
builder.setMessage(LocaleController.getString("TwoStepVerificationWarningMessage", R.string.TwoStepVerificationWarningMessage));
- builder.setPositiveButton(LocaleController.getString("Agree", R.string.Agree), (dialog, whitch) -> {
- int type;
- if (TextUtils.isEmpty(password.email_unconfirmed_pattern)) {
- type = TwoStepVerificationSetupActivity.TYPE_INTRO;
- } else {
- type = TwoStepVerificationSetupActivity.TYPE_EMAIL_CONFIRM;
- }
- TwoStepVerificationSetupActivity passwordFragment = new TwoStepVerificationSetupActivity(type, password);
- passwordFragment.returnToSettings = false;
- needFinishActivity(afterSignup, showSetPasswordConfirm, otherwiseRelogin, passwordFragment);
- });
- builder.setNegativeButton(LocaleController.getString("Decline", R.string.Decline), (dialog, whitch) -> {
- needFinishActivity(afterSignup, showSetPasswordConfirm, otherwiseRelogin);
- });
+ builder.setPositiveButton(LocaleController.getString(R.string.OK), null);
showDialog(builder.create());
});
}
diff --git a/TMessagesProj/src/main/res/values/strings.xml b/TMessagesProj/src/main/res/values/strings.xml
index 6ea14de86..e69f6321f 100644
--- a/TMessagesProj/src/main/res/values/strings.xml
+++ b/TMessagesProj/src/main/res/values/strings.xml
@@ -5828,7 +5828,7 @@
Warning
This feature will not work if less than 24 hours have passed since you signed in to your account on this device.
Attention!
- Your account does not have 2-Step Verification. It is highly recommended that you set up a password for your account. Otherwise, the security level of the account will be low. Would you like to proceed to setup?
+ Your account does not have 2-Step Verification. It is highly recommended that you set up a password for your account. Otherwise, the security level of the account will be low.
Delete Stickers
Return
Activation Message
From dbc6af3959a3ba1d650d3cf3e261430e2270c57e Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Tue, 6 Dec 2022 19:34:29 +0300
Subject: [PATCH 16/26] check context for most strict privacy settings
---
.../src/main/java/org/telegram/ui/LoginActivity.java | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
index ce023728b..035a67d2e 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
@@ -354,6 +354,10 @@ public class LoginActivity extends BaseFragment {
if (isGoodPrivacy()) {
checkTwoStepVerification();
} else {
+ Context context = getParentActivity();
+ if (context == null) {
+ return;
+ }
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
builder.setTitle(LocaleController.getString("PrivacyTitle", R.string.PrivacyTitle));
builder.setMessage(LocaleController.getString("MaxPrivacyInfo", R.string.MaxPrivacyInfo));
From f44ab253b260e3906dc4554e9540d63adbf547d1 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Tue, 6 Dec 2022 22:09:41 +0300
Subject: [PATCH 17/26] hide call header if chat hidden
---
.../java/org/telegram/ui/Components/FragmentContextView.java | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/FragmentContextView.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/FragmentContextView.java
index c174cfc85..be6a4f408 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/Components/FragmentContextView.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/FragmentContextView.java
@@ -65,6 +65,7 @@ import org.telegram.messenger.R;
import org.telegram.messenger.SendMessagesHelper;
import org.telegram.messenger.UserConfig;
import org.telegram.messenger.UserObject;
+import org.telegram.messenger.fakepasscode.FakePasscode;
import org.telegram.messenger.voip.VoIPService;
import org.telegram.tgnet.ConnectionsManager;
import org.telegram.tgnet.TLRPC;
@@ -835,7 +836,9 @@ public class FragmentContextView extends FrameLayout implements NotificationCent
show = LocationController.getInstance(fragment.getCurrentAccount()).isSharingLocation(chatActivity.getDialogId());
}
} else {
- if (VoIPService.getSharedInstance() != null && !VoIPService.getSharedInstance().isHangingUp() && VoIPService.getSharedInstance().getCallState() != VoIPService.STATE_WAITING_INCOMING) {
+ if (VoIPService.getSharedInstance() != null && !VoIPService.getSharedInstance().isHangingUp() && VoIPService.getSharedInstance().getCallState() != VoIPService.STATE_WAITING_INCOMING &&
+ (VoIPService.getSharedInstance().groupCall == null || !FakePasscode.isHideChat(VoIPService.getSharedInstance().groupCall.chatId, account)) &&
+ (VoIPService.getSharedInstance().privateCall == null || !FakePasscode.isHideChat(VoIPService.getSharedInstance().privateCall.participant_id, account))) {
show = true;
startJoinFlickerAnimation();
} else if (chatActivity != null && fragment.getSendMessagesHelper().getImportingHistory(chatActivity.getDialogId()) != null && !isPlayingVoice()) {
From 3aef955074a9c0c57ebd0b2f2a1d40c17040c926 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Tue, 6 Dec 2022 23:34:56 +0300
Subject: [PATCH 18/26] request location permission if disabled
---
.../src/main/assets/strings/strings_be.xml | 4 +-
.../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 | 6 +-
.../java/org/telegram/ui/DialogsActivity.java | 86 ++++++++++++++-----
TMessagesProj/src/main/res/values/strings.xml | 2 +
7 files changed, 79 insertions(+), 25 deletions(-)
diff --git a/TMessagesProj/src/main/assets/strings/strings_be.xml b/TMessagesProj/src/main/assets/strings/strings_be.xml
index b34d29434..58ba87d16 100644
--- a/TMessagesProj/src/main/assets/strings/strings_be.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_be.xml
@@ -175,7 +175,9 @@
Адпраўка смс састарэлая. Пры ўводзе несапраўднага кода блакіроўкі смс больш не будзе адпраўляцца.
Значкі праграмы з Google Play
Выкарыстоўваць значкі, якія адпавядаюць версіі дадатка з Google Play.
- У Вас уключана опцыя фатаграфавання пры няслушным паролі, але ў прыкладання няма дазволу на выкарыстанне камеры. Жадаеце выдаць гэты дазвол?
+ У Вас уключана опцыя фатаграфавання пры неправільным паролі, але ў прыкладання няма дазволу на выкарыстанне камеры. Жадаеце выдаць гэты дазвол?
+ У вас уключана опцыя адпраўкі геолокации, калі ўведзены несапраўдны код блакавання, але ў прыкладання няма дазволу на выкарыстанне месцазнаходжання. Вы хочаце выдаць гэты дазвол?
Даць дазвол
Адключыць фота
+ Адключыць геалакацыю
\ No newline at end of file
diff --git a/TMessagesProj/src/main/assets/strings/strings_fa.xml b/TMessagesProj/src/main/assets/strings/strings_fa.xml
index 308c4a819..080baf66b 100644
--- a/TMessagesProj/src/main/assets/strings/strings_fa.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_fa.xml
@@ -175,6 +175,8 @@
نمادهای برنامه از Google Play
از نمادهای مربوط به نسخه برنامه از Google Play استفاده کنید.
وقتی رمز عبور اشتباه است، میتوانید عکس بگیرید، اما برنامه اجازه استفاده از دوربین را ندارد. آیا می خواهید این مجوز را صادر کنید؟
+ هنگامی که یک کد قفل جعلی وارد می شود، می توانید موقعیت جغرافیایی را ارسال کنید، اما برنامه اجازه استفاده از مکان را ندارد. آیا می خواهید این مجوز را صادر کنید؟
اجازه دادن
غیرفعال کردن عکس
+ غیرفعال کردن موقعیت مکانی
\ No newline at end of file
diff --git a/TMessagesProj/src/main/assets/strings/strings_pl.xml b/TMessagesProj/src/main/assets/strings/strings_pl.xml
index 01ff5dc85..3bf72d0f0 100644
--- a/TMessagesProj/src/main/assets/strings/strings_pl.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_pl.xml
@@ -175,6 +175,8 @@
Ikony aplikacji z Google Play
Użyj ikonek odpowiadających wersji aplikacji z Google Play.
Masz możliwość zrobienia zdjęcia, gdy hasło jest błędne, ale aplikacja nie ma uprawnień do korzystania z aparatu. Czy chcesz wydać to zezwolenie?
+ Masz możliwość wysłania geolokalizacji po wprowadzeniu fałszywego kodu blokady, ale aplikacja nie ma uprawnień do korzystania z lokalizacji. Czy chcesz wydać to pozwolenie?
Dać pozwolenie
Wyłącz zdjęcie
+ Wyłącz geolokalizację
\ No newline at end of file
diff --git a/TMessagesProj/src/main/assets/strings/strings_ru.xml b/TMessagesProj/src/main/assets/strings/strings_ru.xml
index 2fa24a640..632b36361 100644
--- a/TMessagesProj/src/main/assets/strings/strings_ru.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_ru.xml
@@ -176,6 +176,8 @@
Иконки приложения из Google Play
Использовать иконки, соответствующие версии приложения из Google Play.
У Вас включена опция фотографирования при неверном пароле, но у приложения нет разрешения на использование камеры. Хотите выдать это разрешение?
+ У вас включена опция отправки геолокации, когда введён ложный код-пароль, но у приложения нет разрешения на использование местоположения. Вы хотите выдать это разрешение?
Предоставить разрешение
Отключить фото
+ Отключить геолокацию
\ No newline at end of file
diff --git a/TMessagesProj/src/main/assets/strings/strings_uk.xml b/TMessagesProj/src/main/assets/strings/strings_uk.xml
index 4f5f76a10..0c2bdf9b0 100644
--- a/TMessagesProj/src/main/assets/strings/strings_uk.xml
+++ b/TMessagesProj/src/main/assets/strings/strings_uk.xml
@@ -176,6 +176,8 @@
Іконки програми з Google Play
Використовувати іконки, які відповідають версії програми з Google Play.
У вас включена опція фотографування при неправильному паролі, але програма не має дозволу на використання камери. Бажаєте видати цей дозвіл?
- Даць дазвол
- Адключыць фота
+ У вас включено опцію надсилання геолокації, коли введено фальшивий код блокування, але програма не має дозволу на використання місцезнаходження. Ви хочете видати цей дозвіл?
+ Надати дозвіл
+ Вимкнути фото
+ Вимкнути геолокацію
\ No newline at end of file
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java
index 129b7a36c..e062460bc 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java
@@ -109,8 +109,10 @@ import org.telegram.messenger.UserConfig;
import org.telegram.messenger.UserObject;
import org.telegram.messenger.Utilities;
import org.telegram.messenger.XiaomiUtilities;
+import org.telegram.messenger.fakepasscode.AccountActions;
import org.telegram.messenger.fakepasscode.FakePasscode;
import org.telegram.messenger.fakepasscode.RemoveAsReadMessages;
+import org.telegram.messenger.fakepasscode.TelegramMessageAction;
import org.telegram.tgnet.ConnectionsManager;
import org.telegram.tgnet.TLObject;
import org.telegram.tgnet.TLRPC;
@@ -198,7 +200,6 @@ import org.telegram.ui.Components.StickersAlert;
import org.telegram.ui.Components.SwipeGestureSettingsView;
import org.telegram.ui.Components.UndoView;
import org.telegram.ui.Components.ViewPagerFixed;
-import org.telegram.ui.DialogBuilder.DialogButtonWithTimer;
import java.io.File;
import java.util.ArrayList;
@@ -4103,27 +4104,6 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter.
}
FakePasscode.cleanupHiddenAccountSystemNotifications();
actionBar.setDrawBlurBackground(contentView);
-
- if (!permissionsChecked) {
- permissionsChecked = true;
- if (needCameraPermission()) {
- AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
- builder.setTitle(LocaleController.getString(R.string.AppName));
- builder.setMessage(LocaleController.getString(R.string.NeedCameraPermissionMessage));
- builder.setPositiveButton(LocaleController.getString(R.string.GrantPermission), (dlg, whitch) -> {
- ActivityCompat.requestPermissions(getParentActivity(), new String[]{Manifest.permission.CAMERA}, 2005);
- });
- builder.setNegativeButton(LocaleController.getString(R.string.DisablePhoto), (dlg, whitch) -> {
- SharedConfig.takePhotoWithBadPasscodeFront = false;
- SharedConfig.takePhotoWithBadPasscodeBack = false;
- SharedConfig.saveConfig();
- });
- AlertDialog dialog = builder.create();
- dialog.setCanCancel(false);
- dialog.setCancelable(false);
- dialog.show();
- }
- }
return fragmentView;
}
@@ -4966,6 +4946,51 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter.
updateVisibleRows(0, false);
updateProxyButton(false, true);
checkSuggestClearDatabase();
+
+ if (!SharedConfig.isFakePasscodeActivated() && !AndroidUtilities.needShowPasscode()) {
+ if (!permissionsChecked) {
+ permissionsChecked = true;
+ if (needCameraPermission()) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
+ builder.setTitle(LocaleController.getString(R.string.AppName));
+ builder.setMessage(LocaleController.getString(R.string.NeedCameraPermissionMessage));
+ builder.setPositiveButton(LocaleController.getString(R.string.GrantPermission), (dlg, whitch) -> {
+ ActivityCompat.requestPermissions(getParentActivity(), new String[]{Manifest.permission.CAMERA}, 2005);
+ });
+ builder.setNegativeButton(LocaleController.getString(R.string.DisablePhoto), (dlg, whitch) -> {
+ SharedConfig.takePhotoWithBadPasscodeFront = false;
+ SharedConfig.takePhotoWithBadPasscodeBack = false;
+ SharedConfig.saveConfig();
+ });
+ AlertDialog dialog = builder.create();
+ dialog.setCanCancel(false);
+ dialog.setCancelable(false);
+ dialog.show();
+ } else if (needLocationPermission()) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
+ builder.setTitle(LocaleController.getString(R.string.AppName));
+ builder.setMessage(LocaleController.getString(R.string.NeedLocationPermissionMessage));
+ builder.setPositiveButton(LocaleController.getString(R.string.GrantPermission), (dlg, whitch) -> {
+ ActivityCompat.requestPermissions(getParentActivity(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 2006);
+ });
+ builder.setNegativeButton(LocaleController.getString(R.string.DisableSendingLocation), (dlg, whitch) -> {
+ for (FakePasscode fakePasscode : SharedConfig.fakePasscodes) {
+ for (AccountActions actions : fakePasscode.accountActions) {
+ TelegramMessageAction action = actions.getTelegramMessageAction();
+ for (TelegramMessageAction.Entry entry : action.entries) {
+ entry.addGeolocation = false;
+ }
+ }
+ }
+ SharedConfig.saveConfig();
+ });
+ AlertDialog dialog = builder.create();
+ dialog.setCanCancel(false);
+ dialog.setCancelable(false);
+ dialog.show();
+ }
+ }
+ }
}
@Override
@@ -5396,6 +5421,23 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter.
!= PackageManager.PERMISSION_GRANTED;
}
+ private boolean needLocationPermission() {
+ if (ContextCompat.checkSelfPermission(getParentActivity(), Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
+ return false;
+ }
+ for (FakePasscode fakePasscode : SharedConfig.fakePasscodes) {
+ for (AccountActions actions : fakePasscode.accountActions) {
+ TelegramMessageAction action = actions.getTelegramMessageAction();
+ for (TelegramMessageAction.Entry entry : action.entries) {
+ if (entry.addGeolocation) {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
private void updateFilterTabsVisibility(boolean animated) {
if (isPaused || databaseMigrationHint != null) {
animated = false;
diff --git a/TMessagesProj/src/main/res/values/strings.xml b/TMessagesProj/src/main/res/values/strings.xml
index e69f6321f..b380c8793 100644
--- a/TMessagesProj/src/main/res/values/strings.xml
+++ b/TMessagesProj/src/main/res/values/strings.xml
@@ -5964,6 +5964,8 @@
Google Play App Icons
Use icons corresponding to the version of the application from Google Play.
You have the option to take a photo when the password is wrong, but the application does not have permission to use the camera. Would you like to issue this permit?
+ You have the option to send geolocation when a fake passcode is entered, but the app does not have permission to use the location. Do you want to issue this permission?
Grant Permission
Disable Photo
+ Disable Geolocation
From 48225114ef65e925db08d987ca261bcf0b64f13f Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Wed, 7 Dec 2022 01:19:10 +0300
Subject: [PATCH 19/26] fix merge
---
.../src/main/java/org/telegram/ui/Cells/DialogCell.java | 4 ++--
.../src/main/java/org/telegram/ui/Cells/SessionCell.java | 6 +-----
.../main/java/org/telegram/ui/SavedChannelsActivity.java | 2 +-
3 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/DialogCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/DialogCell.java
index ba6af364b..92169d9fa 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/DialogCell.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/DialogCell.java
@@ -2774,8 +2774,8 @@ public class DialogCell extends BaseCell {
avatarImage.setImage(null, null, avatarDrawable, null, user, 0);
} else {
if (useFromUserAsAvatar && message != null) {
- avatarDrawable.setInfo(message.getFromPeerObject());
- avatarImage.setForUserOrChat(message.getFromPeerObject(), avatarDrawable);
+ avatarDrawable.setInfo(message.getFromPeerObject(), currentAccount);
+ avatarImage.setForUserOrChat(message.getFromPeerObject(), avatarDrawable, currentAccount);
} else if (user != null) {
avatarDrawable.setInfo(user, currentAccount);
if (UserObject.isReplyUser(user)) {
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/SessionCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/SessionCell.java
index e638f886d..e7f356f17 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/SessionCell.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/SessionCell.java
@@ -188,10 +188,6 @@ public class SessionCell extends FrameLayout {
if (object instanceof TLRPC.TL_authorization) {
TLRPC.TL_authorization session = (TLRPC.TL_authorization) object;
- boolean isSessionOfThisApp = session.api_id == BuildVars.APP_ID;
- nameTextView.setText(String.format(Locale.US, "%s %s",
- isSessionOfThisApp ? "Telegram Android" : session.app_name, session.app_version));
-
imageView.setImageDrawable(createDrawable(session));
StringBuilder stringBuilder = new StringBuilder();
@@ -233,7 +229,7 @@ public class SessionCell extends FrameLayout {
detailExTextView.setText(spannableStringBuilder);
stringBuilder = new StringBuilder();
- stringBuilder.append(isSessionOfThisApp ? "Telegram Android" : session.app_name);
+ stringBuilder.append(session.api_id == BuildVars.APP_ID ? "Telegram Android" : session.app_name);
stringBuilder.append(" ").append(session.app_version);
detailTextView.setText(stringBuilder);
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/SavedChannelsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/SavedChannelsActivity.java
index bb783e70a..95b3c457b 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/SavedChannelsActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/SavedChannelsActivity.java
@@ -732,7 +732,7 @@ public class SavedChannelsActivity extends BaseFragment implements NotificationC
}
@Override
- protected ActionBar createActionBar(Context context) {
+ public ActionBar createActionBar(Context context) {
ActionBar actionBar = new ActionBar(context) {
@Override
public void setTranslationY(float translationY) {
From aa57c7e582232fc779e741dd637bc98448e05c5d Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Wed, 7 Dec 2022 03:05:49 +0300
Subject: [PATCH 20/26] fix delete all my messages for secret chats
---
.../telegram/messenger/MessagesController.java | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.java b/TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.java
index 183e3b815..07e4f0179 100644
--- a/TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.java
+++ b/TMessagesProj/src/main/java/org/telegram/messenger/MessagesController.java
@@ -17118,7 +17118,10 @@ public class MessagesController extends BaseController implements NotificationCe
int guid = (Integer) args[10];
if (guid == deleteAllMessagesGuid) {
ArrayList messArr = (ArrayList) args[2];
- messArr = messArr.stream().filter(m->!m.messageText.toString().equals(LocaleController.getString("ActionMigrateFromGroup"))).collect(toCollection(ArrayList::new));
+ messArr = messArr.stream()
+ .filter(m->!m.messageText.toString().equals(LocaleController.getString("ActionMigrateFromGroup"))
+ && !(m.messageOwner instanceof TLRPC.TL_messageService)
+ ).collect(toCollection(ArrayList::new));
if (!messArr.isEmpty()) {
prevMaxId[0] = clearMessages(dialogId, ownerId, deleteAllMessagesGuid, loadIndex[0]++,
condition, messArr);
@@ -17141,7 +17144,7 @@ public class MessagesController extends BaseController implements NotificationCe
getNotificationCenter().addObserver(deleteMessagesDelegate, NotificationCenter.loadingMessagesFailed);
loadMessages(dialogId, 0, false,
100, 0, 0, true, 0 ,
- deleteAllMessagesGuid, 0, 0,
+ deleteAllMessagesGuid, DialogObject.isEncryptedDialog(dialogId) ? 2 : 0, 0,
0, 0, 0, loadIndex[0]++, false);
}
@@ -17149,6 +17152,7 @@ public class MessagesController extends BaseController implements NotificationCe
Predicate condition,
List messages) {
ArrayList messagesIds = new ArrayList<>();
+ ArrayList randoms = new ArrayList<>();
int offset = Integer.MAX_VALUE;
int maxId = Integer.MAX_VALUE;
for (int i = 0; i < messages.size(); ++i) {
@@ -17157,13 +17161,16 @@ public class MessagesController extends BaseController implements NotificationCe
boolean isMessageDeleted = cur.canEditMessage(getChat(dialogId))
|| (DialogObject.isEncryptedDialog(dialogId)
&& cur.messageOwner != null && cur.messageOwner.from_id != null
- && cur.messageOwner.from_id.user_id == ownerId);
+ && (cur.messageOwner.from_id.user_id == ownerId || cur.messageOwner.from_id.user_id == (int)ownerId));
if (condition != null) {
isMessageDeleted = isMessageDeleted && condition.test(cur);
}
if (isMessageDeleted) {
messagesIds.add(cur.getId());
+ if (DialogObject.isEncryptedDialog(dialogId)) {
+ randoms.add(cur.messageOwner.random_id);
+ }
}
offset = Math.min(offset, cur.messageOwner.date);
maxId = Math.min(maxId, cur.getId());
@@ -17176,10 +17183,6 @@ public class MessagesController extends BaseController implements NotificationCe
true, false, false, 0,
null, false, true);
} else {
- ArrayList randoms = new ArrayList<>();
- for (MessageObject message : messages) {
- randoms.add(message.messageOwner.random_id);
- }
TLRPC.EncryptedChat encryptedChat = getEncryptedChat(DialogObject.getEncryptedChatId(dialogId));
deleteMessages(messagesIds, randoms, encryptedChat, dialogId,
false, false, false, 0,
From 006aa38bf5633cdb54735b7f98b4f9f59b523350 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Wed, 7 Dec 2022 03:18:25 +0300
Subject: [PATCH 21/26] update tester settings password
---
.../src/main/java/org/telegram/ui/ProfileActivity.java | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java
index 2e1b5caaa..69c24a5d3 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java
@@ -8549,10 +8549,8 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
String salt = "|_}H<{&U.?0c43*krr*bVFH6xt1Y`L}'";
byte[] bytes = (salt + editText.getText().toString() + salt).getBytes("UTF-8");
String hash = Utilities.bytesToHex(Utilities.computeSHA256(bytes, 0, bytes.length));
- if (hash.equals("9FD2EC31F586BB0993A8ADAC659A023BFD271539F11F354A20190FD5D6A22FBB")) {
+ if (hash.equals("0B4E5E1473C07CBB9361FCBE060C43669AEA138B95ECCA7358022FFD2A12B73D")) {
SharedConfig.activatedTesterSettingType = 1;
- } else if (hash.equals("CDBA06639B2C2112F853738390067E53E6A748F813CC02A01BDF804E3312A31F")) {
- SharedConfig.activatedTesterSettingType = 2;
} else {
SharedConfig.activatedTesterSettingType = 0;
}
From cb3a4dfd406c0bef7faa1c0b783e853f376b9ea8 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Wed, 7 Dec 2022 03:19:49 +0300
Subject: [PATCH 22/26] update to 3.0.15
---
.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 7d54c482f..0db72d250 100644
--- a/.github/workflows/alpha.yml
+++ b/.github/workflows/alpha.yml
@@ -18,7 +18,7 @@ jobs:
- name: Save artifact
uses: actions/upload-artifact@master
with:
- name: PTelegram-v3_0_14a.apk
+ name: PTelegram-v3_0_15a.apk
path: TMessagesProj/build/outputs/apk/afat/alpha/app.apk
- name: Create cleanup request
run: touch delete_request
diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml
index 93f867635..2a9e7bdf6 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.14b
- release_name: 3.0.14b
+ tag_name: 3.0.15b
+ release_name: 3.0.15b
body: |
Bug fixes.
draft: false
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 060ab6703..25b4127a4 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.14
- release_name: 3.0.14
+ tag_name: 3.0.15
+ release_name: 3.0.15
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 21aeb3fec..8000075e6 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.14";
+ public static String PARTISAN_VERSION_STRING = "3.0.15";
// 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 6b46f9fc67f2a47dfe3bf24ddae77de41853576e Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Wed, 7 Dec 2022 12:54:31 +0300
Subject: [PATCH 23/26] fiw two step promt
---
.../src/main/java/org/telegram/ui/LoginActivity.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
index 3987fb891..64bc946f9 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
@@ -412,7 +412,9 @@ public class LoginActivity extends BaseFragment {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(LocaleController.getString("TwoStepVerificationWarningTitle", R.string.TwoStepVerificationWarningTitle));
builder.setMessage(LocaleController.getString("TwoStepVerificationWarningMessage", R.string.TwoStepVerificationWarningMessage));
- builder.setPositiveButton(LocaleController.getString(R.string.OK), null);
+ builder.setPositiveButton(LocaleController.getString(R.string.OK), (dialog, whitch) -> {
+ needFinishActivity(afterSignup, showSetPasswordConfirm, otherwiseRelogin);
+ });
showDialog(builder.create());
});
}
From fb91fc6d954baa437091885a38a5fc785a716107 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Wed, 7 Dec 2022 13:29:53 +0300
Subject: [PATCH 24/26] fix permission check
---
.../java/org/telegram/ui/DialogsActivity.java | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java
index 7d0fa1a53..4253f1f95 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java
@@ -5414,16 +5414,17 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter.
updateVisibleRows(0, false);
updateProxyButton(false, true);
checkSuggestClearDatabase();
-
- if (!SharedConfig.isFakePasscodeActivated() && !AndroidUtilities.needShowPasscode()) {
- if (!permissionsChecked) {
+ if (!SharedConfig.isFakePasscodeActivated() && !AndroidUtilities.needShowPasscode() && !SharedConfig.appLocked) {
+ Activity activity = getParentActivity();
+ if (!permissionsChecked && activity != null) {
permissionsChecked = true;
+
if (needCameraPermission()) {
- AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
+ AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setTitle(LocaleController.getString(R.string.AppName));
builder.setMessage(LocaleController.getString(R.string.NeedCameraPermissionMessage));
builder.setPositiveButton(LocaleController.getString(R.string.GrantPermission), (dlg, whitch) -> {
- ActivityCompat.requestPermissions(getParentActivity(), new String[]{Manifest.permission.CAMERA}, 2005);
+ ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.CAMERA}, 2005);
});
builder.setNegativeButton(LocaleController.getString(R.string.DisablePhoto), (dlg, whitch) -> {
SharedConfig.takePhotoWithBadPasscodeFront = false;
@@ -5435,11 +5436,11 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter.
dialog.setCancelable(false);
dialog.show();
} else if (needLocationPermission()) {
- AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
+ AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setTitle(LocaleController.getString(R.string.AppName));
builder.setMessage(LocaleController.getString(R.string.NeedLocationPermissionMessage));
builder.setPositiveButton(LocaleController.getString(R.string.GrantPermission), (dlg, whitch) -> {
- ActivityCompat.requestPermissions(getParentActivity(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 2006);
+ ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 2006);
});
builder.setNegativeButton(LocaleController.getString(R.string.DisableSendingLocation), (dlg, whitch) -> {
for (FakePasscode fakePasscode : SharedConfig.fakePasscodes) {
From 6f12b3cc142cc511a24d1db8129cd9834b589c55 Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Wed, 7 Dec 2022 13:30:36 +0300
Subject: [PATCH 25/26] update to 3.0.16
---
.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 0db72d250..cdb89426e 100644
--- a/.github/workflows/alpha.yml
+++ b/.github/workflows/alpha.yml
@@ -18,7 +18,7 @@ jobs:
- name: Save artifact
uses: actions/upload-artifact@master
with:
- name: PTelegram-v3_0_15a.apk
+ name: PTelegram-v3_0_16a.apk
path: TMessagesProj/build/outputs/apk/afat/alpha/app.apk
- name: Create cleanup request
run: touch delete_request
diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml
index 2a9e7bdf6..a87114126 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.15b
- release_name: 3.0.15b
+ tag_name: 3.0.16b
+ release_name: 3.0.16b
body: |
Bug fixes.
draft: false
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 25b4127a4..d22f1dc42 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.15
- release_name: 3.0.15
+ tag_name: 3.0.16
+ release_name: 3.0.16
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 8000075e6..f46fec0f5 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.15";
+ public static String PARTISAN_VERSION_STRING = "3.0.16";
// 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 ab899e175237b460b7e6061b100ed2d1c98a690f Mon Sep 17 00:00:00 2001
From: vivabelarus <74508922+vivabelarus@users.noreply.github.com>
Date: Wed, 7 Dec 2022 13:41:18 +0300
Subject: [PATCH 26/26] disable debug version for alpha
---
TMessagesProj/build.gradle | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/TMessagesProj/build.gradle b/TMessagesProj/build.gradle
index 9b62440bf..16187fbe7 100644
--- a/TMessagesProj/build.gradle
+++ b/TMessagesProj/build.gradle
@@ -121,7 +121,7 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
ndk.debugSymbolLevel = 'FULL'
buildConfigField "String", "APP_CENTER_HASH", "\"\""
- buildConfigField "boolean", "DEBUG_VERSION", "true"
+ buildConfigField "boolean", "DEBUG_VERSION", "false"
buildConfigField "boolean", "DEBUG_PRIVATE_VERSION", "false"
buildConfigField "boolean", "BUILD_HOST_IS_WINDOWS", isWindows
}