refactoring

This commit is contained in:
vivabelarus 2026-04-16 17:53:42 +03:00
parent 61ff05c1bd
commit baaaaab83c
No known key found for this signature in database
GPG key ID: 16D72E146372F381
7 changed files with 18 additions and 63 deletions

View file

@ -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++;
}
}

View file

@ -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 {

View file

@ -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;

View file

@ -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<Boolean> setValue;
public Consumer<AccountInstance> dangerousAction;
public Function<UserConfig, Boolean> 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<UserConfig, Boolean> 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;

View file

@ -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;

View file

@ -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;

View file

@ -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;