From c18dea0de1cdf2894ffd1c8d2fdc2352747ca537 Mon Sep 17 00:00:00 2001 From: FongMi Date: Fri, 27 Dec 2024 17:02:23 +0800 Subject: [PATCH] Add device info --- .../com/fongmi/android/tv/bean/Device.java | 18 +++++++++++++++ .../com/fongmi/android/tv/utils/Util.java | 22 +++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Device.java b/app/src/main/java/com/fongmi/android/tv/bean/Device.java index d1eaacc74..9155bd057 100644 --- a/app/src/main/java/com/fongmi/android/tv/bean/Device.java +++ b/app/src/main/java/com/fongmi/android/tv/bean/Device.java @@ -4,6 +4,7 @@ import android.text.TextUtils; import androidx.annotation.NonNull; import androidx.room.Entity; +import androidx.room.Ignore; import androidx.room.Index; import androidx.room.PrimaryKey; @@ -34,8 +35,17 @@ public class Device { @SerializedName("type") private int type; + @Ignore + @SerializedName("mac") + private String mac; + @Ignore + @SerializedName("serial") + private String serial; + public static Device get() { Device device = new Device(); + device.setMac(Util.getMac()); + device.setSerial(Util.getSerial()); device.setUuid(Util.getAndroidId()); device.setName(Util.getDeviceName()); device.setIp(Server.get().getAddress()); @@ -95,6 +105,14 @@ public class Device { this.type = type; } + public void setMac(String mac) { + this.mac = mac; + } + + public void setSerial(String serial) { + this.serial = serial; + } + public boolean isLeanback() { return getType() == 0; } diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Util.java b/app/src/main/java/com/fongmi/android/tv/utils/Util.java index bf0e6acbc..58273ff55 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Util.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Util.java @@ -10,6 +10,7 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.res.Configuration; +import android.net.wifi.WifiManager; import android.os.Build; import android.os.IBinder; import android.os.Parcelable; @@ -22,8 +23,10 @@ import android.view.inputmethod.InputMethodManager; import com.fongmi.android.tv.App; import com.fongmi.android.tv.R; -import com.github.catvod.Init; +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Formatter; @@ -94,7 +97,7 @@ public class Util { public static String getAndroidId() { try { - String id = Settings.Secure.getString(Init.context().getContentResolver(), Settings.Secure.ANDROID_ID); + String id = Settings.Secure.getString(App.get().getContentResolver(), Settings.Secure.ANDROID_ID); if (TextUtils.isEmpty(id)) throw new NullPointerException(); return id; } catch (Exception e) { @@ -102,6 +105,21 @@ public class Util { } } + public static String getSerial() { + try (BufferedReader reader = new BufferedReader(new FileReader("/proc/cpuinfo"))) { + String line; + while ((line = reader.readLine()) != null) if (line.startsWith("Serial")) return line.split(":")[1].trim(); + return ""; + } catch (IOException e) { + return ""; + } + } + + public static String getMac() { + WifiManager manager = (WifiManager) App.get().getApplicationContext().getSystemService(Context.WIFI_SERVICE); + return manager.getConnectionInfo().getMacAddress(); + } + public static String getDeviceName() { String model = Build.MODEL; String manufacturer = Build.MANUFACTURER;