From 579f5ae3f8fc38a1d714a089e85abd0b0d7ff9af Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Tue, 11 Mar 2014 22:43:33 +0000 Subject: [PATCH] Add touch listener for immersive view gesture to fragment view in addition to webview. --- .../newsblur/fragment/ReadingItemFragment.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/clients/android/NewsBlur/src/com/newsblur/fragment/ReadingItemFragment.java b/clients/android/NewsBlur/src/com/newsblur/fragment/ReadingItemFragment.java index 09679e58d..f36e225a0 100644 --- a/clients/android/NewsBlur/src/com/newsblur/fragment/ReadingItemFragment.java +++ b/clients/android/NewsBlur/src/com/newsblur/fragment/ReadingItemFragment.java @@ -164,6 +164,7 @@ public class ReadingItemFragment extends Fragment implements ClassifierDialogFra public void onDestroy() { getActivity().unregisterReceiver(receiver); web.setOnTouchListener(null); + view.setOnTouchListener(null); super.onDestroy(); } @@ -206,20 +207,26 @@ public class ReadingItemFragment extends Fragment implements ClassifierDialogFra NonfocusScrollview scrollView = (NonfocusScrollview) view.findViewById(R.id.reading_scrollview); scrollView.registerScrollChangeListener(this.activity); + setupImmersiveViewGestureDetector(); + + return view; + } + + private void setupImmersiveViewGestureDetector() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { // Change the system visibility on the decorview from the activity so that the state is maintained as we page through // fragments final GestureDetector gestureDetector = new GestureDetector(getActivity(), new ImmersiveViewDetector(getActivity().getWindow().getDecorView())); - web.setOnTouchListener(new View.OnTouchListener() { + View.OnTouchListener touchListener = new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { return gestureDetector.onTouchEvent(motionEvent); } - }); + }; + web.setOnTouchListener(touchListener); + view.setOnTouchListener(touchListener); } - - return view; - } + } private void setupSaveButton() { final Button saveButton = (Button) view.findViewById(R.id.save_story_button);