diff options
Diffstat (limited to 'app')
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> |