123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- package com.example.greenwatch.viewmodels;
-
- import android.Manifest;
- import android.app.Activity;
- import android.content.Context;
- import android.content.pm.PackageManager;
- import android.view.SurfaceHolder;
-
- import androidx.core.app.ActivityCompat;
- import androidx.core.content.ContextCompat;
- import androidx.lifecycle.LiveData;
- import androidx.lifecycle.MutableLiveData;
- import androidx.lifecycle.ViewModel;
-
- import com.example.greenwatch.alarmrecorder.AlarmRecorder;
- import com.example.greenwatch.communication.WiFiCommunication;
- import com.example.greenwatch.models.Device;
- import com.example.greenwatch.repositories.DeviceRepository;
- import com.example.greenwatch.sensors.AccelerometerSensor;
-
- import java.util.List;
-
- public class MainActivityViewModel extends ViewModel implements ViewModelInterface {
-
- private MutableLiveData<List<Device>> mDeviceList;
- private MutableLiveData<List<Device>> mAlarmHistoryList;
- private MutableLiveData<Boolean> mStartAlarmRecording;
- private DeviceRepository mDeviceRepository;
- private WiFiCommunication mWiFiCommunication;
- private AlarmRecorder mAlarmRecorder;
-
- @Override
- public void init(SurfaceHolder previewHolder) {
-
- if (mDeviceRepository == null) {
- mDeviceRepository = DeviceRepository.getInstance();
- }
- if (mWiFiCommunication == null) {
- mWiFiCommunication = WiFiCommunication.getInstance();
- }
- if (mAlarmRecorder == null) {
- mAlarmRecorder = AlarmRecorder.getInstance();
- }
- if (mDeviceList == null) {
- mDeviceList = mDeviceRepository.getConnectedDeviceList();
- }
- if (mAlarmHistoryList == null) {
- mAlarmHistoryList = mDeviceRepository.getAlarmHistoryDeviceList();
- }
- if (mStartAlarmRecording == null) {
- mStartAlarmRecording = mDeviceRepository.getStartAlarmRecording();
- }
- mWiFiCommunication.setDeviceRepository(mDeviceRepository);
- mDeviceRepository.setWiFiCommunication(mWiFiCommunication);
- mDeviceRepository.createNewDevice(mDeviceRepository.getSystemTimeStamp(), mDeviceRepository.getLocalDeviceUUID(), false, "No Sensor selected", 0.0f);
- mDeviceRepository.setDeviceID(mDeviceRepository.getLocalDeviceUUID(), WiFiCommunication.getLocalIpAddress());
- setAlarmRecordingPreviewHolder(previewHolder);
- mWiFiCommunication = null;
- }
-
- @Override
- public LiveData<List<Device>> getConnectedDeviceList() {
- return mDeviceList;
- }
-
- @Override
- public LiveData<List<Device>> getAlarmHistoryList() {
- return mAlarmHistoryList;
- }
-
- @Override
- public LiveData<Boolean> getStartAlarmRecording() {
- return mStartAlarmRecording;
- }
-
- @Override
- public void updateDevice(String deviceID, String timeStamp, boolean sensorStatus, String sensorType, float sensorMassage) {
- mDeviceRepository.updateDevice(deviceID, timeStamp, sensorStatus, sensorType, sensorMassage);
- }
-
- @Override
- public void setTimeStamp(String deviceID, String timeStamp) {
- mDeviceRepository.setTimeStamp(deviceID, timeStamp);
- }
-
- @Override
- public String getTimeStamp(String deviceID) {
- return mDeviceRepository.getTimeStamp(deviceID);
- }
-
- @Override
- public void setDeviceID(String deviceID, String newDeviceID) {
- mDeviceRepository.setDeviceID(deviceID, newDeviceID);
- }
-
- @Override
- public String getDeviceID(String deviceID) {
- return mDeviceRepository.getDeviceID(deviceID);
- }
-
- @Override
- public void setSensorStatus(String deviceID, boolean sensorStatus) {
- mDeviceRepository.setSensorStatus(deviceID, sensorStatus);
- }
-
- @Override
- public boolean getSensorStatus(String deviceID) {
- return mDeviceRepository.getSensorStatus(deviceID);
- }
-
- @Override
- public void setSensorType(String deviceID, String sensorType) {
- mDeviceRepository.setSensorType(deviceID, sensorType);
- }
-
- @Override
- public String getSensorType(String deviceID) {
- return mDeviceRepository.getSensorType(deviceID);
- }
-
- @Override
- public void setSensorMassage(String deviceID, float sensorMessage) {
- mDeviceRepository.setSensorMassage(deviceID, sensorMessage);
- }
-
- @Override
- public float getSensorMassage(String deviceID) {
- return mDeviceRepository.getSensorMassage(deviceID);
- }
-
- @Override
- public String getLocalDeviceUUID() {
- return mDeviceRepository.getLocalDeviceUUID();
- }
-
- @Override
- public String getSystemTimeStamp() {
- return mDeviceRepository.getSystemTimeStamp();
- }
-
- @Override
- public void startAlarmRecording() {
- mAlarmRecorder.startRecording();
- }
-
- @Override
- public void stopAlarmRecording(Context context) {
- mAlarmRecorder.stopRecording(context);
- }
-
- @Override
- public void setAlarmRecordingPreviewHolder(SurfaceHolder previewHolder) {
- mAlarmRecorder.setPreviewHolder(previewHolder);
- }
- }
|