package com.android.mms.ui;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.ListActivity;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.content.pm.ActivityInfo;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.content.Intent;
import android.content.SharedPreferences;
import com.android.mms.R;
//import com.android.mms.block.BlockListActivity;
import com.android.mms.block.BlockSettingActivity;
import com.android.mms.data.Conversation;
import android.net.Uri;
import android.database.Cursor;
import android.graphics.Color;
public class ConversationMainList extends ListActivity {
private long threadId=0;
private String phoneNum;
//ListActivityһ�����б�ķ�ʽ��ʾ����Դ�������Activity
//ListActivity Class Overview(������ժ�Թٷ��ĵ�˵�ķdz������)
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.conversation_main_list1);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String,Object>>();
HashMap<String, Object> map1 = new HashMap<String, Object>();
HashMap<String, Object> map2 = new HashMap<String, Object>();
//HashMap<String, Object> map3 = new HashMap<String, Object>();
//һ��map�����Ӧһ������
map1.put("user_name", getString(R.string.user_newmms));
map1.put("user_icon", R.drawable.newmmms);
map2.put("user_name", getString(R.string.user_mms1));
map2.put("user_icon", R.drawable.mms1);
//map3.put("user_name", getString(R.string.user_mms2));
//map3.put("user_icon", R.drawable.mms2);
list.add(map1);
list.add(map2);
//list.add(map3);
/*
* ����һ Context
* ������ �����ϱ��������Ǹ�ArrayList����
* ������ �����������ָ�� ����һ������ ��key Ҳ����һ��map�����key ���½�Ͽ�һ�� ��Ϊ����һ������Ҳ����һ��
* ��Ӧһ��map���� һ��map�������2������ �� user_name �� user_icon ���������������ָ����2��key ������ͨ��String����ķ�ʽ
* ������ ���һ����֪���� ��˼�� user_name ���������� R.id.user_name ���TextView��ʾ user_icon ����������
* R.id.user_icon ��ʾ
*/
SimpleAdapter listAdapter = new SimpleAdapter(this,list,
R.layout.conversation_main_list2, new String[] {"user_name","user_icon"},
new int[] {R.id.user_name,R.id.user_icon});
//����Adapter setListAdapter()�˷�������ListActivity
setListAdapter(listAdapter);
ListView lv = getListView();
lv.setCacheColorHint(0); //�����϶��б��ʱ���ֹ���ֺ�ɫ����
}
//�����ǵ��һ������ ����˵һ��ʱ ������Click�¼�
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Intent intent;
super.onListItemClick(l, v, position, id);
switch(position){
case 0:
//liao
intent=ComposeMessageActivity.createIntent(this, 0);
intent.putExtra("is_forbid_slide",true);
startActivity(intent);
break;
case 1:
intent = new Intent(this, ConversationList.class);
startActivity(intent);
break;
case 2:
//intent = new Intent(this, BlockListActivity.class);
getThreadId();
intent = new Intent(this, ComposeMessageActivity.class);
intent.setData(Conversation.getUri(threadId));
intent.putExtra("is_forbid_slide",true); //liao
startActivity(intent);
break;
}
}
private void getThreadId(){
/*liao*/
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplication());
String MmsPhoneNum = preferences.getString("phone_num", "");
//Log.i("info_liao", MmsPhoneNum + "");
/*liao*/
Uri uri = Uri.parse("content://sms/inbox");
Cursor cur = this.managedQuery(uri,new String[]{"thread_id","address"}, null, null, null);
if(cur != null){
if (cur.moveToFirst()) {
do{
//for(int j = 0; j < cur.getColumnCount(); j++){
threadId=cur.getLong(0);
phoneNum=cur.getString(1);
if(phoneNum.equals(MmsPhoneNum) || phoneNum.equals("+86" + MmsPhoneNum)){ //liao
break;
}
//}
}while(cur.moveToNext());
}
}
cur.close();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
menu.add(1,1,1,R.string.menu_preferences).setIcon(android.R.drawable.ic_menu_preferences);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
Intent intent = new Intent();
switch (item.getItemId()) {
case 1:
intent.setClass(this, BlockSettingActivity.class);
break;
}
startActivity(intent);
return super.onOptionsItemSelected(item);
}
}