Remember last entered child device address & port

This commit is contained in:
edr
2023-06-30 17:59:45 +02:00
parent 6ceda0b022
commit 7bd4416193

View File

@@ -19,6 +19,7 @@ package de.rochefort.childmonitor;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences;
import android.net.nsd.NsdManager; import android.net.nsd.NsdManager;
import android.net.nsd.NsdServiceInfo; import android.net.nsd.NsdServiceInfo;
import android.net.wifi.WifiManager; import android.net.wifi.WifiManager;
@@ -36,6 +37,8 @@ import android.widget.Toast;
public class DiscoverActivity extends Activity public class DiscoverActivity extends Activity
{ {
private static final String PREF_KEY_CHILD_DEVICE_ADDRESS = "childDeviceAddress";
private static final String PREF_KEY_CHILD_DEVICE_PORT = "childDevicePort";
final String TAG = "ChildMonitor"; final String TAG = "ChildMonitor";
NsdManager _nsdManager; NsdManager _nsdManager;
@@ -84,16 +87,23 @@ public class DiscoverActivity extends Activity
setContentView(R.layout.activity_discover_address); setContentView(R.layout.activity_discover_address);
final Button connectButton = (Button) findViewById(R.id.connectViaAddressButton); final Button connectButton = (Button) findViewById(R.id.connectViaAddressButton);
final EditText addressField = (EditText) findViewById(R.id.ipAddressField);
final EditText portField = (EditText) findViewById(R.id.portField);
String preferredAddress = getPreferences(MODE_PRIVATE).getString(PREF_KEY_CHILD_DEVICE_ADDRESS, null);
if (preferredAddress != null && !preferredAddress.isEmpty()) {
addressField.setText(preferredAddress);
}
int preferredPort = getPreferences(MODE_PRIVATE).getInt(PREF_KEY_CHILD_DEVICE_PORT, -1);
if (preferredPort > 0) {
portField.setText(String.valueOf(preferredPort));
}
connectButton.setOnClickListener(new View.OnClickListener() connectButton.setOnClickListener(new View.OnClickListener()
{ {
@Override @Override
public void onClick(View v) public void onClick(View v)
{ {
Log.i(TAG, "Connecting to child device via address"); Log.i(TAG, "Connecting to child device via address");
final EditText addressField = (EditText) findViewById(R.id.ipAddressField);
final EditText portField = (EditText) findViewById(R.id.portField);
final String addressString = addressField.getText().toString(); final String addressString = addressField.getText().toString();
final String portString = portField.getText().toString(); final String portString = portField.getText().toString();
@@ -114,7 +124,10 @@ public class DiscoverActivity extends Activity
Toast.makeText(DiscoverActivity.this, R.string.invalidPort, Toast.LENGTH_LONG).show(); Toast.makeText(DiscoverActivity.this, R.string.invalidPort, Toast.LENGTH_LONG).show();
return; return;
} }
SharedPreferences.Editor preferencesEditor = getPreferences(MODE_PRIVATE).edit();
preferencesEditor.putString(PREF_KEY_CHILD_DEVICE_ADDRESS, addressString);
preferencesEditor.putInt(PREF_KEY_CHILD_DEVICE_PORT, port);
preferencesEditor.apply();
connectToChild(addressString, port, addressString); connectToChild(addressString, port, addressString);
} }
}); });