package com.sogouchat.search;
import java.util.Vector;
import com.sogouchat.R;
import com.sogouchat.conversation.ConversationActivity;
import com.sogouchat.smsmms.Sms;
import com.sogouchat.ui.ChatListActivity;
import com.sogouchat.util.SmsFunc;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
public class SearchMessageActivity extends Activity implements EditTextChangeInterface{
private Button mBtnCancel;
private SearchView mEditText;
private ListView mListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.acitivity_search_message);
mBtnCancel = (Button)findViewById(R.id.btn_search_cancel);
mEditText = (SearchView)findViewById(R.id.search_msg);
mListView = (ListView)findViewById(R.id.search_result_list);
mEditText.SetOnEditTextChInterface(this);
mListView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
InputViewShowHelper.SetInputShow(false, getApplicationContext(), mEditText);
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
}
});
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
Sms sms = (Sms)arg0.getItemAtPosition(arg2);
if (sms!=null) {
Intent intent = new Intent();
intent.setClass(SearchMessageActivity.this, ConversationActivity.class);
intent.putExtra(ConversationActivity.STR_TYPE, ConversationActivity.TYPE_FROM_SEARCH);
intent.putExtra(ConversationActivity.STR_NUMBER, sms.phoneNumber);
intent.putExtra(ConversationActivity.STR_NAME, sms.name);
intent.putExtra(ConversationActivity.STR_THREADID,sms.threadID);
intent.putExtra(ConversationActivity.STR_SMSID, sms.ID);
intent.putExtra(ConversationActivity.STR_KEY,strKey );
startActivity(intent);
}
}
});
mBtnCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
finish();
}
});
}
private SearchMessageAdapter adapter = null;
private Vector<Sms> mLists = new Vector<Sms>();
private String strKey = null;
public void OnEditTextChange(String strText) {
// TODO Auto-generated method stub
if (strText!=null && !strText.equals("")) {
strKey = strText;
SmsFunc.SearchSmsByKey(getApplicationContext(), strText, mLists);
}else {
mLists.clear();
}
if (adapter==null) {
adapter = new SearchMessageAdapter(getApplicationContext(), mLists,strText);
mListView.setAdapter(adapter);
}else {
adapter.notifyChange(strText);
}
}
}