Migrate from RikkaX Insets to Insetter
This commit is contained in:
1 parent
66d026cffa
commit
b2b12f7b93
14 files changed
+51
-36
No files matched your search
@@ -25,8 +25,6 @@ import com.hippo.ehviewer.R
|
||||
import com.hippo.ehviewer.Settings
|
||||
import eu.kanade.tachiyomi.util.system.isNightMode
|
||||
import eu.kanade.tachiyomi.util.view.setSecureScreen
|
||||
import rikka.insets.WindowInsetsHelper
|
||||
import rikka.layoutinflater.view.LayoutInflaterFactory
|
||||
|
||||
abstract class EhActivity : AppCompatActivity() {
|
||||
@StyleRes
|
||||
@@ -44,7 +42,6 @@ abstract class EhActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
layoutInflater.factory2 = LayoutInflaterFactory(delegate).addOnViewCreatedListener(WindowInsetsHelper.LISTENER)
|
||||
super.onCreate(savedInstanceState)
|
||||
WindowCompat.getInsetsController(window, window.decorView).isAppearanceLightStatusBars = !isNightMode()
|
||||
WindowCompat.getInsetsController(window, window.decorView).isAppearanceLightNavigationBars = !isNightMode()
|
||||
|
||||
@@ -102,6 +102,7 @@ import com.hippo.ehviewer.ui.tools.CropDefaults
|
||||
import com.hippo.ehviewer.ui.tools.DialogState
|
||||
import com.hippo.ehviewer.util.FileUtils
|
||||
import com.hippo.ehviewer.util.LongList
|
||||
import com.hippo.ehviewer.util.applyNavigationBarsPadding
|
||||
import com.hippo.ehviewer.util.containsIgnoreCase
|
||||
import com.hippo.ehviewer.util.sendTo
|
||||
import com.hippo.unifile.UniFile
|
||||
@@ -353,6 +354,8 @@ class DownloadsScene :
|
||||
mKeyword = it.takeUnless { it.isEmpty() }
|
||||
updateInfoList()
|
||||
}
|
||||
binding.fastScroller.applyNavigationBarsPadding()
|
||||
binding.recyclerView.applyNavigationBarsPadding()
|
||||
return binding.root
|
||||
}
|
||||
|
||||
|
||||
@@ -81,11 +81,13 @@ import com.hippo.ehviewer.ui.setMD3Content
|
||||
import com.hippo.ehviewer.ui.tools.DialogState
|
||||
import com.hippo.ehviewer.util.ExceptionUtils
|
||||
import com.hippo.ehviewer.util.SimpleHandler
|
||||
import com.hippo.ehviewer.util.applyNavigationBarsPadding
|
||||
import com.hippo.ehviewer.util.getValue
|
||||
import com.hippo.ehviewer.util.lazyMut
|
||||
import com.hippo.ehviewer.util.setValue
|
||||
import eu.kanade.tachiyomi.util.lang.launchIO
|
||||
import eu.kanade.tachiyomi.util.lang.withIOContext
|
||||
import eu.kanade.tachiyomi.util.system.dpToPx
|
||||
import java.time.Instant
|
||||
import java.time.LocalDateTime
|
||||
import java.time.ZoneId
|
||||
@@ -333,6 +335,7 @@ class FavoritesScene : SearchBarScene() {
|
||||
drawable.setBounds(0, 0, drawable.intrinsicWidth, drawable.intrinsicHeight)
|
||||
binding.tip.setCompoundDrawables(null, drawable, null, null)
|
||||
binding.tip.setOnClickListener { mAdapter?.retry() }
|
||||
binding.refreshLayout.setProgressViewOffset(true, 0, 64.dpToPx)
|
||||
binding.refreshLayout.setOnRefreshListener { switchFav(urlBuilder.favCat) }
|
||||
val transition = ViewTransition(binding.refreshLayout, binding.progress, binding.tip)
|
||||
val empty = getString(R.string.gallery_list_empty_hit)
|
||||
@@ -428,6 +431,8 @@ class FavoritesScene : SearchBarScene() {
|
||||
}
|
||||
})
|
||||
itemTouchHelper.attachToRecyclerView(binding.recyclerView)
|
||||
binding.fastScroller.applyNavigationBarsPadding()
|
||||
binding.recyclerView.applyNavigationBarsPadding()
|
||||
return binding.root
|
||||
}
|
||||
|
||||
|
||||
@@ -87,6 +87,7 @@ import com.hippo.ehviewer.util.ReadableTime
|
||||
import com.hippo.ehviewer.util.SimpleAnimatorListener
|
||||
import com.hippo.ehviewer.util.TextUrl
|
||||
import com.hippo.ehviewer.util.addTextToClipboard
|
||||
import com.hippo.ehviewer.util.applyNavigationBarsPadding
|
||||
import com.hippo.ehviewer.util.getParcelableCompat
|
||||
import com.hippo.ehviewer.util.toBBCode
|
||||
import eu.kanade.tachiyomi.util.lang.launchIO
|
||||
@@ -258,6 +259,8 @@ class GalleryCommentsScene : BaseToolbarScene(), View.OnClickListener, OnRefresh
|
||||
binding.fab.setOnClickListener(this)
|
||||
mViewTransition = ViewTransition(binding.refreshLayout, tip)
|
||||
updateView(false)
|
||||
binding.editPanel.applyNavigationBarsPadding()
|
||||
binding.fabLayout.applyNavigationBarsPadding()
|
||||
return binding.root
|
||||
}
|
||||
|
||||
|
||||
@@ -100,6 +100,7 @@ import com.hippo.ehviewer.updater.AppUpdater
|
||||
import com.hippo.ehviewer.util.AnimationUtils
|
||||
import com.hippo.ehviewer.util.ExceptionUtils
|
||||
import com.hippo.ehviewer.util.SimpleAnimatorListener
|
||||
import com.hippo.ehviewer.util.applyNavigationBarsPadding
|
||||
import com.hippo.ehviewer.util.getParcelableCompat
|
||||
import com.hippo.ehviewer.util.getValue
|
||||
import com.hippo.ehviewer.util.lazyMut
|
||||
@@ -107,6 +108,7 @@ import com.hippo.ehviewer.util.setValue
|
||||
import eu.kanade.tachiyomi.util.lang.launchIO
|
||||
import eu.kanade.tachiyomi.util.lang.withIOContext
|
||||
import eu.kanade.tachiyomi.util.lang.withUIContext
|
||||
import eu.kanade.tachiyomi.util.system.dpToPx
|
||||
import java.io.File
|
||||
import java.time.Instant
|
||||
import java.time.LocalDateTime
|
||||
@@ -363,6 +365,7 @@ class GalleryListScene : SearchBarScene() {
|
||||
drawable.setBounds(0, 0, drawable.intrinsicWidth, drawable.intrinsicHeight)
|
||||
binding.tip.setCompoundDrawables(null, drawable, null, null)
|
||||
binding.tip.setOnClickListener { mAdapter?.retry() }
|
||||
binding.refreshLayout.setProgressViewOffset(true, 0, 64.dpToPx)
|
||||
binding.refreshLayout.setOnRefreshListener {
|
||||
mUrlBuilder.setIndex(null, true)
|
||||
mUrlBuilder.mJumpTo = null
|
||||
@@ -490,7 +493,12 @@ class GalleryListScene : SearchBarScene() {
|
||||
}
|
||||
binding.fabLayout.primaryFab!!.setImageDrawable(actionFabDrawable)
|
||||
binding.searchFab.setOnClickListener { onApplySearch() }
|
||||
(binding.searchFab.parent as View).bringToFront()
|
||||
(binding.searchFab.parent as View).apply {
|
||||
bringToFront()
|
||||
applyNavigationBarsPadding()
|
||||
}
|
||||
binding.fastScroller.applyNavigationBarsPadding()
|
||||
binding.recyclerView.applyNavigationBarsPadding()
|
||||
|
||||
// Update list url builder
|
||||
onUpdateUrlBuilder()
|
||||
|
||||
@@ -43,6 +43,7 @@ import com.hippo.ehviewer.ui.legacy.FabLayout
|
||||
import com.hippo.ehviewer.ui.setMD3Content
|
||||
import com.hippo.ehviewer.util.AnimationUtils
|
||||
import com.hippo.ehviewer.util.SimpleAnimatorListener
|
||||
import com.hippo.ehviewer.util.applyNavigationBarsPadding
|
||||
import com.jamal.composeprefs3.ui.ifNotNullThen
|
||||
import com.jamal.composeprefs3.ui.ifTrueThen
|
||||
import eu.kanade.tachiyomi.util.lang.launchIO
|
||||
@@ -116,6 +117,7 @@ abstract class SearchBarScene : BaseScene(), ToolBarScene {
|
||||
binding.searchview.addTransitionListener(mSearchViewOnBackPressedCallback)
|
||||
requireActivity().onBackPressedDispatcher.addCallback(mSearchViewOnBackPressedCallback)
|
||||
binding.appbar.bringToFront()
|
||||
fabLayout.applyNavigationBarsPadding()
|
||||
return binding.root
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.hippo.ehviewer.util
|
||||
|
||||
import android.view.View
|
||||
import androidx.compose.foundation.layout.WindowInsets
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.platform.LocalDensity
|
||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
||||
import androidx.core.graphics.Insets
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import dev.chrisbanes.insetter.applyInsetter
|
||||
import kotlin.contracts.InvocationKind
|
||||
import kotlin.contracts.contract
|
||||
|
||||
@@ -30,3 +32,11 @@ fun WindowInsetsCompat.Builder.set(type: Int, insets: WindowInsets): WindowInset
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
fun View.applyNavigationBarsPadding() {
|
||||
applyInsetter {
|
||||
type(navigationBars = true) {
|
||||
padding()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -21,25 +21,26 @@
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
android:clipChildren="false"
|
||||
app:layout_behavior="@string/searchbar_scrolling_view_behavior">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="@dimen/gallery_padding_top_search_bar"
|
||||
android:paddingHorizontal="@dimen/gallery_list_margin_h"
|
||||
android:paddingVertical="@dimen/gallery_list_margin_v"
|
||||
app:fitsSystemWindowsInsets="bottom" />
|
||||
android:paddingVertical="@dimen/gallery_list_margin_v" />
|
||||
|
||||
<com.hippo.ehviewer.ui.legacy.FastScroller
|
||||
android:id="@+id/fast_scroller"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginTop="@dimen/gallery_padding_top_search_bar"
|
||||
android:paddingStart="20dp"
|
||||
android:paddingEnd="4dp"
|
||||
android:paddingBottom="8dp"
|
||||
app:fitsSystemWindowsInsets="bottom" />
|
||||
android:paddingBottom="8dp" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
@@ -58,8 +59,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingEnd="@dimen/corner_fab_margin"
|
||||
android:paddingBottom="@dimen/corner_fab_margin"
|
||||
app:fitsSystemWindowsInsets="bottom">
|
||||
android:paddingBottom="@dimen/corner_fab_margin">
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
style="@style/Widget.Material3.FloatingActionButton.Small.Primary"
|
||||
|
||||
@@ -26,8 +26,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingEnd="@dimen/corner_fab_margin"
|
||||
android:paddingBottom="@dimen/corner_fab_margin"
|
||||
app:fitsSystemWindowsInsets="bottom">
|
||||
android:paddingBottom="@dimen/corner_fab_margin">
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
style="@style/Widget.Material3.FloatingActionButton.Small.Primary"
|
||||
|
||||
@@ -30,8 +30,7 @@
|
||||
android:clipToPadding="false"
|
||||
android:paddingLeft="@dimen/keyline_margin"
|
||||
android:paddingRight="@dimen/keyline_margin"
|
||||
android:paddingBottom="@dimen/fab_rv_padding_size"
|
||||
app:fitsSystemWindowsInsets="bottom" />
|
||||
android:paddingBottom="@dimen/fab_rv_padding_size" />
|
||||
|
||||
</androidx.swiperefreshlayout.widget.ThemedSwipeRefreshLayout>
|
||||
|
||||
@@ -43,8 +42,7 @@
|
||||
android:layout_gravity="center"
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/no_one_comments_gallery"
|
||||
app:fitsSystemWindowsInsets="bottom" />
|
||||
android:text="@string/no_one_comments_gallery" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/edit_panel"
|
||||
@@ -54,8 +52,7 @@
|
||||
android:background="?attr/colorPrimaryContainer"
|
||||
android:elevation="4dp"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="invisible"
|
||||
app:fitsSystemWindowsInsets="bottom">
|
||||
android:visibility="invisible">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_text"
|
||||
@@ -90,8 +87,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingEnd="@dimen/corner_fab_margin"
|
||||
android:paddingBottom="@dimen/corner_fab_margin"
|
||||
app:fitsSystemWindowsInsets="bottom">
|
||||
android:paddingBottom="@dimen/corner_fab_margin">
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
android:id="@+id/fab"
|
||||
|
||||
@@ -27,16 +27,14 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="@dimen/gallery_search_bar_margin_v"
|
||||
android:layout_marginEnd="@dimen/gallery_search_bar_margin_v"
|
||||
android:paddingTop="80dp"
|
||||
app:layout_fitsSystemWindowsInsets="top" />
|
||||
android:paddingTop="@dimen/gallery_padding_top_search_bar" />
|
||||
|
||||
<com.hippo.ehviewer.ui.legacy.FabLayout
|
||||
android:id="@+id/fab_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingEnd="@dimen/corner_fab_margin"
|
||||
android:paddingBottom="@dimen/corner_fab_margin"
|
||||
app:layout_fitsSystemWindowsInsets="bottom">
|
||||
android:paddingBottom="@dimen/corner_fab_margin">
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
style="@style/Widget.Material3.FloatingActionButton.Small.Primary"
|
||||
@@ -66,8 +64,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingEnd="@dimen/corner_fab_margin"
|
||||
android:paddingBottom="@dimen/corner_fab_margin"
|
||||
app:fitsSystemWindowsInsets="top|bottom">
|
||||
android:paddingBottom="@dimen/corner_fab_margin">
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
android:id="@+id/search_fab"
|
||||
|
||||
@@ -20,8 +20,6 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipChildren="false"
|
||||
android:paddingTop="16dp"
|
||||
app:fitsSystemWindowsInsets="top"
|
||||
app:layout_behavior="@string/searchbar_scrolling_view_behavior">
|
||||
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
@@ -54,8 +52,7 @@
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false"
|
||||
android:paddingHorizontal="@dimen/gallery_list_margin_h"
|
||||
android:paddingVertical="@dimen/gallery_list_margin_v"
|
||||
app:fitsSystemWindowsInsets="bottom" />
|
||||
android:paddingVertical="@dimen/gallery_list_margin_v" />
|
||||
|
||||
</androidx.swiperefreshlayout.widget.ThemedSwipeRefreshLayout>
|
||||
|
||||
@@ -67,7 +64,6 @@
|
||||
android:layout_marginTop="@dimen/gallery_padding_top_search_bar"
|
||||
android:paddingStart="20dp"
|
||||
android:paddingEnd="4dp"
|
||||
android:paddingVertical="8dp"
|
||||
app:fitsSystemWindowsInsets="bottom" />
|
||||
android:paddingVertical="8dp" />
|
||||
|
||||
</FrameLayout>
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
<dimen name="gallery_search_bar_margin_v">10dp</dimen>
|
||||
|
||||
<dimen name="gallery_padding_top_search_bar">64dp</dimen>
|
||||
<dimen name="gallery_padding_top_search_bar">80dp</dimen>
|
||||
|
||||
<dimen name="gallery_list_column_width_long">480dp</dimen>
|
||||
<dimen name="gallery_list_column_width_short">320dp</dimen>
|
||||
|
||||
@@ -125,7 +125,6 @@ photoview = "com.github.chrisbanes:PhotoView:2.3.0"
|
||||
r8 = { module = "com.android.tools:r8", version.ref = "android-tools-r8" }
|
||||
|
||||
rikkax-core = "dev.rikka.rikkax.core:core-ktx:1.4.1"
|
||||
rikkax-insets = "dev.rikka.rikkax.insets:insets:1.3.0"
|
||||
rikkax-layoutinflater = "dev.rikka.rikkax.layoutinflater:layoutinflater:1.3.0"
|
||||
|
||||
splitties-appctx = { module = "com.louiscad.splitties:splitties-appctx", version.ref = "splitties" }
|
||||
@@ -144,7 +143,7 @@ cronet = ["cronet-api", "cronet-gms"]
|
||||
kotlinx-serialization = ["kotlinx-serialization-cbor", "kotlinx-serialization-json", "kotlinx-serialization-json-okio"]
|
||||
ktor = ["ktor-io-jvm", "ktor-utils-jvm"]
|
||||
okhttp = ["okhttp-android", "okhttp-coroutines"]
|
||||
rikkax = ["rikkax-core", "rikkax-insets", "rikkax-layoutinflater"]
|
||||
rikkax = ["rikkax-core", "rikkax-layoutinflater"]
|
||||
splitties = ["splitties-appctx", "splitties-arch-room", "splitties-preferences", "splitties-systemservices"]
|
||||
|
||||
[plugins]
|
||||
|
||||
Reference in new issue
Block a user