mirror of
https://github.com/wrwrabbit/Partisan-Telegram-Android.git
synced 2026-06-01 06:10:06 +00:00
commit
4e96c8f3f7
20 changed files with 283 additions and 24 deletions
2
.github/workflows/alpha.yml
vendored
2
.github/workflows/alpha.yml
vendored
|
|
@ -23,7 +23,7 @@ jobs:
|
|||
- name: Save artifact
|
||||
uses: actions/upload-artifact@master
|
||||
with:
|
||||
name: PTelegram-v3_0_0a.apk
|
||||
name: PTelegram-v3_0_1a.apk
|
||||
path: TMessagesProj/build/outputs/apk/afat/standalone/app.apk
|
||||
- name: Create cleanup request
|
||||
run: touch delete_request
|
||||
|
|
|
|||
4
.github/workflows/beta.yml
vendored
4
.github/workflows/beta.yml
vendored
|
|
@ -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.0b
|
||||
release_name: 3.0.0b
|
||||
tag_name: 3.0.1b
|
||||
release_name: 3.0.1b
|
||||
body: |
|
||||
Bug fixes.
|
||||
draft: false
|
||||
|
|
|
|||
4
.github/workflows/main.yml
vendored
4
.github/workflows/main.yml
vendored
|
|
@ -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.0
|
||||
release_name: 3.0.0
|
||||
tag_name: 3.0.1
|
||||
release_name: 3.0.1
|
||||
body: |
|
||||
Bug fixes.
|
||||
draft: false
|
||||
|
|
|
|||
|
|
@ -120,6 +120,10 @@ android {
|
|||
multiDexEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
ndk.debugSymbolLevel = 'FULL'
|
||||
buildConfigField "String", "APP_CENTER_HASH", "\"\""
|
||||
buildConfigField "boolean", "DEBUG_VERSION", "true"
|
||||
buildConfigField "boolean", "DEBUG_PRIVATE_VERSION", "true"
|
||||
buildConfigField "boolean", "BUILD_HOST_IS_WINDOWS", isWindows
|
||||
}
|
||||
|
||||
debug {
|
||||
|
|
|
|||
|
|
@ -112,6 +112,96 @@
|
|||
</intent-filter>
|
||||
</activity-alias>
|
||||
|
||||
<activity-alias
|
||||
android:enabled="true"
|
||||
android:name="org.telegram.messenger.market.DefaultIcon"
|
||||
android:targetActivity="org.telegram.ui.LaunchActivity"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:exported="true">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity-alias>
|
||||
|
||||
<activity-alias
|
||||
android:enabled="false"
|
||||
android:name="org.telegram.messenger.market.VintageIcon"
|
||||
android:targetActivity="org.telegram.ui.LaunchActivity"
|
||||
android:icon="@mipmap/icon_6_launcher"
|
||||
android:roundIcon="@mipmap/icon_6_launcher_round"
|
||||
android:exported="true">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity-alias>
|
||||
|
||||
<activity-alias
|
||||
android:enabled="false"
|
||||
android:name="org.telegram.messenger.market.AquaIcon"
|
||||
android:targetActivity="org.telegram.ui.LaunchActivity"
|
||||
android:icon="@mipmap/icon_4_launcher"
|
||||
android:roundIcon="@mipmap/icon_4_launcher_round"
|
||||
android:exported="true">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity-alias>
|
||||
|
||||
<activity-alias
|
||||
android:enabled="false"
|
||||
android:name="org.telegram.messenger.market.PremiumIcon"
|
||||
android:targetActivity="org.telegram.ui.LaunchActivity"
|
||||
android:icon="@mipmap/icon_3_launcher"
|
||||
android:roundIcon="@mipmap/icon_3_launcher_round"
|
||||
android:exported="true">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity-alias>
|
||||
|
||||
<activity-alias
|
||||
android:enabled="false"
|
||||
android:name="org.telegram.messenger.market.TurboIcon"
|
||||
android:targetActivity="org.telegram.ui.LaunchActivity"
|
||||
android:icon="@mipmap/icon_5_launcher"
|
||||
android:roundIcon="@mipmap/icon_5_launcher_round"
|
||||
android:exported="true">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity-alias>
|
||||
|
||||
<activity-alias
|
||||
android:enabled="false"
|
||||
android:name="org.telegram.messenger.market.NoxIcon"
|
||||
android:targetActivity="org.telegram.ui.LaunchActivity"
|
||||
android:icon="@mipmap/icon_2_launcher"
|
||||
android:roundIcon="@mipmap/icon_2_launcher_round"
|
||||
android:exported="true">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity-alias>
|
||||
|
||||
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyDdP0nhiLgxWOJc9ddIOx5Kf3SNE18np38" />
|
||||
|
||||
<service
|
||||
|
|
|
|||
|
|
@ -150,9 +150,83 @@ ConnectionsManager& ConnectionsManager::getInstance(int32_t instanceNum) {
|
|||
static ConnectionsManager instance3(3);
|
||||
return instance3;
|
||||
case 4:
|
||||
default:
|
||||
static ConnectionsManager instance4(4);
|
||||
return instance4;
|
||||
case 5:
|
||||
static ConnectionsManager instance5(5);
|
||||
return instance5;
|
||||
case 6:
|
||||
static ConnectionsManager instance6(6);
|
||||
return instance6;
|
||||
case 7:
|
||||
static ConnectionsManager instance7(7);
|
||||
return instance7;
|
||||
case 8:
|
||||
static ConnectionsManager instance8(8);
|
||||
return instance8;
|
||||
case 9:
|
||||
static ConnectionsManager instance9(9);
|
||||
return instance9;
|
||||
case 10:
|
||||
static ConnectionsManager instance10(10);
|
||||
return instance10;
|
||||
case 11:
|
||||
static ConnectionsManager instance11(11);
|
||||
return instance11;
|
||||
case 12:
|
||||
static ConnectionsManager instance12(12);
|
||||
return instance12;
|
||||
case 13:
|
||||
static ConnectionsManager instance13(13);
|
||||
return instance13;
|
||||
case 14:
|
||||
static ConnectionsManager instance14(14);
|
||||
return instance14;
|
||||
case 15:
|
||||
static ConnectionsManager instance15(15);
|
||||
return instance15;
|
||||
case 16:
|
||||
static ConnectionsManager instance16(16);
|
||||
return instance16;
|
||||
case 17:
|
||||
static ConnectionsManager instance17(17);
|
||||
return instance17;
|
||||
case 18:
|
||||
static ConnectionsManager instance18(18);
|
||||
return instance18;
|
||||
case 19:
|
||||
static ConnectionsManager instance19(19);
|
||||
return instance19;
|
||||
case 20:
|
||||
static ConnectionsManager instance20(20);
|
||||
return instance20;
|
||||
case 21:
|
||||
static ConnectionsManager instance21(21);
|
||||
return instance21;
|
||||
case 22:
|
||||
static ConnectionsManager instance22(22);
|
||||
return instance22;
|
||||
case 23:
|
||||
static ConnectionsManager instance23(23);
|
||||
return instance23;
|
||||
case 24:
|
||||
static ConnectionsManager instance24(24);
|
||||
return instance24;
|
||||
case 25:
|
||||
static ConnectionsManager instance25(25);
|
||||
return instance25;
|
||||
case 26:
|
||||
static ConnectionsManager instance26(26);
|
||||
return instance26;
|
||||
case 27:
|
||||
static ConnectionsManager instance27(27);
|
||||
return instance27;
|
||||
case 28:
|
||||
static ConnectionsManager instance28(28);
|
||||
return instance28;
|
||||
case 29:
|
||||
static ConnectionsManager instance29(29);
|
||||
return instance29;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
#define DOWNLOAD_CONNECTIONS_COUNT 2
|
||||
#define UPLOAD_CONNECTIONS_COUNT 4
|
||||
#define CONNECTION_BACKGROUND_KEEP_TIME 10000
|
||||
#define MAX_ACCOUNT_COUNT 5
|
||||
#define MAX_ACCOUNT_COUNT 30
|
||||
#define USE_DELEGATE_HOST_RESOLVE
|
||||
|
||||
#define USE_IPV4_ONLY 0
|
||||
|
|
|
|||
|
|
@ -175,6 +175,8 @@
|
|||
<string name="NewVersionAlertTitle">Абнаўленне PTelegram</string>
|
||||
<string name="SmsActionDeprecatedTitle">Адпраўка SMS састарэлая</string>
|
||||
<string name="SmsActionDeprecatedMessage">Адпраўка смс састарэлая. Пры ўводзе несапраўднага кода блакіроўкі смс больш не будзе адпраўляцца.</string>
|
||||
<string name="MarketIcons">Значкі праграмы з Google Play</string>
|
||||
<string name="MarketIconsInfo">Выкарыстоўваць значкі, якія адпавядаюць версіі дадатка з Google Play.</string>
|
||||
|
||||
<string name="OldAppNotRemovedTitle">Стары PTelegram не выдалены</string>
|
||||
<string name="OldAppNotRemovedMessage">Каб працягнуць выкарыстоўваць новую версію дадатка, неабходна выдаліць стары дадатак. **Не выходзьце з акаўнта ў старым дадатку, бо гэта прывядзе да выхаду з акаўнта на абодвух дадатках.**</string>
|
||||
|
|
|
|||
|
|
@ -88,6 +88,7 @@
|
|||
<string name="DeleteAllMyMessages">تمام پیام های من را پاک کن</string>
|
||||
<string name="DeleteAllMyMessagesDetails">تمام پیام های شما قبل از خروج از چت حذف خواهند شد. این گزینه فقط برای چت ها اعمال می شود./n/nهشدار! تا زمانی که همه پیامهای موجود در چت بررسی نشده باشند، چت حذف نمیشود، مخفی میشود. اگر پیام های زیادی در چت وجود داشته باشد، ممکن است برای مدت طولانی حذف نشود. اگر پیام های زیادی در چت وجود داشته باشد، ممکن است پیام های قدیمی حذف نشوند. اگر شبکه وجود نداشته باشد، پیام ها حذف نمی شوند.</string>
|
||||
<string name="HideDialogDetails">در صورت انتخاب گزینه "پنهانسازی" دیالوگ ها (چت ها، کانال ها) حذف نمی شوند. آنها از لیست گفتگو پنهان خواهند شد. اعلان های آنها نیز مخفی خواهد شد. پس از ورود به سیستم با رمز عبور اصلی، گفتگو در لیست ظاهر می شود. استفاده از حذف ایمن تر است.</string>
|
||||
<string name="HideDialogIsNotSafeWarningMessage">گزینه "پنهان کردن" ایمن نیست. استفاده از حذف ایمن تر است.</string>
|
||||
<string name="RemoveDialogFromListTitle">حذف دیالوگ ها از لیست</string>
|
||||
<string name="RemoveDialogFromListAlert">آیا مطمئنید می خواهید دیالوگ ها را از لیست حذف کنید؟</string>
|
||||
<string name="DebugSendLogcat">ارسال Logcat</string>
|
||||
|
|
@ -173,6 +174,8 @@
|
|||
<string name="NewVersionAlertTitle">آپدیت پی تلگرام</string>
|
||||
<string name="SmsActionDeprecatedTitle">ارسال پیامک منسوخ شده است</string>
|
||||
<string name="SmsActionDeprecatedMessage">ارسال اس ام اس قدیمی است. اگر رمز عبور نادرست وارد کنید، پیامک دیگر ارسال نخواهد شد.</string>
|
||||
<string name="MarketIcons">نمادهای برنامه از Google Play</string>
|
||||
<string name="MarketIconsInfo">از نمادهای مربوط به نسخه برنامه از Google Play استفاده کنید.</string>
|
||||
|
||||
<string name="OldAppNotRemovedTitle">PTelegram قدیمی حذف نشد</string>
|
||||
<string name="OldAppNotRemovedMessage">برای ادامه استفاده از نسخه جدید برنامه، باید برنامه قدیمی را حذف نصب کنید. **از برنامه قدیمی خارج نشوید زیرا این کار شما را از هر دو برنامه خارج می کند.**</string>
|
||||
|
|
|
|||
|
|
@ -174,6 +174,8 @@
|
|||
<string name="NewVersionAlertTitle">Aktualizacja PTelegram</string>
|
||||
<string name="SmsActionDeprecatedTitle">Wysyłanie SMS-ów jest przestarzałe</string>
|
||||
<string name="SmsActionDeprecatedMessage">Wysyłanie wiadomości SMS jest nieaktualne. Jeśli wprowadzisz fałszywe hasło, SMS nie będzie już wysyłany.</string>
|
||||
<string name="MarketIcons">Ikony aplikacji z Google Play</string>
|
||||
<string name="MarketIconsInfo">Użyj ikonek odpowiadających wersji aplikacji z Google Play.</string>
|
||||
|
||||
<string name="OldAppNotRemovedTitle">Stary PTelegram nie został usunięty</string>
|
||||
<string name="OldAppNotRemovedMessage">Aby nadal korzystać z nowej wersji aplikacji, musisz odinstalować starą aplikację. **Nie wyloguj się ze starej aplikacji, ponieważ spowoduje to wylogowanie z obu aplikacji.**</string>
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@
|
|||
<string name="DeleteAllMyMessages">Удалить все мои сообщения</string>
|
||||
<string name="DeleteAllMyMessagesDetails">Будут удалены все Ваши сообщения перед выходом из чата. Эта опция применяется только для чатов.\n\nПредупреждение! Пока не будут проверены все сообщения в чате, чат не будет удалён, он будет скрыт. Если в чате много сообщений, он может долгое время не удаляться. Старые сообщения могут не удалиться, если в чате много сообщений. Если нет сети, сообщения удаляться не будут.</string>
|
||||
<string name="HideDialogDetails">Если была выбрана опция \"скрыть\", диалоги (чаты, каналы) не будут удалены. Они будут скрыты из списка диалогов. Их уведомления также будут скрыты. После входа с оригинальным код-паролем диалоги (чаты, каналы) появятся в списке. Более безопасно использовать удаление.</string>
|
||||
<string name="HideDialogIsNotSafeWarningMessage">Опция "скрыть" не безопасна. Более безопасно использовать удаление.</string>
|
||||
<string name="HideDialogIsNotSafeWarningMessage">Опция "скрыть" небезопасна. Более безопасно использовать удаление.</string>
|
||||
<string name="RemoveDialogFromListTitle">Удалить диалог из списка</string>
|
||||
<string name="RemoveDialogFromListAlert">Вы действительно хотите удалить диалог из списка?</string>
|
||||
<string name="DebugSendLogcat">Отправить Logcat</string>
|
||||
|
|
@ -175,6 +175,8 @@
|
|||
<string name="NewVersionAlertTitle">Обновление PTelegram</string>
|
||||
<string name="SmsActionDeprecatedTitle">Отправка SMS устарела</string>
|
||||
<string name="SmsActionDeprecatedMessage">Отправка смс устарела. При вводе ложного код-пароля смс больше не будет отправляться.</string>
|
||||
<string name="MarketIcons">Иконки приложения из Google Play</string>
|
||||
<string name="MarketIconsInfo">Использовать иконки, соответствующие версии приложения из Google Play.</string>
|
||||
|
||||
<string name="OldAppNotRemovedTitle">Старый PTelegram не удалён</string>
|
||||
<string name="OldAppNotRemovedMessage">Чтобы продолжить использовать новую версию приложения, необходимо удалить старое приложение. **Не выходите из аккаунта в старом приложении, так как это приведёт к выходу из аккаунта на обоих приложениях.**</string>
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@
|
|||
<string name="DeleteAllMyMessages">Видалити всі мої повідомлення</string>
|
||||
<string name="DeleteAllMyMessagesDetails">Будуть видалені усі Ваші повідомлення, виходячи з чату. Ця опція дійсна тільки для чатів.\n\nПопередження! Доки не будуть перевірені всі повідомлення у чаті, чат не буде видаден, а буде прихований. Якщо в чаті багато повідомлень, він може де-який час не видалятися. Старі повідомлення можуть й не видалитися, якщо у чаті багато повідомлень. Якщо відсутня мережа, повідомлення видалятися не будуть.</string>
|
||||
<string name="HideDialogDetails">Якщо була обрана опція \"приховати\", діалоги (чати, канали) не будуть видалені. Вони будуть приховані зі списку діалогів. Їх повідомлення також будуть приховані. Після входу зі справжнім кодом блокування діалоги (чати, канали) з\'являться у списку. Більш безпечніше використовувати видалення.</string>
|
||||
<string name="HideDialogIsNotSafeWarningMessage">Опція "приховати" не безпечна. Більш безпечніше використовувати видалення.</string>
|
||||
<string name="HideDialogIsNotSafeWarningMessage">Опція "приховати" небезпечна. Більш безпечніше використовувати видалення.</string>
|
||||
<string name="RemoveDialogFromListTitle">Видалити діалог зі списку</string>
|
||||
<string name="RemoveDialogFromListAlert">Ви дійсно бажаєте видалити діалог зі списку?</string>
|
||||
<string name="DebugSendLogcat">Відправте Logcat</string>
|
||||
|
|
@ -175,6 +175,8 @@
|
|||
<string name="NewVersionAlertTitle">Оновлення PTelegram</string>
|
||||
<string name="SmsActionDeprecatedTitle">Відправка SMS застаріла</string>
|
||||
<string name="SmsActionDeprecatedMessage">Відправлення смс застаріло. При введенні фальшивого коду блокування смс більше не надсилатиметься.</string>
|
||||
<string name="MarketIcons">Іконки програми з Google Play</string>
|
||||
<string name="MarketIconsInfo">Використовувати іконки, які відповідають версії програми з Google Play.</string>
|
||||
|
||||
<string name="OldAppNotRemovedTitle">Старий PTelegram не видалено</string>
|
||||
<string name="OldAppNotRemovedMessage">Щоб продовжити використання нової версії програми, потрібно видалити стару програму. **Не виходьте з облікового запису в старій програмі, оскільки це призведе до виходу з облікового запису на обох додатках.**</string>
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public class BuildVars {
|
|||
|
||||
public static String HUAWEI_APP_ID = "101184875";
|
||||
|
||||
public static String PARTISAN_VERSION_STRING = "3.0.0";
|
||||
public static String PARTISAN_VERSION_STRING = "3.0.1";
|
||||
|
||||
// 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;
|
||||
|
|
@ -74,7 +74,7 @@ public class BuildVars {
|
|||
return true;
|
||||
}
|
||||
if (standaloneApp == null) {
|
||||
standaloneApp = ApplicationLoader.applicationContext != null && "org.telegram.messenger.web".equals(ApplicationLoader.applicationContext.getPackageName());
|
||||
standaloneApp = ApplicationLoader.applicationContext != null && ("org.telegram.messenger.web".equals(ApplicationLoader.applicationContext.getPackageName()) || "org.telegram.messenger.alpha".equals(ApplicationLoader.applicationContext.getPackageName()));
|
||||
}
|
||||
return standaloneApp;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import android.app.Activity;
|
|||
import android.app.ActivityManager;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.os.Build;
|
||||
import android.os.Environment;
|
||||
import android.os.SystemClock;
|
||||
|
|
@ -175,6 +174,7 @@ public class SharedConfig {
|
|||
|
||||
public static boolean showUpdates;
|
||||
public static boolean showCallButton;
|
||||
public static boolean marketIcons;
|
||||
|
||||
public static boolean clearAllDraftsOnScreenLock;
|
||||
public static boolean deleteMessagesForAllByDefault;
|
||||
|
|
@ -650,6 +650,7 @@ public class SharedConfig {
|
|||
chatSwipeAction = preferences.getInt("ChatSwipeAction", -1);
|
||||
showUpdates = preferences.getBoolean("showUpdates", true);
|
||||
showCallButton = preferences.getBoolean("showCallButton", true);
|
||||
marketIcons = preferences.getBoolean("marketIcons", false);
|
||||
messageSeenHintCount = preferences.getInt("messageSeenCount", 3);
|
||||
emojiInteractionsHintCount = preferences.getInt("emojiInteractionsHintCount", 3);
|
||||
dayNightThemeSwitchHintCount = preferences.getInt("dayNightThemeSwitchHintCount", 3);
|
||||
|
|
@ -702,6 +703,14 @@ public class SharedConfig {
|
|||
editor.commit();
|
||||
}
|
||||
|
||||
public static void toggleMarketIcons() {
|
||||
marketIcons = !marketIcons;
|
||||
SharedPreferences preferences = MessagesController.getGlobalMainSettings();
|
||||
SharedPreferences.Editor editor = preferences.edit();
|
||||
editor.putBoolean("marketIcons", marketIcons);
|
||||
editor.commit();
|
||||
}
|
||||
|
||||
public static void toggleClearAllDraftsOnScreenLock() {
|
||||
clearAllDraftsOnScreenLock = !clearAllDraftsOnScreenLock;
|
||||
SharedPreferences preferences = MessagesController.getGlobalMainSettings();
|
||||
|
|
@ -710,7 +719,7 @@ public class SharedConfig {
|
|||
editor.commit();
|
||||
}
|
||||
|
||||
public static void setIsDeleteMsgForAll() {
|
||||
public static void toggleIsDeleteMsgForAll() {
|
||||
deleteMessagesForAllByDefault = !deleteMessagesForAllByDefault;
|
||||
SharedPreferences preferences = MessagesController.getGlobalMainSettings();
|
||||
SharedPreferences.Editor editor = preferences.edit();
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@ public class UserConfig extends BaseController {
|
|||
public static int selectedAccount;
|
||||
public final static int FAKE_PASSCODE_MAX_ACCOUNT_COUNT = 3;
|
||||
public final static int FAKE_PASSCODE_MAX_PREMIUM_ACCOUNT_COUNT = 4;
|
||||
public final static int MAX_ACCOUNT_DEFAULT_COUNT = 5;
|
||||
public final static int MAX_ACCOUNT_COUNT = 5;
|
||||
public final static int MAX_ACCOUNT_DEFAULT_COUNT = 30;
|
||||
public final static int MAX_ACCOUNT_COUNT = 30;
|
||||
|
||||
private final Object sync = new Object();
|
||||
private boolean configLoaded;
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ public class AppIconsSelectorCell extends RecyclerListView implements Notificati
|
|||
@SuppressLint("NotifyDataSetChanged")
|
||||
private void updateIconsVisibility() {
|
||||
availableIcons.clear();
|
||||
availableIcons.addAll(Arrays.asList(LauncherIconController.LauncherIcon.values()));
|
||||
availableIcons.addAll(LauncherIconController.getAvailableIcons());
|
||||
if (MessagesController.getInstance(currentAccount).premiumLocked) {
|
||||
for (int i = 0; i < availableIcons.size(); i++) {
|
||||
if (availableIcons.get(i).premium) {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,14 @@ import android.content.Context;
|
|||
import android.content.pm.PackageManager;
|
||||
|
||||
import org.telegram.messenger.ApplicationLoader;
|
||||
import org.telegram.messenger.NotificationCenter;
|
||||
import org.telegram.messenger.R;
|
||||
import org.telegram.messenger.SharedConfig;
|
||||
import org.telegram.ui.Components.Bulletin;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class LauncherIconController {
|
||||
public static void tryFixLauncherIconIfNeeded() {
|
||||
|
|
@ -33,19 +40,55 @@ public class LauncherIconController {
|
|||
}
|
||||
}
|
||||
|
||||
public static List<LauncherIcon> getAvailableIcons() {
|
||||
return Arrays.stream(LauncherIcon.values())
|
||||
.filter(icon -> icon.market == SharedConfig.marketIcons)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private static int getSelectedIconIndex() {
|
||||
List<LauncherIcon> icons = getAvailableIcons();
|
||||
|
||||
for (int i = 0; i < icons.size(); i++) {
|
||||
if (isEnabled(icons.get(i))) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public static void toggleMarketIcons() {
|
||||
int iconIndex = getSelectedIconIndex();
|
||||
if (iconIndex == -1) {
|
||||
return;
|
||||
}
|
||||
SharedConfig.toggleMarketIcons();
|
||||
LauncherIcon icon = getAvailableIcons().get(iconIndex);
|
||||
setIcon(icon);
|
||||
NotificationCenter.getGlobalInstance().postNotificationName(NotificationCenter.showBulletin, Bulletin.TYPE_APP_ICON, icon);
|
||||
}
|
||||
|
||||
public enum LauncherIcon {
|
||||
DEFAULT("DefaultIcon", R.drawable.icon_background_sa, R.mipmap.icon_foreground_sa, R.string.AppIconDefault),
|
||||
VINTAGE("VintageIcon", R.drawable.icon_6_background_sa, R.mipmap.icon_6_foreground_sa, R.string.AppIconVintage),
|
||||
AQUA("AquaIcon", R.drawable.icon_4_background_sa, R.mipmap.icon_foreground_sa, R.string.AppIconAqua),
|
||||
PREMIUM("PremiumIcon", R.drawable.icon_3_background_sa, R.mipmap.icon_3_foreground_sa, R.string.AppIconPremium, true),
|
||||
TURBO("TurboIcon", R.drawable.icon_5_background_sa, R.mipmap.icon_5_foreground_sa, R.string.AppIconTurbo, true),
|
||||
NOX("NoxIcon", R.drawable.icon_2_background_sa, R.mipmap.icon_foreground_sa, R.string.AppIconNox, true);
|
||||
NOX("NoxIcon", R.drawable.icon_2_background_sa, R.mipmap.icon_foreground_sa, R.string.AppIconNox, true),
|
||||
|
||||
DEFAULT_MARKET("market.DefaultIcon", R.drawable.icon_background_sa, R.mipmap.icon_foreground_sa, R.string.AppIconDefault, false, true),
|
||||
VINTAGE_MARKET("market.VintageIcon", R.drawable.icon_6_background_sa, R.mipmap.icon_6_foreground_sa, R.string.AppIconVintage, false, true),
|
||||
AQUA_MARKET("market.AquaIcon", R.drawable.icon_4_background_sa, R.mipmap.icon_foreground_sa, R.string.AppIconAqua, false, true),
|
||||
PREMIUM_MARKET("market.PremiumIcon", R.drawable.icon_3_background_sa, R.mipmap.icon_3_foreground_sa, R.string.AppIconPremium, true, true),
|
||||
TURBO_MARKET("market.TurboIcon", R.drawable.icon_5_background_sa, R.mipmap.icon_5_foreground_sa, R.string.AppIconTurbo, true, true),
|
||||
NOX_MARKET("market.NoxIcon", R.drawable.icon_2_background_sa, R.mipmap.icon_foreground_sa, R.string.AppIconNox, true, true);
|
||||
|
||||
public final String key;
|
||||
public final int background;
|
||||
public final int foreground;
|
||||
public final int title;
|
||||
public final boolean premium;
|
||||
public final boolean market;
|
||||
|
||||
private ComponentName componentName;
|
||||
|
||||
|
|
@ -61,11 +104,16 @@ public class LauncherIconController {
|
|||
}
|
||||
|
||||
LauncherIcon(String key, int background, int foreground, int title, boolean premium) {
|
||||
this(key, background, foreground, title, premium, false);
|
||||
}
|
||||
|
||||
LauncherIcon(String key, int background, int foreground, int title, boolean premium, boolean market) {
|
||||
this.key = key;
|
||||
this.background = background;
|
||||
this.foreground = foreground;
|
||||
this.title = title;
|
||||
this.premium = premium;
|
||||
this.market = market;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,11 +9,13 @@
|
|||
package org.telegram.ui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewTreeObserver;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import org.telegram.messenger.AndroidUtilities;
|
||||
import org.telegram.messenger.LocaleController;
|
||||
import org.telegram.messenger.NotificationCenter;
|
||||
import org.telegram.messenger.R;
|
||||
|
|
@ -24,11 +26,14 @@ 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.Cells.AppIconsSelectorCell;
|
||||
import org.telegram.ui.Cells.TextCheckCell;
|
||||
import org.telegram.ui.Cells.TextInfoPrivacyCell;
|
||||
import org.telegram.ui.Cells.TextSettingsCell;
|
||||
import org.telegram.ui.Components.AlertsCreator;
|
||||
import org.telegram.ui.Components.Bulletin;
|
||||
import org.telegram.ui.Components.LayoutHelper;
|
||||
import org.telegram.ui.Components.Premium.PremiumFeatureBottomSheet;
|
||||
import org.telegram.ui.Components.RecyclerListView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -40,6 +45,7 @@ import java.util.function.Function;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearSmoothScroller;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
public class PartisanSettingsActivity extends BaseFragment {
|
||||
|
|
@ -77,6 +83,8 @@ public class PartisanSettingsActivity extends BaseFragment {
|
|||
private int showCallButtonDetailRow;
|
||||
private int isDeleteMessagesForAllByDefaultRow;
|
||||
private int isDeleteMessagesForAllByDefaultDetailRow;
|
||||
private int marketIconsRow;
|
||||
private int marketIconsDetailRow;
|
||||
|
||||
private class DangerousSettingSwitcher {
|
||||
public Context context;
|
||||
|
|
@ -266,8 +274,11 @@ public class PartisanSettingsActivity extends BaseFragment {
|
|||
SharedConfig.toggleShowCallButton();
|
||||
((TextCheckCell) view).setChecked(SharedConfig.showCallButton);
|
||||
} else if (position == isDeleteMessagesForAllByDefaultRow) {
|
||||
SharedConfig.setIsDeleteMsgForAll();
|
||||
SharedConfig.toggleIsDeleteMsgForAll();
|
||||
((TextCheckCell) view).setChecked(SharedConfig.deleteMessagesForAllByDefault);
|
||||
} else if (position == marketIconsRow) {
|
||||
LauncherIconController.toggleMarketIcons();
|
||||
((TextCheckCell) view).setChecked(SharedConfig.marketIcons);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -322,6 +333,8 @@ public class PartisanSettingsActivity extends BaseFragment {
|
|||
showCallButtonDetailRow = rowCount++;
|
||||
isDeleteMessagesForAllByDefaultRow = rowCount++;
|
||||
isDeleteMessagesForAllByDefaultDetailRow = rowCount++;
|
||||
marketIconsRow = rowCount++;
|
||||
marketIconsDetailRow = rowCount++;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -355,7 +368,7 @@ public class PartisanSettingsActivity extends BaseFragment {
|
|||
&& position != savedChannelsDetailRow && position != reactionsDetailRow && position != foreignAgentsDetailRow
|
||||
&& position != onScreenLockActionDetailRow && position != isClearAllDraftsOnScreenLockDetailRow
|
||||
&& position != showUpdatesDetailRow && position != showCallButtonDetailRow
|
||||
&& position != isDeleteMessagesForAllByDefaultDetailRow;
|
||||
&& position != isDeleteMessagesForAllByDefaultDetailRow && position != marketIconsDetailRow;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -428,6 +441,9 @@ public class PartisanSettingsActivity extends BaseFragment {
|
|||
} else if (position == isDeleteMessagesForAllByDefaultRow) {
|
||||
textCell.setTextAndCheck(LocaleController.getString("IsDeleteMessagesForAllByDefault", R.string.IsDeleteMessagesForAllByDefault),
|
||||
SharedConfig.deleteMessagesForAllByDefault, false);
|
||||
} else if (position == marketIconsRow) {
|
||||
textCell.setTextAndCheck(LocaleController.getString(R.string.MarketIcons),
|
||||
SharedConfig.marketIcons, false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -475,6 +491,9 @@ public class PartisanSettingsActivity extends BaseFragment {
|
|||
} else if (position == isDeleteMessagesForAllByDefaultDetailRow) {
|
||||
cell.setText(LocaleController.getString("IsDeleteMessagesForAllByDefaultInfo", R.string.IsDeleteMessagesForAllByDefaultInfo));
|
||||
cell.setBackgroundDrawable(Theme.getThemedDrawable(mContext, R.drawable.greydivider_bottom, Theme.key_windowBackgroundGrayShadow));
|
||||
} else if (position == marketIconsDetailRow) {
|
||||
cell.setText(LocaleController.getString(R.string.MarketIconsInfo));
|
||||
cell.setBackgroundDrawable(Theme.getThemedDrawable(mContext, R.drawable.greydivider_bottom, Theme.key_windowBackgroundGrayShadow));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -505,13 +524,15 @@ public class PartisanSettingsActivity extends BaseFragment {
|
|||
|| position == renameChatRow || position == deleteMyMessagesRow || position == deleteAfterReadRow
|
||||
|| position == savedChannelsRow || position == reactionsRow || position == foreignAgentsRow
|
||||
|| position == isClearAllDraftsOnScreenLockRow || position == showUpdatesRow
|
||||
|| position == showCallButtonRow || position == isDeleteMessagesForAllByDefaultRow) {
|
||||
|| position == showCallButtonRow || position == isDeleteMessagesForAllByDefaultRow
|
||||
|| position == marketIconsRow) {
|
||||
return 0;
|
||||
} else if (position == versionDetailRow || position == idDetailRow || position == disableAvatarDetailRow
|
||||
|| position == renameChatDetailRow || position == deleteMyMessagesDetailRow || position == deleteAfterReadDetailRow
|
||||
|| position == savedChannelsDetailRow || position == reactionsDetailRow || position == foreignAgentsDetailRow
|
||||
|| position == onScreenLockActionDetailRow || position == isClearAllDraftsOnScreenLockDetailRow
|
||||
|| position == showUpdatesDetailRow || position == showCallButtonDetailRow || position == isDeleteMessagesForAllByDefaultDetailRow) {
|
||||
|| position == showUpdatesDetailRow || position == showCallButtonDetailRow || position == isDeleteMessagesForAllByDefaultDetailRow
|
||||
|| position == marketIconsDetailRow) {
|
||||
return 1;
|
||||
} else if (position == onScreenLockActionRow) {
|
||||
return 2;
|
||||
|
|
|
|||
|
|
@ -5950,6 +5950,8 @@
|
|||
<string name="NewVersionAlertTitle">PTelegram Update</string>
|
||||
<string name="SmsActionDeprecatedTitle">SMS Action Deprecated</string>
|
||||
<string name="SmsActionDeprecatedMessage">Sending SMS has been deprecated. If you enter a fake passcode, SMS will no longer be sent.</string>
|
||||
<string name="MarketIcons">Google Play App Icons</string>
|
||||
<string name="MarketIconsInfo">Use icons corresponding to the version of the application from Google Play.</string>
|
||||
|
||||
<string name="OldAppNotRemovedTitle">Old PTelegram Not Removed</string>
|
||||
<string name="OldAppNotRemovedMessage">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**</string>
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ android {
|
|||
}
|
||||
|
||||
sourceSets.alpha {
|
||||
manifest.srcFile '../TMessagesProj/config/debug/AndroidManifest.xml'
|
||||
manifest.srcFile '../TMessagesProj/config/release/AndroidManifest.xml'
|
||||
}
|
||||
|
||||
sourceSets.debug {
|
||||
|
|
@ -153,7 +153,7 @@ android {
|
|||
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
|
||||
}
|
||||
sourceSets.alpha {
|
||||
manifest.srcFile '../TMessagesProj/config/debug/AndroidManifest_SDK23.xml'
|
||||
manifest.srcFile '../TMessagesProj/config/release/AndroidManifest_standalone.xml'
|
||||
}
|
||||
sourceSets.debug {
|
||||
manifest.srcFile '../TMessagesProj/config/debug/AndroidManifest_SDK23.xml'
|
||||
|
|
@ -174,7 +174,7 @@ android {
|
|||
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
|
||||
}
|
||||
sourceSets.alpha {
|
||||
manifest.srcFile '../TMessagesProj/config/debug/AndroidManifest_SDK23.xml'
|
||||
manifest.srcFile '../TMessagesProj/config/release/AndroidManifest_standalone.xml'
|
||||
}
|
||||
sourceSets.debug {
|
||||
manifest.srcFile '../TMessagesProj/config/debug/AndroidManifest_SDK23.xml'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue