diff --git a/app/build.gradle b/app/build.gradle index 97baf8b5f..fad31342c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -126,8 +126,8 @@ dependencies { implementation 'com.hannesdorfmann:adapterdelegates4-kotlin-dsl:4.3.2' implementation 'com.hannesdorfmann:adapterdelegates4-kotlin-dsl-viewbinding:4.3.2' - implementation 'com.google.dagger:hilt-android:2.50' - kapt 'com.google.dagger:hilt-compiler:2.50' + implementation 'com.google.dagger:hilt-android:2.51' + kapt 'com.google.dagger:hilt-compiler:2.51' implementation 'androidx.hilt:hilt-work:1.2.0' kapt 'androidx.hilt:hilt-compiler:1.2.0' @@ -160,6 +160,6 @@ dependencies { androidTestImplementation 'androidx.room:room-testing:2.6.1' androidTestImplementation 'com.squareup.moshi:moshi-kotlin:1.15.1' - androidTestImplementation 'com.google.dagger:hilt-android-testing:2.50' - kaptAndroidTest 'com.google.dagger:hilt-android-compiler:2.50' + androidTestImplementation 'com.google.dagger:hilt-android-testing:2.51' + kaptAndroidTest 'com.google.dagger:hilt-android-compiler:2.51' } 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 660e68eea..449367099 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 @@ -14,6 +14,7 @@ import android.view.MotionEvent import android.view.View import android.view.ViewGroup.MarginLayoutParams import android.view.WindowManager +import androidx.activity.result.ActivityResultCallback import androidx.activity.viewModels import androidx.core.graphics.Insets import androidx.core.view.OnApplyWindowInsetsListener @@ -74,6 +75,7 @@ class ReaderActivity : ReaderControlDelegate.OnInteractionListener, OnApplyWindowInsetsListener, IdlingDetector.Callback, + ActivityResultCallback, ZoomControl.ZoomControlListener { @Inject @@ -83,6 +85,7 @@ class ReaderActivity : lateinit var tapGridSettings: TapGridSettings private val idlingDetector = IdlingDetector(TimeUnit.SECONDS.toMillis(10), this) + private val savePageRequest = registerForActivityResult(PageSaveContract(), this) private val viewModel: ReaderViewModel by viewModels() @@ -158,6 +161,10 @@ class ReaderActivity : viewBinding.toolbarBottom.addMenuProvider(ReaderBottomMenuProvider(this, readerManager, viewModel)) } + override fun onActivityResult(result: Uri?) { + viewModel.onActivityResult(result) + } + override fun getParentActivityIntent(): Intent? { val manga = viewModel.manga?.toManga() ?: return null return DetailsActivity.newIntent(this, manga) @@ -371,6 +378,11 @@ class ReaderActivity : return reader.isResumed && supportFragmentManager.fragments.lastOrNull() === reader } + override fun onSavePageClick() { + val page = viewModel.getCurrentPage() ?: return + viewModel.saveCurrentPage(page, savePageRequest) + } + private fun onReaderBarChanged(isBarEnabled: Boolean) { viewBinding.infoBar.isVisible = isBarEnabled && viewBinding.appbarTop.isGone } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/config/ReaderConfigSheet.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/config/ReaderConfigSheet.kt index d1f878a58..be0c929c4 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/config/ReaderConfigSheet.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/config/ReaderConfigSheet.kt @@ -39,14 +39,12 @@ import javax.inject.Inject @AndroidEntryPoint class ReaderConfigSheet : BaseAdaptiveSheet(), - ActivityResultCallback, View.OnClickListener, MaterialButtonToggleGroup.OnButtonCheckedListener, Slider.OnChangeListener, CompoundButton.OnCheckedChangeListener { private val viewModel by activityViewModels() - private val savePageRequest = registerForActivityResult(PageSaveContract(), this) @Inject lateinit var orientationHelper: ScreenOrientationHelper @@ -115,8 +113,7 @@ class ReaderConfigSheet : } R.id.button_save_page -> { - val page = viewModel.getCurrentPage() ?: return - viewModel.saveCurrentPage(page, savePageRequest) + findCallback()?.onSavePageClick() ?: return dismissAllowingStateLoss() } @@ -181,11 +178,6 @@ class ReaderConfigSheet : (viewBinding ?: return).labelTimerValue.text = getString(R.string.speed_value, value * 10f) } - override fun onActivityResult(result: Uri?) { - viewModel.onActivityResult(result) - dismissAllowingStateLoss() - } - private fun observeScreenOrientation() { orientationHelper.observeAutoOrientation() .onEach { @@ -215,6 +207,8 @@ class ReaderConfigSheet : fun onReaderModeChanged(mode: ReaderMode) fun onDoubleModeChanged(isEnabled: Boolean) + + fun onSavePageClick() } companion object { diff --git a/build.gradle b/build.gradle index 1fcc296f3..16edcf7c1 100644 --- a/build.gradle +++ b/build.gradle @@ -6,8 +6,8 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:8.2.2' classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.22' - classpath 'com.google.dagger:hilt-android-gradle-plugin:2.50' - classpath 'com.google.devtools.ksp:symbol-processing-gradle-plugin:1.9.22-1.0.16' + classpath 'com.google.dagger:hilt-android-gradle-plugin:2.51' + classpath 'com.google.devtools.ksp:symbol-processing-gradle-plugin:1.9.22-1.0.17' } }