ViewLog.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package de.tudarmstadt.informatik.hostage.ui;
  2. import java.text.SimpleDateFormat;
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.Date;
  6. import java.util.HashMap;
  7. import de.tudarmstadt.informatik.hostage.R;
  8. import de.tudarmstadt.informatik.hostage.logging.DatabaseHandler;
  9. import de.tudarmstadt.informatik.hostage.logging.SQLLogger;
  10. import android.app.Activity;
  11. import android.content.Intent;
  12. import android.os.Bundle;
  13. import android.view.Menu;
  14. import android.view.MenuItem;
  15. import android.view.View;
  16. import android.widget.LinearLayout;
  17. import android.widget.TextView;
  18. public class ViewLog extends Activity {
  19. HashMap<String, TextView> statisticCounter;
  20. DatabaseHandler dbh;
  21. @Override
  22. protected void onCreate(Bundle savedInstanceState) {
  23. super.onCreate(savedInstanceState);
  24. setContentView(R.layout.activity_viewlog);
  25. dbh = new DatabaseHandler(getApplicationContext());
  26. initStatistic();
  27. }
  28. @Override
  29. public boolean onCreateOptionsMenu(Menu menu) {
  30. getMenuInflater().inflate(R.menu.main, menu);
  31. return true;
  32. }
  33. @Override
  34. public boolean onOptionsItemSelected(MenuItem item) {
  35. // Handle item selection
  36. switch (item.getItemId()) {
  37. case R.id.action_settings:
  38. startActivity(new Intent(this, SettingsActivity.class));
  39. default:
  40. return super.onOptionsItemSelected(item);
  41. }
  42. }
  43. public void exportDatabase(View view){
  44. SQLLogger log = new SQLLogger(this);
  45. log.exportDatabase("DEFAULT");
  46. }
  47. public void showLog(View view){
  48. startActivity(new Intent(this, ViewLogTable.class));
  49. }
  50. public void deleteLog(View view){
  51. dbh.clearData();
  52. }
  53. private void initStatistic() {
  54. LinearLayout container = (LinearLayout) findViewById(R.id.layoutContainer);
  55. statisticCounter = new HashMap<String, TextView>();
  56. ArrayList<String> protocols = new ArrayList<String>();
  57. protocols.add("Total");
  58. protocols.addAll(Arrays.asList(getResources().getStringArray(
  59. R.array.protocols)));
  60. for (String protocol : protocols) {
  61. LinearLayout containerRow = new LinearLayout(this);
  62. TextView text = new TextView(this);
  63. text.setText("-" + protocol + ": ");
  64. text.setTextAppearance(this, android.R.style.TextAppearance_Medium);
  65. containerRow.addView(text);
  66. text = new TextView(this);
  67. text.setTextAppearance(this, android.R.style.TextAppearance_Medium);
  68. containerRow.addView(text);
  69. if(protocol.equals("Total")){
  70. text.setText("" + dbh.getAttackCount());
  71. }else{
  72. text.setText("" + dbh.getAttackPerProtokolCount(protocol));
  73. }
  74. statisticCounter.put(protocol, text);
  75. container.addView(containerRow);
  76. }
  77. int attackCount = dbh.getRecordCount();
  78. if(attackCount > 0){
  79. SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");
  80. Date resultdate = new Date(dbh.getRecord(1).getTimestamp());
  81. TextView text = (TextView) findViewById(R.id.textFirstAttackValue);
  82. text.setText(sdf.format(resultdate));
  83. text = (TextView) findViewById(R.id.textLastAttackValue);
  84. resultdate = new Date(dbh.getRecord( dbh.getRecordCount()).getTimestamp());
  85. text.setText(sdf.format(resultdate));
  86. } else {
  87. TextView text = (TextView) findViewById(R.id.textFirstAttackValue);
  88. text.setText("-");
  89. text = (TextView) findViewById(R.id.textLastAttackValue);
  90. text.setText("-");
  91. }
  92. }
  93. }