package com.valles.rssreader;
import com.valles.rssreader.db.RssContract.FeedsTable;
import com.valles.rssreader.db.RssDbHelper;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class ArticleListActivity extends Activity {
private SimpleCursorAdapter adapter;
private RssDbHelper helper = new RssDbHelper(this);
private TextView TxtFuentes;
private Cursor c;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.article_list);
PrepareAdapter();
ListView FeedList = (ListView)findViewById(R.id.feedlist);
FeedList.setAdapter(adapter);
final TextView TxtTitulo = (TextView) findViewById(R.id.lbltitulo);
final Typeface font1 = Typeface.createFromAsset(getAssets(),"Last Ninja.ttf");
TxtFuentes = (TextView) findViewById(R.id.contfuentes);
TxtTitulo.setTypeface(font1);
final ImageView about = (ImageView) findViewById(R.id.acercade);
about.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
ToAbout();
}
});
final ImageView reload = (ImageView) findViewById(R.id.reload);
reload.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
ToProgress();
}
});
final ImageView addSource = (ImageView) findViewById(R.id.add);
addSource.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
ToSourceCreation();
}
});
FeedList.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
c.moveToPosition(position);
Intent intent = new Intent(ArticleListActivity.this, ItemReader.class);
Bundle bundle = new Bundle();
bundle.putInt("ID",c.getInt(0));
intent.putExtras(bundle);
startActivity(intent);
}
});
}
protected void onStart() {
super.onStart();
adapter.changeCursor(getFeeds());
c = adapter.getCursor();
TxtFuentes.setText("Noticias:" + c.getCount());
}
protected void onStop() {
adapter.changeCursor(null);
super.onStop();
}
public void ToAbout(){
Intent intent = new Intent(ArticleListActivity.this, AboutActivity.class);
startActivity(intent);
}
public void ToSourceCreation(){
Intent intent = new Intent(ArticleListActivity.this, SourceCreation.class);
startActivity(intent);
}
public void ToProgress(){
Intent intent = new Intent(ArticleListActivity.this, ProgressActivity.class);
startActivity(intent);
}
public void PrepareAdapter(){
Context context = this;
int layout = R.layout.feed_item;
Cursor cursor = null;
String[] from = new String[] {FeedsTable.TITLE,FeedsTable.PUB_DATE};
int[] to = new int[]{R.id.tit_item,R.id.date_item};
adapter = new SimpleCursorAdapter(context, layout, cursor, from, to);
}
private Cursor getFeeds() {
SQLiteDatabase db = helper.getReadableDatabase();
String table = FeedsTable.TABLE_NAME;
String[] columns = new String[] {FeedsTable._ID,FeedsTable.TITLE,FeedsTable.PUB_DATE,FeedsTable.DESCRIPTION};
String selection = null;
String[] selectionArgs = null;
String groupBy = null;
String having = null;
String orderBy = FeedsTable.PUB_DATE + " DESC";
return db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
}
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.layout.menu_article_list, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_about:
ToAbout();
return true;
case R.id.menu_reload:
ToProgress();
return true;
case R.id.menu_mas:
ToSourceCreation();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}