package com.safemobile.activities; import com.safemobile.bluetooth.BluetoothTether; import com.safemobile.lib.AppParams; import com.safemobile.lib.Contact; import com.safemobile.lib.R; import com.safemobile.services.TCPhandler; import com.safemobile.services.TCPmsgParser; import android.app.Activity; import android.app.NotificationManager; import android.app.TabActivity; import android.content.BroadcastReceiver; import android.content.Context; import android.os.Handler; import android.view.View; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageView; import android.widget.RelativeLayout; @SuppressWarnings("deprecation") public abstract class AbstractParentActivity extends TabActivity { /** UI Elements */ public RelativeLayout layoutLoading, relativeLayoutMenu; public ImageView imageViewLoading; /** Misc */ public Activity activity; public Context context; public NotificationManager mNotificationManager; public boolean displayLogCat = false; // show logCat messages when TCP send was successful /** Handler */ public Handler myHandler = new Handler(); /** BlueTooth Tether */ public BluetoothTether bluetoothTether = null; /** Broadcast Receiver */ public BroadcastReceiver mReceiver = null; /** TCP */ protected TCPhandler tcp = null; protected TCPmsgParser tcpParser = null; /** Methods */ //public void onCreate(Bundle savedInstanceState) { }; public abstract void startAudioHandler(); public abstract void getSetZoneAndChannel(int gwID, int rgwID, int zoneNR, int channelNR); public abstract void getRadioStatus(int gwID, int rgwID); public abstract void sendPTT(int callType, long id); public abstract void sendCallType(int callType, long id); public abstract void sendDekey(); public abstract void sendReset(); public abstract void sendEmergency(int onOFF); public abstract void sendEmergency(int onOFF, long group_id); public abstract void sendSMS(String seqId, long sc_id, String txt); public abstract void displayToast(final String msg); public abstract void whenBackPressed(AppParams.ActivityResult result); public abstract void whenMenuPressed(); public abstract void changeLanguage(); public abstract Contact getVehicleById(long imei); /** enable the menu buttons placed on the right side of the screen * @param enable if set to true, the buttons will be enabled, else they will be disabled */ public abstract void enableMenuButtons(boolean enable); public abstract void setRadioActivity(AbstractRadioActivity radioActivity); public abstract void setMessagesActivity(AbstractMessagesActivity messageActivity); /** Send a TCP Command using Async Tasks * @param params Here you will add parameters for commands, and params[0] will be the Operation Code * followed by others parameters accordingly to the command*/ public abstract void executeNetworkStuff(String[] params); /** 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 if(tcp!=null && tcp.isConnectionUP) return "true"; else if(tcp!=null && !tcp.isConnectionUP) return "false"; return null; } public void showMenu(boolean show) { if(relativeLayoutMenu != null) { // do not performe animation if already shown or already hidden if((relativeLayoutMenu.isShown() && show) || (!relativeLayoutMenu.isShown() && !show)) ; else { Animation anim = AnimationUtils.loadAnimation(this, R.anim.slide_out_bottom); if(show) anim = AnimationUtils.loadAnimation(this, R.anim.slide_in_bottom); relativeLayoutMenu.clearAnimation(); relativeLayoutMenu.startAnimation(anim); relativeLayoutMenu.setVisibility(show ? View.VISIBLE : View.GONE); } } } public boolean isMenuVisibile() { if(relativeLayoutMenu!= null && relativeLayoutMenu.getVisibility() == View.VISIBLE) return true; else return false; } public abstract void unregisterReceivers(BroadcastReceiver receiver); public abstract void cancelNotification(int drawable); public abstract void stopTethering(); public abstract void stopAudio(); public abstract void stopTCP(); public abstract void recreateTCPConnection(); public abstract void removeITCPListener(); /* public abstract void onResume(); public abstract void onStart(); public abstract void onPause(); */ }