ViewLog.java 3.9 KB

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