val tabFavoriteIconImageView = tabCustomView.findViewById<ImageView>(R.id.favorite_icon_imageview)
val tabTitleTextView = tabCustomView.findViewById<TextView>(R.id.title_textview)
+ // Store the current values in case they need to be restored.
+ nestedScrollWebView.previousFavoriteIconDrawable = tabFavoriteIconImageView.drawable
+ nestedScrollWebView.previousWebpageTitle = tabTitleTextView.text.toString()
+
// Set the default favorite icon as the favorite icon for this tab.
tabFavoriteIconImageView.setImageBitmap(Bitmap.createScaledBitmap(nestedScrollWebView.getFavoriteIcon(), 64, 64, true))
pendingDialogsArrayList.add(PendingDialogDataClass(saveDialogFragment, getString(R.string.save_dialog)))
}
}
+
+ // Get the current page position.
+ val currentPagePosition = webViewStateAdapter!!.getPositionForId(nestedScrollWebView.webViewFragmentId)
+
+ // Get the corresponding tab.
+ val tab = tabLayout.getTabAt(currentPagePosition)!!
+
+ // Get the tab custom view.
+ val tabCustomView = tab.customView!!
+
+ // Get the tab views.
+ val tabFavoriteIconImageView = tabCustomView.findViewById<ImageView>(R.id.favorite_icon_imageview)
+ val tabTitleTextView = tabCustomView.findViewById<TextView>(R.id.title_textview)
+
+ // Restore the previous webpage favorite icon and title if the title is currently set to `Loading...`.
+ if (tabTitleTextView.text.toString() == getString(R.string.loading)) {
+ // Restore the previous webpage title text.
+ tabTitleTextView.text = nestedScrollWebView.previousWebpageTitle
+
+ // Restore the previous webpage favorite icon if it is not null.
+ if (nestedScrollWebView.previousFavoriteIconDrawable != null)
+ tabFavoriteIconImageView.setImageDrawable(nestedScrollWebView.previousFavoriteIconDrawable)
+ }
}
// Update the find on page count.
import kotlin.text.StringBuilder
// Define the class constants.
-private const val FILTERLISTS_VERSIONS = "filterlists_versions"
+private const val FILTERLISTS_VERSIONS = "A"
+private const val SCROLL_Y = "B"
private const val MEBIBYTE = 1048576
class AboutVersionFragment : Fragment() {
// Scroll the tab if the saved instance state is not null.
if (savedInstanceState != null) {
aboutVersionLayout.post {
- aboutVersionLayout.scrollX = savedInstanceState.getInt("scroll_x")
- aboutVersionLayout.scrollY = savedInstanceState.getInt("scroll_y")
+ aboutVersionLayout.scrollY = savedInstanceState.getInt(SCROLL_Y)
}
}
// Run the default commands.
super.onSaveInstanceState(savedInstanceState)
- // Save the scroll positions.
- savedInstanceState.putInt("scroll_x", aboutVersionLayout.scrollX)
- savedInstanceState.putInt("scroll_y", aboutVersionLayout.scrollY)
+ // Save the scroll position.
+ savedInstanceState.putInt(SCROLL_Y, aboutVersionLayout.scrollY)
}
override fun onPause() {
import android.content.Context
import android.graphics.Bitmap
import android.graphics.drawable.BitmapDrawable
+import android.graphics.drawable.Drawable
import android.os.Bundle
import android.util.AttributeSet
import android.view.MotionEvent
var httpAuthHandler: HttpAuthHandler? = null
var ignorePinnedDomainInformation = false
var pinnedIpAddresses = ""
+ var previousFavoriteIconDrawable: Drawable? = null
+ var previousWebpageTitle = ""
var sslErrorHandler: SslErrorHandler? = null
var swipeToRefresh = false
var ultraListEnabled = true