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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mainthread.java.svn-base

?? 類似QQ的功能
?? SVN-BASE
字號(hào):
/******************************************************************************* Jimm - Mobile Messaging - J2ME ICQ clone Copyright (C) 2005-08  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/RunnableImpl.java Version: ###VERSION###  Date: ###DATE### Author(s): Artyomov Denis *******************************************************************************/package jimm;import java.util.Vector;import javax.microedition.lcdui.*;import DrawControls.VirtualList;import jimm.comm.Message;import jimm.comm.Util;import jimm.ContactItem;public class MainThread implements Runnable{	private static Vector mainThreadTasks = new Vector();	private static MainThread _this;	final static private int TYPE_ADD_MSG             = 1;	final static private int TYPE_USER_OFFLINE        = 4;	final static private int TYPE_UPDATE_CONTACT_LIST = 5;	final static private int TYPE_SHOW_USER_INFO      = 6;	final static private int TYPE_UPDATE_CL_CAPTION   = 7;	final static private int TYPE_USER_IS_TYPING      = 9;	final static private int TYPE_RESET_CONTACTS      = 10;	final static private int TYPE_SHOW_TIME           = 11;	final static private int TYPE_ADD_CONTACT         = 12;	final static private int TYPE_MINUTE_TASK         = 14;	final static private int TYPE_MESS_DELIVERED      = 15;	final static private int TYPE_SHOW_LAST_VESR      = 17;	final static private int TYPE_SHOW_STATUS_STR     = 18;	final static private int TYPE_BACK_TO_LAST_SCR    = 19;	final static private int TYPE_ACTIVATE_CL         = 20;	final static private int TYPE_ACTIVATE_MM         = 21;	final static private int TYPE_RESET_LOGIN_TIMER   = 22;//#sijapp cond.if target!="DEFAULT" & modules_AVATARS="true"#
	final static public int TYPE_UPDATE_BUDDYICON    = 24;//  #sijapp cond.end#	MainThread()	{		_this = this;	}		private static void addMainThreadTask(int taskId, Object[] data)	{		int dataLen = (data != null) ? data.length : 0;		Object[] packed = new Object[dataLen+1];		packed[0] = new Integer(taskId);		if (dataLen != 0) System.arraycopy(data, 0, packed, 1, data.length);		synchronized (mainThreadTasks) { mainThreadTasks.addElement(packed); }		Jimm.display.callSerially(_this);	}		/* Method run contains operations which have to be synchronized	 with main events queue (in main thread)	 If you want your code run in main thread, make new constant 	 beginning of TYPE_ and write your source to switch block of 	 RunnableImpl.run method.	 To run you source call RunnableImpl.callSerially()	 Note RunnableImpl.callSerially NEVER blocks calling thread */		public void run()	{		Object[][] tasksArray;				synchronized (mainThreadTasks)		{			tasksArray = new Object[mainThreadTasks.size()][];			mainThreadTasks.copyInto(tasksArray);			mainThreadTasks.removeAllElements();		}				for (int i = 0; i < tasksArray.length; i++)		{			Object[] task = tasksArray[i];			int mode = ((Integer)task[0]).intValue();			Object[] taskData = new Object[task.length-1];			System.arraycopy(task, 1, taskData, 0, taskData.length);			try			{				execureTask(mode, taskData);			}			catch (Exception e)			{				e.printStackTrace();			}		}	}		private static void execureTask(int type, Object[] data)	{		switch (type)		{//#sijapp cond.if target isnot "DEFAULT"#		case TYPE_USER_IS_TYPING:			ContactList.BeginTyping((String) data[0], getBoolean(data, 1));			break;//#sijapp cond.end#		case TYPE_ADD_MSG:			boolean isChecked = ContactList.addMessage((Message) data[0]);//#sijapp cond.if target isnot "DEFAULT"#			if (isChecked) {				int vibraKind = Options.getInt(Options.OPTION_VIBRATOR);				if (vibraKind == 2) {					vibraKind = SplashCanvas.locked() ? 1 : 0;				}				if (vibraKind > 0) {					Jimm.display.vibrate(500);				}			}//#sijapp cond.end#						break;		case TYPE_USER_OFFLINE:			ContactList.update((String) data[0], ContactList.STATUS_OFFLINE);			break;		case TYPE_SHOW_USER_INFO:			JimmUI.showUserInfo((String[]) data[0]);			break;		case TYPE_UPDATE_CL_CAPTION:			//#sijapp cond.if modules_TRAFFIC="true"#			ContactList.updateTitle(Traffic.getSessionTraffic());			//#sijapp cond.else#			//#			ContactList.updateTitle(0);			//#sijapp cond.end#			break;		case TYPE_UPDATE_CONTACT_LIST:			ContactList.update((String) data[0], getInt(data, 1), getInt(data, 2), (String) data[3],					(byte[]) data[4], (byte[]) data[5], getInt(data, 6),					getInt(data, 7), getInt(data, 8), getInt(data, 9), getInt(							data, 10), getInt(data, 11), getInt(data, 12), getInt(data, 13)							//#sijapp cond.if target!="DEFAULT" & modules_AVATARS="true"#
							,(byte[]) data[14]							//  #sijapp cond.end#			);			break;		//#sijapp cond.if target!="DEFAULT" & modules_AVATARS="true"#
		case TYPE_UPDATE_BUDDYICON:			ContactList.update((String) data[0], (Image) data[1], (byte[]) data[2]);			break;		//  #sijapp cond.end#		case TYPE_RESET_CONTACTS:			ContactList.setStatusesOffline();			break;					case TYPE_SHOW_TIME:			VirtualList.setBottomText((String)data[0]);			break;					case TYPE_ADD_CONTACT:			ContactItem citem = (ContactItem)data[0];			ContactList.addContactItem(citem);			ChatHistory.updateChatIfExists(citem);			break;					case TYPE_MINUTE_TASK:			Jimm.aaNextMinute();			break;					case TYPE_MESS_DELIVERED:			ChatHistory.messageIsDelivered((String)data[0], getInt(data, 1));			break;					case TYPE_SHOW_LAST_VESR:			JimmUI.internalShowLastVers();			break;					case TYPE_SHOW_STATUS_STR:			JimmUI.showStatusMessage((String)data[0], (String)data[1]);			break;					case TYPE_BACK_TO_LAST_SCR:			JimmUI.backToLastScreen();			break;					case TYPE_ACTIVATE_CL:			Alert alert = (Alert)data[0];			if (alert == null) ContactList.activateList();			else ContactList.activateList(alert);			break;					case TYPE_ACTIVATE_MM:			MainMenu.activate((Alert)data[0]);			break;					case TYPE_RESET_LOGIN_TIMER:			ContactList.resetLoginTimer();			break;		}	}	static public void addMainThreadTask(int type, Object obj1)	{		addMainThreadTask(type, new Object[] { obj1 });	}	static public void addMainThreadTask(int type)	{		addMainThreadTask(type, null);	}	static public void addMainThreadTask(int type, Object obj1, Object obj2)	{		addMainThreadTask(type, new Object[] { obj1, obj2 });	}	///////////////////////////////////////////////////////////////////////////	static public void updateContactListCaption()	{		if (ContactList.getVisibleContactListRef().isActive())			addMainThreadTask(TYPE_UPDATE_CL_CAPTION);	}	static public void addMessageSerially(Object message)	{		addMainThreadTask(TYPE_ADD_MSG, message);//#sijapp cond.if target is "MIDP2"#		if (Options.getBoolean(Options.OPTION_BRING_UP)) Jimm.setMinimized(false);//#sijapp cond.end #	}	static public void updateContactList(String uin, int status, int xStatus, String xStatusMessage,			byte[] internalIP, byte[] externalIP, int dcPort, int dcType,			int icqProt, int authCookie, int signon, int online, int idle, int regdate//#sijapp cond.if target!="DEFAULT" & modules_AVATARS="true"#
			, byte[] biHash//#sijapp cond.end#	)	{		Object[] arguments;//#sijapp cond.if target!="DEFAULT" & modules_AVATARS="true"#
		arguments = new Object[16];//#sijapp cond.else#		arguments = new Object[15];//#sijapp cond.end#		arguments[0] = uin;		setInt(arguments, 1, status);		setInt(arguments, 2, xStatus);		arguments[3] = xStatusMessage;		arguments[4] = internalIP;		arguments[5] = externalIP;		setInt(arguments, 6, dcPort);		setInt(arguments, 7, dcType);		setInt(arguments, 8, icqProt);		setInt(arguments, 9, authCookie);		setInt(arguments, 10, signon);		setInt(arguments, 11, online);		setInt(arguments, 12, idle);		setInt(arguments, 13, regdate);
		//#sijapp cond.if target!="DEFAULT" & modules_AVATARS="true"#
		arguments[14] = biHash;		//#sijapp cond.end#		addMainThreadTask(TYPE_UPDATE_CONTACT_LIST, arguments);	}	//#sijapp cond.if target!="DEFAULT" & modules_AVATARS="true"#
	static public void updateBuddyIcon(String uin, Image image, byte[] biHashOfDone)	{		Object[] arguments = new Object[3];		arguments[0] = uin;		arguments[1] = image;		arguments[2] = biHashOfDone;		addMainThreadTask(TYPE_UPDATE_BUDDYICON, arguments);	}	//#sijapp cond.end#	//#sijapp cond.if target isnot "DEFAULT"#	static public void BeginTyping(String uin, boolean type)	{		Object[] args = new Object[2];		args[0] = uin;		setBoolean(args, 1, type);		addMainThreadTask(TYPE_USER_IS_TYPING, args);	}	//#sijapp cond.end#	static public void resetContactsOffline()	{		addMainThreadTask(TYPE_RESET_CONTACTS);	}		static public void showTime()	{		addMainThreadTask(TYPE_SHOW_TIME, Util.getDateString(true));	}		static public void addContact(ContactItem cItem)	{		addMainThreadTask(TYPE_ADD_CONTACT, cItem);	}		static public void minuteTask()	{		addMainThreadTask(TYPE_MINUTE_TASK);	}		static public void messageIsDelevered(String uin, int messId)	{		addMainThreadTask(TYPE_MESS_DELIVERED, uin, new Integer(messId));	}		static public void showLastJimmVers()	{		addMainThreadTask(TYPE_SHOW_LAST_VESR);	}		static public void showStatusString(String text, String uin)	{		addMainThreadTask(TYPE_SHOW_STATUS_STR, text, uin);	}		static public void backToLastScreenMT()	{		addMainThreadTask(TYPE_BACK_TO_LAST_SCR);	}		static public void activateContactListMT(Alert alert)	{		addMainThreadTask(TYPE_ACTIVATE_CL, alert);	}		static public void activateMainMenu(Alert alert)	{		addMainThreadTask(TYPE_ACTIVATE_MM, alert);	}		static public void resetLoginTimer()	{		addMainThreadTask(TYPE_RESET_LOGIN_TIMER);	}		static public void showUserInfo(String[] strData)	{		addMainThreadTask(TYPE_SHOW_USER_INFO, (Object)strData);	}		static public void userOffline(String uin)	{		addMainThreadTask(TYPE_USER_OFFLINE, uin);	}	///////////////////////////////////////////////////////////////////////////	///////////////////////////////////////////////////////////////////////////	///////////////////////////////////////////////////////////////////////////	static public void setBoolean(Object[] data, int index, boolean value)	{		data[index] = new Boolean(value);	}	static public boolean getBoolean(Object[] data, int index)	{		return (data[index] == null) ? false : ((Boolean) data[index])				.booleanValue();	}	static public void setLong(Object[] data, int index, long value)	{		data[index] = new Long(value);	}	static public long getLong(Object[] data, int index)	{		return (data[index] == null) ? 0 : ((Long) data[index]).longValue();	}	static public void setInt(Object[] data, int index, int value)	{		data[index] = new Integer(value);	}	static public int getInt(Object[] data, int index)	{		return (data[index] == null) ? 0 : ((Integer) data[index]).intValue();	}}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久色婷婷小香蕉久久| 天堂久久久久va久久久久| 欧日韩精品视频| 国内精品写真在线观看| 夜色激情一区二区| 国产日产欧美精品一区二区三区| 欧美视频日韩视频在线观看| 国产精品主播直播| 日韩精品一二三四| 亚洲三级电影网站| 国产精品不卡一区| 久久久精品国产免大香伊| 欧美日韩免费视频| 欧洲精品中文字幕| 在线精品亚洲一区二区不卡| 97se狠狠狠综合亚洲狠狠| 韩国av一区二区三区四区| 日韩电影免费在线看| 亚洲v精品v日韩v欧美v专区| 亚洲国产精品自拍| 亚洲一区二区三区国产| 亚洲综合久久久久| 国产精品麻豆99久久久久久| 在线观看中文字幕不卡| 91小视频在线| 欧美日韩一级黄| 欧美日韩国产首页| 91久久精品一区二区三| 99久久综合国产精品| 日本成人在线视频网站| 中文字幕不卡在线| 中文字幕一区二区三区色视频 | 亚洲男女一区二区三区| 国产精品视频一二| 亚洲品质自拍视频| 婷婷夜色潮精品综合在线| 免费av网站大全久久| 国产揄拍国内精品对白| 高潮精品一区videoshd| 99精品欧美一区二区三区小说 | 精品少妇一区二区三区 | 色哟哟一区二区| 91 com成人网| 国产欧美一二三区| 亚洲午夜一二三区视频| 久久爱另类一区二区小说| 成人小视频在线观看| 欧美性感一区二区三区| 精品福利在线导航| 悠悠色在线精品| 免费不卡在线视频| 欧洲一区二区三区免费视频| 精品国产在天天线2019| 亚洲最色的网站| 蜜桃传媒麻豆第一区在线观看| 一区二区三区四区五区视频在线观看| 免费成人深夜小野草| 91视频www| 欧美国产精品一区二区| 麻豆国产精品官网| 欧美日韩精品二区第二页| 国产精品免费丝袜| 国产综合一区二区| 日韩精品一区二区在线| 亚洲综合色婷婷| 国产精品一区二区黑丝| 91丝袜美腿高跟国产极品老师 | 欧美v日韩v国产v| 婷婷成人激情在线网| 色综合中文字幕国产 | 久久婷婷一区二区三区| 日本视频免费一区| 欧美精品色一区二区三区| 性久久久久久久| 欧美美女网站色| 日韩二区在线观看| 精品国产一区二区三区不卡| 日韩免费电影一区| 成人久久18免费网站麻豆| 精品少妇一区二区三区视频免付费| 成人夜色视频网站在线观看| 日韩精品最新网址| xvideos.蜜桃一区二区| 精品制服美女丁香| 午夜精品久久久久影视| 最新不卡av在线| 国产欧美日韩激情| 欧美成人精品福利| 91精品麻豆日日躁夜夜躁| jlzzjlzz亚洲日本少妇| 国产乱妇无码大片在线观看| 亚洲综合丝袜美腿| 亚洲欧洲精品天堂一级| 日韩一区二区免费高清| 69堂成人精品免费视频| 99久久99久久精品国产片果冻| 国内外成人在线| 精品亚洲成a人在线观看| 视频一区二区国产| 日韩国产精品91| 免费观看日韩av| 久久99精品国产.久久久久久| 一区二区视频在线| 国产精品久久精品日日| 久久久99精品免费观看| 中文字幕不卡在线| 中文一区二区在线观看| 综合分类小说区另类春色亚洲小说欧美| 国产喷白浆一区二区三区| 欧美精品一区二区精品网| 欧美大片顶级少妇| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 久久久久久毛片| 中文字幕在线观看一区| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲欧美国产毛片在线| 亚洲综合无码一区二区| 青青青爽久久午夜综合久久午夜| 久久国产精品99精品国产| 日本午夜一区二区| 国产成人精品亚洲日本在线桃色| 91丨porny丨户外露出| 欧美日韩一级二级三级| 精品嫩草影院久久| 国产午夜亚洲精品不卡| 一区二区三区中文在线观看| 亚洲免费观看高清完整版在线观看| 中文字幕一区日韩精品欧美| 亚洲图片有声小说| 成人黄色小视频在线观看| 欧美人伦禁忌dvd放荡欲情| 久久综合国产精品| 亚洲精品视频观看| 国产麻豆91精品| 欧美三区在线视频| 欧美一级国产精品| 亚洲国产精品成人综合色在线婷婷| 国产精品蜜臀av| 性欧美大战久久久久久久久| 不卡一区中文字幕| 欧美变态tickling挠脚心| 一区二区三区四区精品在线视频 | 亚洲乱码国产乱码精品精98午夜 | 亚洲日本一区二区三区| 国内精品嫩模私拍在线| 欧美久久一二三四区| 久久一二三国产| 久久99精品久久久| 欧美一激情一区二区三区| 亚洲成av人片一区二区梦乃| 97se亚洲国产综合在线| 国产精品网站在线播放| 国产精品一品二品| 久久综合久久综合久久综合| 日本欧美在线观看| 欧洲一区在线电影| 亚洲精品精品亚洲| 成人深夜福利app| 国产精品蜜臀av| 国产乱妇无码大片在线观看| 久久综合久久综合亚洲| 国产不卡高清在线观看视频| 国产亚洲精品精华液| 国内精品免费**视频| 久久久久综合网| youjizz久久| 国产欧美精品国产国产专区| 粉嫩aⅴ一区二区三区四区| 国产精品久久久久久久岛一牛影视 | 日韩美女精品在线| 欧美日韩一区三区四区| 亚洲gay无套男同| 精品国一区二区三区| 经典三级一区二区| 中文字幕日韩欧美一区二区三区| jlzzjlzz亚洲日本少妇| 亚洲成国产人片在线观看| 欧美一区二区人人喊爽| 国产一区二区三区免费在线观看| 欧美激情一二三区| 91尤物视频在线观看| 美女视频一区二区三区| 国产精品毛片大码女人| 在线不卡欧美精品一区二区三区| 久久99国产精品久久| 亚洲男帅同性gay1069| 精品国产免费久久| 一本一道综合狠狠老| 麻豆国产精品一区二区三区| 亚洲视频一二区| 亚洲精品一区二区三区四区高清 | 国产精品亚洲第一| 午夜精品久久一牛影视| 国产精品国产三级国产aⅴ入口| 欧美少妇性性性| 91在线码无精品| 波多野结衣一区二区三区| 麻豆精品视频在线观看免费| 国产日韩欧美激情| 精品免费一区二区三区|