123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- package com.example.greenwatch.viewmodels;
-
- import android.app.Activity;
- import android.content.Context;
- import android.content.pm.PackageManager;
-
- 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.communication.WiFiCommunication;
- import com.example.greenwatch.models.Device;
- import com.example.greenwatch.repositories.DeviceRepository;
-
- import java.util.List;
-
- public class MainActivityViewModel extends ViewModel implements ViewModelInterface {
-
- private MutableLiveData<List<Device>> mDeviceList;
- private MutableLiveData<List<Device>> mAlarmHistoryList;
- private DeviceRepository mDeviceRepository;
- private static final int RECHTEANFORDERUNG_KAMERA = 10;
-
- @Override
- public void init() {
- WiFiCommunication mWiFiCommunication;
- if(mDeviceList != null) {
- return;
- }
- //todo: check if WiFi instanz can be hold only by the repository
- mDeviceRepository = DeviceRepository.getInstance();
- mWiFiCommunication = WiFiCommunication.getInstance();
- mDeviceRepository.setWiFiCommunication(mWiFiCommunication);
- mWiFiCommunication.setDeviceRepository(mDeviceRepository);
- mDeviceRepository.createNewDevice(mDeviceRepository.getSystemTimeStamp(), mDeviceRepository.getLocalDeviceUUID(), false, "No Sensor selected", 0);
- mDeviceList = mDeviceRepository.getConnectedDeviceList();
- mAlarmHistoryList = mDeviceRepository.getAlarmHistoryDeviceList();
- }
-
- public boolean isCameraAccessAllowed(Context context) {
- return ContextCompat.checkSelfPermission(context, android.Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED;
- }
-
- public void accessRequestCamera(Activity activity) {
- ActivityCompat.requestPermissions(activity, new String[]{android.Manifest.permission.CAMERA}, RECHTEANFORDERUNG_KAMERA);
- }
-
- @Override
- public LiveData<List<Device>> getConnectedDeviceList() {
- return mDeviceList;
- }
-
- @Override
- public LiveData<List<Device>> getAlarmHistoryList() {
- return mAlarmHistoryList;
- }
-
- @Override
- public void updateDevice(String deviceID, String timeStamp, boolean sensorStatus, String sensorType, int 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, int sensorMessage) {
- mDeviceRepository.setSensorMassage(deviceID, sensorMessage);
- }
-
- @Override
- public int getSensorMassage(String deviceID) {
- return mDeviceRepository.getSensorMassage(deviceID);
- }
-
- @Override
- public String getLocalDeviceUUID() {
- return mDeviceRepository.getLocalDeviceUUID();
- }
-
- @Override
- public String getSystemTimeStamp() {
- return null;
- }
- }
|