Logger.java 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package de.tudarmstadt.informatik.hostage.logging;
  2. import android.app.IntentService;
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper;
  6. public class Logger extends IntentService {
  7. private static final String ACTION_LOG = "de.tudarmstadt.informatik.hostage.action.LOG";
  8. private static final String ACTION_LOG_PORTSCAN = "de.tudarmstadt.informatik.hostage.action.LOG_PORTSCAN";
  9. private static final String EXTRA_RECORD = "de.tudarmstadt.informatik.hostage.extra.RECORD";
  10. private static final String EXTRA_TIMESTAMP = "de.tudarmstadt.informatik.hostage.extra.TIMESTAMP";
  11. private static final String EXTRA_IP = "de.tudarmstadt.informatik.hostage.extra.IP";
  12. public static void log(Context context, Record record) {
  13. Intent intent = new Intent(context, Logger.class);
  14. intent.setAction(ACTION_LOG);
  15. intent.putExtra(EXTRA_RECORD, record);
  16. context.startService(intent);
  17. }
  18. public static void logPortscan(Context context, long timestamp, String ip) {
  19. Intent intent = new Intent(context, Logger.class);
  20. intent.setAction(ACTION_LOG);
  21. intent.putExtra(EXTRA_TIMESTAMP, timestamp);
  22. intent.putExtra(EXTRA_IP, ip);
  23. context.startService(intent);
  24. }
  25. private HostageDBOpenHelper mDbHelper;
  26. public Logger() {
  27. super("Logger");
  28. }
  29. @Override
  30. public void onCreate() {
  31. super.onCreate();
  32. mDbHelper = new HostageDBOpenHelper(getApplicationContext());
  33. }
  34. private void handleActionLog(Record record) {
  35. mDbHelper.addRecord(record);
  36. }
  37. private void handleActionLogPortscan(long timestamp, String ip) {
  38. mDbHelper.insertPortscan(timestamp, ip);
  39. }
  40. @Override
  41. protected void onHandleIntent(Intent intent) {
  42. if (intent != null) {
  43. final String action = intent.getAction();
  44. if (ACTION_LOG.equals(action)) {
  45. final Record record = intent.getParcelableExtra(EXTRA_RECORD);
  46. handleActionLog(record);
  47. } else if (ACTION_LOG_PORTSCAN.equals(action)) {
  48. final long timestamp = intent.getParcelableExtra(EXTRA_TIMESTAMP);
  49. final String ip = intent.getParcelableExtra(EXTRA_IP);
  50. handleActionLogPortscan(timestamp, ip);
  51. }
  52. }
  53. }
  54. }