summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/org/fox/ttrss/ApiRequest.java1
-rw-r--r--src/org/fox/ttrss/ArticleFragment.java23
-rw-r--r--src/org/fox/ttrss/FeedsFragment.java2
-rw-r--r--src/org/fox/ttrss/HeadlinesFragment.java22
-rw-r--r--src/org/fox/ttrss/MainActivity.java18
5 files changed, 44 insertions, 22 deletions
diff --git a/src/org/fox/ttrss/ApiRequest.java b/src/org/fox/ttrss/ApiRequest.java
index 5e06d682..5678b1fc 100644
--- a/src/org/fox/ttrss/ApiRequest.java
+++ b/src/org/fox/ttrss/ApiRequest.java
@@ -15,7 +15,6 @@ import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class ApiRequest extends AsyncTask<HashMap<String,String>, Integer, JsonElement> {
diff --git a/src/org/fox/ttrss/ArticleFragment.java b/src/org/fox/ttrss/ArticleFragment.java
index ed90041b..7e1d528f 100644
--- a/src/org/fox/ttrss/ArticleFragment.java
+++ b/src/org/fox/ttrss/ArticleFragment.java
@@ -4,22 +4,21 @@ import java.net.URLEncoder;
import android.app.Activity;
import android.app.Fragment;
-import android.app.FragmentTransaction;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.text.Html;
+import android.text.method.LinkMovementMethod;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
-import android.widget.Button;
import android.widget.TextView;
-public class ArticleFragment extends Fragment implements View.OnClickListener {
+public class ArticleFragment extends Fragment {
private final String TAG = this.getClass().getSimpleName();
protected SharedPreferences m_prefs;
- //private int m_articleId;
private String m_sessionId;
private Article m_article;
@@ -38,7 +37,8 @@ public class ArticleFragment extends Fragment implements View.OnClickListener {
TextView title = (TextView)view.findViewById(R.id.title);
if (title != null) {
- title.setText(m_article.title);
+ title.setText(Html.fromHtml("<a href=\""+URLEncoder.encode(m_article.link)+"\">" + m_article.title + "</a>"));
+ title.setMovementMethod(LinkMovementMethod.getInstance());
}
WebView web = (WebView)view.findViewById(R.id.content);
@@ -46,6 +46,7 @@ public class ArticleFragment extends Fragment implements View.OnClickListener {
if (web != null) {
// this is ridiculous
+ // TODO white on black style for dark theme
String content = URLEncoder.encode("<html>" +
"<head><style type=\"text/css\">img { max-width : 90%; }</style></head>" +
"<body>" + m_article.content + "</body></html>").replace('+', ' ');
@@ -53,11 +54,6 @@ public class ArticleFragment extends Fragment implements View.OnClickListener {
web.loadData(content, "text/html", "utf-8");
}
- Button btn = (Button)view.findViewById(R.id.close_button);
-
- if (btn != null) {
- btn.setOnClickListener(this);
- }
}
return view;
@@ -86,11 +82,4 @@ public class ArticleFragment extends Fragment implements View.OnClickListener {
//m_prefs = PreferenceManager.getDefaultSharedPreferences(activity.getApplicationContext());
}
-
- @Override
- public void onClick(View v) {
- getActivity().findViewById(R.id.article_fragment).setVisibility(View.GONE);
- getActivity().findViewById(R.id.feeds_fragment).setVisibility(View.VISIBLE);
- }
-
}
diff --git a/src/org/fox/ttrss/FeedsFragment.java b/src/org/fox/ttrss/FeedsFragment.java
index 35c5a490..7d7863f3 100644
--- a/src/org/fox/ttrss/FeedsFragment.java
+++ b/src/org/fox/ttrss/FeedsFragment.java
@@ -12,11 +12,9 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
diff --git a/src/org/fox/ttrss/HeadlinesFragment.java b/src/org/fox/ttrss/HeadlinesFragment.java
index e1928d52..65cf2c6f 100644
--- a/src/org/fox/ttrss/HeadlinesFragment.java
+++ b/src/org/fox/ttrss/HeadlinesFragment.java
@@ -19,6 +19,7 @@ import android.preference.PreferenceManager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
+import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
@@ -26,6 +27,7 @@ import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
+import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
@@ -279,13 +281,29 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener {
v = vi.inflate(layoutId, null);
}
- TextView tt = (TextView) v.findViewById(R.id.title);
+ TextView tt = (TextView)v.findViewById(R.id.title);
if (tt != null) {
tt.setText(article.title);
}
- TextView te = (TextView) v.findViewById(R.id.excerpt);
+ ImageView marked = (ImageView)v.findViewById(R.id.marked);
+
+ if (marked != null) {
+ marked.setImageResource(article.marked ? android.R.drawable.star_on : android.R.drawable.star_off);
+
+ marked.setOnClickListener(new OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ Log.d(TAG, "Marked image clicked " + v + " / " + article.id + "/" + article.marked);
+ article.marked = !article.marked;
+ m_adapter.notifyDataSetChanged();
+ }
+ });
+ }
+
+ TextView te = (TextView)v.findViewById(R.id.excerpt);
if (te != null) {
String excerpt = Jsoup.parse(article.content).text();
diff --git a/src/org/fox/ttrss/MainActivity.java b/src/org/fox/ttrss/MainActivity.java
index 9c0e789b..8ef91d39 100644
--- a/src/org/fox/ttrss/MainActivity.java
+++ b/src/org/fox/ttrss/MainActivity.java
@@ -191,6 +191,9 @@ public class MainActivity extends Activity implements FeedsFragment.OnFeedSelect
case R.id.login:
login();
return true;
+ case R.id.close_article:
+ closeArticle();
+ return true;
case R.id.show_feeds:
if (getUnreadOnly()) {
item.setTitle(R.string.menu_unread_feeds);
@@ -205,6 +208,16 @@ public class MainActivity extends Activity implements FeedsFragment.OnFeedSelect
}
}
+ public void closeArticle() {
+ findViewById(R.id.article_fragment).setVisibility(View.GONE);
+ findViewById(R.id.feeds_fragment).setVisibility(View.VISIBLE);
+
+ if (m_menu != null)
+ m_menu.findItem(R.id.close_article).setVisible(false);
+
+ m_selectedArticle = null;
+ }
+
private class LoginRequest extends ApiRequest {
protected void onPostExecute(JsonElement result) {
@@ -316,6 +329,9 @@ public class MainActivity extends Activity implements FeedsFragment.OnFeedSelect
findViewById(R.id.feeds_fragment).setVisibility(View.GONE);
findViewById(R.id.article_fragment).setVisibility(View.VISIBLE);
+ if (m_menu != null)
+ m_menu.findItem(R.id.close_article).setVisible(true);
+
}
public Feed getActiveFeed() {
@@ -327,9 +343,11 @@ public class MainActivity extends Activity implements FeedsFragment.OnFeedSelect
findViewById(R.id.main).setVisibility(View.INVISIBLE);
if (m_menu != null) {
+ m_menu.findItem(R.id.login).setVisible(true);
m_menu.findItem(R.id.logout).setVisible(false);
m_menu.findItem(R.id.update).setVisible(false);
m_menu.findItem(R.id.show_feeds).setVisible(false);
+ m_menu.findItem(R.id.close_article).setVisible(false);
}
if (m_refreshTask != null) {