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.

MainActivity.java 6.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. package com.example.greenwatch;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import androidx.lifecycle.Observer;
  4. import androidx.lifecycle.ViewModelProvider;
  5. import android.content.Intent;
  6. import android.os.Bundle;
  7. import android.view.View;
  8. import android.widget.Button;
  9. import android.widget.TextView;
  10. import android.widget.Toast;
  11. import com.example.greenwatch.models.Device;
  12. import com.example.greenwatch.viewmodels.MainActivityViewModel;
  13. import java.util.List;
  14. public class MainActivity extends AppCompatActivity {
  15. private TextView tvstatusmessage;
  16. private Button audiodetectionButton;
  17. private Button videodetectionButton;
  18. private Button accelerometerButton;
  19. private Button audiodetectionAndAccelerometerButton;
  20. private Button videodetectionAndAccelerometerButton;
  21. private Button connectionButton;
  22. private MainActivityViewModel mMainActivityViewModel;
  23. @Override
  24. protected void onCreate(Bundle savedInstanceState) {
  25. super.onCreate(savedInstanceState);
  26. setContentView(R.layout.activity_main);
  27. tvstatusmessage = (TextView) findViewById(R.id.tvStatusmessage);
  28. audiodetectionButton = (Button) findViewById(R.id.audiodetectionButton);
  29. videodetectionButton = (Button) findViewById(R.id.videodetectionButton);
  30. accelerometerButton = (Button) findViewById(R.id.accelerometerButton);
  31. audiodetectionAndAccelerometerButton = (Button) findViewById(R.id.audiodetectionAndAccelerometerButton);
  32. videodetectionAndAccelerometerButton = (Button) findViewById(R.id.videodetectionAndAccelerometerButton);
  33. connectionButton = (Button) findViewById(R.id.connectionButton);
  34. RecyclerView recyclerView = findViewById(R.id.deviceListRecyclerView);
  35. recyclerView.setLayoutManager(new LinearLayoutManager(this));
  36. recyclerView.setHasFixedSize(true);
  37. final DeviceListAdapter deviceListAdapter = new DeviceListAdapter();
  38. recyclerView.setAdapter(deviceListAdapter);
  39. mMainActivityViewModel = new ViewModelProvider(this).get(MainActivityViewModel.class);
  40. mMainActivityViewModel.init();
  41. mMainActivityViewModel.getConnectedDeviceList().observe(this, new Observer<List<Device>>() {
  42. @Override
  43. public void onChanged(List<Device> devices) {
  44. StringBuilder sb = new StringBuilder();
  45. sb.append("Time Stamp: ");
  46. sb.append(mMainActivityViewModel.getTimeStamp(mMainActivityViewModel.getLocalDeviceUUID()));
  47. sb.append(";\n");
  48. sb.append("DeviceID: ");
  49. sb.append(mMainActivityViewModel.getDeviceID(mMainActivityViewModel.getLocalDeviceUUID()));
  50. sb.append(";\n");
  51. sb.append("Sensor Status: ");
  52. sb.append(mMainActivityViewModel.getSensorStatus(mMainActivityViewModel.getLocalDeviceUUID()));
  53. sb.append(";\n");
  54. sb.append("Sensor Type: ");
  55. sb.append(mMainActivityViewModel.getSensorType(mMainActivityViewModel.getLocalDeviceUUID()));
  56. sb.append(";\n");
  57. sb.append("Sensor Massage: ");
  58. sb.append(mMainActivityViewModel.getSensorMassage(mMainActivityViewModel.getLocalDeviceUUID()));
  59. tvstatusmessage.setText(sb);
  60. Toast.makeText(MainActivity.this, "onChanged", Toast.LENGTH_LONG).show();
  61. }
  62. });
  63. audiodetectionButton.setOnClickListener(new View.OnClickListener() {
  64. @Override
  65. public void onClick(View v) {
  66. //openAudiodetectionActivity();
  67. mMainActivityViewModel.setDevice(mMainActivityViewModel.getLocalDeviceUUID(), "10:51", false, "Audio", 10);
  68. }
  69. });
  70. videodetectionButton.setOnClickListener(new View.OnClickListener() {
  71. @Override
  72. public void onClick(View v) {
  73. //openVideodetectionActivity();
  74. mMainActivityViewModel.setSensorType(mMainActivityViewModel.getLocalDeviceUUID(), "Video");
  75. mMainActivityViewModel.setTimeStamp(mMainActivityViewModel.getLocalDeviceUUID(), "12:50");
  76. mMainActivityViewModel.setDeviceID(mMainActivityViewModel.getLocalDeviceUUID(), "12345");
  77. }
  78. });
  79. accelerometerButton.setOnClickListener(new View.OnClickListener() {
  80. @Override
  81. public void onClick(View v) {
  82. openAccelerometerActivity();
  83. mMainActivityViewModel.setSensorType(mMainActivityViewModel.getLocalDeviceUUID(), "Accelerometer");
  84. }
  85. });
  86. audiodetectionAndAccelerometerButton.setOnClickListener(new View.OnClickListener() {
  87. @Override
  88. public void onClick(View v) {
  89. //openAudiodetectionAndAccelerometerActivity();
  90. mMainActivityViewModel.setSensorType(mMainActivityViewModel.getLocalDeviceUUID(), "AudiodetectionAndAccelerometer");
  91. mMainActivityViewModel.setTimeStamp(mMainActivityViewModel.getLocalDeviceUUID(), "00:00");
  92. mMainActivityViewModel.setDeviceID(mMainActivityViewModel.getLocalDeviceUUID(), "6789");
  93. }
  94. });
  95. videodetectionAndAccelerometerButton.setOnClickListener(new View.OnClickListener() {
  96. @Override
  97. public void onClick(View v) {
  98. openVideodetectionAndAccelerometerActivity();
  99. }
  100. });
  101. connectionButton.setOnClickListener(new View.OnClickListener() {
  102. @Override
  103. public void onClick(View v) {
  104. openConnectionActivity();
  105. }
  106. });
  107. }
  108. public void openAudiodetectionActivity(){
  109. Intent intent = new Intent(this, AudiodetectionActivity.class);
  110. startActivity(intent);
  111. }
  112. public void openVideodetectionActivity(){
  113. Intent intent = new Intent(this, VideodetectionActivity.class);
  114. startActivity(intent);
  115. }
  116. public void openAccelerometerActivity(){
  117. Intent intent = new Intent(this, AccelerometerActivity.class);
  118. startActivity(intent);
  119. }
  120. public void openAudiodetectionAndAccelerometerActivity(){
  121. Intent intent = new Intent(this, AudiodetectionAndAccelerometerActivity.class);
  122. startActivity(intent);
  123. }
  124. public void openVideodetectionAndAccelerometerActivity(){
  125. Intent intent = new Intent(this, VideodetectionAndAccelerometerActivity.class);
  126. startActivity(intent);
  127. }
  128. public void openConnectionActivity(){
  129. Intent intent = new Intent(this, ConnectionActivity.class);
  130. startActivity(intent);
  131. }
  132. }