aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/org
diff options
context:
space:
mode:
authorCamil Staps2015-05-21 16:28:23 +0200
committerCamil Staps2015-05-21 16:28:23 +0200
commit0827a47b82757f7bebf110cb2081dff8551ea38d (patch)
treedfd4e1c3c6a94d5d4748b37b77329c80982c973f /app/src/main/java/org
parentDelete filters (diff)
Add feeds
Diffstat (limited to 'app/src/main/java/org')
-rw-r--r--app/src/main/java/org/rssin/android/FilterSettingsActivity.java36
1 files changed, 28 insertions, 8 deletions
diff --git a/app/src/main/java/org/rssin/android/FilterSettingsActivity.java b/app/src/main/java/org/rssin/android/FilterSettingsActivity.java
index bfe9261..bb7456e 100644
--- a/app/src/main/java/org/rssin/android/FilterSettingsActivity.java
+++ b/app/src/main/java/org/rssin/android/FilterSettingsActivity.java
@@ -10,7 +10,6 @@ import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@@ -19,6 +18,7 @@ import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
+import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
@@ -30,6 +30,8 @@ import org.rssin.rssin.Keyword;
import org.rssin.rssin.R;
import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
import java.util.List;
public class FilterSettingsActivity extends ActionBarActivity {
@@ -212,12 +214,30 @@ public class FilterSettingsActivity extends ActionBarActivity {
public static class FeedsDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- View view = getActivity().getLayoutInflater().inflate(R.layout.fragment_filter_settings_feeds, null);
-
- Filter filter = (Filter) getArguments().getSerializable("filter");
-
- final FeedAdapter kAdapter = new FeedAdapter(getActivity(), R.layout.item_filter_settings_feed, filter.getFeeds());
- ((ListView) view.findViewById(R.id.filter_settings_keywords_list)).setAdapter(kAdapter);
+ final View view = getActivity().getLayoutInflater().inflate(R.layout.fragment_filter_settings_feeds, null);
+
+ final Filter filter = (Filter) getArguments().getSerializable("filter");
+
+ final FeedAdapter feedAdapter = new FeedAdapter(getActivity(), R.layout.item_filter_settings_feed, filter.getFeeds());
+ ((ListView) view.findViewById(R.id.filter_settings_feeds_list)).setAdapter(feedAdapter);
+
+ view.findViewById(R.id.filter_settings_add_feed_button).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ EditText editText = (EditText) view.findViewById(R.id.filter_settings_add_feed);
+ String feed = editText.getText().toString();
+ try {
+ URL url = new URL(feed);
+ filter.getFeeds().add(new Feed(
+ url,
+ url.getHost() + " " + feed.substring(feed.lastIndexOf('/') + 1, feed.lastIndexOf('.'))));
+ feedAdapter.notifyDataSetChanged();
+ editText.setText("");
+ } catch (MalformedURLException e) {
+ Toast.makeText(getActivity(), getResources().getString(R.string.error_invalid_url), Toast.LENGTH_SHORT).show();
+ }
+ }
+ });
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(R.string.filter_settings_feeds)
@@ -251,7 +271,7 @@ public class FilterSettingsActivity extends ActionBarActivity {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
- FeedHolder holder = null;
+ FeedHolder holder;
if (row == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();