package com.nfc.geo.geonfc.builder; import android.app.Activity; import com.nfc.geo.geonfc.database.InfoEntity; import com.nfc.geo.geonfc.deviceinfo.DeviceInformation; public class DataBuilder { private static final int NFC = 0; private static final int GPS = 1; private InfoEntity infEnti; private DeviceInformation dinfo; private Activity acti; public DataBuilder(Activity activity) { acti = activity; dinfo = new DeviceInformation(activity); } /** * Método para la construcción de la info * @param id El id si es nfc o gps * @param tag_id El ID tag * * @return String con la informacion */ public String buildData(int id, String tag_id, InfoEntity infoe) { String pre_info = ""; if(infoe != null) infEnti = infoe; switch (id) { case NFC: pre_info = ""+ dinfo.getDeviceImei(acti)+",,NFC,"+infEnti.getTimestamp()+"," +infEnti.getTag_id()+",,,,,,,"+dinfo.getBatteryInfo(acti)+","; infEnti = new InfoEntity(tag_id, dinfo.getTimestamp(),0,0,0,0,0,"NFC"); String nfc_info = "$AN"+pre_info.length()+","+pre_info+"\r\n"; return nfc_info; case GPS: if(infoe != null) { if(infoe.getLatitude() != 0.0) pre_info = ""+ dinfo.getDeviceImei(acti)+",,GPS,"+infoe.getTimestamp()+ ",,"+infoe.getLatitude()+","+infoe.getLongitude()+",A,"+infoe.getHdpo()+","+infoe.getNum_sattelites()+"," +infoe.getSpeed()+","+dinfo.getBatteryInfo(acti)+","; else pre_info = ""+ dinfo.getDeviceImei(acti)+",,GPS,"+infoe.getTimestamp()+ ",,"+infoe.getLatitude()+","+infoe.getLongitude()+",V,"+infoe.getHdpo()+","+infoe.getNum_sattelites()+"," +infoe.getSpeed()+","+dinfo.getBatteryInfo(acti)+","; infEnti = new InfoEntity(null, infoe.getTimestamp(), infoe.getLatitude(),infoe.getLongitude(),infoe.getHdpo() , infoe.getSpeed(), infoe.getNum_sattelites(),"GPS"); }else{ pre_info = ""+ dinfo.getDeviceImei(acti)+",,GPS,"+dinfo.getTimestamp()+",,,,V,,,,,"+dinfo.getBatteryInfo(acti)+","; infEnti = new InfoEntity(tag_id, dinfo.getTimestamp(),0,0,0,0,0,"GPS"); } String gps_info = "$AN"+pre_info.length()+","+pre_info+"\r\n"; return gps_info; default: break; } return null; } }