diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/UserConfig.java b/TMessagesProj/src/main/java/org/telegram/messenger/UserConfig.java index 1b33399f3..37da5608e 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/UserConfig.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/UserConfig.java @@ -889,13 +889,8 @@ public class UserConfig extends BaseController { public static int getUsedAccountCountForCurrentFakePasscodeState() { int usedAccounts = 0; - Integer availableAccount = null; for (int a = UserConfig.MAX_ACCOUNT_COUNT - 1; a >= 0; a--) { - if (!UserConfig.getInstance(a).isClientActivated()) { - if (availableAccount == null) { - availableAccount = a; - } - } else if (!FakePasscodeUtils.isHideAccount(a)) { + if (!FakePasscodeUtils.isHideAccount(a)) { usedAccounts++; } } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PTelegramSettingsFragment.java b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/ui/PTelegramSettingsFragment.java similarity index 97% rename from TMessagesProj/src/main/java/org/telegram/ui/PTelegramSettingsFragment.java rename to TMessagesProj/src/main/java/org/telegram/messenger/partisan/ui/PTelegramSettingsFragment.java index 06ece7438..1aad2b7fd 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PTelegramSettingsFragment.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/ui/PTelegramSettingsFragment.java @@ -1,4 +1,4 @@ -package org.telegram.ui; +package org.telegram.messenger.partisan.ui; import static org.telegram.messenger.LocaleController.getString; @@ -19,9 +19,6 @@ import org.telegram.messenger.partisan.ui.items.CollapseItem; import org.telegram.messenger.partisan.ui.items.DelimiterItem; import org.telegram.messenger.partisan.ui.items.DescriptionItem; import org.telegram.messenger.partisan.ui.items.HeaderItem; -import org.telegram.messenger.partisan.ui.InterfaceTweaksFragment; -import org.telegram.messenger.partisan.ui.PartisanBaseFragment; -import org.telegram.messenger.partisan.ui.PartisanTelegramSettingsLocationFragment; import org.telegram.messenger.partisan.ui.items.ItemsGenerator; import org.telegram.messenger.partisan.ui.items.ToggleItem; import org.telegram.messenger.partisan.voicechange.VoiceChangeSettings; @@ -29,6 +26,11 @@ import org.telegram.messenger.partisan.voicechange.VoiceChangeSettingsFragment; import org.telegram.ui.ActionBar.AlertDialog; import org.telegram.ui.ActionBar.BaseFragment; import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.FakePasscodeActivity; +import org.telegram.ui.FakePasscodeRestoreActivity; +import org.telegram.ui.PartisanSettingsActivity; +import org.telegram.ui.PasscodeActivity; +import org.telegram.ui.SecurityIssuesFragment; public class PTelegramSettingsFragment extends PartisanBaseFragment { diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/ui/PartisanTelegramSettingsLockActivity.java b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/ui/PartisanTelegramSettingsLockActivity.java index 45b13c55c..82d28d91e 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/partisan/ui/PartisanTelegramSettingsLockActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/partisan/ui/PartisanTelegramSettingsLockActivity.java @@ -321,7 +321,9 @@ public class PartisanTelegramSettingsLockActivity extends BaseFragment { if (SharedConfig.passcodeRetryInMs > 0) { int value = Math.max(1, (int) Math.ceil(SharedConfig.passcodeRetryInMs / 1000.0)); - Toast.makeText(getParentActivity(), LocaleController.formatString(R.string.TooManyTries, LocaleController.formatPluralString("Seconds", value)), Toast.LENGTH_SHORT).show(); + if (getParentActivity() != null) { + Toast.makeText(getParentActivity(), LocaleController.formatString(R.string.TooManyTries, LocaleController.formatPluralString("Seconds", value)), Toast.LENGTH_SHORT).show(); + } clearInput(); onPasscodeError(); return; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PartisanSettingsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/PartisanSettingsActivity.java index 92e1c293c..67e35d800 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PartisanSettingsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/PartisanSettingsActivity.java @@ -23,6 +23,7 @@ import org.telegram.messenger.partisan.appmigration.AppMigrationActivity; import org.telegram.messenger.partisan.appmigration.AppMigrator; import org.telegram.messenger.partisan.appmigration.AppMigratorPreferences; import org.telegram.messenger.partisan.settings.PartisanTelegramSettings; +import org.telegram.messenger.partisan.ui.DangerousSettingSwitcher; import org.telegram.messenger.partisan.ui.PartisanTelegramSettingsLocationFragment; import org.telegram.messenger.partisan.verification.VerificationRepository; import org.telegram.messenger.partisan.verification.VerificationStorage; @@ -104,54 +105,6 @@ public class PartisanSettingsActivity extends BaseFragment { private int protectPtelegramSettingsRow; private int protectPtelegramSettingsDetailRow; - private class DangerousSettingSwitcher { - public Context context; - public View view; - public boolean value; - public Consumer setValue; - public Consumer dangerousAction; - public Function isChanged; - public String dangerousActionTitle; - public String positiveButtonText; - public String negativeButtonText; - public String neutralButtonText; - - public void switchSetting() { - if (context == null || !value || !isChangedSetting(isChanged)) { - changeSetting(value); - } else { - AlertDialog.Builder builder = new AlertDialog.Builder(context); - builder.setTitle(LocaleController.getString("AppName", R.string.AppName)); - builder.setMessage(dangerousActionTitle); - builder.setPositiveButton(positiveButtonText, (dialog, which) -> changeSetting(true)); - builder.setNegativeButton(negativeButtonText, (dialog, which) -> changeSetting(false)); - builder.setNeutralButton(neutralButtonText, null); - showDialog(builder.create()); - } - } - - private void changeSetting(boolean runDangerousAction) { - setValue.accept(!value); - SharedConfig.saveConfig(); - ((TextCheckCell) view).setChecked(!value); - if (runDangerousAction) { - Utils.foreachActivatedAccountInstance(dangerousAction); - } - } - - private boolean isChangedSetting(Function isChanged) { - for (int a = 0; a < UserConfig.MAX_ACCOUNT_COUNT; a++) { - UserConfig config = UserConfig.getInstance(a); - if (config.isClientActivated()) { - if (isChanged.apply(config)) { - return true; - } - } - } - return false; - } - } - private final boolean ptelegramSettingsMode; public PartisanSettingsActivity() { @@ -217,8 +170,7 @@ public class PartisanSettingsActivity extends BaseFragment { ((TextCheckCell) view).setChecked(SharedConfig.showId); } else if (position == disableAvatarRow) { DangerousSettingSwitcher switcher = new DangerousSettingSwitcher(); - switcher.context = context; - switcher.view = view; + switcher.fragment = this; switcher.value = SharedConfig.allowDisableAvatar; switcher.setValue = v -> SharedConfig.allowDisableAvatar = v; switcher.isChanged = c -> c.chatInfoOverrides.values().stream().anyMatch(o -> !o.avatarEnabled); @@ -226,6 +178,7 @@ public class PartisanSettingsActivity extends BaseFragment { switcher.positiveButtonText = LocaleController.getString("Reset", R.string.Reset); switcher.negativeButtonText = LocaleController.getString("NotReset", R.string.NotReset); switcher.neutralButtonText = LocaleController.getString("Cancel", R.string.Cancel); + switcher.onSettingChanged = () -> listAdapter.notifyItemChanged(position); switcher.dangerousAction = accountInstance -> { for (UserConfig.ChatInfoOverride override : accountInstance.getUserConfig().chatInfoOverrides.values()) { override.avatarEnabled = true; @@ -235,8 +188,7 @@ public class PartisanSettingsActivity extends BaseFragment { switcher.switchSetting(); } else if (position == renameChatRow) { DangerousSettingSwitcher switcher = new DangerousSettingSwitcher(); - switcher.context = context; - switcher.view = view; + switcher.fragment = this; switcher.value = SharedConfig.allowRenameChat; switcher.setValue = v -> SharedConfig.allowRenameChat = v; switcher.isChanged = c -> c.chatInfoOverrides.values().stream().anyMatch(o -> o.title != null); @@ -244,6 +196,7 @@ public class PartisanSettingsActivity extends BaseFragment { switcher.positiveButtonText = LocaleController.getString("Reset", R.string.Reset); switcher.negativeButtonText = LocaleController.getString("NotReset", R.string.NotReset); switcher.neutralButtonText = LocaleController.getString("Cancel", R.string.Cancel); + switcher.onSettingChanged = () -> listAdapter.notifyItemChanged(position); switcher.dangerousAction = accountInstance -> { for (UserConfig.ChatInfoOverride override : accountInstance.getUserConfig().chatInfoOverrides.values()) { override.title = null; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PrivacySettingsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/PrivacySettingsActivity.java index 33686e7b9..fc21a7058 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PrivacySettingsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/PrivacySettingsActivity.java @@ -49,6 +49,7 @@ import org.telegram.messenger.R; import org.telegram.messenger.SharedConfig; import org.telegram.messenger.partisan.settings.PartisanTelegramSettings; import org.telegram.messenger.partisan.settings.PartisanTelegramSettingsLocation; +import org.telegram.messenger.partisan.ui.PTelegramSettingsFragment; import org.telegram.tgnet.ConnectionsManager; import org.telegram.tgnet.TLRPC; import org.telegram.tgnet.tl.TL_account; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java index d41f7e92b..1f887d441 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java @@ -167,6 +167,7 @@ import org.telegram.messenger.partisan.PartisanWarningDialogBuilder; import org.telegram.messenger.partisan.SecurityChecker; import org.telegram.messenger.partisan.secretgroups.EncryptedGroup; import org.telegram.messenger.partisan.settings.TesterSettings; +import org.telegram.messenger.partisan.ui.PTelegramSettingsFragment; import org.telegram.tgnet.ConnectionsManager; import org.telegram.tgnet.SerializedData; import org.telegram.tgnet.TLObject; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java index dcdacec43..e02399594 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java @@ -83,6 +83,7 @@ import org.telegram.messenger.SharedConfig; import org.telegram.messenger.UserConfig; import org.telegram.messenger.UserObject; import org.telegram.messenger.browser.Browser; +import org.telegram.messenger.partisan.ui.PTelegramSettingsFragment; import org.telegram.tgnet.ConnectionsManager; import org.telegram.tgnet.TLRPC; import org.telegram.ui.ActionBar.ActionBar;