From eef9c0d217323722288cebfabbe2663be469e3a1 Mon Sep 17 00:00:00 2001 From: Matthew Date: Wed, 3 Jul 2024 17:37:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8C=87=E5=AE=9AIP=E7=9A=84?= =?UTF-8?q?=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xypower/mpremote/DeviceActivity.java | 3 +- .../com/xypower/mpremote/MainActivity.java | 13 +++--- .../xypower/mpremote/SettingsActivity.java | 19 +++++++++ app/src/main/res/layout/activity_settings.xml | 41 +++++++++++++++++++ 4 files changed, 70 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/xypower/mpremote/DeviceActivity.java b/app/src/main/java/com/xypower/mpremote/DeviceActivity.java index 83adf2e..ce5f0d6 100644 --- a/app/src/main/java/com/xypower/mpremote/DeviceActivity.java +++ b/app/src/main/java/com/xypower/mpremote/DeviceActivity.java @@ -66,6 +66,7 @@ public class DeviceActivity extends AppCompatActivity { private static final String KEY_RO_SERIALNO = "ro.serialno"; private static final String KEY_RO_CUSTOM_OTA_VERSION = "ro.custom.ota.version"; private static final String KEY_RO_MODEMS_MAX_COUNT = "telephony.active_modems.max_count"; + // ro.telephony.sim.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."; @@ -153,7 +154,7 @@ public class DeviceActivity extends AppCompatActivity { } }); - mProgressDialog = ProgressDialog.show(this, "", "连接中", true, true); + mProgressDialog = ProgressDialog.show(this, "", "连接" + mDeviceIp + "中", true, true); mProgressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialogInterface) { diff --git a/app/src/main/java/com/xypower/mpremote/MainActivity.java b/app/src/main/java/com/xypower/mpremote/MainActivity.java index 4a7e2f3..c229fe5 100644 --- a/app/src/main/java/com/xypower/mpremote/MainActivity.java +++ b/app/src/main/java/com/xypower/mpremote/MainActivity.java @@ -27,6 +27,7 @@ import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.net.wifi.WifiNetworkSpecifier; import android.net.wifi.WifiNetworkSuggestion; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Parcelable; @@ -58,8 +59,6 @@ public class MainActivity extends AppCompatActivity { private static final String TAG = "ADB"; - private static final boolean DEBUG = true; - public static final int RSSI_LEVELS = 5; private static final String DEFAULT_PRE_SHARED_KEY = SettingsActivity.DEFAULT_PRE_SHARED_KEY; @@ -69,7 +68,7 @@ public class MainActivity extends AppCompatActivity { private static final String WIFI_IP_PREFIX = "192.168."; // private static final String WIFI_IP_DEVIDE = "192.168.50.1"; - private static final String WIFI_IP_DEVICE = "192.168.50.137"; + private static final String WIFI_IP_DEVICE = "192.168.50.92"; private ActivityMainBinding binding; private Handler mHandler; @@ -77,6 +76,8 @@ public class MainActivity extends AppCompatActivity { private List mScanResults = new ArrayList<>(); private ScanResult mCurrentScanResult; private String mPassword = DEFAULT_PRE_SHARED_KEY; + private boolean mUsingGatewayIp = true; + private String mAssignedIp = ""; private WifiAdaper mAdapter; private List> mItems = new ArrayList>(); @@ -546,6 +547,8 @@ public class MainActivity extends AppCompatActivity { SharedPreferences preferences = getSharedPreferences("mpremote", MODE_PRIVATE); mPassword = preferences.getString("password", DEFAULT_PRE_SHARED_KEY); + mUsingGatewayIp = preferences.getBoolean("usingGateway", true); + mAssignedIp = preferences.getString("assignedIp", ""); } protected void openDeviceActivity() { @@ -560,8 +563,8 @@ public class MainActivity extends AppCompatActivity { if (ipAddressByWifi.contains(WIFI_IP_PREFIX)) { String deviceIP = Formatter.formatIpAddress(wifiManager.getDhcpInfo().gateway); - if (DEBUG) { - deviceIP = WIFI_IP_DEVICE; + if (!mUsingGatewayIp) { + deviceIP = mAssignedIp; } Intent intent = new Intent(MainActivity.this, DeviceActivity.class); diff --git a/app/src/main/java/com/xypower/mpremote/SettingsActivity.java b/app/src/main/java/com/xypower/mpremote/SettingsActivity.java index 8bd3d6c..3a623c2 100644 --- a/app/src/main/java/com/xypower/mpremote/SettingsActivity.java +++ b/app/src/main/java/com/xypower/mpremote/SettingsActivity.java @@ -6,6 +6,7 @@ import androidx.appcompat.app.AppCompatActivity; import android.content.SharedPreferences; import android.os.Bundle; import android.view.MenuItem; +import android.widget.CompoundButton; import com.xypower.mpremote.databinding.ActivitySettingsBinding; @@ -30,8 +31,24 @@ public class SettingsActivity extends AppCompatActivity { binding.editViewPassword.setText(pwd); } + boolean usingGateway = preferences.getBoolean("usingGateway", true); + + binding.gatewayIp.setChecked(usingGateway); + binding.assignedIp.setChecked(!usingGateway); + binding.ip.setEnabled(!usingGateway); + + String ip = preferences.getString("assignedIp", ""); + binding.ip.setText(ip); + ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); + + binding.gatewayIp.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + binding.ip.setEnabled(!checked); + } + }); } @Override @@ -42,6 +59,8 @@ public class SettingsActivity extends AppCompatActivity { SharedPreferences.Editor editor = preferences.edit(); editor.putString("password", binding.editViewPassword.getText().toString()); + editor.putBoolean("usingGateway", binding.gatewayIp.isChecked()); + editor.putString("assignedIp", binding.ip.getText().toString()); editor.commit(); } diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 60e3fae..c0e877e 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -27,4 +27,45 @@ app:layout_constraintStart_toEndOf="@id/textViewPwd" app:layout_constraintTop_toTopOf="@id/textViewPwd" app:layout_constraintBottom_toBottomOf="@id/textViewPwd" /> + + + + + + + + + + \ No newline at end of file