11package it.niedermann.owncloud.notes.edit
22
33import android.annotation.SuppressLint
4- import android.content.Context
54import android.content.pm.ApplicationInfo
65import android.net.http.SslError
76import android.os.Bundle
87import android.util.Log
98import android.view.LayoutInflater
9+ import android.view.MotionEvent
1010import android.view.View
1111import android.view.ViewGroup
1212import android.webkit.JavascriptInterface
@@ -26,13 +26,15 @@ import it.niedermann.owncloud.notes.persistence.DirectEditingRepository
2626import it.niedermann.owncloud.notes.persistence.entity.Note
2727import it.niedermann.owncloud.notes.shared.model.ISyncCallback
2828import it.niedermann.owncloud.notes.shared.util.ExtendedFabUtil
29- import it.niedermann.owncloud.notes.shared.util.ExtendedFabUtil.toggleVisibilityOnScroll
3029
3130class NoteDirectEditFragment : BaseNoteFragment (), Branded {
3231 private var _binding : FragmentNoteDirectEditBinding ? = null
3332 private val binding: FragmentNoteDirectEditBinding
3433 get() = _binding !!
3534
35+ // for hiding / showing the fab
36+ private var scrollStart: Int = 0
37+
3638 public override fun getScrollView (): ScrollView ? {
3739 return null
3840 }
@@ -71,8 +73,21 @@ class NoteDirectEditFragment : BaseNoteFragment(), Branded {
7173 private fun setupFab () {
7274 binding.plainEditingFab.isExtended = false
7375 ExtendedFabUtil .toggleExtendedOnLongClick(binding.plainEditingFab)
74- binding.noteWebview.setOnScrollChangeListener { _, _, scrollY, _, oldScrollY ->
75- toggleVisibilityOnScroll(binding.plainEditingFab, scrollY, oldScrollY)
76+ binding.noteWebview.setOnTouchListener { _, event ->
77+ when (event.action) {
78+ MotionEvent .ACTION_DOWN -> {
79+ scrollStart = event.y.toInt()
80+ }
81+ MotionEvent .ACTION_UP -> {
82+ val scrollEnd = event.y.toInt()
83+ ExtendedFabUtil .toggleVisibilityOnScroll(
84+ binding.plainEditingFab,
85+ scrollStart,
86+ scrollEnd,
87+ )
88+ }
89+ }
90+ return @setOnTouchListener false
7691 }
7792 binding.plainEditingFab.setOnClickListener {
7893 // TODO save note?
@@ -86,11 +101,6 @@ class NoteDirectEditFragment : BaseNoteFragment(), Branded {
86101 _binding = null
87102 }
88103
89- override fun onAttach (context : Context ) {
90- super .onAttach(context)
91- listener.setToolbarVisibility(false )
92- }
93-
94104 override fun onNoteLoaded (note : Note ) {
95105 super .onNoteLoaded(note)
96106 Log .d(TAG , " onNoteLoaded() called with: note = $note " )
@@ -106,12 +116,15 @@ class NoteDirectEditFragment : BaseNoteFragment(), Branded {
106116 Log .d(TAG , " onNoteLoaded: url = $url " )
107117 }
108118 binding.noteWebview.loadUrl(url)
119+ // TODO show warn/error if not loaded after 10 seconds
109120 }, { throwable ->
110121 // TODO handle error
111122 Log .e(TAG , " onNoteLoaded:" , throwable)
112123 })
113124 }
114125
126+ override fun shouldShowToolbar (): Boolean = false
127+
115128 @SuppressLint(" SetJavaScriptEnabled" )
116129 private fun setupWebSettings (webSettings : WebSettings ) {
117130 WebView .setWebContentsDebuggingEnabled(true )
0 commit comments