ObjectsActivity.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. package de.tu_darmstadt.informatik.tk.olir;
  2. import android.content.Intent;
  3. import android.net.Uri;
  4. import android.os.Bundle;
  5. import android.support.design.widget.NavigationView;
  6. import android.support.v4.view.GravityCompat;
  7. import android.support.v4.widget.DrawerLayout;
  8. import android.support.v7.app.AppCompatActivity;
  9. import android.view.KeyEvent;
  10. import android.view.Menu;
  11. import android.view.MenuInflater;
  12. import android.view.MenuItem;
  13. import android.view.View;
  14. import java.io.BufferedReader;
  15. import java.io.File;
  16. import java.io.FileInputStream;
  17. import java.io.FileNotFoundException;
  18. import java.io.IOException;
  19. import java.io.InputStream;
  20. import java.io.InputStreamReader;
  21. public class ObjectsActivity extends AppCompatActivity {
  22. static final int FILE_SELECT_CODE = 1;
  23. @Override
  24. protected void onCreate(Bundle savedInstanceState) {
  25. super.onCreate(savedInstanceState);
  26. setContentView(R.layout.activity_objects);
  27. getSupportActionBar().setTitle("1. Choose a Sensor");
  28. getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  29. getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu_white_24dp);
  30. NavigationView navigationView = findViewById(R.id.nav_view);
  31. navigationView.setNavigationItemSelectedListener(
  32. new NavigationView.OnNavigationItemSelectedListener() {
  33. @Override
  34. public boolean onNavigationItemSelected(MenuItem menuItem) {
  35. if (menuItem.getItemId() == R.id.show_history) {
  36. Intent intent = new Intent(ObjectsActivity.this, HistoryActivity.class);
  37. startActivity(intent);
  38. } else if (menuItem.getItemId() == R.id.settings) {
  39. Intent intent = new Intent(ObjectsActivity.this, SettingsActivity.class);
  40. startActivity(intent);
  41. }
  42. return true;
  43. }
  44. });
  45. }
  46. public void openFile(View view) {
  47. Intent chooseFile = new Intent(Intent.ACTION_GET_CONTENT);
  48. chooseFile.setType("*/*");
  49. chooseFile = Intent.createChooser(chooseFile, "Choose a file");
  50. startActivityForResult(chooseFile, FILE_SELECT_CODE);
  51. }
  52. //FROM http://stackoverflow.com/questions/7856959/android-file-chooser 14.3.17 13:00
  53. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  54. switch (requestCode) {
  55. case FILE_SELECT_CODE:
  56. if (resultCode == RESULT_OK) {
  57. // Get the Uri of the selected file
  58. Uri uri = data.getData();
  59. // Get the path
  60. File file = new File(uri.getPath());
  61. String fileName = uri.toString();
  62. String extension = "";
  63. int i = fileName.lastIndexOf('.');
  64. if (i > 0) {
  65. extension = fileName.substring(i+1);
  66. }
  67. if (extension.equals("txt")) {
  68. try {
  69. openReadingActivityWith(new FileInputStream(file));
  70. } catch (FileNotFoundException e) {
  71. e.printStackTrace();
  72. }
  73. }
  74. }
  75. break;
  76. }
  77. super.onActivityResult(requestCode, resultCode, data);
  78. }
  79. public void openLoad(View view) {
  80. openReadingActivityWith(getResources().openRawResource(R.raw.object_specs_load));
  81. }
  82. public void openPressure(View view) {
  83. openReadingActivityWith(getResources().openRawResource(R.raw.object_specs_pressure));
  84. }
  85. public void openAcceleration(View view) {
  86. openReadingActivityWith(getResources().openRawResource(R.raw.object_specs_acceleration));
  87. }
  88. public void openTilt90(View view) {
  89. openReadingActivityWith(getResources().openRawResource(R.raw.object_specs_tilt90));
  90. }
  91. public void openTilt180(View view) {
  92. openReadingActivityWith(getResources().openRawResource(R.raw.object_specs_tilt180));
  93. }
  94. public void openTempRising(View view) {
  95. openReadingActivityWith(getResources().openRawResource(R.raw.object_specs_temp_rising));
  96. }
  97. public void openTempFalling(View view) {
  98. openReadingActivityWith(getResources().openRawResource(R.raw.object_specs_temp_falling));
  99. }
  100. public void openReadingActivityWith(InputStream stream) {
  101. BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
  102. String[] content = new String[5];
  103. String line;
  104. int i = 0;
  105. try {
  106. while ((line = reader.readLine()) != null) {
  107. content[i++] = line;
  108. }
  109. } catch (IOException e) {
  110. e.printStackTrace();
  111. }
  112. Intent intent = new Intent(this, ReadingActivity.class);
  113. intent.putExtra("file", content);
  114. startActivity(intent);
  115. }
  116. @Override
  117. public boolean onKeyDown(int keyCode, KeyEvent event) {
  118. if (keyCode == KeyEvent.KEYCODE_BACK
  119. && event.getRepeatCount() == 0) {
  120. finishAffinity();
  121. return true;
  122. }
  123. return super.onKeyDown(keyCode, event);
  124. }
  125. @Override
  126. public boolean onOptionsItemSelected(MenuItem item) {
  127. if (item.getItemId() == android.R.id.home) {
  128. DrawerLayout drawer = findViewById(R.id.drawer_layout);
  129. drawer.openDrawer(GravityCompat.START);
  130. return true;
  131. }
  132. return false;
  133. }
  134. }