package jp.co.haw.mixiclient.diary;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.TimeZone;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import jp.co.haw.mixiclient.R;
import jp.co.haw.mixiclient.RequestNewListBaseTask;
import jp.co.haw.mixiclient.RequestNewListTask;
import jp.co.haw.mixiclient.R.id;
import jp.co.haw.mixiclient.R.layout;
import jp.co.haw.mixiclient.builder.MessageBuilderFactory.PATTERN;
import jp.co.haw.mixiclient.database.DatabaseHelper;
import jp.co.haw.mixiclient.database.MessageDao;
import jp.co.haw.mixiclient.database.Message.CATEGORY;
import jp.co.haw.mixiclient.parser.Base64Coder;
import jp.co.haw.mixiclient.parser.SaxFeedParser;
import jp.co.haw.mixiclient.preference.RequestLoginTask;
import org.apache.http.HttpException;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.HttpEntityWrapper;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.ByteArrayBuffer;
import org.apache.http.util.EntityUtils;
import org.slideme.atom.parser.AtomReader;
import org.slideme.atom.parser.Feed;
import org.slideme.atom.parser.ParserUtils;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.Dialog;
import android.app.ListActivity;
import android.app.PendingIntent;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.os.SystemClock;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TabHost;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.RemoteViews.ActionException;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
public class DiaryActivity extends Activity {
//http://d.hatena.ne.jp/ymotongpoo/20081201/1228158688
//http://teahut.sakura.ne.jp/b/2007-07-01-1.html
private ProgressDialog dialog;
//ID
private String diary_id;
private String owner_id;
//ID
private String topic_id;
private String comm_id;
private boolean isDiary;
private String url;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.diary);
//execute
Bundle extras = getIntent().getExtras();
if (extras != null) {
//
dialog = new ProgressDialog(this);
dialog.setIndeterminate(true);
dialog.setMessage("");
dialog.show();
url = extras.getString("URI");
String name = extras.getString("NAME");
if (url.contains("view_bbs.pl")) {
Pattern p = Pattern.compile("\\?id=([^&]+)");
Matcher matcher = p.matcher(url);
while (matcher.find()) {
topic_id = matcher.group(1);
}
Pattern p2 = Pattern.compile("comm_id=([^&]+)");
Matcher matcher2 = p2.matcher(url);
while (matcher2.find()) {
comm_id = matcher2.group(1);
}
// comm_id = url.substring(url.indexOf("comm_id=") + 8);
} else {
this.isDiary = true;
if (url.indexOf("?id=") != -1 && url.indexOf("&owner_id=") != -1)
diary_id = url.substring(url.indexOf("?id=") + 4, url.indexOf("&owner_id="));
if (url.indexOf("owner_id=") != -1)
owner_id = url.substring(url.indexOf("owner_id=") + 9);
}
Log.v("SERVICE", url);
//
String title = "";
if (url.contains("view_bbs")) {
title = name.trim().substring(1, name.length()-1);
} else {
title = name.trim().substring(1, name.length()-1) + "";
}
setTitle(title);
RequestDiaryPageTask diaryTask = new RequestDiaryPageTask(this);
diaryTask.execute(url, name);
}
}
public void dismisDialog() {
dialog.dismiss();
}
//
//http://yamablo.com/wp-content/uploads/2009/09/androidDevIcon.jpg
//http://yamablo.com/2009/09/23-114828.php
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0,0,0, "").setIcon(android.R.drawable.ic_menu_edit);
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
super.onMenuItemSelected(featureId, item);
final Dialog _dialog = new Dialog(DiaryActivity.this);
_dialog.setContentView(R.layout.dialog_comment);
_dialog.setTitle("");
_dialog.findViewById(R.id.button_submit_comment).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
//
EditText editText_comment = (EditText )_dialog.findViewById(R.id.edittext_comment);
String comment = editText_comment.getText().toString();
SubmitCommentRequestTask comment_task = new SubmitCommentRequestTask(DiaryActivity.this);
if (isDiary)
comment_task.execute(diary_id, owner_id, comment, url);
else
comment_task.execute(topic_id, comm_id, comment, url);
//()
_dialog.dismiss();
dialog.setMessage("");
dialog.show();
}
}
);
_dialog.show();
return true;
}
}
|