aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rwxr-xr-xapp/src/main/java/org/rssin/android/ArticleActivity.java4
-rwxr-xr-xapp/src/main/java/org/rssin/android/NavigationDrawerAdapter.java59
-rwxr-xr-xapp/src/main/java/org/rssin/neurons/FeedSorter.java8
-rwxr-xr-xapp/src/main/java/org/rssin/neurons/TrainingCase.java11
-rwxr-xr-xapp/src/main/java/org/rssin/rssin/SortedFeedItemContainer.java9
-rwxr-xr-xapp/src/main/res/values/strings.xml5
6 files changed, 35 insertions, 61 deletions
diff --git a/app/src/main/java/org/rssin/android/ArticleActivity.java b/app/src/main/java/org/rssin/android/ArticleActivity.java
index f5c0631..2512949 100755
--- a/app/src/main/java/org/rssin/android/ArticleActivity.java
+++ b/app/src/main/java/org/rssin/android/ArticleActivity.java
@@ -77,12 +77,12 @@ public class ArticleActivity extends ActionBarActivity {
//noinspection SimplifiableIfStatement
if (id == R.id.article_action_dislike) {
- Toast.makeText(this, "Feedback saved.", Toast.LENGTH_SHORT).show();
+ Toast.makeText(this, getString(R.string.article_feedback_saved), Toast.LENGTH_SHORT).show();
container.feedback(this, Dislike);
return true;
} else if(id == R.id.article_action_like)
{
- Toast.makeText(this, "Feedback saved.", Toast.LENGTH_SHORT).show();
+ Toast.makeText(this, getString(R.string.article_feedback_saved), Toast.LENGTH_SHORT).show();
container.feedback(this, Like);
return true;
} else if(id == R.id.article_action_share)
diff --git a/app/src/main/java/org/rssin/android/NavigationDrawerAdapter.java b/app/src/main/java/org/rssin/android/NavigationDrawerAdapter.java
index 90ce041..2a24342 100755
--- a/app/src/main/java/org/rssin/android/NavigationDrawerAdapter.java
+++ b/app/src/main/java/org/rssin/android/NavigationDrawerAdapter.java
@@ -33,23 +33,22 @@ class NavigationDrawerAdapter implements ListAdapter {
public void updateMenu(Context context) throws IOException {
menuItems.clear();
- menuItems.add(new MenuSection("START"));
- menuItems.add(new MenuUnifiedInbox());
- menuItems.add(new ManageFiltersSection("FILTERS (EDIT)"));
+ menuItems.add(new MenuSection(context.getString(R.string.navigation_drawer_start)));
+ menuItems.add(new MenuUnifiedInbox(context));
+ menuItems.add(new ManageFiltersSection(context.getString(R.string.navigation_drawer_edit_filters)));
for(Filter f : FiltersList.getInstance(context).getFilters())
{
menuItems.add(new MenuFilterItem(f));
}
- menuItems.add(new ManageFeedsSection("FEEDS (EDIT)"));
+ menuItems.add(new ManageFeedsSection(context.getString(R.string.navigation_drawer_edit_feeds)));
for(Feed f : FeedsList.getInstance(context).getFeeds())
{
menuItems.add(new MenuFeedItem(f));
}
-
for(DataSetObserver observer : observers)
{
observer.onChanged();
@@ -181,57 +180,11 @@ class NavigationDrawerAdapter implements ListAdapter {
}
}
- class FilterListMenuItem extends MenuItem
- {
- public FilterListMenuItem()
- {
- super("Manage filters...");
- }
-
- @Override
- public int getItemViewType() {
- return ITEM_VIEW_TYPE_NORMAL;
- }
-
- @Override
- public Fragment getFragment() {
- return NavigationDrawerManageFiltersFragment.newInstance();
- }
-
- @Override
- public int getPreferredMenuId() {
- return R.menu.menu_filters;
- }
- }
-
- class FeedListMenuItem extends MenuItem
- {
- public FeedListMenuItem()
- {
- super("Manage feeds...");
- }
-
- @Override
- public int getItemViewType() {
- return ITEM_VIEW_TYPE_NORMAL;
- }
-
- @Override
- public Fragment getFragment() {
- return NavigationDrawerManageFeedsFragment.newInstance();
- }
-
- @Override
- public int getPreferredMenuId() {
- return R.menu.menu_feeds;
- }
- }
-
class MenuUnifiedInbox extends MenuItem
{
- public MenuUnifiedInbox()
+ public MenuUnifiedInbox(Context context)
{
- super("All feeds");
+ super(context.getString(R.string.navigation_drawer_all_feeds));
}
@Override
diff --git a/app/src/main/java/org/rssin/neurons/FeedSorter.java b/app/src/main/java/org/rssin/neurons/FeedSorter.java
index 4a8fe7e..8887b99 100755
--- a/app/src/main/java/org/rssin/neurons/FeedSorter.java
+++ b/app/src/main/java/org/rssin/neurons/FeedSorter.java
@@ -151,17 +151,21 @@ public class FeedSorter implements Storable {
* @param feedback The feedback. Like will move these types of items up in the list,
* dislike will move them down.
*/
- public void feedback(FeedItem item, Feedback feedback) {
+ public TrainingCase feedback(FeedItem item, Feedback feedback) {
+ TrainingCase trainingCase;
Log.d("FeedSorter", "Collected feedback: " + feedback.toString());
PredictionInterface prediction = getPrediction(item);
prediction.learn(feedback.toExpectedOutput());
- trainingCases.add(new TrainingCase(prediction.getInputs(), feedback));
+ trainingCase = new TrainingCase(prediction.getInputs(), feedback);
+ trainingCases.add(trainingCase);
final int MAX_TRAINING_HISTORY = 250;
while (trainingCases.size() > MAX_TRAINING_HISTORY) {
trainingCases.remove(0);
}
+
+ return trainingCase;
}
/**
diff --git a/app/src/main/java/org/rssin/neurons/TrainingCase.java b/app/src/main/java/org/rssin/neurons/TrainingCase.java
index 69f72cb..5c6172c 100755
--- a/app/src/main/java/org/rssin/neurons/TrainingCase.java
+++ b/app/src/main/java/org/rssin/neurons/TrainingCase.java
@@ -5,21 +5,26 @@ import java.io.Serializable;
/**
* @author Jos.
*/
-class TrainingCase implements Serializable {
+public class TrainingCase implements Serializable {
private static final long serialVersionUID = 0;
private final double[] inputs;
- private final Feedback feedback;
+ private Feedback feedback;
public TrainingCase(double[] inputs, Feedback feedback) {
this.inputs = inputs;
this.feedback = feedback;
}
- public double[] getInputs() {
+ double[] getInputs() {
return inputs;
}
public Feedback getFeedback() {
return feedback;
}
+
+ public void setFeedback(Feedback feedback)
+ {
+ this.feedback = feedback;
+ }
}
diff --git a/app/src/main/java/org/rssin/rssin/SortedFeedItemContainer.java b/app/src/main/java/org/rssin/rssin/SortedFeedItemContainer.java
index 2a69bfa..f96382a 100755
--- a/app/src/main/java/org/rssin/rssin/SortedFeedItemContainer.java
+++ b/app/src/main/java/org/rssin/rssin/SortedFeedItemContainer.java
@@ -6,6 +6,7 @@ import org.rssin.android.FeedSorterProvider;
import org.rssin.android.FiltersList;
import org.rssin.neurons.FeedSorter;
import org.rssin.neurons.Feedback;
+import org.rssin.neurons.TrainingCase;
import org.rssin.rss.FeedItem;
import java.io.Serializable;
@@ -16,6 +17,7 @@ import java.io.Serializable;
public class SortedFeedItemContainer implements Comparable<SortedFeedItemContainer>, Serializable {
private FeedItem feeditem;
private long score;
+ private TrainingCase trainingCase;
public SortedFeedItemContainer(FeedItem feeditem)
{
@@ -38,7 +40,12 @@ public class SortedFeedItemContainer implements Comparable<SortedFeedItemContain
public void feedback(Context context, Feedback feedback)
{
- FeedSorterProvider.getInstance(context).getFeedSorter().feedback(getFeeditem(), feedback);
+ if(trainingCase == null)
+ {
+ trainingCase = FeedSorterProvider.getInstance(context).getFeedSorter().feedback(getFeeditem(), feedback);
+ }else {
+ trainingCase.setFeedback(feedback);
+ }
}
public void setScore(long score) {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1a279c7..3b3a884 100755
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -65,4 +65,9 @@
<string name="article_author_unknown">Unknown author</string>
<string name="article_published_on">Published on:</string>
<string name="article_published_on_unknown"/>
+ <string name="navigation_drawer_all_feeds">All feeds</string>
+ <string name="navigation_drawer_start">START</string>
+ <string name="navigation_drawer_edit_filters">FILTERS (EDIT)</string>
+ <string name="navigation_drawer_edit_feeds">FEEDS (EDIT)</string>
+ <string name="article_feedback_saved">Feedback saved.</string>
</resources>