diff options
author | Camil Staps | 2015-05-20 13:04:19 +0200 |
---|---|---|
committer | Camil Staps | 2015-05-20 13:04:19 +0200 |
commit | e0e84153b8de8a73773bec1d808c537db963c1a7 (patch) | |
tree | 3d38ad04ed67490292a0f09cd2dee545a7d0e9a7 /app/src/main/java/org | |
parent | Merge branch 'app' (diff) |
JavaDoc
Diffstat (limited to 'app/src/main/java/org')
8 files changed, 102 insertions, 44 deletions
diff --git a/app/src/main/java/org/rssin/android/FilterSettingsActivity.java b/app/src/main/java/org/rssin/android/FilterSettingsActivity.java index a3ae710..ae31943 100644 --- a/app/src/main/java/org/rssin/android/FilterSettingsActivity.java +++ b/app/src/main/java/org/rssin/android/FilterSettingsActivity.java @@ -54,13 +54,17 @@ public class FilterSettingsActivity extends ActionBarActivity { int id = item.getItemId(); if (id == R.id.action_feeds) { - openKeywordsDialog(null); + openFeedsDialog(); + return true; } return super.onOptionsItemSelected(item); } - public void openKeywordsDialog(View v) { + /** + * Open dialog to edit feeds + */ + public void openFeedsDialog() { FeedsDialogFragment f = new FeedsDialogFragment(); Bundle bundle = new Bundle(); bundle.putSerializable("filter", filter); @@ -68,6 +72,9 @@ public class FilterSettingsActivity extends ActionBarActivity { f.show(getFragmentManager(), ""); } + /** + * Custom Dialog to display & edit feeds + */ public static class FeedsDialogFragment extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { @@ -91,6 +98,9 @@ public class FilterSettingsActivity extends ActionBarActivity { return builder.create(); } + /** + * Custom ArrayAdapter to display feeds + */ private static class FeedAdapter extends ArrayAdapter<Feed> { Context context; @@ -129,6 +139,9 @@ public class FilterSettingsActivity extends ActionBarActivity { return row; } + /** + * TextViews holder + */ private static class FeedHolder { TextView title; TextView url; @@ -136,6 +149,9 @@ public class FilterSettingsActivity extends ActionBarActivity { } } + /** + * Custom ArrayAdapter to display Keywords + */ private static class KeywordAdapter extends ArrayAdapter<Keyword> { Context context; int layoutResourceId; @@ -171,6 +187,9 @@ public class FilterSettingsActivity extends ActionBarActivity { return row; } + /** + * TextViews holder + */ private static class KeywordHolder { TextView title; } diff --git a/app/src/main/java/org/rssin/android/FiltersActivity.java b/app/src/main/java/org/rssin/android/FiltersActivity.java index dd32fab..07f20c2 100644 --- a/app/src/main/java/org/rssin/android/FiltersActivity.java +++ b/app/src/main/java/org/rssin/android/FiltersActivity.java @@ -24,6 +24,14 @@ import java.io.IOException; import java.net.MalformedURLException; import java.util.List; +/** + * List of filters + * + * Short tap opens the list with current articles that the filter returns + * Long tap opens filter settings + * + * @author Camil Staps + */ public class FiltersActivity extends ActionBarActivity { private FiltersList filters; @@ -44,28 +52,10 @@ public class FiltersActivity extends ActionBarActivity { } catch (IOException ex) { Toast.makeText(this, "Couldn't load filters.", Toast.LENGTH_SHORT).show(); Log.e("FILTER", "IOException", ex); - filters = new FiltersList(); } - filters.getFilters().clear(); - - Filter filter = new Filter("Filter test"); - filter.getKeywords().add(new Keyword("Test")); - try { - filter.getFeeds().add(new Feed("http://nu.nl/algemeen.rss", "Feed test 1")); - } catch (MalformedURLException e) { - Log.w("FA-URL", e.getMessage(), e); - } - try { - filter.getFeeds().add(new Feed("http://nu.nl/sport.rss", "Feed test 2")); - } catch (MalformedURLException e) { - Log.w("FA-URL", e.getMessage(), e); - } - filters.getFilters().add(filter); - try { - filters.save(this); - } catch (IOException e) {} + putDummyFilter(); final FilterAdapter adapter = new FilterAdapter(this, R.layout.item_filter, filters.getFilters()); filtersView.setAdapter(adapter); @@ -77,6 +67,13 @@ public class FiltersActivity extends ActionBarActivity { Log.e("FILTER", "IOException", ex); } + setupListeners(); + } + + /** + * Setup listeners for the list items + */ + private void setupListeners() { onFilterClickListener = new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { @@ -99,6 +96,9 @@ public class FiltersActivity extends ActionBarActivity { filtersView.setOnItemLongClickListener(onFilterLongClickListener); } + /** + * Custom ArrayAdapter to display filters with our own menu item + */ private static class FilterAdapter extends ArrayAdapter<Filter> { Context context; @@ -137,10 +137,30 @@ public class FiltersActivity extends ActionBarActivity { return row; } + /** + * TextViews holder + */ private static class FilterHolder { TextView title; TextView keywords; } } + /** + * Dummy filter for testing + */ + private void putDummyFilter() { + filters.getFilters().clear(); + + Filter filter = new Filter("Filter test"); + filter.getKeywords().add(new Keyword("Test")); + try { + filter.getFeeds().add(new Feed("http://nu.nl/algemeen.rss", "Feed test 1")); + } catch (MalformedURLException e) {} + try { + filter.getFeeds().add(new Feed("http://nu.nl/sport.rss", "Feed test 2")); + } catch (MalformedURLException e) {} + filters.getFilters().add(filter); + } + } diff --git a/app/src/main/java/org/rssin/android/FiltersList.java b/app/src/main/java/org/rssin/android/FiltersList.java index 99810a0..cf85b47 100644 --- a/app/src/main/java/org/rssin/android/FiltersList.java +++ b/app/src/main/java/org/rssin/android/FiltersList.java @@ -6,7 +6,6 @@ import android.util.Base64; import org.rssin.rssin.Filter; -import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -16,13 +15,19 @@ import java.util.ArrayList; import java.util.List; /** - * Created by camilstaps on 19-5-15. + * A list of filters that can be saved in sharedpreferences + * @author Camil Staps */ public class FiltersList { private static final String PREF_KEY = "filters_list"; private final List<Filter> filters; + /** + * Fetch from sharedPreferences + * @param context + * @throws IOException if data is corrupted, and deserializing fails + */ public FiltersList(Context context) throws IOException { String filters = PreferenceManager.getDefaultSharedPreferences(context).getString(PREF_KEY, null); if (filters == null) { @@ -51,6 +56,11 @@ public class FiltersList { return filters; } + /** + * Save in sharedPreferences + * @param context + * @throws IOException if serializing failed + */ public void save(Context context) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); diff --git a/app/src/main/java/org/rssin/android/SettingsActivity.java b/app/src/main/java/org/rssin/android/SettingsActivity.java index 99ccdfa..6ef38e2 100644 --- a/app/src/main/java/org/rssin/android/SettingsActivity.java +++ b/app/src/main/java/org/rssin/android/SettingsActivity.java @@ -3,9 +3,6 @@ package org.rssin.android; import android.annotation.TargetApi; import android.content.Context; import android.content.res.Configuration; -import android.media.Ringtone; -import android.media.RingtoneManager; -import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.preference.ListPreference; @@ -14,13 +11,14 @@ import android.preference.PreferenceActivity; import android.preference.PreferenceCategory; import android.preference.PreferenceFragment; import android.preference.PreferenceManager; -import android.preference.RingtonePreference; -import android.text.TextUtils; import org.rssin.rssin.R; -import java.util.List; - +/** + * Global app settings + * + * @author Camil Staps + */ public class SettingsActivity extends PreferenceActivity { /** * Determines whether to always show the simplified settings UI, where @@ -63,9 +61,6 @@ public class SettingsActivity extends PreferenceActivity { bindPreferenceSummaryToValue(findPreference("sync_frequency")); } - /** - * {@inheritDoc} - */ @Override public boolean onIsMultiPane() { return isXLargeTablet(this) && !isSimplePreferences(this); diff --git a/app/src/main/java/org/rssin/android/UnifiedInboxActivity.java b/app/src/main/java/org/rssin/android/UnifiedInboxActivity.java index 6335406..6283dae 100644 --- a/app/src/main/java/org/rssin/android/UnifiedInboxActivity.java +++ b/app/src/main/java/org/rssin/android/UnifiedInboxActivity.java @@ -8,7 +8,10 @@ import android.view.MenuItem; import org.rssin.rssin.R; - +/** + * Unified view of all filters + * @author Camil Staps + */ public class UnifiedInboxActivity extends ActionBarActivity { @Override @@ -19,19 +22,14 @@ public class UnifiedInboxActivity extends ActionBarActivity { @Override public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_unified_inbox, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); - //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { Intent intent = new Intent(this, SettingsActivity.class); startActivity(intent); diff --git a/app/src/main/java/org/rssin/rssin/Feed.java b/app/src/main/java/org/rssin/rssin/Feed.java index d2677b8..0abbd67 100644 --- a/app/src/main/java/org/rssin/rssin/Feed.java +++ b/app/src/main/java/org/rssin/rssin/Feed.java @@ -5,11 +5,16 @@ import java.net.MalformedURLException; import java.net.URL; /** - * Created by camilstaps on 20-5-15. + * Feed holder + * @author Camil Staps */ public class Feed implements Serializable { private static int serialVersionUID = 0; + /** + * This feed does not have any information about the current status of the feed. + * It is merely a reference to an external feed, and a name (title) + */ private String title; private URL url; diff --git a/app/src/main/java/org/rssin/rssin/Filter.java b/app/src/main/java/org/rssin/rssin/Filter.java index e0e05d0..f411ca3 100755 --- a/app/src/main/java/org/rssin/rssin/Filter.java +++ b/app/src/main/java/org/rssin/rssin/Filter.java @@ -3,19 +3,22 @@ package org.rssin.rssin; import android.text.TextUtils; import org.rssin.neurons.FeedSorter; -import org.rssin.rss.FeedItem; import java.io.Serializable; import java.util.ArrayList; import java.util.List; /** - * Created by camilstaps on 19-5-15. + * Filter holder + * @author Camil Staps */ public class Filter implements Serializable { private static final long serialVersionUID = 0; + /** + * A filter is a list of Feeds with a list of Keywords. A title can be added as well. + */ private final List<Feed> feeds; private final List<Keyword> keywords; private String title = ""; @@ -52,6 +55,10 @@ public class Filter implements Serializable { return keywords; } + /** + * The Keyword's toString() method, joined with ", " + * @return + */ public String getKeywordsAsString() { Keyword[] keywords = new Keyword[this.keywords.size()]; int i = 0; diff --git a/app/src/main/java/org/rssin/rssin/Keyword.java b/app/src/main/java/org/rssin/rssin/Keyword.java index 8555e1a..2ea1012 100644 --- a/app/src/main/java/org/rssin/rssin/Keyword.java +++ b/app/src/main/java/org/rssin/rssin/Keyword.java @@ -3,12 +3,16 @@ package org.rssin.rssin; import java.io.Serializable; /** - * Created by camilstaps on 19-5-15. + * Keyword holder + * @author Camil Staps */ public class Keyword implements Serializable { - private static final long serialVersionUID = 1; + private static final long serialVersionUID = 0; + /** + * For now, Keywords only have a single String keyword. Later, more options may be added + */ private final String keyword; public Keyword(String keyword) { |