diff --git a/androidApp/src/main/java/bou/amine/apps/readerforselfossv2/android/fragments/ArticleFragment.kt b/androidApp/src/main/java/bou/amine/apps/readerforselfossv2/android/fragments/ArticleFragment.kt index 4985815..68ff69f 100644 --- a/androidApp/src/main/java/bou/amine/apps/readerforselfossv2/android/fragments/ArticleFragment.kt +++ b/androidApp/src/main/java/bou/amine/apps/readerforselfossv2/android/fragments/ArticleFragment.kt @@ -70,7 +70,7 @@ class ArticleFragment : Fragment(), DIAware { private lateinit var fab: FloatingActionButton private lateinit var textAlignment: String private var _binding: FragmentArticleBinding? = null - private val binding get() = _binding!! + private val binding get() = _binding override val di : DI by closestDI() private val repository: Repository by instance() @@ -113,13 +113,13 @@ class ArticleFragment : Fragment(), DIAware { refreshAlignment() - fab = binding.fab + fab = binding!!.fab fab.backgroundTintList = ColorStateList.valueOf(resources.getColor(R.color.colorAccent)) fab.rippleColor = resources.getColor(R.color.colorAccentDark) - val floatingToolbar: FloatingToolbar = binding.floatingToolbar + val floatingToolbar: FloatingToolbar = binding!!.floatingToolbar floatingToolbar.attachFab(fab) floatingToolbar.background = ColorDrawable(resources.getColor(R.color.colorAccent)) @@ -167,35 +167,35 @@ class ArticleFragment : Fragment(), DIAware { floatingToolbar.show() } - binding.source.text = contentSource + binding!!.source.text = contentSource if (typeface != null) { - binding.source.typeface = typeface + binding!!.source.typeface = typeface } if (contentText.isEmptyOrNullOrNullString()) { getContentFromMercury() } else { - binding.titleView.text = contentTitle + binding!!.titleView.text = contentTitle if (typeface != null) { - binding.titleView.typeface = typeface + binding!!.titleView.typeface = typeface } htmlToWebview() if (!contentImage.isEmptyOrNullOrNullString() && context != null) { - binding.imageView.visibility = View.VISIBLE + binding!!.imageView.visibility = View.VISIBLE Glide .with(requireContext()) .asBitmap() .load(contentImage) .apply(RequestOptions.fitCenterTransform()) - .into(binding.imageView) + .into(binding!!.imageView) } else { - binding.imageView.visibility = View.GONE + binding!!.imageView.visibility = View.GONE } } - binding.nestedScrollView.setOnScrollChangeListener( + binding!!.nestedScrollView.setOnScrollChangeListener( NestedScrollView.OnScrollChangeListener { _, _, scrollY, _, oldScrollY -> if (scrollY > oldScrollY) { floatingToolbar.hide() @@ -224,7 +224,7 @@ class ArticleFragment : Fragment(), DIAware { .show() } - return binding.root + return binding!!.root } override fun onDestroyView() { @@ -242,16 +242,16 @@ class ArticleFragment : Fragment(), DIAware { private fun getContentFromMercury() { if (repository.isNetworkAvailable()) { - binding.progressBar.visibility = View.VISIBLE + binding!!.progressBar.visibility = View.VISIBLE CoroutineScope(Dispatchers.Main).launch { try { val response = mercuryApi.query(url) if (response.success && response.data != null && !response.data?.content.isNullOrEmpty()) { - binding.titleView.text = response.data!!.title.orEmpty() + binding!!.titleView.text = response.data!!.title.orEmpty() try { if (typeface != null) { - binding.titleView.typeface = typeface + binding!!.titleView.typeface = typeface } } catch (e: Exception) { e.sendSilentlyWithAcraWithName("getContentFromMercury > typeface") @@ -275,7 +275,7 @@ class ArticleFragment : Fragment(), DIAware { if (!response.data?.lead_image_url.isNullOrEmpty() && context != null) { try { - binding.imageView.visibility = View.VISIBLE + binding!!.imageView.visibility = View.VISIBLE try { Glide .with(requireContext()) @@ -284,7 +284,7 @@ class ArticleFragment : Fragment(), DIAware { response.data!!.lead_image_url.orEmpty() ) .apply(RequestOptions.fitCenterTransform()) - .into(binding.imageView) + .into(binding!!.imageView) } catch (e: Exception) { e.sendSilentlyWithAcraWithName("getContentFromMercury > glide lead image") } @@ -292,12 +292,12 @@ class ArticleFragment : Fragment(), DIAware { e.sendSilentlyWithAcraWithName("getContentFromMercury > outside glide lead image") } } else { - binding.imageView.visibility = View.GONE + binding!!.imageView.visibility = View.GONE } try { - binding.nestedScrollView.scrollTo(0, 0) - binding.progressBar.visibility = View.GONE + binding!!.nestedScrollView.scrollTo(0, 0) + binding!!.progressBar.visibility = View.GONE } catch (e: Exception) { e.sendSilentlyWithAcraWithName("getContentFromMercury > scrollview") } @@ -320,8 +320,8 @@ class ArticleFragment : Fragment(), DIAware { val a: TypedArray = requireContext().obtainStyledAttributes(resId, attrs) - binding.webcontent.settings.standardFontFamily = a.getString(0) - binding.webcontent.visibility = View.VISIBLE + binding!!.webcontent.settings.standardFontFamily = a.getString(0) + binding!!.webcontent.visibility = View.VISIBLE val colorOnSurface = TypedValue() requireContext().theme.resolveAttribute(R.attr.colorOnSurface, colorOnSurface, true) @@ -329,14 +329,14 @@ class ArticleFragment : Fragment(), DIAware { val colorSurface = TypedValue() requireContext().theme.resolveAttribute(R.attr.colorSurface, colorSurface, true) - binding.webcontent.settings.useWideViewPort = true - binding.webcontent.settings.loadWithOverviewMode = true - binding.webcontent.settings.javaScriptEnabled = false + binding!!.webcontent.settings.useWideViewPort = true + binding!!.webcontent.settings.loadWithOverviewMode = true + binding!!.webcontent.settings.javaScriptEnabled = false - binding.webcontent.webViewClient = object : WebViewClient() { + binding!!.webcontent.webViewClient = object : WebViewClient() { @Deprecated("Deprecated in Java") override fun shouldOverrideUrlLoading(view: WebView?, url : String): Boolean { - if (binding.webcontent.hitTestResult.type != WebView.HitTestResult.SRC_IMAGE_ANCHOR_TYPE) { + if (binding!!.webcontent.hitTestResult.type != WebView.HitTestResult.SRC_IMAGE_ANCHOR_TYPE) { requireContext().startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url))) } return true @@ -380,9 +380,9 @@ class ArticleFragment : Fragment(), DIAware { } }) - binding.webcontent.setOnTouchListener { _, event -> gestureDetector.onTouchEvent(event)} + binding!!.webcontent.setOnTouchListener { _, event -> gestureDetector.onTouchEvent(event)} - binding.webcontent.settings.layoutAlgorithm = + binding!!.webcontent.settings.layoutAlgorithm = WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING var baseUrl: String? = null @@ -413,7 +413,7 @@ class ArticleFragment : Fragment(), DIAware { "" } - binding.webcontent.loadDataWithBaseURL( + binding!!.webcontent.loadDataWithBaseURL( baseUrl, """ | @@ -466,17 +466,17 @@ class ArticleFragment : Fragment(), DIAware { } fun scrollDown() { - val height = binding.nestedScrollView.measuredHeight - binding.nestedScrollView.smoothScrollBy(0, height/2) + val height = binding!!.nestedScrollView.measuredHeight + binding!!.nestedScrollView.smoothScrollBy(0, height/2) } fun scrollUp() { - val height = binding.nestedScrollView.measuredHeight - binding.nestedScrollView.smoothScrollBy(0, -height/2) + val height = binding!!.nestedScrollView.measuredHeight + binding!!.nestedScrollView.smoothScrollBy(0, -height/2) } private fun openInBrowserAfterFailing() { - binding.progressBar.visibility = View.GONE + binding!!.progressBar.visibility = View.GONE requireActivity().openInBrowserAsNewTask(this@ArticleFragment.item) } @@ -495,10 +495,10 @@ class ArticleFragment : Fragment(), DIAware { } fun performClick(): Boolean { - if (binding.webcontent.hitTestResult.type == WebView.HitTestResult.IMAGE_TYPE || - binding.webcontent.hitTestResult.type == WebView.HitTestResult.SRC_IMAGE_ANCHOR_TYPE) { + if (binding!!.webcontent.hitTestResult.type == WebView.HitTestResult.IMAGE_TYPE || + binding!!.webcontent.hitTestResult.type == WebView.HitTestResult.SRC_IMAGE_ANCHOR_TYPE) { - val position : Int = allImages.indexOf(binding.webcontent.hitTestResult.extra) + val position : Int = allImages.indexOf(binding!!.webcontent.hitTestResult.extra) val intent = Intent(activity, ImageActivity::class.java) intent.putExtra("allImages", allImages)