This commit is contained in:
gdlbo
2022-09-27 20:25:42 +03:00
parent b6f8707a60
commit 00fdbe371f
4 changed files with 75 additions and 7 deletions
@@ -1,5 +1,8 @@
package ru.vtosters.lite.deviceinfo;
import static ru.vtosters.lite.deviceinfo.OEMDetector.isMIUI;
import static ru.vtosters.lite.deviceinfo.OEMDetector.isMIUIAlter;
import static ru.vtosters.lite.deviceinfo.OEMDetector.isSamsung;
import static ru.vtosters.lite.utils.About.getBuildNumber;
public class Device {
@@ -9,9 +12,13 @@ public class Device {
private String manufacturerName;
private String modelName;
private String productName;
private String MiuiUiVersionCode;
private String MiuiUiVersionName;
private String MiuiIncrementalCode;
private String OneUiMinorVersion;
private String OneUiMajorVersion;
private int sdkVersion;
public Device withSdkVersion(int i) {
this.sdkVersion = i;
return this;
@@ -47,6 +54,31 @@ public class Device {
return this;
}
public Device withMiuiUiVersionName(String str) {
this.MiuiUiVersionName = str;
return this;
}
public Device withMiuiUiVersionCodeName(String str) {
this.MiuiUiVersionCode = str;
return this;
}
public Device withOneUiMinorVersionName(String str) {
this.OneUiMinorVersion = str;
return this;
}
public Device withOneUiMajorVersionName(String str) {
this.OneUiMajorVersion = str;
return this;
}
public Device withMiuiIncrementalCodeName(String str) {
this.MiuiIncrementalCode = str;
return this;
}
public String toDeviceName() {
return "Device information: "
+ "commit='" + getBuildNumber()
@@ -56,6 +88,9 @@ public class Device {
+ "', boardName='" + this.boardName
+ "', manufacturerName='" + this.manufacturerName
+ "', brandName='" + this.brandName
+ (isMIUI() ? "', MiuiUiVersionCode='" + this.MiuiUiVersionCode + "', MiuiUiVersionName='" + this.MiuiUiVersionName : "")
+ (isSamsung() ? "', OneUiMajorVersion='" + this.OneUiMajorVersion + "', OneUiMinorVersion='" + this.OneUiMinorVersion : "")
+ (isMIUIAlter() ? "', MiuiUiVersionIncrementalCode='" + this.MiuiIncrementalCode : "")
+ "', modelName='" + this.modelName + "'";
}
}
@@ -1,5 +1,11 @@
package ru.vtosters.lite.deviceinfo;
import static ru.vtosters.lite.deviceinfo.OEMDetector.getMiuiUiVersionCode;
import static ru.vtosters.lite.deviceinfo.OEMDetector.getMiuiUiVersionIncrementalCode;
import static ru.vtosters.lite.deviceinfo.OEMDetector.getMiuiUiVersionName;
import static ru.vtosters.lite.deviceinfo.OEMDetector.getOneUiMajorVersion;
import static ru.vtosters.lite.deviceinfo.OEMDetector.getOneUiMinorVersion;
import android.os.Build;
public class DeviceInfoCollector {
@@ -12,7 +18,12 @@ public class DeviceInfoCollector {
.withBoardName(Build.BOARD)
.withManufacturerName(Build.MANUFACTURER)
.withBrandName(Build.BRAND)
.withModelName(Build.MODEL);
.withModelName(Build.MODEL)
.withOneUiMajorVersionName(String.valueOf(getOneUiMajorVersion()))
.withOneUiMinorVersionName(String.valueOf(getOneUiMinorVersion()))
.withMiuiUiVersionName(getMiuiUiVersionName())
.withMiuiIncrementalCodeName(getMiuiUiVersionIncrementalCode())
.withMiuiUiVersionCodeName(getMiuiUiVersionCode());
}
}
@@ -2,6 +2,7 @@ package ru.vtosters.lite.deviceinfo;
import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
import java.io.BufferedReader;
import java.io.IOException;
@@ -56,8 +57,12 @@ public class OEMDetector {
return isMIUI() || isEMUI() || isFlyme() || isZenUI() || isSamsung() || isVivo();
}
private static boolean isMIUI() {
return !TextUtils.isEmpty(getMiuiUiVersionName());
static boolean isMIUI() {
return !TextUtils.isEmpty(getMiuiUiVersionName()) || !TextUtils.isEmpty(getMiuiUiVersionIncrementalCode());
}
static boolean isMIUIAlter() {
return !TextUtils.isEmpty(getMiuiUiVersionIncrementalCode());
}
private static boolean isEMUI() {
@@ -72,7 +77,7 @@ public class OEMDetector {
return !TextUtils.isEmpty(getSystemProperty("ro.vivo.os.version")) || !TextUtils.isEmpty(getSystemProperty("ro.vivo.rom")) || !TextUtils.isEmpty(getSystemProperty("ro.vivo.rom.version")) || !TextUtils.isEmpty(getSystemProperty("ro.vivo.build.version.sdk"));
}
private static boolean isSamsung() {
static boolean isSamsung() {
return !TextUtils.isEmpty(getSystemProperty("ro.config.knox"));
}
@@ -88,6 +93,10 @@ public class OEMDetector {
return getSystemProperty("ro.miui.ui.version.code");
}
public static String getMiuiUiVersionIncrementalCode() {
return getSystemProperty("ro.build.version.incremental");
}
private static String getSystemProperty(String str) {
BufferedReader bufferedReader;
try {
@@ -98,7 +107,12 @@ public class OEMDetector {
} catch (IOException e) {
e.printStackTrace();
}
return bufferedReader.readLine();
var rl = bufferedReader.readLine();
Log.d("OEMDetector", str + " " + rl);
return rl;
} catch (IOException ignored) {
}
} catch (Throwable ignored) {
@@ -106,5 +120,4 @@ public class OEMDetector {
return null;
}
}
@@ -26,6 +26,7 @@ import android.view.Window;
import android.webkit.WebView;
import android.widget.ImageButton;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.appcompat.widget.Toolbar;
import androidx.core.graphics.ColorUtils;
@@ -57,6 +58,14 @@ public class ThemesUtils {
}
} // Apply VKTheme and ImTheme (hard applying without dynamic theme changing)
public static void setSystemModeTheme(int theme) {
AppCompatDelegate.setDefaultNightMode(theme);
}
public static int getSystemModeTheme() {
return AppCompatDelegate.getDefaultNightMode();
}
public static void setTheme(VKTheme theme, Activity activity) {
if (activity == null) {
activity = getCurrentActivity();