diff --git a/app/src/main/java/com/xypower/mpremote/DeviceActivity.java b/app/src/main/java/com/xypower/mpremote/DeviceActivity.java index 548cdd1..e77da46 100644 --- a/app/src/main/java/com/xypower/mpremote/DeviceActivity.java +++ b/app/src/main/java/com/xypower/mpremote/DeviceActivity.java @@ -18,6 +18,7 @@ import android.telephony.ims.ImsMmTelManager; import android.text.Html; import android.text.TextUtils; import android.text.format.Formatter; +import android.util.Base64; import android.util.Log; import android.view.MenuItem; import android.view.View; @@ -33,6 +34,7 @@ import org.json.JSONObject; import java.io.File; import java.net.Socket; +import java.nio.charset.Charset; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -65,6 +67,8 @@ public class DeviceActivity extends AppCompatActivity { 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_RO_ICCID_PREFIX = "persist.vendor.radio.cfu.iccid."; + 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"; @@ -612,6 +616,7 @@ public class DeviceActivity extends AppCompatActivity { } String signalLevel = ""; + List iccids = new ArrayList<>(); for (int idx = 1; idx <= numberOfSimcard; idx++) { String key = KEY_RO_SIGNAL_STRNGTH_PREFIX + Integer.toString(idx); if (mProps.containsKey(key)) { @@ -622,15 +627,18 @@ public class DeviceActivity extends AppCompatActivity { if (!TextUtils.isEmpty(signalLevel)) { signalLevel += "/"; } - - TelephonyManager telephonyManager; - - SignalStrength signalStrength1; - int ss = calculateSignalLevel(signalStrength, RSSI_LEVELS); signalLevel += Integer.toString(ss); } } + + key = KEY_RO_ICCID_PREFIX + Integer.toString(idx - 1); + if (mProps.containsKey(key)) { + String val = (String)mProps.get(key); + byte[] bytes = Base64.decode(val, Base64.DEFAULT); + String str = new String(bytes, Charset.defaultCharset()); + iccids.add(str); + } } appendKeyValue(stringBuilder, "CMDID", mAppConfig.cmdid, true); @@ -651,6 +659,9 @@ public class DeviceActivity extends AppCompatActivity { appendKeyValue(stringBuilder, "移动运营商", vendorName); appendKeyValue(stringBuilder, "移动信号", signalLevel); + for (String iccid : iccids) { + appendKeyValue(stringBuilder, "ICCID", iccid); + } if (mBatteryVoltage != -1) { appendKeyValue(stringBuilder, "电池电压", Integer.toString(mBatteryVoltage / 1000) + "." + Integer.toString((mBatteryVoltage % 1000) / 100));