package org.qinshuihepan.bbs.ui;
import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.MenuItem;
import android.widget.ListView;
import org.jsoup.Connection;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.qinshuihepan.bbs.R;
import org.qinshuihepan.bbs.api.Api;
import org.qinshuihepan.bbs.data.Request;
import org.qinshuihepan.bbs.model.BasePost;
import org.qinshuihepan.bbs.model.Post;
import org.qinshuihepan.bbs.ui.adapter.MessageContentAdapter;
import org.qinshuihepan.bbs.util.TaskUtils;
import org.qinshuihepan.bbs.util.sharedpreference.Athority;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Map;
/**
* Created by liurongchan on 14-9-23.
*/
public class MyMessageActivity extends Activity {
ListView mListView;
Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("我的消息");
mContext = this;
getActionBar().setDisplayHomeAsUpEnabled(true);
setContentView(R.layout.activity_myposts);
mListView = (ListView) findViewById(R.id.listView);
TaskUtils.executeAsyncTask(new AsyncTask<String, Void, ArrayList<BasePost>>() {
@Override
protected ArrayList<BasePost> doInBackground(String... params) {
ArrayList<BasePost> posts = new ArrayList<BasePost>();
Document doc = null;
Connection.Response response = Request.execute(Api.MY_MESSAGES, Api.USER_AGENT, (Map<String, String>) Athority.getSharedPreference().getAll(), Connection.Method.GET);
try {
doc = response.parse();
Elements bm_cs = doc.getElementsByClass("bm_c");
String str_tid = "";
String title = "";
String time = "";
String comment_count = "";
int haveimg = 0;
int tid = 0;
String author = "";
BasePost post;
for (Element bm_c : bm_cs) {
Elements as = bm_c.getElementsByTag("a");
for (Element a : as) {
String start = "home.php?mod=space&do=pm&subop=view&touid=";
String len = " mobile=1";
String url = a.attr("href");
str_tid = url.substring(start.length(), url.length() - len.length());
Log.e("tid", str_tid);
tid = Integer.valueOf(str_tid);
title = a.text();
}
int i = 1;
for (Element span : bm_c.getElementsByTag("span")) {
if (i == 1) {
i++;
author = span.text();
} else {
time = span.text();
}
}
post = new Post(0, tid, 0, title, "", time, haveimg, 0, author, null);
posts.add(post);
}
} catch (IOException e) {
e.printStackTrace();
}
return posts;
}
@Override
protected void onPostExecute(ArrayList<BasePost> posts) {
super.onPostExecute(posts);
MessageContentAdapter messageContentAdapter = new MessageContentAdapter(mContext, posts);
mListView.setAdapter(messageContentAdapter);
}
});
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
overridePendingTransition(R.anim.in_from_left, R.anim.out_to_right);
return true;
}
return super.onOptionsItemSelected(item);
}
}