1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- package com.example.greenwatch;
-
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.camera.lifecycle.ProcessCameraProvider;
- import androidx.core.content.ContextCompat;
- import androidx.lifecycle.Observer;
- import androidx.lifecycle.ViewModelProvider;
- import androidx.recyclerview.widget.LinearLayoutManager;
- import androidx.recyclerview.widget.RecyclerView;
-
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.Toast;
-
- import com.example.greenwatch.adapters.AlarmHistoryListAdapter;
- import com.example.greenwatch.adapters.DeviceListAdapter;
- import com.example.greenwatch.models.Device;
- import com.example.greenwatch.viewmodels.AccelerometerViewModel;
- import com.example.greenwatch.viewmodels.VideodetectionViewModel;
- import com.google.common.util.concurrent.ListenableFuture;
-
- import java.util.List;
- import java.util.concurrent.ExecutionException;
-
- public class VideodetectionActivity extends AppCompatActivity {
-
- private Button backToMainActivity;
- private VideodetectionViewModel mVideoDetectionViewModel;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_videodetection);
-
- backToMainActivity = (Button) findViewById(R.id.videodetectorBackToMainActivity);
-
- RecyclerView recyclerView = findViewById(R.id.deviceListRecyclerView);
- recyclerView.setLayoutManager(new LinearLayoutManager(this));
- recyclerView.setHasFixedSize(true);
-
- final DeviceListAdapter deviceListAdapter = new DeviceListAdapter();
- recyclerView.setAdapter(deviceListAdapter);
-
- RecyclerView alarmHistoryListRecyclerView = findViewById(R.id.alarmHistoryListRecyclerView);
- alarmHistoryListRecyclerView.setLayoutManager(new LinearLayoutManager(this));
- alarmHistoryListRecyclerView.setHasFixedSize(true);
-
- final AlarmHistoryListAdapter alarmHistoryListAdapter = new AlarmHistoryListAdapter();
- alarmHistoryListRecyclerView.setAdapter(alarmHistoryListAdapter);
-
- backToMainActivity.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
-
- mVideoDetectionViewModel = new ViewModelProvider(this).get(VideodetectionViewModel.class);
- mVideoDetectionViewModel.init();
- mVideoDetectionViewModel.getConnectedDeviceList().observe(this, new Observer<List<Device>>() {
- @Override
- public void onChanged(List<Device> devices) {
- deviceListAdapter.setDevices(devices);
- Toast.makeText(VideodetectionActivity.this, "onChanged", Toast.LENGTH_LONG).show();
- }
- });
-
- mVideoDetectionViewModel.getAlarmHistoryList().observe(this, new Observer<List<Device>>() {
- @Override
- public void onChanged(List<Device> devices) {
- alarmHistoryListAdapter.setAlarmHistoryList(devices);
- }
- });
-
- mVideoDetectionViewModel.getVideoAlarmDetectedValue().observe(this, new Observer<Boolean>() {
- @Override
- public void onChanged(Boolean aBoolean) {
- if (aBoolean) {
- mVideoDetectionViewModel.updateDevice(mVideoDetectionViewModel.getLocalDeviceUUID(), mVideoDetectionViewModel.getSystemTimeStamp(), true, "Video", 10);
- }
- else {
- mVideoDetectionViewModel.updateDevice(mVideoDetectionViewModel.getLocalDeviceUUID(), mVideoDetectionViewModel.getSystemTimeStamp(), false, "Video", 0);
- }
-
- }
- });
-
- final ListenableFuture<ProcessCameraProvider> cameraProviderFuture = ProcessCameraProvider.getInstance(this);
- cameraProviderFuture.addListener(() -> {
- try {
- mVideoDetectionViewModel.bindImageAnalysis(cameraProviderFuture.get(), this, this);
- } catch (ExecutionException | InterruptedException e) {
- e.printStackTrace();
- }
- }, ContextCompat.getMainExecutor(this));
- }
- }
|