package com.example.slidingmenu.yujing.client.activity.letter;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import com.example.slidingmenu.R;
import com.example.slidingmenu.yujing.client.activity.friends.AllFriendsAdapter;
import com.example.slidingmenu.yujing.client.application.ClientApplication;
import com.example.slidingmenu.yujing.client.database.table.Friend;
import com.example.slidingmenu.yujing.client.network.HttpClient;
import com.example.slidingmenu.yujing.client.network.mode.RequestParam;
public class SendLetterActivity extends Activity implements OnItemClickListener{
private ClientApplication clientApplication;
private LinearLayout layout;
private ListView personList;
private Button send;
private EditText content, contactName;
private TextView name, number, sex, addr, online;
private Button back;
private AllFriendsAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.send_letter_layout);
clientApplication = (ClientApplication) getApplication();
layout = (LinearLayout) findViewById(R.id.profile);
send = (Button) findViewById(R.id.send);
personList = (ListView) findViewById(R.id.person);
personList.setOnItemClickListener(this);
content = (EditText) findViewById(R.id.letter_content);
contactName = (EditText) findViewById(R.id.letter_name);
name = (TextView) findViewById(R.id.name);
number = (TextView) findViewById(R.id.number);
sex = (TextView) findViewById(R.id.sex);
addr = (TextView) findViewById(R.id.addr);
online = (TextView) findViewById(R.id.online);
back = (Button) findViewById(R.id.back);
this.getIntentFor();
send.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setRequestParam();
}
});
}
public void setInfo(ContentValues values) {
contactName.setText(values.getAsString(Friend.mobile));
name.setText("姓名:" + values.getAsString(Friend.name));
number.setText("号码:" + values.getAsString(Friend.mobile));
sex.setText("性别:" + values.getAsString(Friend.sex));
addr.setText("地址:" + values.getAsString(Friend.address));
// if (values.getAsInteger(Friend.state) == 0) {
// online.setText("状态:" + "online");
// } else {
// online.setText("状态:" + "offline");
// }
layout.setVisibility(View.VISIBLE);
personList.setVisibility(View.INVISIBLE);
}
public void backclick(View view) {
layout.setVisibility(View.INVISIBLE);
personList.setVisibility(View.VISIBLE);
}
public Cursor getAllFriends() {
SQLiteDatabase db = clientApplication.getDatabaseHelper().getReadableDatabase();
Cursor c = db.query(Friend.tableName, null, Friend.UID
+ " = "
+ clientApplication.getLoginUserInfo().getString(
RequestParam.USER_NAME, null), null, null, null,
Friend.name + " COLLATE LOCALIZED ASC ");
return c;
}
private void getIntentFor() {
Intent intent = getIntent();
if (intent.getExtras() != null) {
ContentValues values = (ContentValues) intent.getExtras().get( "values");
String mobile = values.getAsString(Friend.mobile);
this.contactName.setText(mobile);
setInfo(values);
back.setVisibility(View.INVISIBLE);
} else {
personList.setAdapter(adapter = new AllFriendsAdapter(
SendLetterActivity.this, R.layout.friends_layout_item,
getAllFriends(), true));
}
}
@Override
protected void onResume() {
IsNetWorkConnected();
super.onResume();
}
private boolean IsNetWorkConnected() {
if(HttpClient.isConnect(this)) {
return true;
}
Toast.makeText(this, R.string.network_no_connect, Toast.LENGTH_SHORT).show();
return false;
}
private boolean setRequestParam() {
String contents = content.getText().toString();
String contact = contactName.getText().toString();
if(TextUtils.isEmpty(contents)) {
content.setError(getText(R.string.letter_content_empty));
return false;
}
if(TextUtils.isEmpty(contact)) {
contactName.setError(getText(R.string.letter_contact_empty));
return false;
}
String names = name.getText().toString().substring(3);
int time = (int) (System.currentTimeMillis()/1000);
String[] letter = new String[] {
contact,
contents,
String.valueOf(time),
names,
"baidu.com"
};
RequestParam rp = new RequestParam();
SharedPreferences sp = ((ClientApplication)this.getApplication()).getLoginUserInfo();
rp.setUserName(sp.getString(RequestParam.USER_NAME, ""));
rp.setPassword(sp.getString(RequestParam.PASSWORD, ""));
rp.setRandomKey("1234");
rp.setRequestType(RequestParam.SEND_PRIVATELETTER);
rp.setParams(letter);
new SendLetterTask(SendLetterActivity.this, new SendLetterTask.HandleSendLetter() {
@Override
public void onSendLetterSucc() {
setResult(RESULT_OK);
finish();
}
@Override
public void onSendLetterFail() {
setResult(RESULT_CANCELED);
finish();
}
}).execute(rp);
return true;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
setInfo(adapter.getItem(position));
}
}