1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| @Override
public void run() {
// TODO Auto-generated method stub
String cmd = "SELECT " + DataLog.COMMANDS_ID + "," + DataLog.TYPE_COMMANDS + " FROM " + DataLog.TABLE_COMMANDS ;
String gpos = "SELECT " + DataLog.COLUMN_LATITUDE + "," + DataLog.COLUMN_LONGITUDE + "," + DataLog.COLUMN_VITESSE + ","
+ DataLog.COLUMN_ALTITUDE + "," + DataLog.COLUMN_DIRECTION + "," + DataLog.COLUMN_DATE + "," + DataLog.COLUMN_SAT + "FROM " + DataLog.TABLE_COORDONNEES
+ " WHERE sat >= 3 AND SEND = 0 " + " ORDER BY " + DataLog.COLUMN_DATE + " DESC LIMIT 1";
CoordonneesHandler handler = new CoordonneesHandler(context) ;
Infos infos = new Infos(context) ;
handler.open() ;
Cursor cursor = handler.dbConn.rawQuery(cmd, null) ;
Log.v("curseur", "Cursor " + cursor);
if(cursor.getCount() == 0){
Log.v("logger", "log vide ");
}
while (cursor.moveToNext()) {
int idCmd = cursor.getInt(DataLog.NUM_COMMANDS_ID) ;
int mCmd = cursor.getInt(DataLog.NUM_TYPE_COMMANDS) ;
Log.v("IdCmd", "id commande " + idCmd);
Log.v("mcmd", "Commande lue " + mCmd);
switch(mCmd){
case SocketObserver.GPOS :
Helper helper = new Helper() ;
Cursor curseur = handler.dbConn.rawQuery(gpos, null) ;
if (curseur.moveToFirst()) {
id = curseur.getInt(DataLog.NUM_COLUMN_ID);
latitude = curseur.getString(DataLog.NUM_COLUMN_LATITUDE) ;
longitude = curseur.getString(DataLog.NUM_COLUMN_LONGITUDE) ;
vitesse = curseur.getString(DataLog.NUM_COLUMN_VITESSE) ;
altitude = curseur.getString(DataLog.NUM_COLUMN_ALTITUDE) ;
direction = curseur.getString(DataLog.NUM_COLUMN_DIRECTION) ;
satview = curseur.getInt(DataLog.NUM_COLUMN_SAT) ;
date = curseur.getString(DataLog.NUM_COLUMN_DATE) ;
send = curseur.getInt(DataLog.NUM_COLUMN_SEND) ;
curseur.close();
handler.close() ;
Log.v("GPOS ", "ID " + id);
Log.v("GPOS ", "latitude " + latitude);
Log.v("GPOS ", "longitude " + longitude);
Log.v("GPOS ", "vitesse " + vitesse);
Log.v("GPOS ", "altitude " + altitude);
Log.v("GPOS ", "direction " + direction);
Log.v("GPOS ", "Satellites " + satview);
Log.v("GPOS ", "date " + date);
Log.v("GPOS ", "SEND " + send);
objs = new LinkedList<Object>() ;
objs.add(infos.getDeviceID(context)) ;
objs.add(Events.POSITION) ;
objs.add(msgId++) ;
objs.add(date) ;
objs.add(date) ;
objs.add(latitude) ;
objs.add(longitude) ;
objs.add(vitesse) ;
objs.add(altitude) ;
objs.add(direction) ;
objs.add(0) ;
objs.add(satview) ;
objs.add(Helper.battery) ;
objs.add(Helper.mplugged) ;
String sendPosition = Tools.getMessage(objs);
pos = socketHandler.send(sendPosition) ;
Log.v("INSERTCommands ", "GPOS " + pos);
Log.v("GPOS ", "SEND POSITION " + sendPosition);
}
if(pos == true){
Coordonnees cord = new Coordonnees(id, latitude, longitude, altitude, vitesse, direction, date, satview, 1) ;
handler.removeCommands(idCmd) ;
handler.UpdateCoordonnees(id, cord) ;
Log.v("GPOS ", "SEND GPOS " + cord);
}
break ;
}
cursor.close() ; |