package de.graeb.adsbsniffer.status;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.MenuItem;
import android.widget.TextView;
import de.graeb.adsbsniffer.R;
import de.graeb.adsbsniffer.Recorder;
import de.graeb.adsbsniffer.RecordingStatistics;
/**
* @author markus
*/
public class AdsbStatus extends Activity {
private TextView textCountAdsb;
private TextView textCountModeS;
private TextView textRate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_status_adsb);
getActionBar().setDisplayHomeAsUpEnabled(true);
textCountAdsb = (TextView) findViewById(R.id.text_cnt_adsb);
textCountModeS = (TextView) findViewById(R.id.text_cnt_smode);
textRate = (TextView) findViewById(R.id.text_rate);
updateHandler.sendEmptyMessage(0);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onStop() {
super.onStop();
updateHandler.removeMessages(0);
}
private final Handler updateHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
RecordingStatistics recordingStatistics = Recorder.getInstance().getRecordingStatistics();
textCountModeS.setText(String.format("%d", recordingStatistics.getCountMessages()));
int sum = 0;
for (String icao24 : recordingStatistics.getIcao24s()) {
RecordingStatistics.Entry entry = recordingStatistics.getEntry(icao24);
sum += entry.getPacketsAdsb();
}
textCountAdsb.setText(String.format("%d", sum));
textRate.setText(String.format(AdsbStatus.this.getString(R.string.format_packet_second),
recordingStatistics.getRate()));
this.sendEmptyMessageDelayed(0, 1000);
}
};
}