PlayGroundActivity.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package de.tudarmstadt.informatik.hostage.ui;
  2. import java.math.BigInteger;
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.Random;
  6. import android.app.Activity;
  7. import android.content.Intent;
  8. import android.os.Bundle;
  9. import android.preference.PreferenceManager;
  10. import android.util.Log;
  11. import android.view.Menu;
  12. import android.view.View;
  13. import android.widget.TextView;
  14. import de.tudarmstadt.informatik.hostage.R;
  15. import de.tudarmstadt.informatik.hostage.commons.HelperUtils;
  16. import de.tudarmstadt.informatik.hostage.logging.NetworkRecord;
  17. import de.tudarmstadt.informatik.hostage.logging.SyncInfoRecord;
  18. import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract;
  19. import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper;
  20. import de.tudarmstadt.informatik.hostage.sync.bluetooth.BluetoothSyncActivity;
  21. import de.tudarmstadt.informatik.hostage.sync.nfc.NFCSync;
  22. import de.tudarmstadt.informatik.hostage.sync.tracing.TracingSyncActivity;
  23. public class PlayGroundActivity extends Activity {
  24. public void createNetworkData(View view) {
  25. Random rnd = new Random();
  26. ArrayList<NetworkRecord> fakeNetInfo = new ArrayList<NetworkRecord>();
  27. for (int i = 0; i < 25; i++) {
  28. NetworkRecord record = new NetworkRecord();
  29. record.setBssid(createRandomBSSID());
  30. record.setSsid(new BigInteger(130, rnd).toString(32));
  31. record.setLatitude(rnd.nextDouble() * 360);
  32. record.setLongitude(rnd.nextDouble() * 360);
  33. record.setAccuracy(rnd.nextFloat());
  34. record.setTimestampLocation(System.currentTimeMillis());
  35. fakeNetInfo.add(record);
  36. }
  37. setNetworkInfoText();
  38. new HostageDBOpenHelper(this).updateNetworkInformation(fakeNetInfo);
  39. }
  40. @Override
  41. public boolean onCreateOptionsMenu(Menu menu) {
  42. getMenuInflater().inflate(R.menu.main, menu);
  43. return true;
  44. }
  45. public void startNFC(View view) {
  46. startActivity(new Intent(this, TracingSyncActivity.class));
  47. }
  48. public void syncData(View view) {
  49. startActivity(new Intent(this, BluetoothSyncActivity.class));
  50. }
  51. private String createRandomBSSID() {
  52. Random rnd = new Random();
  53. char[] symbols = new char[16];
  54. for (int idx = 0; idx < 10; ++idx)
  55. symbols[idx] = (char) ('0' + idx);
  56. for (int idx = 10; idx < 16; ++idx)
  57. symbols[idx] = (char) ('a' + idx - 10);
  58. char[] buf = new char[17];
  59. for (int i = 0; i < 18; i += 3) {
  60. buf[i] = symbols[rnd.nextInt(symbols.length)];
  61. buf[i + 1] = symbols[rnd.nextInt(symbols.length)];
  62. if (i < 15) {
  63. buf[i + 2] = ':';
  64. }
  65. }
  66. return new String(buf);
  67. }
  68. private void setNetworkInfoText() {
  69. HostageDBOpenHelper dbh = new HostageDBOpenHelper(this);
  70. TextView text_view = (TextView) findViewById(R.id.textView1);
  71. String text = "";
  72. ArrayList<SyncInfoRecord> syncInfo = dbh.getSyncInfo();
  73. HashMap<String, Long> syncDevices = dbh.getSyncDevices();
  74. for (SyncInfoRecord info: syncInfo) {
  75. text = text + info.getBSSID() + "\n"
  76. + info.getDeviceID() + "\n" +
  77. + info.getNumber_of_attacks() + "\n"
  78. + info.getNumber_of_portscans() + "\n\n";
  79. }
  80. for(String device: syncDevices.keySet()){
  81. text = text + device + "\n"
  82. + syncDevices.get(device) + "\n\n";
  83. }
  84. text_view.setText(text);
  85. }
  86. @Override
  87. protected void onCreate(Bundle savedInstanceState) {
  88. super.onCreate(savedInstanceState);
  89. setContentView(R.layout.activity_playground);
  90. setNetworkInfoText();
  91. }
  92. }