summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2014-10-16 09:44:41 +0400
committerAndrew Dolgov <[email protected]>2014-10-16 09:44:41 +0400
commit8e8bbf70aad0b6a4cc9a94bc2a4d7a14936862ee (patch)
tree05a2939d74e9faad6171a4bfdfd2c9a13f9a7460
parent74615af61409a3bb4087651ad57039ec960ba750 (diff)
hack flavor image support for schemaless urls UIL refuses to load
implement asking for feed update for API >= 9 on refresh
-rw-r--r--src/org/fox/ttrss/HeadlinesFragment.java125
-rw-r--r--src/org/fox/ttrss/OnlineActivity.java2
2 files changed, 64 insertions, 63 deletions
diff --git a/src/org/fox/ttrss/HeadlinesFragment.java b/src/org/fox/ttrss/HeadlinesFragment.java
index 9a47328e..a5198406 100644
--- a/src/org/fox/ttrss/HeadlinesFragment.java
+++ b/src/org/fox/ttrss/HeadlinesFragment.java
@@ -1,10 +1,5 @@
package org.fox.ttrss;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.DateFormat;
@@ -22,7 +17,6 @@ import org.fox.ttrss.util.TypefaceCache;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
-import org.jsoup.select.Elements;
import android.app.Activity;
import android.content.Context;
@@ -30,13 +24,9 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Resources.Theme;
import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Typeface;
import android.net.Uri;
-import android.net.http.HttpResponseCache;
-import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v4.app.Fragment;
@@ -52,8 +42,6 @@ import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
-import android.webkit.WebSettings;
-import android.webkit.WebView;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.AdapterView;
@@ -312,7 +300,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
m_swipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
- refresh(false);
+ refresh(false, true);
}
});
@@ -416,8 +404,12 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
}
}
- @SuppressWarnings({ "serial" })
public void refresh(boolean append) {
+ refresh(append, false);
+ }
+
+ @SuppressWarnings({ "serial" })
+ public void refresh(boolean append, boolean userInitiated) {
if (m_activity != null && m_feed != null) {
m_refreshInProgress = true;
@@ -523,6 +515,13 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
final int fskip = skip;
+ final boolean allowForceUpdate = m_activity.getApiLevel() >= 9 &&
+ !m_feed.is_cat && m_feed.id > 0 && !append && userInitiated &&
+ skip == 0;
+
+ Log.d(TAG, "allowForceUpdate=" + allowForceUpdate + " userInitiated=" + userInitiated);
+
+
req.setOffset(skip);
HashMap<String,String> map = new HashMap<String,String>() {
@@ -540,12 +539,17 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
put("order_by", m_prefs.getBoolean("oldest_first", false) ? "date_reverse" : "");
if (isCat) put("is_cat", "true");
+
+ if (allowForceUpdate) {
+ put("force_update", "true");
+ }
if (m_searchQuery != null && m_searchQuery.length() != 0) {
put("search", m_searchQuery);
put("search_mode", "");
put("match_on", "both");
}
+
}
};
@@ -824,56 +828,53 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
Element img = doc.select("img").first();
if (img != null) {
- URL imgUri;
- try {
- imgUri = new URL(img.attr("src"));
-
- flavorImage.setTag(imgUri);
-
- DisplayImageOptions options = new DisplayImageOptions.Builder().
- cacheInMemory(true).
- cacheOnDisk(true).
- build();
-
- ImageLoader.getInstance().displayImage(imgUri.toString(), flavorImage, options, new ImageLoadingListener() {
-
- @Override
- public void onLoadingCancelled(String arg0,
- View arg1) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void onLoadingComplete(String arg0,
- View arg1, Bitmap arg2) {
- // TODO Auto-generated method stub
-
- flavorImage.setVisibility(View.VISIBLE);
- }
-
- @Override
- public void onLoadingFailed(String arg0,
- View arg1, FailReason arg2) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void onLoadingStarted(String arg0,
- View arg1) {
- // TODO Auto-generated method stub
-
- }
+ String imgSrc = img.attr("src");
+
+ // retarded schema-less urls
+ if (imgSrc.indexOf("//") == 0)
+ imgSrc = "http:" + imgSrc;
+
+ flavorImage.setTag(imgSrc);
+
+ DisplayImageOptions options = new DisplayImageOptions.Builder().
+ cacheInMemory(true).
+ cacheOnDisk(true).
+ build();
+
+ ImageLoader.getInstance().displayImage(imgSrc, flavorImage, options, new ImageLoadingListener() {
+
+ @Override
+ public void onLoadingCancelled(String arg0,
+ View arg1) {
+ // TODO Auto-generated method stub
- });
-
- //new DownloadFlavorImagesTask().execute(flavorImage);
+ }
- } catch (MalformedURLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ @Override
+ public void onLoadingComplete(String arg0,
+ View arg1, Bitmap arg2) {
+ // TODO Auto-generated method stub
+
+ flavorImage.setVisibility(View.VISIBLE);
+ }
+
+ @Override
+ public void onLoadingFailed(String arg0,
+ View arg1, FailReason arg2) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void onLoadingStarted(String arg0,
+ View arg1) {
+ // TODO Auto-generated method stub
+
+ }
+
+ });
+
+ //new DownloadFlavorImagesTask().execute(flavorImage);
}
diff --git a/src/org/fox/ttrss/OnlineActivity.java b/src/org/fox/ttrss/OnlineActivity.java
index 45bb6168..e33a02b7 100644
--- a/src/org/fox/ttrss/OnlineActivity.java
+++ b/src/org/fox/ttrss/OnlineActivity.java
@@ -1040,7 +1040,7 @@ public class OnlineActivity extends CommonActivity {
case R.id.update_headlines:
if (hf != null) {
//m_pullToRefreshAttacher.setRefreshing(true);
- hf.refresh(false);
+ hf.refresh(false, true);
}
return true;
default: