亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? contactlist.java.svn-base

?? 類似QQ的功能
?? SVN-BASE
?? 第 1 頁 / 共 4 頁
字號:
/******************************************************************************* Jimm - Mobile Messaging - J2ME ICQ clone Copyright (C) 2003-05  Jimm Project This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. ******************************************************************************** File: src/jimm/ContactList.java Version: ###VERSION###  Date: ###DATE### Author(s): Manuel Linsmayer, Andreas Rossbacher, Artyomov Denis *******************************************************************************/package jimm;import jimm.Jimm;import jimm.comm.Message;import jimm.comm.PlainMessage;import jimm.comm.SendMessageAction;import jimm.comm.Util;import jimm.comm.Icq;import jimm.util.ResourceBundle;import java.util.Hashtable;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.util.Enumeration;import java.util.Random;import java.util.Vector;import javax.microedition.lcdui.*;import javax.microedition.rms.RecordStore;import javax.microedition.rms.RecordStoreException;import javax.microedition.rms.RecordStoreNotFoundException;//#sijapp cond.if target!="DEFAULT"#import javax.microedition.media.*;import javax.microedition.media.control.*;//#sijapp cond.end#//#sijapp cond.if target is "RIM"#//import net.rim.device.api.system.Alert;//# import net.rim.device.api.system.LED;//#sijapp cond.end#import DrawControls.*;import jimm.Options;//////////////////////////////////////////////////////////////////////////////////public class ContactList implements CommandListener, VirtualTreeCommands,		VirtualListCommands, JimmScreen//#sijapp cond.if target!="DEFAULT"#		, PlayerListener//#sijapp cond.end#{	/* Status (all are mutual exclusive) TODO: move status to ContactItem */	public static final int STATUS_EVIL = 0x00003000;	public static final int STATUS_DEPRESSION = 0x00004000;	public static final int STATUS_HOME = 0x00005000;	public static final int STATUS_WORK = 0x00006000;	public static final int STATUS_LUNCH = 0x00002001;	public static final int STATUS_AWAY = 0x00000001;	public static final int STATUS_CHAT = 0x00000020;	public static final int STATUS_DND = 0x00000002;	public static final int STATUS_INVISIBLE = 0x00000100;	public static final int STATUS_INVIS_ALL = 0x00000200;	public static final int STATUS_NA = 0x00000004;	public static final int STATUS_OCCUPIED = 0x00000010;	public static final int STATUS_OFFLINE = 0xFFFFFFFF;	public static final int STATUS_NONE = 0x10000000;	public static final int STATUS_ONLINE = 0x00000000;	/* Sound notification typs */	public static final int SOUND_TYPE_MESSAGE = 1;	public static final int SOUND_TYPE_ONLINE = 2;	public static final int SOUND_TYPE_TYPING = 3;		private static long lastLoginTime;	private static boolean needPlayMessNotif = false;	//#sijapp cond.if target!="DEFAULT"#	public static boolean playerFree = true;	private static long stopTime = StopTimeControl.RESET;//#sijapp cond.end#		private static ContactList _this;	/** ************************************************************************* */	/* Version id numbers */	static private int ssiListLastChangeTime = -1;	static private int ssiNumberOfItems = 0;	/* Update help variable */	private static boolean haveToBeCleared;	/* Contact items */	private static Vector cItems;	/* Group items */	private static Vector gItems;	private static boolean treeBuilt = false, treeSorted = false;	/* Contains tree nodes by groip ids */	private static Hashtable gNodes = new Hashtable();	/* Tree object */	private static VirtualTree tree;	/* Images for icons */	final public static ImageList cliImages = new ImageList();	//	private static int onlineCounter;	private static boolean Params[] = new boolean[2];	/* Initializer */	static	{		try		{//#sijapp cond.if target="MIDP2" | target="SIEMENS2"#				cliImages.setScale(Options.getInt(Options.OPTION_IMG_SCALE));//#sijapp cond.end#			cliImages.load("/clicons.png", -1, -1, -1, Jimm.getPhoneVendor() == Jimm.PHONE_NOKIA);		} 		catch (Exception e) 		{			e.printStackTrace();		}	}	/* Constructor */	public ContactList()	{		_this = this;		try		{			load();		} catch (Exception e)		{			haveToBeCleared = false;			cItems = new Vector();			gItems = new Vector();		}		//#sijapp cond.if modules_ANTISPAM="true"#				antiSpamLoadList();//#sijapp cond.end#		tree = new VirtualTree(null, false);		tree.setVTCommands(this);		tree.setVLCommands(this);		tree.setCyclingCursor(true);		tree.setFontSize(			  (JimmUI.statusOnlineImg != null & JimmUI.statusOnlineImg.getHeight() < 16) 			? VirtualList.SMALL_FONT			: VirtualList.MEDIUM_FONT);		tree.setStepSize(0);		//#sijapp cond.if modules_TRAFFIC is "true" #		updateTitle(Traffic.getSessionTraffic());		//#sijapp cond.else #		//#        updateTitle(0);		//#sijapp cond.end#		tree.setCommandListener(this);	}		/* *********************************************************** */	final static public int SORT_BY_NAME = 1;	final static public int SORT_BY_STATUS = 0;	static private int sortType;	public int vtCompareNodes(TreeNode node1, TreeNode node2)	{		Object obj1 = node1.getData();		Object obj2 = node2.getData();		ContactListItem item1 = (ContactListItem) obj1;		ContactListItem item2 = (ContactListItem) obj2;		int result = 0;		switch (sortType)		{		case SORT_BY_NAME:			result = item1.getSortText().compareTo(item2.getSortText());			break;		case SORT_BY_STATUS:			int weight1 = item1.getSortWeight();			int weight2 = item2.getSortWeight();			if (weight1 == weight2)				result = item1.getSortText().compareTo(item2.getSortText());			else				result = (weight1 < weight2) ? -1 : 1;			break;		}		return result;	}	/* *********************************************************** */		static void resetLoginTimer()	{		lastLoginTime = System.currentTimeMillis();	}		/* Returns reference to tree */	static public VirtualList getVisibleContactListRef()	{		return tree;	}	/* Returns the id number #1 which identifies (together with id number #2)	 the saved contact list version */	static public int getSsiListLastChangeTime()	{		return ssiListLastChangeTime;	}	/* Returns the id number #2 which identifies (together with id number #1)	 the saved contact list version */	static public int getSsiNumberOfItems()	{		return (ssiNumberOfItems);	}	// Returns number of contact items	static public int getSize()	{		return cItems.size();	}	static private ContactItem getCItem(int index)	{		return (ContactItem) cItems.elementAt(index);	}	// Returns all contact items as array	static public synchronized ContactItem[] getContactItems()	{		ContactItem[] cItems_ = new ContactItem[cItems				.size()];		ContactList.cItems.copyInto(cItems_);		return (cItems_);	}	// Returns all group items as array	static public ContactListGroupItem[] getGroupItems()	{		synchronized (_this)		{			ContactListGroupItem[] gItems_ = new ContactListGroupItem[gItems.size()];			ContactList.gItems.copyInto(gItems_);			return (gItems_);		}	}		static public void showStatusInCaption(int status, int xStatus)	{		StatusInfo statInfo = JimmUI.findStatus(StatusInfo.TYPE_STATUS, status == -1 ? Icq.getCurrentStatus() : status);		StatusInfo xStatInfo = JimmUI.findStatus(StatusInfo.TYPE_X_STATUS, xStatus == -1 ? Options.getInt(Options.OPTION_XSTATUS) : xStatus);				tree.setCapImage(new Image[] {			statInfo != null ? statInfo.getImage() : null,			xStatInfo != null ? xStatInfo.getImage() : null		});	}		public void activate()	{		ContactList.activateList();	}		public boolean isScreenActive()	{		return tree.isActive();	}		// Request display of the given alert and the main menu afterwards	static public void activateList(Alert alert)	{		ContactList.tree.activate(Jimm.display, alert);	}	// Request display of the main menu	static public void activateList()	{		Params[0] = Options.getBoolean(Options.OPTION_CL_CLIENTS);		Params[1] = Options.getBoolean(Options.OPTION_XSTATUSES);		showStatusInCaption(-1, -1);				//#sijapp cond.if modules_TRAFFIC is "true" #		updateTitle(Traffic.getSessionTraffic());		//#sijapp cond.else #		updateTitle(0);		//#sijapp cond.end#				// show contact list		tree.lock();		buildTree();		sortAll();		tree.unlock();				JimmUI.setColorScheme(tree, true, -1, true);		tree.removeAllCommands();				tree.addCommandEx(JimmUI.cmdSelect, VirtualList.MENU_TYPE_RIGHT_BAR);		tree.addCommandEx(JimmUI.cmdMenu, VirtualList.MENU_TYPE_LEFT_BAR);				ContactList.tree.activate(Jimm.display);		JimmUI.setLastScreen(_this, true);		//#sijapp cond.if target isnot "DEFAULT" #		if (needPlayMessNotif)		{			needPlayMessNotif = false;			playSoundNotification(SOUND_TYPE_MESSAGE);		}		//#sijapp cond.end#			}	// is called by options form when options changed	static public void optionsChanged(boolean needToRebuildTree,			boolean needToSortContacts)	{		if (needToRebuildTree) treeBuilt = false;		if (needToSortContacts) treeSorted = false;	}	// Tries to load contact list from record store	static private void load() throws Exception, IOException, RecordStoreException	{		// Initialize vectors		ContactList.cItems = new Vector();		ContactList.gItems = new Vector();		// Check whether record store exists		String[] recordStores = RecordStore.listRecordStores();		boolean exist = false;		for (int i = 0; i < recordStores.length; i++)		{			if (recordStores[i].equals("contactlist"))			{				exist = true;				break;			}		}		if (!exist)			throw (new Exception());		// Open record store		RecordStore cl = RecordStore.openRecordStore("contactlist", false);		try		{			// Temporary variables			byte[] buf;			ByteArrayInputStream bais;			DataInputStream dis;			// Get version info from record store			buf = cl.getRecord(1);			bais = new ByteArrayInputStream(buf);			dis = new DataInputStream(bais);			if (!(dis.readUTF().equals(Jimm.VERSION)))				throw (new IOException());			// Get version ids from the record store			buf = cl.getRecord(2);			bais = new ByteArrayInputStream(buf);			dis = new DataInputStream(bais);			ssiListLastChangeTime = dis.readInt();			ssiNumberOfItems = dis.readUnsignedShort();			// Read all remaining items from the record store			int marker = 3;			//#sijapp cond.if modules_DEBUGLOG is "true"#			System.gc();			long mem = Runtime.getRuntime().freeMemory();			//#sijapp cond.end#			byte type;			while (marker <= cl.getNumRecords())			{				// Get type of the next item				buf = cl.getRecord(marker++);				bais = new ByteArrayInputStream(buf);				dis = new DataInputStream(bais);				// Loop until no more items are available				//int load = 0;				while (dis.available() > 0)				{					// Get item type					type = dis.readByte();					// Normal contact					if (type == 0)					{						// Instantiate ContactItem object and add to vector						ContactItem ci = new ContactItem();						ci.loadFromStream(dis);						ContactList.cItems.addElement(ci);					}					// Group of contacts					else if (type == 1)					{						// Instantiate ContactListGroupItem object and add to vector						ContactListGroupItem gi = new ContactListGroupItem();						gi.loadFromStream(dis);						ContactList.gItems.addElement(gi);					}				}			}			//#sijapp cond.if modules_DEBUGLOG is "true"#			buf = null;			dis = null;			bais = null;			System.gc();			System.out.println("\n clload mem used: "					+ (mem - Runtime.getRuntime().freeMemory()));			//#sijapp cond.end#		} finally		{			// Close record store			cl.closeRecordStore();		}	}	// Save contact list to record store	static protected void save() throws IOException, RecordStoreException	{		// Try to delete the record store		try		{			RecordStore.deleteRecordStore("contactlist");		} catch (RecordStoreNotFoundException e)		{			// Do nothing		}		// Create new record store

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡在线视频中文字幕| 日韩—二三区免费观看av| 日韩欧美亚洲国产另类| 在线观看91av| 欧美一级黄色录像| 精品三级在线观看| 久久久久久久久伊人| 久久在线观看免费| 国产人成亚洲第一网站在线播放| 欧美精品一区二区高清在线观看 | 日av在线不卡| 日本不卡视频在线观看| 久久 天天综合| 国产成人av一区二区三区在线观看| 国产成人三级在线观看| 成人av免费在线播放| 91福利区一区二区三区| 欧美绝品在线观看成人午夜影视| 日韩一区二区在线免费观看| 久久久久久久综合色一本| 亚洲欧洲日产国码二区| 一区二区三区免费看视频| 日韩av中文字幕一区二区三区| 精品一区二区三区在线视频| 成人黄页毛片网站| 欧美日韩一区二区三区在线| 精品久久久久久久人人人人传媒 | 免费精品视频在线| 国产999精品久久久久久绿帽| 日本电影亚洲天堂一区| 日韩视频在线你懂得| 国产精品国产三级国产aⅴ入口| 亚洲一区视频在线| 国产馆精品极品| 在线观看成人小视频| 久久久蜜桃精品| 亚洲一区影音先锋| 懂色av中文一区二区三区 | 国产一区二区三区国产| 99视频精品在线| 3751色影院一区二区三区| 国产欧美在线观看一区| 秋霞午夜鲁丝一区二区老狼| 久久国产精品无码网站| 色系网站成人免费| 国产午夜精品久久久久久久| 香港成人在线视频| 91在线观看地址| 国产婷婷色一区二区三区四区| 亚洲制服欧美中文字幕中文字幕| 国产成人在线影院| 91精品国产综合久久福利| 亚洲日韩欧美一区二区在线| 国产精品中文有码| 日韩一区二区三免费高清| 亚洲综合在线第一页| 99免费精品在线| 国产日韩精品一区二区浪潮av | 久久久久久久性| 一区二区三区在线视频播放| 国产91精品久久久久久久网曝门| 欧美一区二区三区四区久久 | 欧美一区二区三区系列电影| 一区二区三区在线观看国产| 成人黄色网址在线观看| 久久综合九色综合97婷婷女人| 日韩av不卡一区二区| 欧美日韩一区 二区 三区 久久精品| 国产精品剧情在线亚洲| 国产成人综合在线| 久久综合精品国产一区二区三区 | 国产天堂亚洲国产碰碰| 老司机免费视频一区二区| 日韩亚洲欧美在线| 免费久久99精品国产| 91精品国产综合久久小美女 | 精品国产区一区| 免费三级欧美电影| 51精品国自产在线| 青草av.久久免费一区| 日韩一区二区电影在线| 久久国产精品99精品国产| 精品国产人成亚洲区| 国产精品1区二区.| 亚洲视频资源在线| 欧美综合视频在线观看| 亚洲成人一区二区| 日韩视频在线你懂得| 国产精品18久久久久久久久久久久| 久久久久亚洲蜜桃| 91免费在线看| 日韩专区中文字幕一区二区| 欧美www视频| 成人激情视频网站| 亚洲精品成人少妇| 91精品免费观看| 国产伦精品一区二区三区视频青涩| 国产欧美一区二区精品忘忧草 | 一区二区三区四区在线| 欧美伦理电影网| 国产盗摄精品一区二区三区在线| 中文字幕中文乱码欧美一区二区| 欧美视频一区二区在线观看| 秋霞午夜av一区二区三区| 欧美激情在线一区二区| 欧美视频你懂的| 国产另类ts人妖一区二区| 有坂深雪av一区二区精品| 欧美大度的电影原声| 91天堂素人约啪| 麻豆91在线观看| 亚洲视频网在线直播| 欧美一级片在线观看| 成人h精品动漫一区二区三区| 亚洲综合免费观看高清完整版 | 五月婷婷综合在线| 久久奇米777| 欧美肥妇毛茸茸| 波多野结衣中文字幕一区二区三区| 午夜精品在线视频一区| 国产精品伦一区| 日韩免费观看高清完整版| 91网站在线观看视频| 免费不卡在线视频| 亚洲色图在线视频| 欧美一级在线视频| 国产不卡一区视频| 视频一区视频二区中文字幕| 国产精品无遮挡| 久久久久亚洲蜜桃| 精品乱码亚洲一区二区不卡| 国产成人自拍高清视频在线免费播放| 亚洲欧美另类综合偷拍| 日韩一本二本av| 日韩欧美一二三区| 欧美精品v国产精品v日韩精品| 99热精品国产| 成人免费视频视频在线观看免费 | 国产日韩成人精品| 精品国产露脸精彩对白| 日韩午夜电影av| 日韩三级在线观看| 欧美精品1区2区3区| 欧美午夜精品一区二区蜜桃| 91亚洲午夜精品久久久久久| va亚洲va日韩不卡在线观看| 东方aⅴ免费观看久久av| 国产一区二区在线看| 国内精品自线一区二区三区视频| 麻豆精品新av中文字幕| 日韩成人免费电影| 免费看欧美女人艹b| 美女视频黄a大片欧美| 美洲天堂一区二卡三卡四卡视频| 亚洲成av人片观看| 丝瓜av网站精品一区二区| 日韩av在线发布| 久热成人在线视频| 久久99久久久久久久久久久| 美腿丝袜亚洲色图| 久久99九九99精品| 国产高清在线观看免费不卡| 丁香网亚洲国际| 99国产精品99久久久久久| 在线一区二区三区四区五区| 欧美精品自拍偷拍动漫精品| 日韩欧美在线影院| 国产欧美一区二区精品性色超碰 | 欧美日韩亚洲综合| 91精品国产综合久久久久久漫画| 91精品国产欧美一区二区18| 日韩美女在线视频| 国产精品久久久久久妇女6080 | 色综合久久久久综合| 欧美性色综合网| 精品久久一二三区| 亚洲视频中文字幕| 麻豆久久久久久久| 国产成人精品亚洲日本在线桃色 | 欧美日韩情趣电影| 精品理论电影在线观看 | 欧美日韩大陆在线| 日韩午夜在线影院| 亚洲国产激情av| 视频在线观看一区二区三区| 国产白丝精品91爽爽久久| 色婷婷综合久久久中文一区二区| 91精品国模一区二区三区| 国产精品久久久久久久久免费樱桃| 伊人色综合久久天天人手人婷| 裸体一区二区三区| av电影天堂一区二区在线观看| 欧美日韩高清影院| 国产精品国产自产拍高清av| 青青草国产成人av片免费| 成人av网在线| 久久综合九色综合97_久久久| 一区二区三区四区不卡视频| 国产资源精品在线观看| 欧美日韩一二三|