safedispatch-mobile/libSafeMobile/src/main/java/com/safemobile/activities/AbstractParentActivity.java

130 lines
4.3 KiB
Java

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();
*/
}