diff --git a/app/src/main/java/com/xypower/mpremote/DeviceActivity.java b/app/src/main/java/com/xypower/mpremote/DeviceActivity.java
index 4c08e84..548cdd1 100644
--- a/app/src/main/java/com/xypower/mpremote/DeviceActivity.java
+++ b/app/src/main/java/com/xypower/mpremote/DeviceActivity.java
@@ -8,9 +8,13 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Resources;
+import android.net.ConnectivityManager;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.Handler;
+import android.telephony.SignalStrength;
+import android.telephony.TelephonyManager;
+import android.telephony.ims.ImsMmTelManager;
import android.text.Html;
import android.text.TextUtils;
import android.text.format.Formatter;
@@ -60,6 +64,9 @@ public class DeviceActivity extends AppCompatActivity {
private static final String KEY_RO_SERIALNO = "ro.serialno";
private static final String KEY_RO_MODEMS_MAX_COUNT = "telephony.active_modems.max_count";
private static final String KEY_RO_SIGNAL_STRNGTH_PREFIX = "vendor.ril.nw.signalstrength.lte.";
+
+ private static final String KEY_GSM_VENDOR_NAME = "gsm.operator.alpha";
+
// private static final String KEY_RO_MODEMS_MAX_COUNT = "telephony.active_modems.max_count";
// // [ro.bootimage.build.date.utc]: [1716880263]
@@ -123,13 +130,41 @@ public class DeviceActivity extends AppCompatActivity {
AdbKeyPair.generate(priKeyFile, pubKeyFile);
}
+
+ mAdbKeyPair = AdbKeyPair.read(priKeyFile, pubKeyFile);
+ final Context context = getApplicationContext();
+
+ binding.takePhoto1.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ takePhoto(1, 255, true);
+ }
+ });
+
+ binding.takeVideo1.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ takeVideo(1, 255, false);
+ }
+ });
+
+ mProgressDialog = ProgressDialog.show(this, "", "连接中", true, true);
+ mProgressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
+ @Override
+ public void onCancel(DialogInterface dialogInterface) {
+ DeviceActivity.this.finish();
+ }
+ });
+
+ loadDeviceInfo(context);
+ }
+
+ protected void loadDeviceInfo(final Context context) {
final File fileTmp = new File(getFilesDir(), "tmp");
if (!fileTmp.exists()) {
fileTmp.mkdirs();
}
- mAdbKeyPair = AdbKeyPair.read(priKeyFile, pubKeyFile);
- final Context context = getApplicationContext();
(new Thread(new Runnable() {
@Override
@@ -145,6 +180,7 @@ public class DeviceActivity extends AppCompatActivity {
@Override
public void run() {
mProgressDialog.dismiss();
+ showAppInfo();
}
});
}
@@ -300,30 +336,9 @@ public class DeviceActivity extends AppCompatActivity {
}
- }
- })).start();
- binding.takePhoto1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- takePhoto(1, 255, true);
- }
- });
-
- binding.takeVideo1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- takeVideo(1, 255, false);
- }
- });
-
- mProgressDialog = ProgressDialog.show(this, "", "连接中", true, true);
- mProgressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
- @Override
- public void onCancel(DialogInterface dialogInterface) {
- DeviceActivity.this.finish();
}
- });
+ })).start();
}
protected boolean pullFile(Dadb adb, String remoteFilePath, File localFilePath) {
@@ -547,6 +562,24 @@ public class DeviceActivity extends AppCompatActivity {
}
}
+
+ public static int calculateSignalLevel(int rsrp, int numLevels) {
+ int signalLevel = 0;
+ if (rsrp >= -97) {
+ signalLevel = 4;
+ } else if (rsrp >= -107) {
+ signalLevel = 3;
+ } else if (rsrp >= -117) {
+ signalLevel = 2;
+ } else if (rsrp >= -125) {
+ signalLevel = 1;
+ } else if (rsrp >= -140) {
+ signalLevel = 0;
+ }
+
+ return signalLevel;
+ }
+
private void showAppInfo() {
ActionBar actionBar = getSupportActionBar();
@@ -565,9 +598,11 @@ public class DeviceActivity extends AppCompatActivity {
StringBuilder stringBuilder = new StringBuilder();
+ ConnectivityManager mConnectivityManager;
+
if (mProps.containsKey(KEY_RO_SERIALNO)) {
String val = (String)mProps.get(KEY_RO_SERIALNO);
- appendKeyValue(stringBuilder, "序列号", val);
+ appendKeyValue(stringBuilder, "序列号", val, true);
}
int numberOfSimcard = 0;
@@ -587,13 +622,18 @@ public class DeviceActivity extends AppCompatActivity {
if (!TextUtils.isEmpty(signalLevel)) {
signalLevel += "/";
}
- int ss = WifiManager.calculateSignalLevel(signalStrength, RSSI_LEVELS);
+
+ TelephonyManager telephonyManager;
+
+ SignalStrength signalStrength1;
+
+ int ss = calculateSignalLevel(signalStrength, RSSI_LEVELS);
signalLevel += Integer.toString(ss);
}
}
}
- appendKeyValue(stringBuilder, "CMDID", mAppConfig.cmdid);
+ appendKeyValue(stringBuilder, "CMDID", mAppConfig.cmdid, true);
appendKeyValue(stringBuilder, "主站", mAppConfig.server + ":" + Integer.toString(mAppConfig.port));
@@ -604,6 +644,12 @@ public class DeviceActivity extends AppCompatActivity {
appendKeyValue(stringBuilder, "APP版本", val);
}
+ String vendorName = "";
+ if (mProps.containsKey(KEY_GSM_VENDOR_NAME)) {
+ vendorName = mProps.get(KEY_GSM_VENDOR_NAME);
+ }
+
+ appendKeyValue(stringBuilder, "移动运营商", vendorName);
appendKeyValue(stringBuilder, "移动信号", signalLevel);
if (mBatteryVoltage != -1) {
@@ -617,7 +663,15 @@ public class DeviceActivity extends AppCompatActivity {
}
private void appendKeyValue(StringBuilder stringBuilder, String key, String val) {
- stringBuilder.append(key + ":" + val + "");
+ appendKeyValue(stringBuilder, key, val, false);
+ }
+
+ private void appendKeyValue(StringBuilder stringBuilder, String key, String val, boolean highlignt) {
+ if (highlignt) {
+ stringBuilder.append(key + ":" + val + "");
+ } else {
+ stringBuilder.append(key + ":" + val);
+ }
stringBuilder.append("
");
}