mirror of https://github.com/NekoX-Dev/NekoX.git
172 lines
5.9 KiB
Java
172 lines
5.9 KiB
Java
package tw.nekomimi.nekogram;
|
|
|
|
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 tw.nekomimi.nekogram.database.NitritesKt;
|
|
|
|
public class NekoXConfig {
|
|
|
|
// public static String FAQ_URL = "https://telegra.ph/NekoX-FAQ-03-31";
|
|
public static String FAQ_URL = "https://github.com/NekoX-Dev/NekoX#faq";
|
|
public static long[] officialChats = {
|
|
1305127566, // NekoX Updates
|
|
1151172683, // NekoX Chat
|
|
1299578049, // NekoX Chat Channel
|
|
1137038259, // NekoX APKs
|
|
};
|
|
|
|
public static long[] developers = {
|
|
896711046, // nekohasekai
|
|
380570774, // Haruhi
|
|
601890953, // Nekomura Aoi
|
|
};
|
|
|
|
public static SharedPreferences preferences = NitritesKt.openMainSharedPreference("nekox_config");
|
|
|
|
public static boolean developerModeEntrance;
|
|
public static boolean developerMode = preferences.getBoolean("developer_mode", false);
|
|
|
|
public static boolean disableFlagSecure = preferences.getBoolean("disable_flag_secure", false);
|
|
public static boolean disableScreenshotDetection = preferences.getBoolean("disable_screenshot_detection", false);
|
|
|
|
public static boolean disableStatusUpdate = preferences.getBoolean("disable_status_update", false);
|
|
public static boolean keepOnlineStatus = preferences.getBoolean("keepOnlineStatus", false);
|
|
|
|
public static int autoUpdateReleaseChannel = preferences.getInt("autoUpdateReleaseChannel", 2);
|
|
public static String ignoredUpdateTag = preferences.getString("ignoredUpdateTag", "");
|
|
public static long nextUpdateCheck = preferences.getLong("nextUpdateCheckTimestamp", 0);
|
|
|
|
|
|
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);
|
|
public static int customAppId = preferences.getInt("custom_app_id", 0);
|
|
public static String customAppHash = preferences.getString("custom_app_hash", "");
|
|
|
|
public static int currentAppId() {
|
|
|
|
switch (customApi) {
|
|
|
|
case 0:
|
|
return BuildConfig.APP_ID;
|
|
case 1:
|
|
return BuildVars.OFFICAL_APP_ID;
|
|
case 2:
|
|
return BuildVars.TGX_APP_ID;
|
|
default:
|
|
return customAppId;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public static String currentAppHash() {
|
|
|
|
switch (customApi) {
|
|
|
|
case 0:
|
|
return BuildConfig.APP_HASH;
|
|
case 1:
|
|
return BuildVars.OFFICAL_APP_HASH;
|
|
case 2:
|
|
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) {
|
|
preferences.edit().putInt("autoUpdateReleaseChannel", autoUpdateReleaseChannel = channel).apply();
|
|
}
|
|
|
|
public static void setIgnoredUpdateTag(String ignored) {
|
|
preferences.edit().putString("ignoredUpdateTag", ignoredUpdateTag = ignored).apply();
|
|
}
|
|
|
|
public static void setNextUpdateCheck(long timestamp) {
|
|
preferences.edit().putLong("nextUpdateCheckTimestamp", nextUpdateCheck = timestamp).apply();
|
|
}
|
|
|
|
} |