package de.tudarmstadt.informatik.hostage.ui; import java.math.BigInteger; import java.util.ArrayList; import java.util.HashMap; import java.util.Random; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.TextView; import de.tudarmstadt.informatik.hostage.R; import de.tudarmstadt.informatik.hostage.logging.DatabaseHandler; import de.tudarmstadt.informatik.hostage.sync.BluetoothSync; import de.tudarmstadt.informatik.hostage.sync.NFCSync; public class PlayGroundActivity extends Activity{ BluetoothSync bs; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_playground); bs = new BluetoothSync(this); setNetworkInfoText(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } private void setNetworkInfoText(){ DatabaseHandler dbh = new DatabaseHandler(this); TextView bssids = (TextView) findViewById(R.id.textView1); String text = ""; ArrayList> netInfo = dbh.getNetworkInformation(); for(HashMap network : netInfo){ text = text + (String) network.get(DatabaseHandler.KEY_BSSID) + "\n" + (String) network.get(DatabaseHandler.KEY_SSID) + "\n" + (double)(Double) network.get(DatabaseHandler.KEY_LATITUDE) + "\n" + (double)(Double) network.get(DatabaseHandler.KEY_LONGITUDE) + "\n" + (float)(Float) network.get(DatabaseHandler.KEY_ACCURACY) + "\n" + (long) (Long) network.get(DatabaseHandler.KEY_TIME) + "\n\n"; } bssids.setText(text); } public void syncData(View view){ bs.syncData(); } public void startNFC(View view){ startActivity(new Intent(this, NFCSync.class)); } public void createNetworkData(View view){ Random rnd = new Random(); ArrayList> fakeNetInfo = new ArrayList>(); for(int i = 0; i < 25; i++){ HashMap network = new HashMap(); network.put(DatabaseHandler.KEY_BSSID, createRandomBSSID()); network.put(DatabaseHandler.KEY_SSID, new BigInteger(130, rnd).toString(32)); network.put(DatabaseHandler.KEY_LATITUDE, rnd.nextDouble() * 360); network.put(DatabaseHandler.KEY_LONGITUDE, rnd.nextDouble() * 360); network.put(DatabaseHandler.KEY_ACCURACY, rnd.nextFloat()); network.put(DatabaseHandler.KEY_TIME, System.currentTimeMillis()); fakeNetInfo.add(network); } setNetworkInfoText(); new DatabaseHandler(this).updateNetworkInformation(fakeNetInfo); } private String createRandomBSSID(){ Random rnd = new Random(); char[] symbols = new char[16]; for (int idx = 0; idx < 10; ++idx) symbols[idx] = (char) ('0' + idx); for (int idx = 10; idx < 16; ++idx) symbols[idx] = (char) ('a' + idx - 10); char[] buf = new char[17]; for(int i = 0; i < 18; i += 3){ buf[i] = symbols[rnd.nextInt(symbols.length)]; buf[i + 1] = symbols[rnd.nextInt(symbols.length)]; if(i < 15){ buf[i + 2] = ':'; } } return new String(buf); } }