package de.tudarmstadt.informatik.hostage.ui; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.HashMap; import de.tudarmstadt.informatik.hostage.R; import de.tudarmstadt.informatik.hostage.logging.DatabaseHandler; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; public class ViewLog extends Activity { HashMap statisticCounter; DatabaseHandler dbh; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_viewlog); dbh = new DatabaseHandler(getApplicationContext()); initStatistic(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection switch (item.getItemId()) { case R.id.action_settings: startActivity(new Intent(this, SettingsActivity.class)); default: return super.onOptionsItemSelected(item); } } public void showLog(View view){ startActivity(new Intent(this, ViewLogTable.class)); } public void deleteLog(View view){ dbh.clearData(); } private void initStatistic() { LinearLayout container = (LinearLayout) findViewById(R.id.layoutContainer); statisticCounter = new HashMap(); ArrayList protocols = new ArrayList(); protocols.add("Total"); protocols.addAll(Arrays.asList(getResources().getStringArray( R.array.protocols))); for (String protocol : protocols) { LinearLayout containerRow = new LinearLayout(this); TextView text = new TextView(this); text.setText("-" + protocol + ": "); text.setTextAppearance(this, android.R.style.TextAppearance_Medium); containerRow.addView(text); text = new TextView(this); text.setTextAppearance(this, android.R.style.TextAppearance_Medium); containerRow.addView(text); if(protocol.equals("Total")){ text.setText("" + dbh.getAttackCount()); }else{ text.setText("" + dbh.getAttackPerProtokolCount(protocol)); } statisticCounter.put(protocol, text); container.addView(containerRow); } int attackCount = dbh.getRecordCount(); if(attackCount > 0){ SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm"); Date resultdate = new Date(Long.parseLong(dbh.getRecord(1).getTimestamp())); TextView text = (TextView) findViewById(R.id.textFirstAttackValue); text.setText(sdf.format(resultdate)); text = (TextView) findViewById(R.id.textLastAttackValue); resultdate = new Date(Long.parseLong(dbh.getRecord( dbh.getRecordCount()).getTimestamp())); text.setText(sdf.format(resultdate)); } else { TextView text = (TextView) findViewById(R.id.textFirstAttackValue); text.setText("-"); text = (TextView) findViewById(R.id.textLastAttackValue); text.setText("-"); } } }