From d45bab3879a18c5df040bd9a6da968799be193ef Mon Sep 17 00:00:00 2001 From: Koitharu Date: Wed, 30 Apr 2025 16:14:32 +0300 Subject: [PATCH] Fix reader activity ui --- .../koitharu/kotatsu/core/network/proxy/ProxyProvider.kt | 7 ++++--- .../org/koitharu/kotatsu/reader/ui/ReaderActivity.kt | 8 ++++++++ app/src/main/res/layout-w600dp-land/activity_reader.xml | 7 ++++--- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/network/proxy/ProxyProvider.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/network/proxy/ProxyProvider.kt index 7b6df3c5e..498e462f4 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/network/proxy/ProxyProvider.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/network/proxy/ProxyProvider.kt @@ -11,6 +11,7 @@ import okhttp3.Credentials import okhttp3.Request import okhttp3.Response import okhttp3.Route +import okio.IOException import org.koitharu.kotatsu.core.exceptions.ProxyConfigException import org.koitharu.kotatsu.core.network.CommonHeaders import org.koitharu.kotatsu.core.prefs.AppSettings @@ -39,7 +40,7 @@ class ProxyProvider @Inject constructor( return listOf(getProxy()) } - override fun connectFailed(uri: URI?, sa: SocketAddress?, ioe: okio.IOException?) { + override fun connectFailed(uri: URI?, sa: SocketAddress?, ioe: IOException?) { ioe?.printStackTraceDebug() } } @@ -80,8 +81,8 @@ class ProxyProvider @Inject constructor( append(settings.proxyPort) } if (settings.proxyType == Proxy.Type.SOCKS) { - System.setProperty("java.net.socks.username", settings.proxyLogin); - System.setProperty("java.net.socks.password", settings.proxyPassword); + System.setProperty("java.net.socks.username", settings.proxyLogin) + System.setProperty("java.net.socks.password", settings.proxyPassword) } val proxyConfig = ProxyConfig.Builder() .addProxyRule(url) diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt index 2cb7d3993..88273178d 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt @@ -9,6 +9,7 @@ import android.view.View import android.view.ViewGroup import android.view.WindowManager import androidx.activity.viewModels +import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.core.graphics.Insets import androidx.core.view.WindowInsetsCompat import androidx.core.view.isGone @@ -37,6 +38,7 @@ import org.koitharu.kotatsu.core.ui.BaseFullscreenActivity import org.koitharu.kotatsu.core.ui.util.MenuInvalidator import org.koitharu.kotatsu.core.ui.widgets.ZoomControl import org.koitharu.kotatsu.core.util.IdlingDetector +import org.koitharu.kotatsu.core.util.ext.getThemeDimensionPixelOffset import org.koitharu.kotatsu.core.util.ext.hasGlobalPoint import org.koitharu.kotatsu.core.util.ext.isAnimationsEnabled import org.koitharu.kotatsu.core.util.ext.observe @@ -54,6 +56,7 @@ import org.koitharu.kotatsu.reader.ui.pager.ReaderUiState import org.koitharu.kotatsu.reader.ui.tapgrid.TapGridDispatcher import java.util.concurrent.TimeUnit import javax.inject.Inject +import androidx.appcompat.R as appcompatR @AndroidEntryPoint class ReaderActivity : @@ -110,6 +113,11 @@ class ReaderActivity : screenOrientationHelper.applySettings() scrollTimer.isActive.observe(this) { viewBinding.actionsView.setTimerActive(it) } viewBinding.timerControl.attach(scrollTimer, this) + if (resources.getBoolean(R.bool.is_tablet)) { + viewBinding.timerControl.updateLayoutParams { + topMargin = marginEnd + getThemeDimensionPixelOffset(appcompatR.attr.actionBarSize) + } + } viewModel.onError.observeEvent( this, diff --git a/app/src/main/res/layout-w600dp-land/activity_reader.xml b/app/src/main/res/layout-w600dp-land/activity_reader.xml index c93af4cc2..a74557a31 100644 --- a/app/src/main/res/layout-w600dp-land/activity_reader.xml +++ b/app/src/main/res/layout-w600dp-land/activity_reader.xml @@ -38,12 +38,13 @@ android:id="@+id/timerControl" android:layout_width="320dp" android:layout_height="wrap_content" - android:layout_gravity="top|end" android:layout_margin="@dimen/screen_padding" android:background="@drawable/bg_card" - android:elevation="@dimen/m3_card_elevated_elevation" + android:elevation="4dp" android:visibility="gone" - app:layout_dodgeInsetEdges="top" /> + app:layout_anchor="@id/appbar_top" + app:layout_anchorGravity="bottom|end" + tools:visibility="visible" />