You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

MainActivityViewModel.java 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. package com.example.greenwatch.viewmodels;
  2. import android.Manifest;
  3. import android.app.Activity;
  4. import android.content.Context;
  5. import android.content.pm.PackageManager;
  6. import androidx.core.app.ActivityCompat;
  7. import androidx.core.content.ContextCompat;
  8. import androidx.lifecycle.LiveData;
  9. import androidx.lifecycle.MutableLiveData;
  10. import androidx.lifecycle.ViewModel;
  11. import com.example.greenwatch.communication.WiFiCommunication;
  12. import com.example.greenwatch.models.Device;
  13. import com.example.greenwatch.repositories.DeviceRepository;
  14. import java.util.List;
  15. public class MainActivityViewModel extends ViewModel implements ViewModelInterface {
  16. private MutableLiveData<List<Device>> mDeviceList;
  17. private MutableLiveData<List<Device>> mAlarmHistoryList;
  18. private MutableLiveData<Boolean> mStartAlarmRecording;
  19. private DeviceRepository mDeviceRepository;
  20. @Override
  21. public void init() {
  22. WiFiCommunication mWiFiCommunication;
  23. if(mDeviceList != null) {
  24. return;
  25. }
  26. mDeviceRepository = DeviceRepository.getInstance();
  27. mWiFiCommunication = WiFiCommunication.getInstance();
  28. mDeviceRepository.setWiFiCommunication(mWiFiCommunication);
  29. mWiFiCommunication.setDeviceRepository(mDeviceRepository);
  30. mDeviceRepository.createNewDevice(mDeviceRepository.getSystemTimeStamp(), mDeviceRepository.getLocalDeviceUUID(), false, "No Sensor selected", 0.0f);
  31. mDeviceRepository.setDeviceID(mDeviceRepository.getLocalDeviceUUID(), WiFiCommunication.getLocalIpAddress());
  32. mDeviceList = mDeviceRepository.getConnectedDeviceList();
  33. mAlarmHistoryList = mDeviceRepository.getAlarmHistoryDeviceList();
  34. mStartAlarmRecording = mDeviceRepository.getStartAlarmRecording();
  35. }
  36. @Override
  37. public LiveData<List<Device>> getConnectedDeviceList() {
  38. return mDeviceList;
  39. }
  40. @Override
  41. public LiveData<List<Device>> getAlarmHistoryList() {
  42. return mAlarmHistoryList;
  43. }
  44. @Override
  45. public LiveData<Boolean> getStartAlarmRecording() {
  46. return mStartAlarmRecording;
  47. }
  48. @Override
  49. public void updateDevice(String deviceID, String timeStamp, boolean sensorStatus, String sensorType, float sensorMassage) {
  50. mDeviceRepository.updateDevice(deviceID, timeStamp, sensorStatus, sensorType, sensorMassage);
  51. }
  52. @Override
  53. public void setTimeStamp(String deviceID, String timeStamp) {
  54. mDeviceRepository.setTimeStamp(deviceID, timeStamp);
  55. }
  56. @Override
  57. public String getTimeStamp(String deviceID) {
  58. return mDeviceRepository.getTimeStamp(deviceID);
  59. }
  60. @Override
  61. public void setDeviceID(String deviceID, String newDeviceID) {
  62. mDeviceRepository.setDeviceID(deviceID, newDeviceID);
  63. }
  64. @Override
  65. public String getDeviceID(String deviceID) {
  66. return mDeviceRepository.getDeviceID(deviceID);
  67. }
  68. @Override
  69. public void setSensorStatus(String deviceID, boolean sensorStatus) {
  70. mDeviceRepository.setSensorStatus(deviceID, sensorStatus);
  71. }
  72. @Override
  73. public boolean getSensorStatus(String deviceID) {
  74. return mDeviceRepository.getSensorStatus(deviceID);
  75. }
  76. @Override
  77. public void setSensorType(String deviceID, String sensorType) {
  78. mDeviceRepository.setSensorType(deviceID, sensorType);
  79. }
  80. @Override
  81. public String getSensorType(String deviceID) {
  82. return mDeviceRepository.getSensorType(deviceID);
  83. }
  84. @Override
  85. public void setSensorMassage(String deviceID, float sensorMessage) {
  86. mDeviceRepository.setSensorMassage(deviceID, sensorMessage);
  87. }
  88. @Override
  89. public float getSensorMassage(String deviceID) {
  90. return mDeviceRepository.getSensorMassage(deviceID);
  91. }
  92. @Override
  93. public String getLocalDeviceUUID() {
  94. return mDeviceRepository.getLocalDeviceUUID();
  95. }
  96. @Override
  97. public String getSystemTimeStamp() {
  98. return mDeviceRepository.getSystemTimeStamp();
  99. }
  100. }