123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- package com.example.greenwatch;
-
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.lifecycle.Observer;
- import androidx.lifecycle.ViewModelProvider;
- import androidx.recyclerview.widget.LinearLayoutManager;
- import androidx.recyclerview.widget.RecyclerView;
-
- import android.content.Intent;
- 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.MainActivityViewModel;
-
- import java.util.List;
-
- public class MainActivity extends AppCompatActivity {
-
- private Button audiodetectionButton;
- private Button videodetectionButton;
- private Button accelerometerButton;
- private Button audiodetectionAndAccelerometerButton;
- private Button videodetectionAndAccelerometerButton;
- private Button connectionButton;
- private MainActivityViewModel mMainActivityViewModel;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- audiodetectionButton = (Button) findViewById(R.id.audiodetectionButton);
- videodetectionButton = (Button) findViewById(R.id.videodetectionButton);
- accelerometerButton = (Button) findViewById(R.id.accelerometerButton);
- audiodetectionAndAccelerometerButton = (Button) findViewById(R.id.audiodetectionAndAccelerometerButton);
- videodetectionAndAccelerometerButton = (Button) findViewById(R.id.videodetectionAndAccelerometerButton);
- connectionButton = (Button) findViewById(R.id.connectionButton);
-
- RecyclerView deviceListRecyclerView = findViewById(R.id.deviceListRecyclerView);
- deviceListRecyclerView.setLayoutManager(new LinearLayoutManager(this));
- deviceListRecyclerView.setHasFixedSize(true);
-
- final DeviceListAdapter deviceListAdapter = new DeviceListAdapter();
- deviceListRecyclerView.setAdapter(deviceListAdapter);
-
- RecyclerView alarmHistoryListRecyclerView = findViewById(R.id.alarmHistoryListRecyclerView);
- alarmHistoryListRecyclerView.setLayoutManager(new LinearLayoutManager(this));
- alarmHistoryListRecyclerView.setHasFixedSize(true);
-
- final AlarmHistoryListAdapter alarmHistoryListAdapter = new AlarmHistoryListAdapter();
- alarmHistoryListRecyclerView.setAdapter(alarmHistoryListAdapter);
-
- mMainActivityViewModel = new ViewModelProvider(this).get(MainActivityViewModel.class);
- mMainActivityViewModel.init();
- mMainActivityViewModel.accessRequestCamera(this);
- mMainActivityViewModel.accessRequestMicrofon(this);
- mMainActivityViewModel.getConnectedDeviceList().observe(this, new Observer<List<Device>>() {
- @Override
- public void onChanged(List<Device> devices) {
- deviceListAdapter.setDevices(devices);
- }
- });
-
- mMainActivityViewModel.getAlarmHistoryList().observe(this, new Observer<List<Device>>() {
- @Override
- public void onChanged(List<Device> devices) {
- alarmHistoryListAdapter.setAlarmHistoryList(devices);
- }
- });
-
- mMainActivityViewModel.getStartAlarmRecording().observe(this, new Observer<Boolean>() {
- @Override
- public void onChanged(Boolean aBoolean) {
- if (aBoolean) {
- Toast.makeText(MainActivity.this, "Start Alarm Recording", Toast.LENGTH_LONG).show();
- }
- else {
- Toast.makeText(MainActivity.this, "Stop Alarm Recording", Toast.LENGTH_LONG).show();
- }
- }
- });
-
- audiodetectionButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (mMainActivityViewModel.isMicrofonAccessAllowed(MainActivity.this)) {
- openAudiodetectionActivity();
- }
- else {
- mMainActivityViewModel.accessRequestMicrofon(MainActivity.this);
- }
- }
- });
- videodetectionButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (mMainActivityViewModel.isCameraAccessAllowed(MainActivity.this)) {
- openVideodetectionActivity();
- }
- else {
- mMainActivityViewModel.accessRequestCamera(MainActivity.this);
- }
- }
- });
- accelerometerButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- openAccelerometerActivity();
- mMainActivityViewModel.setSensorType(mMainActivityViewModel.getLocalDeviceUUID(), "Accelerometer");
- }
- });
- audiodetectionAndAccelerometerButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (mMainActivityViewModel.isMicrofonAccessAllowed(MainActivity.this)) {
- openAudiodetectionAndAccelerometerActivity();
- }
- else {
- mMainActivityViewModel.accessRequestMicrofon(MainActivity.this);
- }
- }
- });
- videodetectionAndAccelerometerButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- openVideodetectionAndAccelerometerActivity();
- }
- });
- connectionButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- openConnectionActivity();
- }
- });
- }
- public void openAudiodetectionActivity(){
- Intent intent = new Intent(this, AudiodetectionActivity.class);
- startActivity(intent);
- }
- public void openVideodetectionActivity(){
- Intent intent = new Intent(this, VideodetectionActivity.class);
- startActivity(intent);
- }
- public void openAccelerometerActivity(){
- Intent intent = new Intent(this, AccelerometerActivity.class);
- startActivity(intent);
- }
- public void openAudiodetectionAndAccelerometerActivity(){
- Intent intent = new Intent(this, AudiodetectionAndAccelerometerActivity.class);
- startActivity(intent);
- }
- public void openVideodetectionAndAccelerometerActivity(){
- Intent intent = new Intent(this, VideodetectionAndAccelerometerActivity.class);
- startActivity(intent);
- }
- public void openConnectionActivity(){
- //Intent intent = new Intent(this, ConnectionActivity.class);
- //startActivity(intent);
- mMainActivityViewModel.updateDevice(mMainActivityViewModel.getLocalDeviceUUID(), "10:51", true, "Audio", 10);
- }
-
- }
|