From 1ebca3204a198352203c96a3a3450bc1be15b90b Mon Sep 17 00:00:00 2001
From: Camil Staps
Date: Wed, 10 Jun 2015 18:42:51 +0200
Subject: javadoc
---
app/src/main/AndroidManifest.xml | 2 +-
.../java/org/rssin/android/ArticleActivity.java | 11 +-
.../java/org/rssin/android/FeedItemAdapter.java | 17 ++-
.../org/rssin/android/FeedItemsListFragment.java | 15 ++-
.../main/java/org/rssin/android/FeedsActivity.java | 3 +-
app/src/main/java/org/rssin/android/FeedsList.java | 31 ++---
.../org/rssin/android/FilterSettingsActivity.java | 9 +-
.../main/java/org/rssin/android/FirstTimeBoot.java | 150 ---------------------
.../org/rssin/android/FirstTimeBootActivity.java | 148 ++++++++++++++++++++
.../java/org/rssin/android/HomeScreenActivity.java | 38 +++---
app/src/main/java/org/rssin/rssin/Feed.java | 1 +
11 files changed, 220 insertions(+), 205 deletions(-)
delete mode 100644 app/src/main/java/org/rssin/android/FirstTimeBoot.java
create mode 100644 app/src/main/java/org/rssin/android/FirstTimeBootActivity.java
(limited to 'app')
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7e0f3be..4f85b1a 100755
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -72,7 +72,7 @@
diff --git a/app/src/main/java/org/rssin/android/ArticleActivity.java b/app/src/main/java/org/rssin/android/ArticleActivity.java
index 82190db..6c80fb6 100644
--- a/app/src/main/java/org/rssin/android/ArticleActivity.java
+++ b/app/src/main/java/org/rssin/android/ArticleActivity.java
@@ -35,6 +35,9 @@ import org.rssin.rssin.R;
import static org.rssin.neurons.Feedback.Dislike;
import static org.rssin.neurons.Feedback.Like;
+/**
+ * An activity for viewing one article
+ */
public class ArticleActivity extends ActionBarActivity {
private SortedFeedItemContainer container;
@@ -78,19 +81,14 @@ public class ArticleActivity 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.article, 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.article_action_dislike) {
Toast.makeText(this, getString(R.string.article_feedback_saved), Toast.LENGTH_SHORT).show();
container.feedback(this, Dislike);
@@ -109,6 +107,9 @@ public class ArticleActivity extends ActionBarActivity {
return super.onOptionsItemSelected(item);
}
+ /**
+ * Open the Android share dialogue
+ */
private void shareArticle()
{
FeedItem item = container.getFeeditem();
diff --git a/app/src/main/java/org/rssin/android/FeedItemAdapter.java b/app/src/main/java/org/rssin/android/FeedItemAdapter.java
index a67b267..2d2e582 100644
--- a/app/src/main/java/org/rssin/android/FeedItemAdapter.java
+++ b/app/src/main/java/org/rssin/android/FeedItemAdapter.java
@@ -18,10 +18,6 @@
*/
package org.rssin.android;
-/**
- * @author Jos.
- */
-
import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
@@ -37,12 +33,22 @@ import org.rssin.summaries.SummaryAPIInterface;
import java.util.List;
+/**
+ * A FeedItemAdapter is able to put FeedItems in a RecyclerView
+ * @author Jos.
+ */
class FeedItemAdapter extends RecyclerView.Adapter {
List feedItems;
+ /**
+ * To summarise article texts
+ */
SummaryAPIInterface sapInterface;
-
+ /**
+ * Create a new instance
+ * @param objects the objects to put in the RecyclerView
+ */
public FeedItemAdapter(List objects) {
feedItems = objects;
@@ -75,7 +81,6 @@ class FeedItemAdapter extends RecyclerView.Adapter feeds) {
FeedItemsListFragment fragment = new FeedItemsListFragment();
fragment.setFeedsList(feeds);
return fragment;
}
+ /**
+ * Create a new instance
+ * @param feeds
+ */
public void setFeedsList(List feeds) {
this.feeds = feeds;
}
@@ -77,6 +87,9 @@ public class FeedItemsListFragment extends Fragment {
return rootView;
}
+ /**
+ * Refresh the RecyclerView
+ */
private void refresh() {
loadingView.setVisibility(View.VISIBLE);
diff --git a/app/src/main/java/org/rssin/android/FeedsActivity.java b/app/src/main/java/org/rssin/android/FeedsActivity.java
index b4ed587..f90d510 100644
--- a/app/src/main/java/org/rssin/android/FeedsActivity.java
+++ b/app/src/main/java/org/rssin/android/FeedsActivity.java
@@ -46,8 +46,7 @@ import java.io.IOException;
import java.util.List;
/**
- * List of feeds
- *
+ * List of feeds to add and edit
* @author Camil Staps
*/
public class FeedsActivity extends ActionBarActivity {
diff --git a/app/src/main/java/org/rssin/android/FeedsList.java b/app/src/main/java/org/rssin/android/FeedsList.java
index 41fc0f0..d855ae5 100644
--- a/app/src/main/java/org/rssin/android/FeedsList.java
+++ b/app/src/main/java/org/rssin/android/FeedsList.java
@@ -72,12 +72,25 @@ class FeedsList {
}
}
+ /**
+ * This is a singleton, so you need to get its instance. Only once the Context is needed, after
+ * the object is instantiated it is ignored
+ * @param context
+ * @return
+ * @throws IOException
+ */
public static FeedsList getInstance(Context context) throws IOException {
if (instance == null)
instance = new FeedsList(context);
return instance;
}
+ /**
+ * This is a singleton, so you need to get its instance.
+ * Be sure to call {@link #getInstance(Context)} at least once, or the object cannot be
+ * instantiated
+ * @return
+ */
public static FeedsList getInstance() {
return instance;
}
@@ -90,22 +103,4 @@ class FeedsList {
Collections.sort(feeds);
}
- /**
- * Save all feeds
- * @throws Exception if serializing or saving failed
- */
- public synchronized void save() throws Exception {
- Exception e = null;
- for (Feed feed : feeds) {
- try {
- feed.store(storageProvider);
- } catch (Exception ex) {
- e = ex;
- }
- }
- if (e != null) {
- throw e;
- }
- }
-
}
diff --git a/app/src/main/java/org/rssin/android/FilterSettingsActivity.java b/app/src/main/java/org/rssin/android/FilterSettingsActivity.java
index cfc3095..3c72772 100644
--- a/app/src/main/java/org/rssin/android/FilterSettingsActivity.java
+++ b/app/src/main/java/org/rssin/android/FilterSettingsActivity.java
@@ -49,6 +49,10 @@ import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
+/**
+ * The settings of a filter (i.e., the list of feeds)
+ * @author Camil Staps
+ */
public class FilterSettingsActivity extends ActionBarActivity {
private FiltersList filtersList;
@@ -94,6 +98,7 @@ public class FilterSettingsActivity extends ActionBarActivity {
final ListView feedsListView = (ListView) findViewById(R.id.filter_settings_feeds_list);
feedsListView.setAdapter(feedAdapter);
+ // Select/Deselect on click
feedsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
@@ -116,9 +121,7 @@ public class FilterSettingsActivity extends ActionBarActivity {
final Context context = feedsListView.getContext();
- /**
- * @todo Allow users to enter links without scheme (http:// ...)
- */
+ // Add handler
findViewById(R.id.filter_settings_add_feed_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/org/rssin/android/FirstTimeBoot.java b/app/src/main/java/org/rssin/android/FirstTimeBoot.java
deleted file mode 100644
index 4fc6aa7..0000000
--- a/app/src/main/java/org/rssin/android/FirstTimeBoot.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/**
- * RSSin - Clever RSS reader for Android
- * Copyright (C) 2015 Randy Wanga, Jos Craaijo, Joep Bernards, Camil Staps
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-package org.rssin.android;
-
-/**
- * Created by Randy on 4-6-2015.
- */
-
-import android.app.Activity;
-import android.content.Context;
-import android.os.Bundle;
-import android.support.v4.view.PagerAdapter;
-import android.support.v4.view.ViewPager;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import org.rssin.rssin.R;
-
-public class FirstTimeBoot extends Activity {
-
- private static final int MAX_VIEWS = 5;
-
- ViewPager mViewPager;
- TextView button;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
-
- super.onCreate(savedInstanceState);
- setContentView(R.layout.walkthrough_activity);
- button = (TextView) findViewById(R.id.screen_navigation_button);
- button.setText(getString(R.string.walkthrough_text_button));
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
- mViewPager = (ViewPager) findViewById(R.id.view_pager);
- mViewPager.setAdapter(new WalkthroughPagerAdapter());
- mViewPager.setOnPageChangeListener(new WalkthroughPageChangeListener());
- }
-
-
-
- class WalkthroughPagerAdapter extends PagerAdapter {
-
- @Override
- public int getCount() {
- return MAX_VIEWS;
- }
-
- @Override
- public boolean isViewFromObject(View view, Object object) {
- return view == (View) object;
- }
-
- @Override
- public Object instantiateItem(View container, int position) {
- LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- View imageViewContainer = inflater.inflate(R.layout.walkthrough_single_view, null);
- ImageView imageView = (ImageView) imageViewContainer.findViewById(R.id.image_view);
- TextView textView = (TextView) imageViewContainer.findViewById(R.id.text_view);
-
- switch (position) {
- case 0:
- imageView.setImageResource(R.drawable.image1);
- textView.setText(getString(R.string.walkthrough_text_1));
- break;
-
- case 1:
- imageView.setImageResource(R.drawable.image2);
- textView.setText(getString(R.string.walkthrough_text_2));
- break;
-
- case 2:
- imageView.setImageResource(R.drawable.image3);
- textView.setText(getString(R.string.walkthrough_text_3));
- break;
-
- case 3:
- imageView.setImageResource(R.drawable.image4);
- textView.setText(getString(R.string.walkthrough_text_4));
- break;
-
- case 4:
- imageView.setImageResource(R.drawable.image5);
- textView.setText(getString(R.string.walkthrough_text_5));
- break;
- }
-
- ((ViewPager) container).addView(imageViewContainer, 0);
- return imageViewContainer;
- }
-
- @Override
- public void destroyItem(ViewGroup container, int position, Object object) {
- ((ViewPager) container).removeView((View) object);
- }
- }
-
-
- class WalkthroughPageChangeListener implements ViewPager.OnPageChangeListener {
-
- @Override
- public void onPageScrollStateChanged(int arg0) {
-
- }
-
- @Override
- public void onPageScrolled(int arg0, float arg1, int arg2) {
-
- }
-
- @Override
- public void onPageSelected(int position) {
- // Here is where you should show change the view of page indicator
- switch (position) {
-
- case MAX_VIEWS - 1:
- break;
-
- default:
-
- }
-
- }
-
- }
-}
-
diff --git a/app/src/main/java/org/rssin/android/FirstTimeBootActivity.java b/app/src/main/java/org/rssin/android/FirstTimeBootActivity.java
new file mode 100644
index 0000000..8f53a28
--- /dev/null
+++ b/app/src/main/java/org/rssin/android/FirstTimeBootActivity.java
@@ -0,0 +1,148 @@
+/**
+ * RSSin - Clever RSS reader for Android
+ * Copyright (C) 2015 Randy Wanga, Jos Craaijo, Joep Bernards, Camil Staps
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+package org.rssin.android;
+
+/**
+ * Created by Randy on 4-6-2015.
+ */
+
+import android.app.Activity;
+import android.content.Context;
+import android.os.Bundle;
+import android.support.v4.view.PagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import org.rssin.rssin.R;
+
+public class FirstTimeBootActivity extends Activity {
+
+ private static final int MAX_VIEWS = 5;
+
+ ViewPager mViewPager;
+ TextView button;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.walkthrough_activity);
+ button = (TextView) findViewById(R.id.screen_navigation_button);
+ button.setText(getString(R.string.walkthrough_text_button));
+ button.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ mViewPager = (ViewPager) findViewById(R.id.view_pager);
+ mViewPager.setAdapter(new WalkthroughPagerAdapter());
+ mViewPager.setOnPageChangeListener(new WalkthroughPageChangeListener());
+ }
+
+ class WalkthroughPagerAdapter extends PagerAdapter {
+
+ @Override
+ public int getCount() {
+ return MAX_VIEWS;
+ }
+
+ @Override
+ public boolean isViewFromObject(View view, Object object) {
+ return view == (View) object;
+ }
+
+ @Override
+ public Object instantiateItem(View container, int position) {
+ LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ View imageViewContainer = inflater.inflate(R.layout.walkthrough_single_view, null);
+ ImageView imageView = (ImageView) imageViewContainer.findViewById(R.id.image_view);
+ TextView textView = (TextView) imageViewContainer.findViewById(R.id.text_view);
+
+ switch (position) {
+ case 0:
+ imageView.setImageResource(R.drawable.image1);
+ textView.setText(getString(R.string.walkthrough_text_1));
+ break;
+
+ case 1:
+ imageView.setImageResource(R.drawable.image2);
+ textView.setText(getString(R.string.walkthrough_text_2));
+ break;
+
+ case 2:
+ imageView.setImageResource(R.drawable.image3);
+ textView.setText(getString(R.string.walkthrough_text_3));
+ break;
+
+ case 3:
+ imageView.setImageResource(R.drawable.image4);
+ textView.setText(getString(R.string.walkthrough_text_4));
+ break;
+
+ case 4:
+ imageView.setImageResource(R.drawable.image5);
+ textView.setText(getString(R.string.walkthrough_text_5));
+ break;
+ }
+
+ ((ViewPager) container).addView(imageViewContainer, 0);
+ return imageViewContainer;
+ }
+
+ @Override
+ public void destroyItem(ViewGroup container, int position, Object object) {
+ ((ViewPager) container).removeView((View) object);
+ }
+ }
+
+
+ class WalkthroughPageChangeListener implements ViewPager.OnPageChangeListener {
+
+ @Override
+ public void onPageScrollStateChanged(int arg0) {
+
+ }
+
+ @Override
+ public void onPageScrolled(int arg0, float arg1, int arg2) {
+
+ }
+
+ @Override
+ public void onPageSelected(int position) {
+ // Here is where you should show change the view of page indicator
+ switch (position) {
+
+ case MAX_VIEWS - 1:
+ break;
+
+ default:
+
+ }
+
+ }
+
+ }
+}
+
diff --git a/app/src/main/java/org/rssin/android/HomeScreenActivity.java b/app/src/main/java/org/rssin/android/HomeScreenActivity.java
index 70bd611..a1ed705 100644
--- a/app/src/main/java/org/rssin/android/HomeScreenActivity.java
+++ b/app/src/main/java/org/rssin/android/HomeScreenActivity.java
@@ -1,21 +1,21 @@
-/**
- * RSSin - Clever RSS reader for Android
- * Copyright (C) 2015 Randy Wanga, Jos Craaijo, Joep Bernards, Camil Staps
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
+/**
+ * RSSin - Clever RSS reader for Android
+ * Copyright (C) 2015 Randy Wanga, Jos Craaijo, Joep Bernards, Camil Staps
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
package org.rssin.android;
import android.content.Intent;
@@ -47,7 +47,7 @@ public class HomeScreenActivity extends ActionBarActivity implements NavigationD
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_screen);
- Intent intent = new Intent(this, FirstTimeBoot.class);
+ Intent intent = new Intent(this, FirstTimeBootActivity.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 2679633..24c8609 100644
--- a/app/src/main/java/org/rssin/rssin/Feed.java
+++ b/app/src/main/java/org/rssin/rssin/Feed.java
@@ -38,6 +38,7 @@ import java.net.URL;
/**
* Feed holder
* @author Camil Staps
+ * @todo Allow users to enter links without scheme (http:// ...)
*/
public class Feed implements Storable, Comparable, Jsonable {
private static final long serialVersionUID = 0;
--
cgit v1.2.3