diff --git a/org.fox.ttrss/src/main/AndroidManifest.xml b/org.fox.ttrss/src/main/AndroidManifest.xml index c0e50d39..7a7e90da 100755 --- a/org.fox.ttrss/src/main/AndroidManifest.xml +++ b/org.fox.ttrss/src/main/AndroidManifest.xml @@ -1,11 +1,11 @@ + android:versionCode="380" + android:versionName="1.152" > @@ -254,7 +254,6 @@ = oldt && t >= ab.getHeight()) { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java index 7395b5f8..617787e1 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java @@ -9,7 +9,6 @@ import android.os.Bundle; import android.preference.PreferenceManager; import android.provider.BaseColumns; import android.support.v4.app.Fragment; -import android.support.v4.widget.NestedScrollView; import android.support.v7.app.ActionBar; import android.util.Log; import android.util.TypedValue; @@ -25,13 +24,14 @@ import android.webkit.WebView; import android.webkit.WebView.HitTestResult; import android.webkit.WebViewClient; import android.widget.ImageView; +import android.widget.ScrollView; import android.widget.TextView; import com.shamanland.fab.ShowHideOnScroll; import org.fox.ttrss.R; import org.fox.ttrss.util.ImageCacheService; -import org.fox.ttrss.util.NoChildFocusScrollView; +import org.fox.ttrss.util.NotifyingScrollView; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; @@ -134,25 +134,25 @@ public class OfflineArticleFragment extends Fragment { if (m_cursor.isFirst()) { final String link = m_cursor.getString(m_cursor.getColumnIndex("link")); - NoChildFocusScrollView scrollView = (NoChildFocusScrollView) view.findViewById(R.id.article_scrollview); + NotifyingScrollView scrollView = (NotifyingScrollView) view.findViewById(R.id.article_scrollview); View fab = view.findViewById(R.id.article_fab); if (scrollView != null && m_activity.isSmallScreen()) { view.findViewById(R.id.article_heading_spacer).setVisibility(View.VISIBLE); - scrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() { - @Override - public void onScrollChange(NestedScrollView who, int l, int t, int oldl, int oldt) { - ActionBar ab = m_activity.getSupportActionBar(); + scrollView.setOnScrollChangedListener(new NotifyingScrollView.OnScrollChangedListener() { + @Override + public void onScrollChanged(ScrollView who, int l, int t, int oldl, int oldt) { + ActionBar ab = m_activity.getSupportActionBar(); - if (t >= oldt && t >= ab.getHeight()) { - ab.hide(); - } else if (t <= ab.getHeight() || oldt - t >= 10) { - ab.show(); - } + if (t >= oldt && t >= ab.getHeight()) { + ab.hide(); + } else if (t <= ab.getHeight() || oldt - t >= 10) { + ab.show(); + } - } - }); + } + }); } if (scrollView != null && fab != null) { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/NoChildFocusScrollView.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/NoChildFocusScrollView.java old mode 100755 new mode 100644 index af0454fa..5e5c8c48 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/NoChildFocusScrollView.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/NoChildFocusScrollView.java @@ -1,13 +1,12 @@ package org.fox.ttrss.util; import android.content.Context; -import android.support.v4.widget.NestedScrollView; import android.util.AttributeSet; import android.view.View; import android.webkit.WebView; import android.widget.ScrollView; -public class NoChildFocusScrollView extends NestedScrollView { +public class NoChildFocusScrollView extends NotifyingScrollView { public NoChildFocusScrollView(Context context) { super(context); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/NotifyingScrollView.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/NotifyingScrollView.java new file mode 100644 index 00000000..e128856f --- /dev/null +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/NotifyingScrollView.java @@ -0,0 +1,45 @@ +package org.fox.ttrss.util; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.ScrollView; + +/** + * @author Cyril Mottier + */ +public class NotifyingScrollView extends ScrollView { + + /** + * @author Cyril Mottier + */ + public interface OnScrollChangedListener { + void onScrollChanged(ScrollView who, int l, int t, int oldl, int oldt); + } + + private OnScrollChangedListener mOnScrollChangedListener; + + public NotifyingScrollView(Context context) { + super(context); + } + + public NotifyingScrollView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public NotifyingScrollView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + } + + @Override + protected void onScrollChanged(int l, int t, int oldl, int oldt) { + super.onScrollChanged(l, t, oldl, oldt); + if (mOnScrollChangedListener != null) { + mOnScrollChangedListener.onScrollChanged(this, l, t, oldl, oldt); + } + } + + public void setOnScrollChangedListener(OnScrollChangedListener listener) { + mOnScrollChangedListener = listener; + } + +} \ No newline at end of file