diff options
author | Camil Staps | 2015-05-21 16:28:23 +0200 |
---|---|---|
committer | Camil Staps | 2015-05-21 16:28:23 +0200 |
commit | 0827a47b82757f7bebf110cb2081dff8551ea38d (patch) | |
tree | dfd4e1c3c6a94d5d4748b37b77329c80982c973f /app/src/main/java/org | |
parent | Delete filters (diff) |
Add feeds
Diffstat (limited to 'app/src/main/java/org')
-rw-r--r-- | app/src/main/java/org/rssin/android/FilterSettingsActivity.java | 36 |
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(); |