package com.lgq.rssreader;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.google.gson.Gson;
import com.lgq.rssreader.core.ReaderApp;
import com.lgq.rssreader.dal.SyncStateDalHelper;
import com.lgq.rssreader.entity.Blog;
import com.lgq.rssreader.entity.Channel;
import com.lgq.rssreader.entity.Result;
import com.lgq.rssreader.entity.SyncState;
import com.lgq.rssreader.enums.RssAction;
import com.lgq.rssreader.enums.RssTab;
import com.lgq.rssreader.parser.FeedlyParser;
import com.lgq.rssreader.parser.HttpResponseHandler;
import com.lgq.rssreader.utils.Helper;
import android.support.v4.app.Fragment;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.NavUtils;
import android.util.Log;
import android.view.MenuItem;
import android.view.Window;
import android.widget.TextView;
import android.widget.Toast;
/**
* An activity representing a single Blog detail screen. This
* activity is only used on handset devices. On tablet-size devices,
* item details are presented side-by-side with a list of items
* in a {@link MainActivity}.
* <p>
* This activity is mostly just a 'shell' activity containing nothing
* more than a {@link BlogContentFragment}.
*/
public class SubscribeActivity extends BaseActivity
implements FeedListFragment.Callbacks {
public SubscribeActivity(){
super("#00BCD5");
}
ProgressDialog mProgressDialog;
private final int RELOAD = 1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_subscribe);
// Show the Up button in the action bar.
//getActionBar().setDisplayHomeAsUpEnabled(true);
// savedInstanceState is non-null when there is fragment state
// saved from previous configurations of this activity
// (e.g. when rotating the screen from portrait to landscape).
// In this case, the fragment will automatically be re-added
// to its container so we don't need to manually add it.
// For more information, see the Fragments API guide at:
//
// http://developer.android.com/guide/components/fragments.html
//
if (savedInstanceState == null) {
// Create the detail fragment and add it to the activity
// using a fragment transaction.
Bundle arguments = getIntent().getExtras();
if(arguments.containsKey(FeedListFragment.SUBSCRIBETITLE)){
String key = arguments.getString(FeedListFragment.SUBSCRIBETITLE);
arguments.putInt(FeedListFragment.STATE_TAB, RssTab.Subscribe.ordinal());
FeedListFragment fragment = new FeedListFragment();
fragment.setArguments(arguments);
getSupportFragmentManager().beginTransaction()
.add(R.id.subscribe_list_container, fragment)
.commit();
TextView title = (TextView)findViewById(R.id.resultlist_title);
title.setText(key);
}
}
}
public Handler myHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch(msg.what){
case RELOAD:
mProgressDialog.hide();
mProgressDialog.dismiss();
SubscribeActivity.this.onBackPressed();
break;
}
}
};
@Override
public void onItemSelected(Object c, RssTab tab) {
Result r = (Result)c;
mProgressDialog = new ProgressDialog(this);
mProgressDialog.setCanceledOnTouchOutside(false);
mProgressDialog.setIcon(R.id.process);
mProgressDialog.setMessage(getResources().getString(R.string.content_loading));
mProgressDialog.show();
FeedlyParser parser = new FeedlyParser();
parser.addRss(r.StreamId, r.Title, new HttpResponseHandler(){
@Override
public <Object> void onCallback(Object profile, boolean result, String msg){
if(result)
Toast.makeText(SubscribeActivity.this, getResources().getString(R.string.main_subscribe), Toast.LENGTH_SHORT).show();
else
Toast.makeText(SubscribeActivity.this, (CharSequence) msg, Toast.LENGTH_SHORT).show();
ReaderApp.getPreferences().edit().putBoolean("forceRefresh", true).commit();
Message m = myHandler.obtainMessage();
m.what = RELOAD;
myHandler.sendMessage(m);
}
});
}
@Override
public void onSyncComplete(java.lang.Object c, RssTab tab) {
// TODO Auto-generated method stub
}
}