package de.tudarmstadt.informatik.hostage.services; import android.app.Service; import android.content.Intent; import android.content.SharedPreferences; import android.os.Binder; import android.os.IBinder; import android.preference.PreferenceManager; import android.widget.Toast; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import de.tudarmstadt.informatik.hostage.Hostage; import de.tudarmstadt.informatik.hostage.R; import de.tudarmstadt.informatik.hostage.logging.Record; import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper; import de.tudarmstadt.informatik.hostage.ui.activity.MainActivity; import de.tudarmstadt.informatik.hostage.ui.model.LogFilter; /** * Created by root on 16.08.15. */ public class MultiStage extends Service { @Override public IBinder onBind(Intent intent) { return null; } @Override public int onStartCommand(Intent intent, int flags,int startid){ fetchData(); return 1; } public Record getRecord() { return record; } public void setRecord(Record record) { this.record = record; } private Record record; private Hostage service; private SharedPreferences pref; private HostageDBOpenHelper mDBOpenHelper; static final String FILTER_MENU_TITLE_TIMESTAMP_BELOW = MainActivity.getContext().getString( R.string.rec_latest); public Boolean fetchData(){ Map attackStack=null; Long currentTime = System.currentTimeMillis(); Long filterTime = (currentTime-300000); LogFilter filter = new LogFilter(); filter.setAboveTimestamp(filterTime); this.mDBOpenHelper = new HostageDBOpenHelper(MainActivity.getInstance().getBaseContext()); pref = PreferenceManager.getDefaultSharedPreferences(MainActivity.getInstance()); List recordArray = mDBOpenHelper.getRecordsForFilter(filter); // List tempo = null; if (recordArray.size()!=0) { for (Record tmp : recordArray) { attackStack.put(tmp.getExternalIP(),tmp.getProtocol()); //attackStack.put(ip,protocol); } } /* for (Long tmp : attackIds) { ArrayList check = mDBOpenHelper.getConversationForAttackID(tmp); for(Record tmp2: check ){ attackStack.put(tmp2.getExternalIP(),tmp2.getProtocol()); } }*/ // System.out.print(attackStack); return true; } public Record isMultiStage(List record){ Boolean isMultiStage = false; Record multiStageRecord = null; HashMap attackStack = new HashMap(); for(Record tmp: record){ attackStack.put(tmp.getExternalIP(), tmp.getProtocol()); } System.out.print(attackStack); // write comparison algorithm return multiStageRecord; } public HashMap getAttackTuple() { return attackTuple; } public void setAttackTuple(HashMap attackTuple) { this.attackTuple = attackTuple; } private HashMap attackTuple; public long getAttackTime() { return attackTime; } public void setAttackTime(long attackTime) { this.attackTime = attackTime; } private long attackTime; public class LocalBinder extends Binder { public Hostage getService() { return (Hostage) Hostage.getContext(); } } }