Added WiFi Communication to project
This commit is contained in:
parent
d21c22cd02
commit
792c650400
@ -2,6 +2,8 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.example.greenwatch">
|
package="com.example.greenwatch">
|
||||||
|
|
||||||
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
@ -9,9 +11,6 @@
|
|||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/Theme.GreenWatch">
|
android:theme="@style/Theme.GreenWatch">
|
||||||
<activity
|
|
||||||
android:name=".ConnectionActivity"
|
|
||||||
android:exported="false" />
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".VideodetectionAndAccelerometerActivity"
|
android:name=".VideodetectionAndAccelerometerActivity"
|
||||||
android:exported="false" />
|
android:exported="false" />
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
package com.example.greenwatch;
|
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.view.View;
|
|
||||||
import android.widget.Button;
|
|
||||||
|
|
||||||
public class ConnectionActivity extends AppCompatActivity {
|
|
||||||
|
|
||||||
private Button backToMainActivity;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
setContentView(R.layout.activity_connection);
|
|
||||||
|
|
||||||
backToMainActivity = (Button) findViewById(R.id.connectionBackToMainActivity);
|
|
||||||
|
|
||||||
backToMainActivity.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
finish();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
@ -3,6 +3,8 @@ package com.example.greenwatch;
|
|||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.lifecycle.Observer;
|
import androidx.lifecycle.Observer;
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@ -11,6 +13,7 @@ import android.widget.Button;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.example.greenwatch.adapters.DeviceListAdapter;
|
||||||
import com.example.greenwatch.models.Device;
|
import com.example.greenwatch.models.Device;
|
||||||
import com.example.greenwatch.viewmodels.MainActivityViewModel;
|
import com.example.greenwatch.viewmodels.MainActivityViewModel;
|
||||||
|
|
||||||
@ -52,6 +55,7 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
mMainActivityViewModel.getConnectedDeviceList().observe(this, new Observer<List<Device>>() {
|
mMainActivityViewModel.getConnectedDeviceList().observe(this, new Observer<List<Device>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onChanged(List<Device> devices) {
|
public void onChanged(List<Device> devices) {
|
||||||
|
deviceListAdapter.setDevices(devices);
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Time Stamp: ");
|
sb.append("Time Stamp: ");
|
||||||
sb.append(mMainActivityViewModel.getTimeStamp(mMainActivityViewModel.getLocalDeviceUUID()));
|
sb.append(mMainActivityViewModel.getTimeStamp(mMainActivityViewModel.getLocalDeviceUUID()));
|
||||||
@ -134,12 +138,14 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
public void openVideodetectionAndAccelerometerActivity(){
|
public void openVideodetectionAndAccelerometerActivity(){
|
||||||
Intent intent = new Intent(this, VideodetectionAndAccelerometerActivity.class);
|
//Intent intent = new Intent(this, VideodetectionAndAccelerometerActivity.class);
|
||||||
startActivity(intent);
|
//startActivity(intent);
|
||||||
|
mMainActivityViewModel.setDevice(mMainActivityViewModel.getLocalDeviceUUID(), "24:00", false, "Video", 0);
|
||||||
}
|
}
|
||||||
public void openConnectionActivity(){
|
public void openConnectionActivity(){
|
||||||
Intent intent = new Intent(this, ConnectionActivity.class);
|
//Intent intent = new Intent(this, ConnectionActivity.class);
|
||||||
startActivity(intent);
|
//startActivity(intent);
|
||||||
|
mMainActivityViewModel.setDevice(mMainActivityViewModel.getLocalDeviceUUID(), "10:51", true, "Audio", 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -0,0 +1,133 @@
|
|||||||
|
package com.example.greenwatch.communication;
|
||||||
|
|
||||||
|
import com.example.greenwatch.repositories.DeviceRepository;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.DatagramPacket;
|
||||||
|
import java.net.DatagramSocket;
|
||||||
|
import java.net.Inet4Address;
|
||||||
|
import java.net.InetAddress;
|
||||||
|
import java.net.NetworkInterface;
|
||||||
|
import java.net.SocketException;
|
||||||
|
import java.net.UnknownHostException;
|
||||||
|
import java.util.Enumeration;
|
||||||
|
|
||||||
|
public class WiFiCommunication {
|
||||||
|
|
||||||
|
private final InetAddress address;
|
||||||
|
private final DatagramSocket socket;
|
||||||
|
private final int port;
|
||||||
|
private String rxString;
|
||||||
|
private String sendMessage;
|
||||||
|
//private String sendMsg = "default";
|
||||||
|
private boolean isNewMessage;
|
||||||
|
volatile private boolean running;
|
||||||
|
private static WiFiCommunication wifiCommunicationInstance;
|
||||||
|
private DeviceRepository mDeviceRepository;
|
||||||
|
|
||||||
|
private WiFiCommunication() {
|
||||||
|
port = 1234;
|
||||||
|
try {
|
||||||
|
socket = new DatagramSocket(port);
|
||||||
|
socket.setBroadcast(true);
|
||||||
|
address = InetAddress.getByName("255.255.255.255");
|
||||||
|
running = true;
|
||||||
|
isNewMessage = false;
|
||||||
|
new ReceiveThread().start();
|
||||||
|
new SendThread().start();
|
||||||
|
} catch (SocketException | UnknownHostException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static synchronized WiFiCommunication getInstance() {
|
||||||
|
if (wifiCommunicationInstance == null){
|
||||||
|
wifiCommunicationInstance = new WiFiCommunication();
|
||||||
|
}
|
||||||
|
return wifiCommunicationInstance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeviceRepository(DeviceRepository deviceRepository) {
|
||||||
|
this.mDeviceRepository = deviceRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNewMessage(String newMessage, boolean isNewMessage){
|
||||||
|
this.sendMessage = newMessage;
|
||||||
|
this.isNewMessage = isNewMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getLocalIpAddress() {
|
||||||
|
try {
|
||||||
|
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
|
||||||
|
NetworkInterface networkInterface = (NetworkInterface) ((Enumeration<?>) en).nextElement();
|
||||||
|
for (Enumeration<InetAddress> addresses = networkInterface.getInetAddresses(); addresses.hasMoreElements();) {
|
||||||
|
InetAddress inetAddress = addresses.nextElement();
|
||||||
|
if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
|
||||||
|
return inetAddress.getHostAddress();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (SocketException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void stopCommunication() {
|
||||||
|
running = false;
|
||||||
|
socket.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private class SendThread extends Thread {
|
||||||
|
private int tmpCnt = 0;
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
do {
|
||||||
|
|
||||||
|
if(isNewMessage)
|
||||||
|
{
|
||||||
|
isNewMessage = false;
|
||||||
|
//todo: adapt send String
|
||||||
|
String txString = getLocalIpAddress() + " sends. #" + tmpCnt++ + sendMessage;
|
||||||
|
byte[] txBuffer = txString.getBytes();
|
||||||
|
|
||||||
|
DatagramPacket txPacket = new DatagramPacket(txBuffer, txBuffer.length, address, port);
|
||||||
|
|
||||||
|
for(int i = 0; i < 20; i++) {
|
||||||
|
socket.send(txPacket);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} while (running);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private class ReceiveThread extends Thread {
|
||||||
|
private String rxString = "";
|
||||||
|
private String previousRxString = "";
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
do {
|
||||||
|
byte[] rxBuffer = new byte[1024];
|
||||||
|
DatagramPacket packet = new DatagramPacket(rxBuffer, rxBuffer.length);
|
||||||
|
socket.receive(packet);
|
||||||
|
rxString = new String(packet.getData(), 0, packet.getLength());
|
||||||
|
|
||||||
|
if(!previousRxString.equals(rxString)){
|
||||||
|
mDeviceRepository.getNewReceivedMessage(rxString);
|
||||||
|
|
||||||
|
}
|
||||||
|
previousRxString = rxString;
|
||||||
|
|
||||||
|
} while (running);
|
||||||
|
}
|
||||||
|
catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -4,6 +4,7 @@ package com.example.greenwatch.repositories;
|
|||||||
import androidx.lifecycle.MutableLiveData;
|
import androidx.lifecycle.MutableLiveData;
|
||||||
|
|
||||||
import com.example.greenwatch.models.Device;
|
import com.example.greenwatch.models.Device;
|
||||||
|
import com.example.greenwatch.communication.WiFiCommunication;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -12,21 +13,30 @@ import java.util.UUID;
|
|||||||
|
|
||||||
public class DeviceRepository {
|
public class DeviceRepository {
|
||||||
|
|
||||||
private String delimiter = ", ";
|
private final String delimiter = ", ";
|
||||||
private String deviceUUID;
|
private final String SensorStatusKey = "An";
|
||||||
|
private String localDeviceUUID;
|
||||||
private static DeviceRepository deviceRepositoryInstance;
|
private static DeviceRepository deviceRepositoryInstance;
|
||||||
|
private WiFiCommunication mWiFiCommunication;
|
||||||
private MutableLiveData<List<Device>> deviceList = new MutableLiveData<>();
|
private MutableLiveData<List<Device>> deviceList = new MutableLiveData<>();
|
||||||
private HashMap<String, Device> connectedDevicesList = new HashMap<>();
|
private HashMap<String, Device> connectedDevicesList = new HashMap<>();
|
||||||
private HashMap<String, String> deviceIDMapper = new HashMap<>();
|
private HashMap<String, String> deviceIDMapper = new HashMap<>();
|
||||||
|
|
||||||
|
private DeviceRepository() {
|
||||||
|
setLocalDeviceUUID();
|
||||||
|
}
|
||||||
|
|
||||||
public static synchronized DeviceRepository getInstance() {
|
public static synchronized DeviceRepository getInstance() {
|
||||||
if (deviceRepositoryInstance == null){
|
if (deviceRepositoryInstance == null){
|
||||||
deviceRepositoryInstance = new DeviceRepository();
|
deviceRepositoryInstance = new DeviceRepository();
|
||||||
deviceRepositoryInstance.setDeviceUUID();
|
|
||||||
}
|
}
|
||||||
return deviceRepositoryInstance;
|
return deviceRepositoryInstance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setWiFiCommunication(WiFiCommunication wiFiCommunication) {
|
||||||
|
this.mWiFiCommunication = wiFiCommunication;
|
||||||
|
}
|
||||||
|
|
||||||
public MutableLiveData<List<Device>> getConnectedDeviceList() {
|
public MutableLiveData<List<Device>> getConnectedDeviceList() {
|
||||||
setMutableLiveDataValue();
|
setMutableLiveDataValue();
|
||||||
return deviceList;
|
return deviceList;
|
||||||
@ -34,24 +44,12 @@ public class DeviceRepository {
|
|||||||
|
|
||||||
public void createNewDevice(String timeStamp, String deviceID, boolean sensorStatus, String sensorType, int sensorMassage){
|
public void createNewDevice(String timeStamp, String deviceID, boolean sensorStatus, String sensorType, int sensorMassage){
|
||||||
Device newDevice = new Device(timeStamp, deviceID, sensorStatus, sensorType, sensorMassage);
|
Device newDevice = new Device(timeStamp, deviceID, sensorStatus, sensorType, sensorMassage);
|
||||||
|
setDeviceIDMapper(deviceID);
|
||||||
addToConnectedDeviceList(newDevice.getDeviceID(), newDevice);
|
addToConnectedDeviceList(newDevice.getDeviceID(), newDevice);
|
||||||
setMutableLiveDataValue();
|
setMutableLiveDataValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void createNewRemoteDevice(String message) {
|
private String messageStringBuilder(String deviceID) {
|
||||||
String[] messageString = messageStringSplitter(message);
|
|
||||||
String timeStamp = messageString[0];
|
|
||||||
String deviceID = messageString[1];
|
|
||||||
boolean sensorStatus = Boolean.valueOf(messageString[1]);
|
|
||||||
String sensorType = messageString[3];
|
|
||||||
int sensorMassage = Integer.valueOf(messageString[4]);
|
|
||||||
|
|
||||||
if(!connectedDevicesList.containsKey(deviceID)) {
|
|
||||||
createNewDevice(timeStamp, deviceID, sensorStatus, sensorType, sensorMassage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public String messageStringBuilder(String deviceID) {
|
|
||||||
StringBuilder message = new StringBuilder();
|
StringBuilder message = new StringBuilder();
|
||||||
Device device = connectedDevicesList.get(deviceID);
|
Device device = connectedDevicesList.get(deviceID);
|
||||||
if(device != null) {
|
if(device != null) {
|
||||||
@ -66,14 +64,25 @@ public class DeviceRepository {
|
|||||||
.append(device.getSensorMassage());
|
.append(device.getSensorMassage());
|
||||||
return message.toString();
|
return message.toString();
|
||||||
}
|
}
|
||||||
return message.toString();
|
else {
|
||||||
|
message.append("")
|
||||||
|
.append(delimiter)
|
||||||
|
.append("")
|
||||||
|
.append(delimiter)
|
||||||
|
.append("")
|
||||||
|
.append(delimiter)
|
||||||
|
.append("")
|
||||||
|
.append(delimiter)
|
||||||
|
.append("");
|
||||||
|
return message.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getLocalDeviceUUID() {
|
public String getLocalDeviceUUID() {
|
||||||
return deviceUUID;
|
return localDeviceUUID;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDevice(String deviceID, String timeStamp, boolean sensorStatus, String sensorType, int sensorMassage) {
|
public void updateDevice(String deviceID, String timeStamp, boolean sensorStatus, String sensorType, int sensorMassage) {
|
||||||
String checkedDeviceID = checkDeviceID(deviceID);
|
String checkedDeviceID = checkDeviceID(deviceID);
|
||||||
Device device = connectedDevicesList.get(checkedDeviceID);
|
Device device = connectedDevicesList.get(checkedDeviceID);
|
||||||
if(device != null) {
|
if(device != null) {
|
||||||
@ -190,24 +199,51 @@ public class DeviceRepository {
|
|||||||
|
|
||||||
private void addToConnectedDeviceList(String key, Device device) {
|
private void addToConnectedDeviceList(String key, Device device) {
|
||||||
connectedDevicesList.put(key, device);
|
connectedDevicesList.put(key, device);
|
||||||
|
if (key.equals(checkDeviceID(localDeviceUUID))) {
|
||||||
|
mWiFiCommunication.setNewMessage(messageStringBuilder(device.getDeviceID()),true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String checkDeviceID(String deviceID) {
|
private String checkDeviceID(String deviceID) {
|
||||||
if(!deviceIDMapper.isEmpty() && deviceID.equals(deviceUUID)) {
|
if(!deviceIDMapper.isEmpty() && deviceID.equals(localDeviceUUID)) {
|
||||||
return deviceIDMapper.get(deviceID);
|
return deviceIDMapper.get(deviceID);
|
||||||
}
|
}
|
||||||
return deviceID;
|
return deviceID;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setDeviceIDMapper(String deviceID) {
|
private void setDeviceIDMapper(String deviceID) {
|
||||||
deviceIDMapper.put(deviceUUID, deviceID);
|
deviceIDMapper.put(localDeviceUUID, deviceID);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setDeviceUUID(){
|
private void setLocalDeviceUUID(){
|
||||||
this.deviceUUID = UUID.randomUUID().toString();
|
this.localDeviceUUID = UUID.randomUUID().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private String[] messageStringSplitter(String message) {
|
private String[] messageStringSplitter(String message) {
|
||||||
return message.split(delimiter);
|
return message.split(delimiter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void getNewReceivedMessage(String newMessage) {
|
||||||
|
String[] messageString = messageStringSplitter(newMessage);
|
||||||
|
String timeStamp = messageString[0];
|
||||||
|
String deviceID = messageString[1];
|
||||||
|
boolean sensorStatus = convertSensorStatus(messageString[2]);
|
||||||
|
String sensorType = messageString[3];
|
||||||
|
int sensorMassage = Integer.valueOf(messageString[4]);
|
||||||
|
|
||||||
|
if (deviceID.equals(checkDeviceID(localDeviceUUID))) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!connectedDevicesList.containsKey(deviceID)) {
|
||||||
|
createNewDevice(timeStamp, deviceID, sensorStatus, sensorType, sensorMassage);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
updateDevice(deviceID, timeStamp, sensorStatus, sensorType, sensorMassage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean convertSensorStatus(String status) {
|
||||||
|
return status.equals(SensorStatusKey);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -94,7 +94,7 @@ public class AccelerometerViewModel extends ViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setDevice(String deviceID, String timeStamp, boolean sensorStatus, String sensorType, int sensorMassage) {
|
public void setDevice(String deviceID, String timeStamp, boolean sensorStatus, String sensorType, int sensorMassage) {
|
||||||
mDeviceRepository.setDevice(deviceID, timeStamp, sensorStatus, sensorType, sensorMassage);
|
mDeviceRepository.updateDevice(deviceID, timeStamp, sensorStatus, sensorType, sensorMassage);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTimeStamp(String deviceID, String timeStamp) {
|
public void setTimeStamp(String deviceID, String timeStamp) {
|
||||||
|
@ -4,6 +4,7 @@ import androidx.lifecycle.LiveData;
|
|||||||
import androidx.lifecycle.MutableLiveData;
|
import androidx.lifecycle.MutableLiveData;
|
||||||
import androidx.lifecycle.ViewModel;
|
import androidx.lifecycle.ViewModel;
|
||||||
|
|
||||||
|
import com.example.greenwatch.communication.WiFiCommunication;
|
||||||
import com.example.greenwatch.models.Device;
|
import com.example.greenwatch.models.Device;
|
||||||
import com.example.greenwatch.repositories.DeviceRepository;
|
import com.example.greenwatch.repositories.DeviceRepository;
|
||||||
|
|
||||||
@ -14,12 +15,18 @@ public class MainActivityViewModel extends ViewModel {
|
|||||||
private MutableLiveData<List<Device>> mDeviceList;
|
private MutableLiveData<List<Device>> mDeviceList;
|
||||||
private DeviceRepository mDeviceRepository;
|
private DeviceRepository mDeviceRepository;
|
||||||
|
|
||||||
|
|
||||||
public void init() {
|
public void init() {
|
||||||
|
WiFiCommunication mWiFiCommunication;
|
||||||
if(mDeviceList != null) {
|
if(mDeviceList != null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
//todo: check if WiFi instanz can be hold only by the repository
|
||||||
mDeviceRepository = DeviceRepository.getInstance();
|
mDeviceRepository = DeviceRepository.getInstance();
|
||||||
mDeviceRepository.createNewDevice("", mDeviceRepository.getLocalDeviceUUID(), false, "", 0);
|
mWiFiCommunication = WiFiCommunication.getInstance();
|
||||||
|
mDeviceRepository.setWiFiCommunication(mWiFiCommunication);
|
||||||
|
mWiFiCommunication.setDeviceRepository(mDeviceRepository);
|
||||||
|
mDeviceRepository.createNewDevice("", mDeviceRepository.getLocalDeviceUUID(), false, "No Sensor selected", 0);
|
||||||
mDeviceList = mDeviceRepository.getConnectedDeviceList();
|
mDeviceList = mDeviceRepository.getConnectedDeviceList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -28,7 +35,7 @@ public class MainActivityViewModel extends ViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setDevice(String deviceID, String timeStamp, boolean sensorStatus, String sensorType, int sensorMassage) {
|
public void setDevice(String deviceID, String timeStamp, boolean sensorStatus, String sensorType, int sensorMassage) {
|
||||||
mDeviceRepository.setDevice(deviceID, timeStamp, sensorStatus, sensorType, sensorMassage);
|
mDeviceRepository.updateDevice(deviceID, timeStamp, sensorStatus, sensorType, sensorMassage);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTimeStamp(String deviceID, String timeStamp) {
|
public void setTimeStamp(String deviceID, String timeStamp) {
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:padding="10dp"
|
|
||||||
tools:context=".ConnectionActivity">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvConnectionStatusmessage"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Connection Activity">
|
|
||||||
</TextView>
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/connectionBackToMainActivity"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Back to MainActivity">
|
|
||||||
</Button>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
Loading…
x
Reference in New Issue
Block a user