2022-03-14 09:53:00 +00:00
|
|
|
package com.safemobile.activities;
|
|
|
|
|
2022-03-15 13:51:30 +00:00
|
|
|
import android.app.TabActivity;
|
|
|
|
import android.content.BroadcastReceiver;
|
2022-03-14 09:53:00 +00:00
|
|
|
|
|
|
|
import com.safemobile.lib.AppParams;
|
|
|
|
import com.safemobile.lib.SM;
|
|
|
|
import com.safemobile.lib.SuperVehicle;
|
|
|
|
import com.safemobile.lib.Vehicle;
|
|
|
|
import com.safemobile.services.TCPhandler;
|
|
|
|
import com.safemobile.services.TCPmsgParser;
|
|
|
|
|
2022-03-15 13:51:30 +00:00
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.Hashtable;
|
2022-03-14 09:53:00 +00:00
|
|
|
|
|
|
|
@SuppressWarnings("deprecation")
|
|
|
|
public abstract class AbstractSDParentActivity extends TabActivity {
|
2022-03-15 13:51:30 +00:00
|
|
|
|
2022-03-14 09:53:00 +00:00
|
|
|
/** Misc */
|
2022-03-15 13:51:30 +00:00
|
|
|
private static final boolean SHOULD_DISPLAY_LOGCAT = true; // show logCat messages when TCP send was successful
|
|
|
|
private String imei;
|
|
|
|
private String mess;
|
2022-03-14 09:53:00 +00:00
|
|
|
public int demoPosition = 0;
|
|
|
|
|
2022-03-15 13:51:30 +00:00
|
|
|
private ArrayList<Vehicle> allVehicle = new ArrayList<>();
|
|
|
|
private Hashtable<Long, SuperVehicle> superVehHash = new Hashtable<>();
|
|
|
|
private Hashtable<Long, Vehicle> vehHashByScId = new Hashtable<>();
|
2022-03-14 09:53:00 +00:00
|
|
|
|
|
|
|
/** TCP */
|
|
|
|
protected TCPhandler tcp = null;
|
|
|
|
protected TCPmsgParser tcpParser = null;
|
|
|
|
|
|
|
|
/** Methods */
|
|
|
|
public abstract void displayToast(final String msg);
|
|
|
|
public abstract void whenBackPressed(AppParams.ActivityResult result);
|
|
|
|
public abstract void changeLanguage();
|
|
|
|
public abstract void enableMenuButtons(boolean enable);
|
|
|
|
public abstract void setRadioActivity(AbstractRadioActivity radioActivity);
|
|
|
|
public abstract void setLiveActivity(AbstractLiveActivity liveActivity);
|
|
|
|
public abstract void setMessagesActivity(AbstractMessagesActivity messageActivity);
|
|
|
|
|
|
|
|
/** get if TCP is connected or disconnected or null */
|
|
|
|
public Object getTCPState() {
|
|
|
|
// return true if tcp connection is on, false if not connected and null
|
|
|
|
|
2022-03-15 13:51:30 +00:00
|
|
|
if (tcp != null && tcp.isConnectionUP)
|
2022-03-14 09:53:00 +00:00
|
|
|
return "true";
|
2022-03-15 13:51:30 +00:00
|
|
|
else if (tcp != null)
|
2022-03-14 09:53:00 +00:00
|
|
|
return "false";
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
public abstract void unregisterReceivers(BroadcastReceiver receiver);
|
|
|
|
public abstract void cancelNotification(int drawable);
|
|
|
|
public abstract void stopTCP();
|
|
|
|
public abstract void stopTCPParser();
|
|
|
|
public abstract void executeNetworkStuff(String[] params);
|
|
|
|
public abstract void recreateTCPConnection();
|
|
|
|
public abstract void removeITCPListener();
|
|
|
|
|
|
|
|
|
|
|
|
public abstract void updateDemoPosition();
|
|
|
|
public abstract void updateResultsPollInUi(String type);
|
2022-03-15 13:51:30 +00:00
|
|
|
public abstract double best_zoom(double latMax,double latMin,double lngMax,double lngMin);
|
2022-03-14 09:53:00 +00:00
|
|
|
|
|
|
|
/* SafeDispatch Mobile functions */
|
|
|
|
/** get Vehicles for an user id */
|
2022-03-15 13:51:30 +00:00
|
|
|
public boolean getVehicles(int userID) {
|
|
|
|
if (tcp == null)
|
2022-03-14 09:53:00 +00:00
|
|
|
return false;
|
2022-03-15 13:51:30 +00:00
|
|
|
|
|
|
|
boolean res = tcp.Write("0.0", "#21#" + userID + "#");
|
|
|
|
if (res && SHOULD_DISPLAY_LOGCAT)
|
2022-03-14 09:53:00 +00:00
|
|
|
SM.Debug("Message (getVehs) sent to app server");
|
|
|
|
else
|
|
|
|
SM.Debug("Could not send message(getVehs)!!");
|
2022-03-15 13:51:30 +00:00
|
|
|
|
2022-03-14 09:53:00 +00:00
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
/** get vehicles Last Positions for an user id */
|
2022-03-15 13:51:30 +00:00
|
|
|
public boolean getLastPositions(int userID) {
|
|
|
|
if (tcp == null)
|
2022-03-14 09:53:00 +00:00
|
|
|
return false;
|
2022-03-15 13:51:30 +00:00
|
|
|
|
2022-03-14 09:53:00 +00:00
|
|
|
boolean res = tcp.Write("0.0", "#25#" + userID + "#");
|
2022-03-15 13:51:30 +00:00
|
|
|
if (res && SHOULD_DISPLAY_LOGCAT)
|
2022-03-14 09:53:00 +00:00
|
|
|
SM.Debug("Message (getLastPOS) sent to app server");
|
|
|
|
else
|
|
|
|
SM.Debug("Could not send message(getLastSMS)!!");
|
2022-03-15 13:51:30 +00:00
|
|
|
|
2022-03-14 09:53:00 +00:00
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
/** set Enable/Disable a vehicle */
|
2022-03-15 13:51:30 +00:00
|
|
|
public boolean setVehicleStatus(int radioCode, int opCode, int sc_id, int enable) {
|
|
|
|
if (tcp == null)
|
2022-03-14 09:53:00 +00:00
|
|
|
return false;
|
2022-03-15 13:51:30 +00:00
|
|
|
|
|
|
|
boolean res = tcp.Write("0.0", "#" + radioCode + "#" + opCode + "#" + sc_id + "#" + enable + "#");
|
|
|
|
if (res && SHOULD_DISPLAY_LOGCAT)
|
|
|
|
SM.Debug("Message (Option4Unit) sent to app server radioCode:" + radioCode + " opCode:" + opCode + " sc_id:" + sc_id + " value:" + enable);
|
2022-03-14 09:53:00 +00:00
|
|
|
else
|
|
|
|
SM.Debug("Could not send message(Option4Unit)!!");
|
2022-03-15 13:51:30 +00:00
|
|
|
|
2022-03-14 09:53:00 +00:00
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
/** get Last SMSs for an user */
|
2022-03-15 13:51:30 +00:00
|
|
|
public boolean getLastSMSs(int userID) {
|
|
|
|
if (tcp == null)
|
2022-03-14 09:53:00 +00:00
|
|
|
return false;
|
2022-03-15 13:51:30 +00:00
|
|
|
|
2022-03-14 09:53:00 +00:00
|
|
|
boolean res = tcp.Write("0.0", "#23#" + userID + "#");
|
2022-03-15 13:51:30 +00:00
|
|
|
if (res && SHOULD_DISPLAY_LOGCAT)
|
2022-03-14 09:53:00 +00:00
|
|
|
SM.Debug("#Send Request#", "Message [getLastSMSs] sent to app server");
|
|
|
|
else
|
|
|
|
SM.Debug("#Send Request#", "Could not send message [getLastSMSs]!!");
|
2022-03-15 13:51:30 +00:00
|
|
|
|
2022-03-14 09:53:00 +00:00
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
/** get SMSs for an user that are recent than timeGMT
|
|
|
|
* @param sc_id the vehicle imei for which we want the SMSs
|
|
|
|
* @param timeGMT the unix time for the last message in the grid or messages that are newer than this time */
|
2022-03-15 13:51:30 +00:00
|
|
|
public boolean getRecentSMSs(int sc_id, long timeGMT) {
|
|
|
|
if (tcp == null)
|
2022-03-14 09:53:00 +00:00
|
|
|
return false;
|
2022-03-15 13:51:30 +00:00
|
|
|
|
|
|
|
boolean res = tcp.Write("0.0", "#22#" + sc_id + "#" + timeGMT + "#");
|
|
|
|
if (res && SHOULD_DISPLAY_LOGCAT)
|
2022-03-14 09:53:00 +00:00
|
|
|
SM.Debug("#Send Request#", "Message [getRecentSMSs] sent to app server");
|
|
|
|
else
|
|
|
|
SM.Debug("#Send Request#", "Could not send message [getRecentSMSs]!!");
|
2022-03-15 13:51:30 +00:00
|
|
|
|
2022-03-14 09:53:00 +00:00
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
/** send a SMS to a vehicle
|
|
|
|
* @param seqID is a unique identifier for the SMS
|
|
|
|
* @param sc_id vehicle imei to which you want to send the SMS
|
|
|
|
* @param txt the message to be send */
|
|
|
|
public boolean sendSMS(String seqID, int sc_id, String txt)
|
|
|
|
{
|
|
|
|
if(tcp == null)
|
|
|
|
return false;
|
|
|
|
|
|
|
|
boolean res = tcp.Write(seqID, "#24#" + AppParams.USERID + "#" + sc_id + "#" + txt + "#");
|
2022-03-15 13:51:30 +00:00
|
|
|
if(res && SHOULD_DISPLAY_LOGCAT)
|
2022-03-14 09:53:00 +00:00
|
|
|
SM.Debug("Message [sendSMS] sent to app server sc_id:"+sc_id+ " txt:"+txt);
|
|
|
|
else
|
|
|
|
SM.Debug("Could not send message [sendSMS]!!");
|
|
|
|
|
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2022-03-15 13:51:30 +00:00
|
|
|
public boolean sendAlarmAcknowledge(int alarm_id, int type)
|
2022-03-14 09:53:00 +00:00
|
|
|
{
|
|
|
|
if(tcp == null)
|
|
|
|
return false;
|
|
|
|
|
|
|
|
boolean res = tcp.Write("0.0", "#28#" + alarm_id + "#" + type + "#");
|
|
|
|
if(res)
|
2022-03-15 13:51:30 +00:00
|
|
|
SM.Debug("Message [sendAlarmAcknowledge] sent to app server alarm_id:" + alarm_id + " type:" + type);
|
2022-03-14 09:53:00 +00:00
|
|
|
else
|
2022-03-15 13:51:30 +00:00
|
|
|
SM.Debug("Could not send message [sendAlarmAcknowledge]!!");
|
2022-03-14 09:53:00 +00:00
|
|
|
|
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean sendPlayRecordingRequest(long record_id)
|
|
|
|
{
|
|
|
|
if(tcp == null)
|
|
|
|
return false;
|
|
|
|
|
|
|
|
boolean res = tcp.Write("0.0", "#18#" + record_id + "#");
|
|
|
|
if(res)
|
|
|
|
SM.Debug("Message [sendPlayRecordingRequest] sent to app server record_id:"+record_id);
|
|
|
|
else
|
|
|
|
SM.Debug("Could not send message [sendPlayRecordingRequest]!!");
|
|
|
|
|
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public boolean sendDekey(int gwID, int radioID)
|
|
|
|
{
|
|
|
|
if(tcp == null)
|
|
|
|
return false;
|
|
|
|
|
|
|
|
boolean res = tcp.Write("0.0", "#30#160#" + gwID + "." + radioID + "#");
|
|
|
|
if(res)
|
|
|
|
SM.Debug("Message [sendDekey] sent to app server record_id");
|
|
|
|
else
|
|
|
|
SM.Debug("Could not send message [sendDeKey]!!");
|
|
|
|
|
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean getHistoryPositions(int sc_id, long timeGMTStart, long timeGMTStop)
|
|
|
|
{
|
|
|
|
if(tcp == null)
|
|
|
|
return false;
|
|
|
|
|
|
|
|
String histSeqID = "1."+Integer.toString((int) (System.currentTimeMillis() / 1000L));
|
|
|
|
boolean res = tcp.Write(histSeqID,"#26#"+sc_id+"#"+timeGMTStart+"#"+timeGMTStop+"#");
|
|
|
|
if(res)
|
|
|
|
SM.Debug("Message [getHistoryPositions] sent to app server");
|
|
|
|
else
|
|
|
|
SM.Debug("Could not send message [getHistoryPositions]!!");
|
|
|
|
|
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean getRadiosList()
|
|
|
|
{
|
|
|
|
if(tcp == null)
|
|
|
|
return false;
|
|
|
|
|
|
|
|
boolean res = tcp.Write("0.0", "#30#100#");
|
|
|
|
if(res)
|
|
|
|
SM.Debug("Message [getRadiosList] sent to app server");
|
|
|
|
else
|
|
|
|
SM.Debug("Could not send message [getRadiosList]!!");
|
|
|
|
|
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// if zoneNr=0 and channelNR =0 then function acts as GET
|
|
|
|
public boolean getSetZoneAndChannel(int gwID, int rgwID, int zoneNR, int channelNR)
|
|
|
|
{
|
|
|
|
if(tcp == null)
|
|
|
|
return false;
|
|
|
|
|
|
|
|
boolean res = tcp.Write("0.0", "#30#104#" + gwID + "#" + rgwID + "#" + zoneNR + "#" +channelNR +"#");
|
|
|
|
if(res)
|
|
|
|
SM.Debug("Message [GetSetZoneAndChannel] sent to app server zoneNR:"+zoneNR+ " channelNR:"+channelNR);
|
|
|
|
else
|
|
|
|
SM.Debug("Could not send message [GetSetZoneAndChannel]!!");
|
|
|
|
|
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean getRadioStatus(int gwID, int rgwID)
|
|
|
|
{
|
|
|
|
if(tcp == null)
|
|
|
|
return false;
|
|
|
|
|
|
|
|
boolean res = tcp.Write("0.0", "#30#99#" + gwID + "#" + rgwID + "#");
|
|
|
|
if(res)
|
|
|
|
SM.Debug("Message [RadioGetRadioList] sent to app server || gwID: " + gwID + " | rgwID: " + rgwID);
|
|
|
|
else
|
|
|
|
SM.Debug("Could not send message [getLastSMS]!!");
|
|
|
|
|
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean getAlarms(long userID)
|
|
|
|
{
|
|
|
|
if(tcp == null)
|
|
|
|
return false;
|
|
|
|
|
2022-03-15 13:51:30 +00:00
|
|
|
boolean res = tcp.Write("0.0", "#27#" + userID + "#");
|
2022-03-14 09:53:00 +00:00
|
|
|
if(res)
|
|
|
|
SM.Debug("Message [GetAlarms] sent to app server");
|
|
|
|
else
|
|
|
|
SM.Debug("Could not send message [GetAlarms]!!");
|
|
|
|
|
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public boolean getRecordings(int gwID, int radioID)
|
|
|
|
{
|
|
|
|
if(tcp == null)
|
|
|
|
return false;
|
|
|
|
|
|
|
|
boolean res = tcp.Write("0.0", "#29#"+AppParams.USERID+"#"+ gwID +"#"+ radioID +"#");
|
|
|
|
if(res)
|
|
|
|
SM.Debug("Message [GetRecordings] sent to app server");
|
|
|
|
else
|
|
|
|
SM.Debug("Could not send message [GetRecordings]!!");
|
|
|
|
|
|
|
|
return res;
|
|
|
|
}
|
2022-03-15 13:51:30 +00:00
|
|
|
|
|
|
|
public String getImei() {
|
|
|
|
return imei;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setImei(String imei) {
|
|
|
|
this.imei = imei;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getMess() {
|
|
|
|
return mess;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setMess(String mess) {
|
|
|
|
this.mess = mess;
|
|
|
|
}
|
|
|
|
|
|
|
|
/** Lists */
|
|
|
|
public ArrayList<Vehicle> getAllVehicle() {
|
|
|
|
return allVehicle;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setAllVehicle(ArrayList<Vehicle> allVehicle) {
|
|
|
|
this.allVehicle = allVehicle;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Hashtable<Long, SuperVehicle> getSuperVehHash() {
|
|
|
|
return superVehHash;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setSuperVehHash(Hashtable<Long, SuperVehicle> superVehHash) {
|
|
|
|
this.superVehHash = superVehHash;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Hashtable<Long, Vehicle> getVehHashByScId() {
|
|
|
|
return vehHashByScId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setVehHashByScId(Hashtable<Long, Vehicle> vehHashByScId) {
|
|
|
|
this.vehHashByScId = vehHashByScId;
|
|
|
|
}
|
2022-03-14 09:53:00 +00:00
|
|
|
}
|