增加指定IP的控制

main
Matthew 12 months ago
parent d745514f62
commit eef9c0d217

@ -66,6 +66,7 @@ public class DeviceActivity extends AppCompatActivity {
private static final String KEY_RO_SERIALNO = "ro.serialno"; 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_CUSTOM_OTA_VERSION = "ro.custom.ota.version";
private static final String KEY_RO_MODEMS_MAX_COUNT = "telephony.active_modems.max_count"; 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_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_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() { mProgressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override @Override
public void onCancel(DialogInterface dialogInterface) { public void onCancel(DialogInterface dialogInterface) {

@ -27,6 +27,7 @@ import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager; import android.net.wifi.WifiManager;
import android.net.wifi.WifiNetworkSpecifier; import android.net.wifi.WifiNetworkSpecifier;
import android.net.wifi.WifiNetworkSuggestion; import android.net.wifi.WifiNetworkSuggestion;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Parcelable; import android.os.Parcelable;
@ -58,8 +59,6 @@ public class MainActivity extends AppCompatActivity {
private static final String TAG = "ADB"; private static final String TAG = "ADB";
private static final boolean DEBUG = true;
public static final int RSSI_LEVELS = 5; public static final int RSSI_LEVELS = 5;
private static final String DEFAULT_PRE_SHARED_KEY = SettingsActivity.DEFAULT_PRE_SHARED_KEY; 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_PREFIX = "192.168.";
// private static final String WIFI_IP_DEVIDE = "192.168.50.1"; // 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 ActivityMainBinding binding;
private Handler mHandler; private Handler mHandler;
@ -77,6 +76,8 @@ public class MainActivity extends AppCompatActivity {
private List<ScanResult> mScanResults = new ArrayList<>(); private List<ScanResult> mScanResults = new ArrayList<>();
private ScanResult mCurrentScanResult; private ScanResult mCurrentScanResult;
private String mPassword = DEFAULT_PRE_SHARED_KEY; private String mPassword = DEFAULT_PRE_SHARED_KEY;
private boolean mUsingGatewayIp = true;
private String mAssignedIp = "";
private WifiAdaper mAdapter; private WifiAdaper mAdapter;
private List<Map<String, Object>> mItems = new ArrayList<Map<String, Object>>(); private List<Map<String, Object>> mItems = new ArrayList<Map<String, Object>>();
@ -546,6 +547,8 @@ public class MainActivity extends AppCompatActivity {
SharedPreferences preferences = getSharedPreferences("mpremote", MODE_PRIVATE); SharedPreferences preferences = getSharedPreferences("mpremote", MODE_PRIVATE);
mPassword = preferences.getString("password", DEFAULT_PRE_SHARED_KEY); mPassword = preferences.getString("password", DEFAULT_PRE_SHARED_KEY);
mUsingGatewayIp = preferences.getBoolean("usingGateway", true);
mAssignedIp = preferences.getString("assignedIp", "");
} }
protected void openDeviceActivity() { protected void openDeviceActivity() {
@ -560,8 +563,8 @@ public class MainActivity extends AppCompatActivity {
if (ipAddressByWifi.contains(WIFI_IP_PREFIX)) { if (ipAddressByWifi.contains(WIFI_IP_PREFIX)) {
String deviceIP = Formatter.formatIpAddress(wifiManager.getDhcpInfo().gateway); String deviceIP = Formatter.formatIpAddress(wifiManager.getDhcpInfo().gateway);
if (DEBUG) { if (!mUsingGatewayIp) {
deviceIP = WIFI_IP_DEVICE; deviceIP = mAssignedIp;
} }
Intent intent = new Intent(MainActivity.this, DeviceActivity.class); Intent intent = new Intent(MainActivity.this, DeviceActivity.class);

@ -6,6 +6,7 @@ import androidx.appcompat.app.AppCompatActivity;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.os.Bundle; import android.os.Bundle;
import android.view.MenuItem; import android.view.MenuItem;
import android.widget.CompoundButton;
import com.xypower.mpremote.databinding.ActivitySettingsBinding; import com.xypower.mpremote.databinding.ActivitySettingsBinding;
@ -30,8 +31,24 @@ public class SettingsActivity extends AppCompatActivity {
binding.editViewPassword.setText(pwd); 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 actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayHomeAsUpEnabled(true);
binding.gatewayIp.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
binding.ip.setEnabled(!checked);
}
});
} }
@Override @Override
@ -42,6 +59,8 @@ public class SettingsActivity extends AppCompatActivity {
SharedPreferences.Editor editor = preferences.edit(); SharedPreferences.Editor editor = preferences.edit();
editor.putString("password", binding.editViewPassword.getText().toString()); editor.putString("password", binding.editViewPassword.getText().toString());
editor.putBoolean("usingGateway", binding.gatewayIp.isChecked());
editor.putString("assignedIp", binding.ip.getText().toString());
editor.commit(); editor.commit();
} }

@ -27,4 +27,45 @@
app:layout_constraintStart_toEndOf="@id/textViewPwd" app:layout_constraintStart_toEndOf="@id/textViewPwd"
app:layout_constraintTop_toTopOf="@id/textViewPwd" app:layout_constraintTop_toTopOf="@id/textViewPwd"
app:layout_constraintBottom_toBottomOf="@id/textViewPwd" /> app:layout_constraintBottom_toBottomOf="@id/textViewPwd" />
<RadioGroup
android:id="@+id/ip_selector"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
android:orientation="vertical"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/textViewPwd"
>
<RadioButton
android:id="@+id/gateway_ip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:text="使用网关IP"
/>
<RadioButton
android:id="@+id/assigned_ip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:text="指定IP"
/>
<EditText
android:id="@+id/ip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:ems="10"
android:inputType="textVisiblePassword"
android:text=""
app:layout_constraintStart_toEndOf="@id/assigned_ip"
app:layout_constraintTop_toTopOf="@id/assigned_ip"
app:layout_constraintBottom_toBottomOf="@id/assigned_ip" />
</RadioGroup>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
Loading…
Cancel
Save