2013-11-12 18:28:42 -05:00
|
|
|
package fr.gaulupeau.apps.Poche;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import static fr.gaulupeau.apps.Poche.ArticlesSQLiteOpenHelper.*;
|
|
|
|
import fr.gaulupeau.apps.InThePoche.R;
|
|
|
|
import android.app.Activity;
|
|
|
|
import android.content.Intent;
|
|
|
|
import android.database.Cursor;
|
|
|
|
import android.database.sqlite.SQLiteDatabase;
|
2014-08-20 04:54:27 -04:00
|
|
|
import android.os.Build;
|
2013-11-12 18:28:42 -05:00
|
|
|
import android.os.Bundle;
|
2013-11-14 08:51:31 -05:00
|
|
|
import android.view.Menu;
|
|
|
|
import android.view.MenuInflater;
|
|
|
|
import android.view.MenuItem;
|
2013-11-12 18:28:42 -05:00
|
|
|
import android.view.View;
|
|
|
|
import android.widget.AdapterView;
|
|
|
|
import android.widget.ListView;
|
|
|
|
|
2014-08-20 09:46:55 -04:00
|
|
|
public class ListArticles extends BaseActionBarActivity {
|
2013-11-12 18:28:42 -05:00
|
|
|
|
|
|
|
private ArrayList<Article> readArticlesInfo;
|
|
|
|
private ListView readList;
|
|
|
|
private SQLiteDatabase database;
|
|
|
|
|
|
|
|
public void onCreate(Bundle savedInstanceState) {
|
|
|
|
super.onCreate(savedInstanceState);
|
|
|
|
setContentView(R.layout.list);
|
|
|
|
setupDB();
|
2013-11-14 08:51:31 -05:00
|
|
|
setupList(false);
|
2013-11-12 18:28:42 -05:00
|
|
|
}
|
2014-09-03 11:15:18 -04:00
|
|
|
|
2013-11-12 18:28:42 -05:00
|
|
|
public void onDestroy() {
|
|
|
|
super.onDestroy();
|
|
|
|
database.close();
|
|
|
|
}
|
2013-11-14 08:51:31 -05:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean onCreateOptionsMenu(Menu menu) {
|
|
|
|
MenuInflater inflater = getMenuInflater();
|
|
|
|
inflater.inflate(R.menu.option_list, menu);
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean onOptionsItemSelected(MenuItem item) {
|
|
|
|
switch (item.getItemId()) {
|
|
|
|
case R.id.menuShowAll:
|
|
|
|
setupList(true);
|
2014-08-20 09:46:55 -04:00
|
|
|
return true;
|
2014-01-05 12:54:27 -05:00
|
|
|
case R.id.menuWipeDb:
|
|
|
|
ArticlesSQLiteOpenHelper helper = new ArticlesSQLiteOpenHelper(this);
|
|
|
|
helper.truncateTables(database);
|
|
|
|
setupList(false);
|
2014-08-20 09:46:55 -04:00
|
|
|
return true;
|
2013-11-14 08:51:31 -05:00
|
|
|
default:
|
|
|
|
return super.onOptionsItemSelected(item);
|
|
|
|
}
|
|
|
|
}
|
2013-11-12 18:28:42 -05:00
|
|
|
|
|
|
|
public void setupDB() {
|
|
|
|
ArticlesSQLiteOpenHelper helper = new ArticlesSQLiteOpenHelper(this);
|
|
|
|
database = helper.getWritableDatabase();
|
|
|
|
}
|
|
|
|
|
2013-11-14 08:51:31 -05:00
|
|
|
public void setupList(Boolean showAll) {
|
2013-11-12 18:28:42 -05:00
|
|
|
readList = (ListView) findViewById(R.id.liste_articles);
|
|
|
|
readArticlesInfo = new ArrayList<Article>();
|
2013-11-14 08:51:31 -05:00
|
|
|
String filter = null;
|
|
|
|
if (showAll == false) {
|
|
|
|
filter = ARCHIVE + "=0";
|
|
|
|
}
|
|
|
|
ReadingListAdapter ad = getAdapterQuery(filter, readArticlesInfo);
|
2013-11-12 18:28:42 -05:00
|
|
|
readList.setAdapter(ad);
|
|
|
|
|
|
|
|
readList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
|
|
|
|
|
|
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
|
|
|
Intent i = new Intent(getBaseContext(), ReadArticle.class);
|
|
|
|
i.putExtra("id", (String) readArticlesInfo.get(position).id);
|
|
|
|
startActivity(i);
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
public ReadingListAdapter getAdapterQuery(String filter, ArrayList<Article> articleInfo) {
|
2013-11-13 08:56:49 -05:00
|
|
|
//Log.e("getAdapterQuery", "running query");
|
2013-11-12 18:28:42 -05:00
|
|
|
//String url, String domain, String id, String title, String content
|
2014-01-04 11:18:39 -05:00
|
|
|
String[] getStrColumns = new String[] {ARTICLE_URL, MY_ID, ARTICLE_TITLE, ARTICLE_CONTENT, ARCHIVE};
|
2013-11-12 18:28:42 -05:00
|
|
|
Cursor ac = database.query(
|
|
|
|
ARTICLE_TABLE,
|
|
|
|
getStrColumns,
|
2014-01-07 18:20:41 -05:00
|
|
|
filter, null, null, null, ARTICLE_DATE + " DESC");
|
2013-11-12 18:28:42 -05:00
|
|
|
ac.moveToFirst();
|
|
|
|
if(!ac.isAfterLast()) {
|
|
|
|
do {
|
|
|
|
Article tempArticle = new Article(ac.getString(0),ac.getString(1),ac.getString(2),ac.getString(3),ac.getString(4));
|
|
|
|
articleInfo.add(tempArticle);
|
|
|
|
} while (ac.moveToNext());
|
|
|
|
}
|
|
|
|
ac.close();
|
|
|
|
return new ReadingListAdapter(getBaseContext(), articleInfo);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|