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

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

?? searchaction.java.svn-base

?? 類似QQ的功能
?? SVN-BASE
字號:
/******************************************************************************* Jimm - Mobile Messaging - J2ME ICQ clone Copyright (C) 2003-04  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/comm/SearchAction.java Version: ###VERSION###  Date: ###DATE### Author(s): Andreas Rossbacher *******************************************************************************/package jimm.comm;import jimm.JimmException;import jimm.Options;import jimm.Search;import java.io.ByteArrayOutputStream;public class SearchAction extends Action{	// States of search mission	public static final int STATE_ERROR = -1;	public static final int STATE_UIN_SEARCH_SENT = 1;	public static final int STATE_EMAIL_SEARCH_SENT = 2;	public static final int STATE_WHITEPAGES_SEARCH_SENT = 3;	public static final int STATE_FIRSTRESULT_RECEIVED = 4;	public static final int STATE_LASTRESULT_RECEIVED = 5;	public static final int STATE_SEARCH_FINISHED = 6;	public static final int STATE_SEARCH_CANCELED = 7;	// TLVs used in LE format	public static final int TLV_TYPE_UIN = 0x3601; // long (4 byte)	public static final int TLV_TYPE_NICK = 0x5401; // String (2 byte length + string)	public static final int TLV_TYPE_FIRSTNAME = 0x4001; // String (2 byte length + string)	public static final int TLV_TYPE_LASTNAME = 0x4A01; // String (2 byte length + string)	public static final int TLV_TYPE_EMAIL = 0x5E01; // String (2 byte length + string + 1 byte email code)	public static final int TLV_TYPE_CITY = 0x9001; // String (2 byte length + string)	public static final int TLV_TYPE_KEYWORD = 0x2602; // String (2 byte length + string)	public static final int TLV_TYPE_GENDER = 0x7C01; // UINT8 (1 byte: 1 - female, 2 - male)	public static final int TLV_TYPE_ONLYONLINE = 0x3002; // UINT8 (1 byte:  1 - search online, 0 - search all)	public static final int TLV_TYPE_AGE = 0x6801; // 	// Search action was called by	public static final int CALLED_BY_SEARCHUSER = 0;	public static final int CALLED_BY_ADDUSER = 1;	// Timeout	public static final int TIMEOUT = 60 * 1000; // milliseconds	/****************************************************************************/	// Action state	private int state;	// Search object as container for request and results	private String[] search;	private Search cont;	// Last activity	private long lastActivity = System.currentTimeMillis();	// "-", "18-22", "23-29", "30-39", "40-49", "50-59", ">60"	private final int[] ages =	{ 0, 99, 18, 22, 23, 29, 30, 39, 40, 49, 50, 59, 60, 99 };	public SearchAction(Search cont, String[] search, int _calledBy)	{		super(false, true);		this.search = search;		this.cont = cont;	}	// Init action	protected void init() throws JimmException	{		ByteArrayOutputStream buffer = new ByteArrayOutputStream();		for (int i = search.length - 1; i >= 0; i--)			if (search[i] == null)				search[i] = Options.emptyString;		Util.writeWord(buffer, 0x5f05, true);		// UIN		if (search[Search.UIN].length() != 0)		{			Util.writeWord(buffer, TLV_TYPE_UIN, true);			Util.writeWord(buffer, 0x0004, false);			Util					.writeDWord(buffer, Integer.parseInt(search[Search.UIN]),							false);		}		// NICK		if (search[Search.NICK].length() != 0)			Util.writeAsciizTLV(TLV_TYPE_NICK, buffer, search[Search.NICK]);		// First name		if (search[Search.FIRST_NAME].length() != 0)			Util.writeAsciizTLV(TLV_TYPE_FIRSTNAME, buffer,					search[Search.FIRST_NAME]);		// Last name		if (search[Search.LAST_NAME].length() != 0)			Util.writeAsciizTLV(TLV_TYPE_LASTNAME, buffer,					search[Search.LAST_NAME]);		// email		if (search[Search.EMAIL].length() != 0)			Util.writeAsciizTLV(TLV_TYPE_EMAIL, buffer, search[Search.EMAIL]);		// City		if (search[Search.CITY].length() != 0)			Util.writeAsciizTLV(TLV_TYPE_CITY, buffer, search[Search.CITY]);		// Keyword		if (search[Search.KEYWORD].length() != 0)			Util.writeAsciizTLV(TLV_TYPE_KEYWORD, buffer,					search[Search.KEYWORD]);		// Age (user enter age as "minAge-maxAge", "-maxAge", "minAge-" or "age")		int ageIndex = Util.strToIntDef(search[Search.AGE], 0);		if (ageIndex != 0)		{			Util.writeWord(buffer, 0x6801, true);			Util.writeWord(buffer, 4, false);			Util.writeWord(buffer, ages[2 * ageIndex], false);			Util.writeWord(buffer, ages[2 * ageIndex + 1], false);		}		// Gender		int gender = Util.strToIntDef(search[Search.GENDER], 0);		if (gender != 0)		{			Util.writeWord(buffer, TLV_TYPE_GENDER, true);			Util.writeWord(buffer, 1, false);			Util.writeByte(buffer, gender);		}		// Only online		Util.writeWord(buffer, TLV_TYPE_ONLYONLINE, true);		Util.writeWord(buffer, 1, false);		Util.writeByte(buffer, search[Search.ONLY_ONLINE].equals("1") ? 1 : 0);		ToIcqSrvPacket packet = new ToIcqSrvPacket(				SnacPacket.CLI_TOICQSRV_COMMAND, 0x0002, Options						.getString(Options.OPTION_UIN), 0x07D0, new byte[0],				buffer.toByteArray());		Icq.sendPacket(packet);		this.state = STATE_UIN_SEARCH_SENT;	}	// Forwards received packet, returns true if packet was consumed	protected synchronized boolean forward(Packet packet) throws JimmException	{		// Flag indicates whether packet has been consumed or not		boolean consumed = false;		if (this.state == STATE_UIN_SEARCH_SENT				|| this.state == STATE_FIRSTRESULT_RECEIVED)		{			// Watch out for SRV_FROMICQSRV packet type			if (packet instanceof FromIcqSrvPacket)			{				FromIcqSrvPacket fromIcqServerPacket = (FromIcqSrvPacket) packet;				int marker = 0;				byte[] data = fromIcqServerPacket.getData();				if (Util.getWord(data, marker) == 0xa401)					this.state = STATE_FIRSTRESULT_RECEIVED;				if (Util.getWord(data, marker) == 0xae01)					this.state = STATE_LASTRESULT_RECEIVED;				marker += 2;				if (Util.getByte(data, marker) == 0x0A)				{					// Get UIN					marker += 3;					long uin = Util.getDWord(data, marker, false);					// Get nick					marker += 4;					String[] strings = new String[4];					// Get the strings					// #0 Nick					// #1 Firstname					// #2 Lastname					// #3 EMail					for (int i = 0; i < 4; i++)					{						strings[i] = Util.byteArrayToString(data, marker + 2,								Util.getWord(data, marker, false));						marker += 2 + Util.getWord(data, marker, false);					}					// Get auth flag					String auth = (Util.getByte(data, marker) == 0) ? "1" : "0";					marker += 1;					// Get status					int status = Util.getWord(data, marker, false);					marker += 2;					// Get gender					String gender = Util.genderToString(Util.getByte(data,							marker));					marker += 1;					// Get age					int age = Util.getWord(data, marker, false);					cont.addResult(String.valueOf(uin), strings[0], strings[1]							+ " " + strings[2], strings[3], auth, status,							gender, age);					if (this.state == STATE_LASTRESULT_RECEIVED)					{						marker += 2;						/*long foundleft =*/ Util.getDWord(data, marker, false);						// System.out.println("foundleft: "+foundleft);						this.state = STATE_SEARCH_FINISHED;					}				} else				{					this.state = ConnectAction.STATE_ERROR;				}			}		}		// Update activity timestamp		this.lastActivity = System.currentTimeMillis();		return consumed;	}	public void onEvent(int eventTuype)	{		switch (eventTuype)		{		case ON_COMPLETE:			cont.getSearchForm().activate(Search.SearchForm.ACTIV_SHOW_RESULTS);			break;		case ON_ERROR:			if (this.state == STATE_FIRSTRESULT_RECEIVED)			{				JimmException.handleException(new JimmException(159, 0, true));			} else			{				cont.getSearchForm().activate(						Search.SearchForm.ACTIV_SHOW_NORESULTS);			}			break;		case ON_CANCEL:			cont.getSearchForm().activate(Search.SearchForm.ACTIV_JUST_SHOW);			state = STATE_SEARCH_CANCELED;			break;		}	}	// Returns true if the action is completed	public boolean isCompleted()	{		return (state == STATE_SEARCH_FINISHED)				|| (state == STATE_SEARCH_CANCELED);	}	// Returns true if an error has occured	public synchronized boolean isError()	{		return (state == ConnectAction.STATE_ERROR)				|| ((lastActivity + SearchAction.TIMEOUT) < System						.currentTimeMillis());	}}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
另类综合日韩欧美亚洲| 久久综合国产精品| 国产日韩v精品一区二区| 亚洲综合男人的天堂| 国产麻豆视频一区二区| 欧美色综合影院| 在线中文字幕不卡| 久久久午夜精品| 理论电影国产精品| 国产精品美女一区二区三区| 亚洲狠狠爱一区二区三区| 国产伦精品一区二区三区免费| 日韩不卡在线观看日韩不卡视频| 精品一区二区三区免费| 91浏览器打开| 中文字幕巨乱亚洲| 丰满亚洲少妇av| 国产女人水真多18毛片18精品视频 | 国产在线麻豆精品观看| 91精品国产手机| 精品一区二区三区香蕉蜜桃| 久久综合网色—综合色88| 青青草成人在线观看| 精品免费日韩av| 成人av网站在线| 午夜精品免费在线观看| 这里只有精品99re| 国产在线播放一区| 亚洲三级在线看| 精品理论电影在线观看| 国产成人免费9x9x人网站视频| 精品国产乱码久久久久久夜甘婷婷| 国产一区二区调教| 亚洲欧美日韩久久| 91精品国产手机| 成人国产视频在线观看| 日韩黄色免费电影| 国产精品伦理在线| 欧美成人性福生活免费看| 日本91福利区| 国产精品乱人伦| 日韩限制级电影在线观看| 粉嫩av一区二区三区在线播放 | 丝袜亚洲另类欧美| 91精品国产黑色紧身裤美女| 奇米888四色在线精品| 最近日韩中文字幕| 国产一本一道久久香蕉| 国产精品丝袜在线| 欧美一级国产精品| 99久久精品免费看| 国产一区二区三区美女| 一区二区三区在线观看视频| 久久综合色婷婷| 久久久另类综合| 国产视频一区二区三区在线观看| 精品国产91久久久久久久妲己| 欧美综合一区二区| 在线观看日韩精品| 51午夜精品国产| 精品欧美黑人一区二区三区| 精品国产乱码久久久久久浪潮| 久久综合一区二区| 国产欧美日韩视频在线观看| 国产欧美一二三区| 国产精品成人一区二区三区夜夜夜 | 毛片基地黄久久久久久天堂| 午夜欧美在线一二页| 一区二区成人在线视频| 一区二区三区**美女毛片| 亚洲激情男女视频| 久久99久久久久| 99国产欧美另类久久久精品| 精品一区二区免费视频| 亚洲成人免费av| 一区二区在线电影| 亚洲精品五月天| 一区二区三区中文免费| 亚洲精品五月天| 亚洲成人激情av| 免费三级欧美电影| 国产成人综合视频| 色悠久久久久综合欧美99| 欧美亚洲综合久久| 777a∨成人精品桃花网| 久久婷婷综合激情| 一区二区在线观看av| 一区二区高清视频在线观看| 久久精品国内一区二区三区| 高清成人免费视频| 国产精品综合视频| 91久久线看在观草草青青| 欧美丰满美乳xxx高潮www| 91精品国产日韩91久久久久久| 中文字幕日本乱码精品影院| 激情综合五月婷婷| 91麻豆精品国产91久久久久久| 国产精品久久久久一区| 久久精品人人做人人综合| 中文文精品字幕一区二区| 日韩精品国产精品| 91在线云播放| 国产日韩欧美精品在线| 婷婷开心久久网| 91久久人澡人人添人人爽欧美| 久久夜色精品国产噜噜av| 亚洲v日本v欧美v久久精品| www.亚洲免费av| 精品va天堂亚洲国产| 日韩中文字幕亚洲一区二区va在线| 成熟亚洲日本毛茸茸凸凹| 日韩亚洲欧美在线| 精品一区二区三区在线播放视频 | 一区二区三区久久久| 欧美无乱码久久久免费午夜一区 | 日韩欧美国产综合| 成人性生交大片免费看中文网站| 国产精品久久午夜| 日本乱人伦aⅴ精品| 日本不卡一二三| 久久婷婷色综合| 91色|porny| 日韩高清一区在线| 337p日本欧洲亚洲大胆精品| 欧美aaaaaa午夜精品| 欧美高清一级片在线| 天天做天天摸天天爽国产一区| 欧美自拍偷拍午夜视频| 亚洲国产欧美在线| 欧美理论在线播放| 久久er精品视频| 久久日韩粉嫩一区二区三区| 国产99精品国产| ㊣最新国产の精品bt伙计久久| 91日韩精品一区| 午夜精品久久久久久| 久久这里只有精品视频网| av电影在线观看不卡| 在线免费观看视频一区| 日韩电影在线免费| 国产精品进线69影院| 欧美mv和日韩mv的网站| 91美女视频网站| 久久精品99国产精品| 精品1区2区在线观看| 精品一区二区在线看| 中文字幕不卡三区| 色综合久久99| 日韩国产成人精品| 国产精品久久久久久亚洲毛片| 91激情在线视频| 久久精品国产精品亚洲综合| 国产欧美在线观看一区| 欧美优质美女网站| 国模冰冰炮一区二区| 亚洲日本丝袜连裤袜办公室| 欧美一级在线视频| 91在线观看成人| 精品亚洲porn| 亚洲国产一区二区在线播放| 国产视频一区不卡| 欧美精品久久99久久在免费线 | 亚洲理论在线观看| 精品国产乱子伦一区| 欧美日韩国产小视频在线观看| 国产精品一区三区| 蜜臀精品久久久久久蜜臀 | www.亚洲免费av| 黄页视频在线91| 日本不卡在线视频| 一区二区三区欧美亚洲| 国产欧美日韩视频在线观看| 555www色欧美视频| 精品视频色一区| 99热这里都是精品| 成人在线视频首页| 国内外成人在线| 免费在线欧美视频| 日韩一区欧美二区| 午夜精品一区二区三区免费视频| 亚洲女女做受ⅹxx高潮| 亚洲欧洲性图库| 国产精品久久国产精麻豆99网站| 国产亚洲欧美日韩日本| 精品日韩一区二区三区免费视频| 欧美一区二区三区视频| 欧美精品第一页| 91精品国产91热久久久做人人| 欧美男生操女生| 欧美视频在线播放| 91精品欧美福利在线观看| 欧美国产乱子伦 | 天堂久久一区二区三区| 亚洲va国产天堂va久久en| 亚洲一卡二卡三卡四卡无卡久久| 亚洲欧美色综合| 亚洲v精品v日韩v欧美v专区| 亚洲成av人影院| 久久精品国产在热久久| 国产精品99久|