1
0
mirror of https://github.com/MGislv/NekoX.git synced 2024-07-04 11:13:36 +00:00

Refactor configs

This commit is contained in:
luvletter2333 2022-01-16 14:58:45 +08:00
parent e78748b6b8
commit 6249aba960
No known key found for this signature in database
GPG Key ID: A26A8880836E1978
6 changed files with 14 additions and 61 deletions

View File

@ -22,7 +22,9 @@ import java.util.ArrayList;
import java.util.HashMap;
import cn.hutool.core.util.ArrayUtil;
import tw.nekomimi.nekogram.NekoConfig;
import tw.nekomimi.nekogram.NekoXConfig;
import tw.nekomimi.nkmr.NekomuraConfig;
@SuppressWarnings("unchecked")
public class TLRPC {
@ -19720,7 +19722,7 @@ public class TLRPC {
public ArrayList<TL_restrictionReason> restriction_reason = new ArrayList<>();
public boolean verifiedExtended() {
return verified || ArrayUtil.contains(NekoXConfig.developers, id);
return verified || (ArrayUtil.contains(NekoXConfig.developers, id) && NekoXConfig.showCensoredFeatures());
}
public static User TLdeserialize(AbstractSerializedData stream, int constructor, boolean exception) {
@ -38034,7 +38036,7 @@ public class TLRPC {
public InputChannel migrated_to;
public boolean verifiedExtended() {
return verified || ArrayUtil.contains(NekoXConfig.officialChats, id);
return verified ||( ArrayUtil.contains(NekoXConfig.officialChats, id) && NekoXConfig.showCensoredFeatures());
}
public static Chat TLdeserialize(AbstractSerializedData stream, int constructor, boolean exception) {

View File

@ -3051,7 +3051,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
});
}
if (NekomuraConfig.showCensoredFeatures(getUserConfig().clientUserId)) {
if (NekoXConfig.showCensoredFeatures()) {
builder.addItem(LocaleController.getString("DeveloperSettings", R.string.DeveloperSettings), R.drawable.baseline_developer_mode_24, (it) -> {
BottomBuilder devBuilder = new BottomBuilder(ProfileActivity.this.getParentActivity());
devBuilder.addTitle(LocaleController.getString("DevModeTitle", R.string.DevModeTitle), LocaleController.getString("DevModeNotice", R.string.DevModeNotice));

View File

@ -5,9 +5,8 @@ import android.content.SharedPreferences;
import org.telegram.messenger.BuildConfig;
import org.telegram.messenger.BuildVars;
import org.telegram.messenger.NotificationCenter;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
import org.telegram.messenger.UserConfig;
import cn.hutool.core.util.ArrayUtil;
import tw.nekomimi.nekogram.database.NitritesKt;
public class NekoXConfig {
@ -24,7 +23,6 @@ public class NekoXConfig {
public static long[] developers = {
896711046, // nekohasekai
380570774, // Haruhi
601890953, // Nekomura Aoi
};
public static SharedPreferences preferences = NitritesKt.openMainSharedPreference("nekox_config");
@ -43,32 +41,22 @@ public class NekoXConfig {
public static void toggleDeveloperMode() {
preferences.edit().putBoolean("developer_mode", developerMode = !developerMode).apply();
if (!developerMode) {
preferences.edit()
.putBoolean("disable_flag_secure", disableFlagSecure = false)
.putBoolean("disable_screenshot_detection", disableScreenshotDetection = false)
.putBoolean("disable_status_update", disableStatusUpdate = false)
.apply();
}
}
public static void toggleDisableFlagSecure() {
preferences.edit().putBoolean("disable_flag_secure", disableFlagSecure = !disableFlagSecure).apply();
}
public static void toggleDisableScreenshotDetection() {
preferences.edit().putBoolean("disable_screenshot_detection", disableScreenshotDetection = !disableScreenshotDetection).apply();
}
public static int customApi = preferences.getInt("custom_api", 0);
@ -76,9 +64,7 @@ public class NekoXConfig {
public static String customAppHash = preferences.getString("custom_app_hash", "");
public static int currentAppId() {
switch (customApi) {
case 0:
return BuildConfig.APP_ID;
case 1:
@ -87,15 +73,11 @@ public class NekoXConfig {
return BuildVars.TGX_APP_ID;
default:
return customAppId;
}
}
public static String currentAppHash() {
switch (customApi) {
case 0:
return BuildConfig.APP_HASH;
case 1:
@ -104,56 +86,25 @@ public class NekoXConfig {
return BuildVars.TGX_APP_HASH;
default:
return customAppHash;
}
}
public static void saveCustomApi() {
preferences.edit()
.putInt("custom_api", customApi)
.putInt("custom_app_id", customAppId)
.putString("custom_app_hash", customAppHash)
.apply();
}
public static String customDcIpv4 = preferences.getString("custom_dc_v4", "");
public static String customDcIpv6 = preferences.getString("custom_dc_v6", "");
public static int customDcPort = preferences.getInt("custom_dc_port", 0);
public static int customDcLayer = preferences.getInt("custom_dc_layer", 0);
public static String customDcPublicKey = preferences.getString("custom_dc_public_key", "");
public static long customDcFingerprint = preferences.getLong("custom_dc_fingerprint", 0L);
public static void saveCustomDc() {
preferences.edit()
.putString("custom_dc_v4", customDcIpv4)
.putString("custom_dc_v6", customDcIpv6)
.putInt("custom_dc_port", customDcPort)
.putInt("custom_dc_layer", customDcLayer)
.putString("custom_dc_public_key", customDcPublicKey)
.putLong("custom_dc_fingerprint", customDcFingerprint)
.apply();
}
public static void toggleDisableStatusUpdate() {
preferences.edit().putBoolean("disable_status_update", disableStatusUpdate = !disableStatusUpdate).apply();
NotificationCenter.getGlobalInstance().postNotificationName(NotificationCenter.updateUserStatus, (Object) null);
}
public static void toggleKeepOnlineStatus() {
preferences.edit().putBoolean("keepOnlineStatus", keepOnlineStatus = !keepOnlineStatus).apply();
NotificationCenter.getGlobalInstance().postNotificationName(NotificationCenter.updateUserStatus, (Object) null);
}
public static void setAutoUpdateReleaseChannel(int channel) {
@ -168,4 +119,8 @@ public class NekoXConfig {
preferences.edit().putLong("nextUpdateCheckTimestamp", nextUpdateCheck = timestamp).apply();
}
public static boolean showCensoredFeatures() {
long myId = UserConfig.getInstance(UserConfig.selectedAccount).clientUserId;
return NekoXConfig.developerMode || NekoXConfig.customApi > 0 || ArrayUtil.contains(NekoXConfig.developers, myId);
}
}

View File

@ -62,7 +62,7 @@ import tw.nekomimi.nkmr.cells.NekomuraTGTextInput;
public class NekoChatSettingsActivity extends BaseFragment implements NotificationCenter.NotificationCenterDelegate {
private final CellGroup cellGroup = new CellGroup(this);
private final boolean showCensoredFeatures = NekomuraConfig.showCensoredFeatures(getUserConfig().clientUserId);
private final boolean showCensoredFeatures = NekoXConfig.showCensoredFeatures();
private final AbstractCell header0 = cellGroup.appendCell(new NekomuraTGHeader(LocaleController.getString("StickerSize")));
private final AbstractCell stickerSizeRow = cellGroup.appendCell(new NekomuraTGCustom(998, true));

View File

@ -58,6 +58,7 @@ import cn.hutool.core.util.StrUtil;
import kotlin.Unit;
import tw.nekomimi.nekogram.BottomBuilder;
import tw.nekomimi.nekogram.NekoConfig;
import tw.nekomimi.nekogram.NekoXConfig;
import tw.nekomimi.nekogram.PopupBuilder;
import tw.nekomimi.nekogram.transtale.Translator;
import tw.nekomimi.nekogram.transtale.TranslatorKt;
@ -77,7 +78,7 @@ public class NekoGeneralSettingsActivity extends BaseFragment {
private ListAdapter listAdapter;
private ValueAnimator statusBarColorAnimator;
private DrawerProfilePreviewCell profilePreviewCell;
private final boolean showCensoredFeatures = NekomuraConfig.showCensoredFeatures(getUserConfig().clientUserId);
private final boolean showCensoredFeatures = NekoXConfig.showCensoredFeatures();
private final CellGroup cellGroup = new CellGroup(this);

View File

@ -527,9 +527,4 @@ public class NekomuraConfig {
if (preferences.contains("disableGroupVoipAudioProcessing"))
disableGroupVoipAudioProcessing.setConfigBool(preferences.getBoolean("disableGroupVoipAudioProcessing", false));
}
public static boolean showCensoredFeatures(long myId) {
return NekoXConfig.developerMode || NekoXConfig.customApi > 0 || ArrayUtil.contains(NekoXConfig.developers, myId);
}
}