package hillfly.wifichat.common; import hillfly.wifichat.activity.ChatActivity; import hillfly.wifichat.common.socket.udp.UDPMessageListener; import java.util.Stack; import android.content.Context; /** * @fileName ActivityCollectorUtils.java * @package szu.wifichat.android.util * @description 活动管理类 **/ public class ActivitiesManager { private static Stack<BaseActivity> queue; private static UDPMessageListener mListener; private static ChatActivity mChatActivity; public static void init() { queue = new Stack<BaseActivity>(); } public static void addActivity(BaseActivity activity) { queue.add(activity); } public static void finishActivity(BaseActivity activity) { if (activity != null) { queue.remove(activity); } } public static void finishAllActivities(Context context) { mListener = UDPMessageListener.getInstance(context); mListener.notifyOffline(); mListener.stopUDPSocketThread(); mListener = null; for (BaseActivity activity : queue) { if (!activity.isFinishing()) { activity.finish(); } } queue.clear(); } public static int getActivitiesNum() { if (!queue.isEmpty()) { return queue.size(); } return 0; } public static BaseActivity getCurrentActivity() { if (!queue.isEmpty()) { return queue.lastElement(); } return null; } public static void initChatActivity(ChatActivity pActivity) { mChatActivity = pActivity; } public static void removeChatActivity() { mChatActivity = null; } public static ChatActivity getChatActivity() { return mChatActivity; } }