NekoX/TMessagesProj/src/main/java/org/telegram/messenger/OneUIUtilities.java

65 lines
1.7 KiB
Java

package org.telegram.messenger;
import android.os.Build;
import java.lang.reflect.Field;
public class OneUIUtilities {
public final static int ONE_UI_4_0 = 40000;
private static Boolean isOneUI;
private static int oneUIEncodedVersion;
private static int oneUIMajorVersion;
private static float oneUIMinorVersion;
@SuppressWarnings("JavaReflectionMemberAccess")
public static boolean isOneUI() {
if (isOneUI != null) {
return isOneUI;
}
try {
Field f = Build.VERSION.class.getDeclaredField("SEM_PLATFORM_INT");
f.setAccessible(true);
int semPlatformInt = (int) f.get(null);
if (semPlatformInt < 100000) {
// Samsung Experience then
return false;
}
oneUIEncodedVersion = semPlatformInt - 90000;
oneUIMajorVersion = oneUIEncodedVersion / 10000;
oneUIMinorVersion = (oneUIEncodedVersion % 10000) / 100F;
isOneUI = true;
} catch (Exception e) {
isOneUI = false;
}
return isOneUI;
}
public static boolean hasBuiltInClipboardToasts() {
return isOneUI() && getOneUIEncodedVersion() == ONE_UI_4_0;
}
public static int getOneUIMajorVersion() {
if (!isOneUI()) {
return 0;
}
return oneUIMajorVersion;
}
public static int getOneUIEncodedVersion() {
if (!isOneUI()) {
return 0;
}
return oneUIEncodedVersion;
}
public static float getOneUIMinorVersion() {
if (!isOneUI()) {
return 0;
}
return oneUIMinorVersion;
}
}