diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/org/fox/ttrss/ApiRequest.java | 1 | ||||
| -rw-r--r-- | src/org/fox/ttrss/ArticleFragment.java | 23 | ||||
| -rw-r--r-- | src/org/fox/ttrss/FeedsFragment.java | 2 | ||||
| -rw-r--r-- | src/org/fox/ttrss/HeadlinesFragment.java | 22 | ||||
| -rw-r--r-- | src/org/fox/ttrss/MainActivity.java | 18 |
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) { |