diff --git a/core/common/display/src/main/java/com/buzbuz/smartautoclicker/core/display/recorder/DisplayRecorder.kt b/core/common/display/src/main/java/com/buzbuz/smartautoclicker/core/display/recorder/DisplayRecorder.kt index 222c6e6b3..5b5ab1444 100644 --- a/core/common/display/src/main/java/com/buzbuz/smartautoclicker/core/display/recorder/DisplayRecorder.kt +++ b/core/common/display/src/main/java/com/buzbuz/smartautoclicker/core/display/recorder/DisplayRecorder.kt @@ -163,9 +163,9 @@ class DisplayRecorder @Inject internal constructor( do { result = imageReaderProxy.getLastFrame() - if (result == null) delay(20.milliseconds) + if (result == null) delay(40.milliseconds) - } while (result == null && System.currentTimeMillis() < (startTimeMs + 1000)) + } while (result == null && System.currentTimeMillis() < (startTimeMs + SCREEN_CAPTURE_SCREENSHOT_TIMEOUT_MS)) return result } @@ -202,7 +202,9 @@ class DisplayRecorder @Inject internal constructor( } /** How long to wait for the first valid frame when validating screen capture support, in milliseconds. */ -private const val SCREEN_CAPTURE_VALIDATION_TIMEOUT_MS = 1000L +private const val SCREEN_CAPTURE_SCREENSHOT_TIMEOUT_MS = 2000L +/** How long to wait for the first valid frame when validating screen capture support, in milliseconds. */ +private const val SCREEN_CAPTURE_VALIDATION_TIMEOUT_MS = 2000L /** Polling interval between frame acquisition attempts during screen capture validation, in milliseconds. */ private const val SCREEN_CAPTURE_VALIDATION_RETRY_DELAY_MS = 20L diff --git a/core/common/navigation/src/main/java/com/buzbuz/smartautoclicker/core/common/navigation/TutorialNavigator.kt b/core/common/navigation/src/main/java/com/buzbuz/smartautoclicker/core/common/navigation/TutorialNavigator.kt index 779f8dfe0..83d2a98f8 100644 --- a/core/common/navigation/src/main/java/com/buzbuz/smartautoclicker/core/common/navigation/TutorialNavigator.kt +++ b/core/common/navigation/src/main/java/com/buzbuz/smartautoclicker/core/common/navigation/TutorialNavigator.kt @@ -17,7 +17,7 @@ package com.buzbuz.smartautoclicker.core.common.navigation import android.content.Context -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tip +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip import dagger.hilt.EntryPoints interface TutorialNavigator { diff --git a/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/dialog/implementation/navbar/NavBarDialog.kt b/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/dialog/implementation/navbar/NavBarDialog.kt index f7f9dc992..0855e701d 100644 --- a/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/dialog/implementation/navbar/NavBarDialog.kt +++ b/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/dialog/implementation/navbar/NavBarDialog.kt @@ -21,8 +21,6 @@ import android.view.Gravity import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.view.Window -import android.view.WindowManager import androidx.annotation.CallSuper import androidx.annotation.StyleRes @@ -49,8 +47,6 @@ abstract class NavBarDialog(@StyleRes theme: Int) : OverlayDialog(theme) { lateinit var floatingActionButtons: IncludeFloatingActionButtonsBinding lateinit var topBarBinding: IncludeDialogNavigationTopBarBinding - private var imeLiftController: NavBarDialogImeLiftController? = null - abstract fun inflateMenu(navBarView: NavigationBarView) abstract fun onCreateContent(navItemId: Int): NavBarDialogContent @@ -59,17 +55,6 @@ abstract class NavBarDialog(@StyleRes theme: Int) : OverlayDialog(theme) { open fun onContentViewChanged(navItemId: Int) = Unit - /** - * Keep window size unchanged while the IME is shown. - * Portrait bottom bar sits on the dialog [CoordinatorLayout]; [SOFT_INPUT_ADJUST_RESIZE] parks the sheet mid-screen. - */ - override fun applySoftInputMode(window: Window) { - window.setSoftInputMode( - WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING or - WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN, - ) - } - override fun onCreateView(): ViewGroup { baseViewBinding = DialogBaseNavBarBinding.inflate(LayoutInflater.from(context)).apply { layoutTopBar.apply { @@ -114,15 +99,6 @@ abstract class NavBarDialog(@StyleRes theme: Int) : OverlayDialog(theme) { setupPortraitViews() } - val coordinator = dialogCoordinatorLayout - val decor = dialog.window?.decorView - if (coordinator != null && decor != null) { - imeLiftController = NavBarDialogImeLiftController( - liftTarget = coordinator, - insetHost = decor, - ).also { it.start() } - } - updateContentView( itemId = navBarView.selectedItemId, forceUpdate = true, @@ -140,8 +116,6 @@ abstract class NavBarDialog(@StyleRes theme: Int) : OverlayDialog(theme) { } override fun onDestroy() { - imeLiftController?.stop() - imeLiftController = null contentMap.values.forEach { content -> content.destroy() } diff --git a/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/dialog/implementation/navbar/NavBarDialogImeLiftController.kt b/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/dialog/implementation/navbar/NavBarDialogImeLiftController.kt deleted file mode 100644 index 340eb84bb..000000000 --- a/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/dialog/implementation/navbar/NavBarDialogImeLiftController.kt +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (C) 2026 Kevin Buzeau - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.buzbuz.smartautoclicker.core.common.overlays.dialog.implementation.navbar - -import android.animation.ValueAnimator -import android.view.View -import android.view.animation.AccelerateDecelerateInterpolator - -import androidx.core.view.ViewCompat -import androidx.core.view.WindowInsetsAnimationCompat -import androidx.core.view.WindowInsetsCompat - -/** - * Lifts a dialog content root when the IME is visible. - * - * [NavBarDialog] keeps [android.view.WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING] so the portrait bottom bar - * is not parked by system resize; this controller mirrors IME height via translation instead. - */ -internal class NavBarDialogImeLiftController( - private val liftTarget: View, - private val insetHost: View, -) { - - private var lastImeLiftPx: Int = 0 - private var imeAnimationRunning: Boolean = false - private var imeLiftAnimator: ValueAnimator? = null - - private val insetsAnimationCallback = - object : WindowInsetsAnimationCompat.Callback(DISPATCH_MODE_CONTINUE_ON_SUBTREE) { - override fun onPrepare(animation: WindowInsetsAnimationCompat) { - if (animation.typeMask and WindowInsetsCompat.Type.ime() != 0) { - imeAnimationRunning = true - imeLiftAnimator?.cancel() - } - } - - override fun onProgress( - insets: WindowInsetsCompat, - runningAnimations: MutableList, - ): WindowInsetsCompat { - applyImeLift(resolveImeLiftPx(insets)) - return insets - } - - override fun onEnd(animation: WindowInsetsAnimationCompat) { - if (animation.typeMask and WindowInsetsCompat.Type.ime() != 0) { - imeAnimationRunning = false - syncImeLiftAnimated() - } - } - } - - fun start() { - ViewCompat.setWindowInsetsAnimationCallback(insetHost, insetsAnimationCallback) - ViewCompat.setOnApplyWindowInsetsListener(insetHost) { _, insets -> - if (!imeAnimationRunning) { - applyImeLift(resolveImeLiftPx(insets)) - } - insets - } - ViewCompat.requestApplyInsets(insetHost) - } - - fun stop() { - imeLiftAnimator?.cancel() - imeLiftAnimator = null - ViewCompat.setWindowInsetsAnimationCallback(insetHost, null) - ViewCompat.setOnApplyWindowInsetsListener(insetHost, null) - applyImeLift(0) - } - - private fun syncImeLiftAnimated() { - val insets = ViewCompat.getRootWindowInsets(insetHost) ?: return - val target = resolveImeLiftPx(insets) - if (target == lastImeLiftPx) return - - imeLiftAnimator?.cancel() - val start = lastImeLiftPx - imeLiftAnimator = ValueAnimator.ofInt(start, target).apply { - duration = IME_LIFT_ANIMATION_MS - interpolator = AccelerateDecelerateInterpolator() - addUpdateListener { animator -> - applyImeLift(animator.animatedValue as Int) - } - start() - } - } - - private fun resolveImeLiftPx(insets: WindowInsetsCompat): Int { - if (!insets.isVisible(WindowInsetsCompat.Type.ime())) return 0 - return insets.getInsets(WindowInsetsCompat.Type.ime()).bottom - } - - private fun applyImeLift(imeBottomPx: Int) { - if (imeBottomPx == lastImeLiftPx) return - lastImeLiftPx = imeBottomPx - liftTarget.translationY = -imeBottomPx.toFloat() - } - - private companion object { - const val IME_LIFT_ANIMATION_MS = 180L - } -} diff --git a/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/menu/OverlayMenu.kt b/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/menu/OverlayMenu.kt index d56856db2..cd75feeaa 100644 --- a/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/menu/OverlayMenu.kt +++ b/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/menu/OverlayMenu.kt @@ -461,9 +461,30 @@ abstract class OverlayMenu( */ protected fun setMenuItemVisibility(view: View, visible: Boolean) { Log.d(TAG, "setMenuItemVisibility for ${hashCode()}, $view to $visible") + + if (view.isVisible == visible) return view.isVisible = visible - if (!resizeController.isAnimating) forceWindowResize() + if (canResizeWindow()) forceWindowResize() + } + + /** + * Set the visibility of several menu items. + * When changing multiple items visibility, use this method to recompute the window size only once. + * + * @param viewState map of the item views to their new visibility + */ + protected fun setMenuItemsVisibility(viewState: Map) { + Log.d(TAG, "setMenuItemVisibility for ${hashCode()}, $viewState") + + var haveChanged = false + viewState.forEach { (view, isVisible) -> + haveChanged = haveChanged || view.isVisible != isVisible + view.isVisible = isVisible + } + + if (!haveChanged) return + if (canResizeWindow()) forceWindowResize() } /** @@ -477,6 +498,10 @@ abstract class OverlayMenu( resizeController.animateLayoutChanges(layoutChanges) } + private fun canResizeWindow(): Boolean = + !resizeController.isAnimating && !animations.showAnimationIsRunning + && !animations.hideAnimationIsRunning && menuBackground.width > 0 + private fun forceWindowResize() { Log.d(TAG, "Force window resize") onNewWindowSize(resizeController.measureMenuSize()) diff --git a/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/menu/implementation/common/OverlayMenuAnimations.kt b/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/menu/implementation/common/OverlayMenuAnimations.kt index e91dbce44..76a121f40 100644 --- a/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/menu/implementation/common/OverlayMenuAnimations.kt +++ b/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/menu/implementation/common/OverlayMenuAnimations.kt @@ -69,6 +69,10 @@ internal class OverlayMenuAnimations : Dumpable { showAnimationIsRunning = false showOverlayMenuAnimation.cancel() showOverlayViewAnimation.cancel() + + view.alpha = 1f + if (overlayView is ViewGroup && overlayView.childCount == 1) overlayView.children.first().alpha = 1f + onAnimationEnded() } view.postDelayed(timeoutCallback, 1_000) @@ -107,6 +111,10 @@ internal class OverlayMenuAnimations : Dumpable { hideAnimationIsRunning = false hideOverlayMenuAnimation.cancel() hideOverlayViewAnimation.cancel() + + view.alpha = 0f + if (overlayView is ViewGroup && overlayView.childCount == 1) overlayView.children.first().alpha = 0f + onAnimationEnded() } diff --git a/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/menu/implementation/common/OverlayMenuResizeController.kt b/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/menu/implementation/common/OverlayMenuResizeController.kt index f7789e956..974e45915 100644 --- a/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/menu/implementation/common/OverlayMenuResizeController.kt +++ b/core/common/overlays/src/main/java/com/buzbuz/smartautoclicker/core/common/overlays/menu/implementation/common/OverlayMenuResizeController.kt @@ -125,11 +125,15 @@ internal class OverlayMenuResizeController( } fun measureMenuSize(): Size { - resizedContainer.measure(MeasureSpec.EXACTLY, MeasureSpec.EXACTLY) + resizedContainer.measure( + MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), + MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), + ) - // Get the height of all children + the padding + // Get the height of all children + the padding. + // Use measuredHeight as fallback for views that are now visible but not yet laid out (height == 0). val height = resizedContainer.children.fold(0) { acc, child -> - acc + (if (child.isGone) 0 else child.height) + acc + (if (child.isGone) 0 else maxOf(child.height, child.measuredHeight)) } + resizedContainer.paddingTop + resizedContainer.paddingBottom val firstChild = (backgroundViewGroup.getChildAt(0) as? ViewGroup) diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/TutorialRepository.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/TutorialRepository.kt index 8574e91f6..33b8d1765 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/TutorialRepository.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/TutorialRepository.kt @@ -17,9 +17,8 @@ package com.buzbuz.smartautoclicker.core.common.tutorial.domain import android.content.Intent -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tip +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.state.TutorialState import kotlinx.coroutines.flow.Flow diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/TutorialSubjectController.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/TutorialSubjectController.kt index 82607f1ba..cd8b49089 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/TutorialSubjectController.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/TutorialSubjectController.kt @@ -16,8 +16,8 @@ */ package com.buzbuz.smartautoclicker.core.common.tutorial.domain -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.state.TutorialSubjectState import kotlinx.coroutines.flow.StateFlow diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/Tip.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/Tip.kt similarity index 88% rename from core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/Tip.kt rename to core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/Tip.kt index 6c9ce70d1..d8ae1752d 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/Tip.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/Tip.kt @@ -1,4 +1,4 @@ -/* +/* * Copyright (C) 2026 Kevin Buzeau * * This program is free software: you can redistribute it and/or modify @@ -14,8 +14,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data +package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model enum class Tip { + IMAGE_CAPTURE, + IMAGE_DETECTION_AREA, + NUMBER_DETECTION_AREA, + TEXT_DETECTION_AREA, STOP_WITH_VOLUME_DOWN, } \ No newline at end of file diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/state/TutorialState.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/state/TutorialState.kt index 22879364e..6ea7e5cb3 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/state/TutorialState.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/state/TutorialState.kt @@ -16,8 +16,8 @@ */ package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.state -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep /** * Lifecycle state of the tutorial engine, emitted on [TutorialRepository.tutorialState]. diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/state/TutorialSubjectState.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/state/TutorialSubjectState.kt index 620cc03c1..e54a98c64 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/state/TutorialSubjectState.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/state/TutorialSubjectState.kt @@ -16,9 +16,9 @@ */ package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.state -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType /** * Live state of the active tutorial subject, emitted on [TutorialSubjectController.Game.state]. diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/Tutorial.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/Tutorial.kt similarity index 94% rename from core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/Tutorial.kt rename to core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/Tutorial.kt index 2f14f3080..8d893b97e 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/Tutorial.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/Tutorial.kt @@ -14,10 +14,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data +package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject /** * Root definition of a single tutorial. diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/TutorialInfo.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/TutorialInfo.kt similarity index 98% rename from core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/TutorialInfo.kt rename to core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/TutorialInfo.kt index dc9e139ae..861234d39 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/TutorialInfo.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/TutorialInfo.kt @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data +package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial import androidx.annotation.StringRes diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/step/TutorialStep.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/step/TutorialStep.kt similarity index 99% rename from core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/step/TutorialStep.kt rename to core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/step/TutorialStep.kt index cc21ac890..9d69dee0c 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/step/TutorialStep.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/step/TutorialStep.kt @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step +package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step import androidx.annotation.StringRes diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/step/TutorialStepEndCondition.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/step/TutorialStepEndCondition.kt similarity index 98% rename from core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/step/TutorialStepEndCondition.kt rename to core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/step/TutorialStepEndCondition.kt index b97744c9f..11ab18162 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/step/TutorialStepEndCondition.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/step/TutorialStepEndCondition.kt @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step +package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/step/TutorialStepImage.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/step/TutorialStepImage.kt similarity index 98% rename from core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/step/TutorialStepImage.kt rename to core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/step/TutorialStepImage.kt index eb6c4454f..3e97d7fa1 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/step/TutorialStepImage.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/step/TutorialStepImage.kt @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step +package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step import androidx.annotation.DrawableRes import androidx.annotation.StringRes diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/step/TutorialStepStartCondition.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/step/TutorialStepStartCondition.kt similarity index 99% rename from core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/step/TutorialStepStartCondition.kt rename to core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/step/TutorialStepStartCondition.kt index 09f76bcdc..e8a665209 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/step/TutorialStepStartCondition.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/step/TutorialStepStartCondition.kt @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step +package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/subject/TutorialSubject.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/subject/TutorialSubject.kt similarity index 96% rename from core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/subject/TutorialSubject.kt rename to core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/subject/TutorialSubject.kt index 758cf7e79..2aabbc761 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/subject/TutorialSubject.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/subject/TutorialSubject.kt @@ -14,10 +14,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject +package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject import androidx.annotation.StringRes -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules /** * Describes the interactive subject that runs alongside a tutorial's step sequence. diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/subject/quickclickgame/QuickClickGameRules.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/subject/quickclickgame/QuickClickGameRules.kt similarity index 98% rename from core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/subject/quickclickgame/QuickClickGameRules.kt rename to core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/subject/quickclickgame/QuickClickGameRules.kt index cbaeec763..543cc4e67 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/subject/quickclickgame/QuickClickGameRules.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/subject/quickclickgame/QuickClickGameRules.kt @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame +package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame import android.graphics.PointF diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/subject/quickclickgame/QuickClickGameTargetState.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/subject/quickclickgame/QuickClickGameTargetState.kt similarity index 96% rename from core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/subject/quickclickgame/QuickClickGameTargetState.kt rename to core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/subject/quickclickgame/QuickClickGameTargetState.kt index 7cc99764a..629116dee 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/subject/quickclickgame/QuickClickGameTargetState.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/subject/quickclickgame/QuickClickGameTargetState.kt @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame +package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame import android.graphics.PointF diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/subject/quickclickgame/QuickClickGameTargetType.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/subject/quickclickgame/QuickClickGameTargetType.kt similarity index 97% rename from core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/subject/quickclickgame/QuickClickGameTargetType.kt rename to core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/subject/quickclickgame/QuickClickGameTargetType.kt index fed91cd58..aaaafba35 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/data/subject/quickclickgame/QuickClickGameTargetType.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/domain/model/tutorial/subject/quickclickgame/QuickClickGameTargetType.kt @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame +package com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame /** * Distinguishes the target types that can appear in a [TutorialSubject.Game]. diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/TutorialRepositoryImpl.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/TutorialRepositoryImpl.kt index 9835f27ef..b1ab6961a 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/TutorialRepositoryImpl.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/TutorialRepositoryImpl.kt @@ -29,8 +29,8 @@ import com.buzbuz.smartautoclicker.core.domain.IRepository import com.buzbuz.smartautoclicker.core.domain.model.scenario.Scenario import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialRepository import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialSubjectController -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tip +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.state.TutorialState import com.buzbuz.smartautoclicker.core.common.tutorial.impl.data.TipsStateDataSource import com.buzbuz.smartautoclicker.core.common.tutorial.impl.data.TutorialCompletionStateDataSource diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TipsStateDataSource.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TipsStateDataSource.kt index 6ce60fc70..b201a4412 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TipsStateDataSource.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TipsStateDataSource.kt @@ -25,7 +25,7 @@ import androidx.datastore.preferences.core.booleanPreferencesKey import com.buzbuz.smartautoclicker.core.base.PreferencesDataStore import com.buzbuz.smartautoclicker.core.base.di.Dispatcher import com.buzbuz.smartautoclicker.core.base.di.HiltCoroutineDispatchers.IO -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tip +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.coroutines.CoroutineDispatcher diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TutorialCompletionStateDataSource.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TutorialCompletionStateDataSource.kt index 777133ad3..a386e6612 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TutorialCompletionStateDataSource.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TutorialCompletionStateDataSource.kt @@ -23,7 +23,7 @@ import androidx.datastore.preferences.core.booleanPreferencesKey import com.buzbuz.smartautoclicker.core.base.PreferencesDataStore import com.buzbuz.smartautoclicker.core.base.di.Dispatcher import com.buzbuz.smartautoclicker.core.base.di.HiltCoroutineDispatchers.IO -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.coroutines.CoroutineDispatcher diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/TutorialEngine.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/TutorialEngine.kt index cc91b6688..c17df7416 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/TutorialEngine.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/TutorialEngine.kt @@ -21,11 +21,11 @@ import android.util.Log import com.buzbuz.smartautoclicker.core.base.di.Dispatcher import com.buzbuz.smartautoclicker.core.base.di.HiltCoroutineDispatchers.IO import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialSubjectController -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.state.TutorialState import com.buzbuz.smartautoclicker.core.common.tutorial.impl.data.TutorialCompletionStateDataSource import com.buzbuz.smartautoclicker.core.common.tutorial.impl.engine.step.TutorialStepEndConditionMonitor diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepEndConditionMonitor.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepEndConditionMonitor.kt index 845bb10b8..fc87fd68d 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepEndConditionMonitor.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepEndConditionMonitor.kt @@ -19,7 +19,7 @@ package com.buzbuz.smartautoclicker.core.common.tutorial.impl.engine.step import com.buzbuz.smartautoclicker.core.base.di.Dispatcher import com.buzbuz.smartautoclicker.core.base.di.HiltCoroutineDispatchers.IO import com.buzbuz.smartautoclicker.core.common.overlays.manager.OverlayManager -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition import com.buzbuz.smartautoclicker.core.common.tutorial.impl.monitoring.MonitoredViewsManagerImpl import kotlinx.coroutines.CoroutineDispatcher diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepStartConditionMonitor.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepStartConditionMonitor.kt index 61742c536..6884c5299 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepStartConditionMonitor.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepStartConditionMonitor.kt @@ -20,7 +20,7 @@ import com.buzbuz.smartautoclicker.core.base.di.Dispatcher import com.buzbuz.smartautoclicker.core.base.di.HiltCoroutineDispatchers.IO import com.buzbuz.smartautoclicker.core.common.overlays.manager.OverlayManager import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialSubjectController -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition import com.buzbuz.smartautoclicker.core.common.tutorial.impl.engine.subject.QuickClickGameEngine import com.buzbuz.smartautoclicker.core.common.tutorial.impl.monitoring.MonitoredViewsManagerImpl diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepsOrchestrator.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepsOrchestrator.kt index da300fb97..b8c25dcf1 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepsOrchestrator.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepsOrchestrator.kt @@ -18,7 +18,7 @@ package com.buzbuz.smartautoclicker.core.common.tutorial.impl.engine.step import android.util.Log -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.update diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/subject/QuickClickGameEngine.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/subject/QuickClickGameEngine.kt index 7be912382..99d9d8a56 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/subject/QuickClickGameEngine.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/subject/QuickClickGameEngine.kt @@ -21,8 +21,8 @@ import android.util.Log import com.buzbuz.smartautoclicker.core.base.di.Dispatcher import com.buzbuz.smartautoclicker.core.base.di.HiltCoroutineDispatchers.IO import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialSubjectController -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.state.TutorialSubjectState import kotlinx.coroutines.CoroutineDispatcher diff --git a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/subject/TimingGameEngine.kt b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/subject/TimingGameEngine.kt index 69f743813..74e82842b 100644 --- a/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/subject/TimingGameEngine.kt +++ b/core/common/tutorial/src/main/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/subject/TimingGameEngine.kt @@ -18,7 +18,7 @@ package com.buzbuz.smartautoclicker.core.common.tutorial.impl.engine.subject import android.util.Log import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialSubjectController -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.state.TutorialSubjectState import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TipsStateDataSourceTest.kt b/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TipsStateDataSourceTest.kt index 6f78689c9..aac5fecc8 100644 --- a/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TipsStateDataSourceTest.kt +++ b/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TipsStateDataSourceTest.kt @@ -22,7 +22,7 @@ import android.os.Build import androidx.test.core.app.ApplicationProvider import com.buzbuz.smartautoclicker.core.base.PreferencesDataStore -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tip +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.first diff --git a/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TutorialCompletionStateDataSourceTest.kt b/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TutorialCompletionStateDataSourceTest.kt index 1829b95e9..8ca723484 100644 --- a/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TutorialCompletionStateDataSourceTest.kt +++ b/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/data/TutorialCompletionStateDataSourceTest.kt @@ -22,9 +22,9 @@ import android.os.Build import androidx.test.core.app.ApplicationProvider import com.buzbuz.smartautoclicker.core.base.PreferencesDataStore -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.first @@ -49,7 +49,7 @@ import java.util.UUID @Config(sdk = [Build.VERSION_CODES.Q]) class TutorialCompletionStateDataSourceTest { - @Mock private lateinit var mockGameRules: com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules + @Mock private lateinit var mockGameRules: com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules private val context: Context = ApplicationProvider.getApplicationContext() private val testDispatcher = UnconfinedTestDispatcher() diff --git a/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/TutorialEngineTest.kt b/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/TutorialEngineTest.kt index 445885eba..e1bb963ca 100644 --- a/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/TutorialEngineTest.kt +++ b/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/TutorialEngineTest.kt @@ -20,13 +20,13 @@ import android.os.Build import com.buzbuz.smartautoclicker.core.common.overlays.base.Overlay import com.buzbuz.smartautoclicker.core.common.overlays.manager.OverlayManager -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.state.TutorialState import com.buzbuz.smartautoclicker.core.common.tutorial.impl.data.TutorialCompletionStateDataSource import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType diff --git a/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/TutorialStepsOrchestratorTest.kt b/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/TutorialStepsOrchestratorTest.kt index efdedb109..a8e409c74 100644 --- a/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/TutorialStepsOrchestratorTest.kt +++ b/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/TutorialStepsOrchestratorTest.kt @@ -18,9 +18,9 @@ package com.buzbuz.smartautoclicker.core.common.tutorial.impl.engine import android.os.Build -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition import com.buzbuz.smartautoclicker.core.common.tutorial.impl.engine.step.TutorialStepsOrchestrator import org.junit.Assert.assertEquals diff --git a/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepStartConditionMonitorTest.kt b/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepStartConditionMonitorTest.kt index 159b37020..f15ee8d9c 100644 --- a/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepStartConditionMonitorTest.kt +++ b/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/step/TutorialStepStartConditionMonitorTest.kt @@ -21,7 +21,7 @@ import android.os.Build import com.buzbuz.smartautoclicker.core.common.overlays.base.Overlay import com.buzbuz.smartautoclicker.core.common.overlays.manager.OverlayManager import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialSubjectController -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType import com.buzbuz.smartautoclicker.core.common.tutorial.impl.engine.subject.QuickClickGameEngine @@ -45,7 +45,6 @@ import org.mockito.Mock import org.mockito.MockitoAnnotations import org.mockito.kotlin.any import org.mockito.kotlin.argumentCaptor -import org.mockito.kotlin.doAnswer import org.mockito.kotlin.eq import org.mockito.kotlin.verify as mockitoVerify import org.mockito.kotlin.whenever diff --git a/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/subject/QuickClickGameEngineTest.kt b/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/subject/QuickClickGameEngineTest.kt index 4f365e80f..45b342c53 100644 --- a/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/subject/QuickClickGameEngineTest.kt +++ b/core/common/tutorial/src/test/java/com/buzbuz/smartautoclicker/core/common/tutorial/impl/engine/subject/QuickClickGameEngineTest.kt @@ -19,10 +19,10 @@ package com.buzbuz.smartautoclicker.core.common.tutorial.impl.engine.subject import android.graphics.PointF import android.os.Build -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.StandardTestDispatcher diff --git a/core/common/ui/src/main/res/drawable/ic_help.xml b/core/common/ui/src/main/res/drawable/ic_help.xml new file mode 100644 index 000000000..b5c59d20c --- /dev/null +++ b/core/common/ui/src/main/res/drawable/ic_help.xml @@ -0,0 +1,19 @@ + + + + + + + + diff --git a/feature/dumb-config/src/main/java/com/buzbuz/smartautoclicker/feature/dumb/config/ui/DumbMainMenu.kt b/feature/dumb-config/src/main/java/com/buzbuz/smartautoclicker/feature/dumb/config/ui/DumbMainMenu.kt index 4c161b18e..96eb0d9dc 100644 --- a/feature/dumb-config/src/main/java/com/buzbuz/smartautoclicker/feature/dumb/config/ui/DumbMainMenu.kt +++ b/feature/dumb-config/src/main/java/com/buzbuz/smartautoclicker/feature/dumb/config/ui/DumbMainMenu.kt @@ -30,7 +30,7 @@ import com.buzbuz.smartautoclicker.core.common.navigation.TutorialNavigator import com.buzbuz.smartautoclicker.core.common.navigation.getTutorialNavigator import com.buzbuz.smartautoclicker.core.common.overlays.base.viewModels import com.buzbuz.smartautoclicker.core.common.overlays.menu.OverlayMenu -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tip +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip import com.buzbuz.smartautoclicker.core.ui.utils.AnimatedStatesImageButtonController import com.buzbuz.smartautoclicker.feature.dumb.config.R import com.buzbuz.smartautoclicker.feature.dumb.config.databinding.OverlayDumbMainMenuBinding diff --git a/feature/dumb-config/src/main/java/com/buzbuz/smartautoclicker/feature/dumb/config/ui/DumbMainMenuModel.kt b/feature/dumb-config/src/main/java/com/buzbuz/smartautoclicker/feature/dumb/config/ui/DumbMainMenuModel.kt index 2876c420e..ffbebe84b 100644 --- a/feature/dumb-config/src/main/java/com/buzbuz/smartautoclicker/feature/dumb/config/ui/DumbMainMenuModel.kt +++ b/feature/dumb-config/src/main/java/com/buzbuz/smartautoclicker/feature/dumb/config/ui/DumbMainMenuModel.kt @@ -21,7 +21,7 @@ import androidx.lifecycle.viewModelScope import com.buzbuz.smartautoclicker.core.base.identifier.Identifier import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialRepository -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tip +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip import com.buzbuz.smartautoclicker.core.dumb.engine.DumbEngine import com.buzbuz.smartautoclicker.feature.dumb.config.domain.DumbEditionRepository diff --git a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/areaselector/ConditionAreaSelectorMenu.kt b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/areaselector/ConditionAreaSelectorMenu.kt index 6a80df65a..d893b1b8f 100644 --- a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/areaselector/ConditionAreaSelectorMenu.kt +++ b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/areaselector/ConditionAreaSelectorMenu.kt @@ -36,6 +36,7 @@ import kotlinx.coroutines.launch import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType class ConditionAreaSelectorMenu( + private val onHelpClicked: (() -> Unit)? = null, private val onAreaSelected: (Rect) -> Unit ) : OverlayMenu() { @@ -55,6 +56,11 @@ class ConditionAreaSelectorMenu( override fun onCreateMenu(layoutInflater: LayoutInflater): ViewGroup { selectorView = AreaSelectorView(context, displayConfigManager) viewBinding = OverlayValidationMenuBinding.inflate(layoutInflater) + + if (onHelpClicked == null) { + viewBinding.btnHelp.visibility = View.GONE + } + return viewBinding.root } @@ -76,6 +82,7 @@ class ConditionAreaSelectorMenu( when (viewId) { R.id.btn_confirm -> onConfirm() R.id.btn_cancel -> onCancel() + R.id.btn_help -> onHelpClicked?.invoke() } } diff --git a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/image/CaptureMenu.kt b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/image/CaptureMenu.kt index fc93cb1f4..211b35f60 100644 --- a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/image/CaptureMenu.kt +++ b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/image/CaptureMenu.kt @@ -20,11 +20,14 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.Toast import androidx.annotation.IntDef +import com.buzbuz.smartautoclicker.core.common.navigation.getTutorialNavigator import com.buzbuz.smartautoclicker.core.common.overlays.base.viewModels import com.buzbuz.smartautoclicker.core.common.overlays.menu.OverlayMenu +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip import com.buzbuz.smartautoclicker.core.domain.model.condition.ScreenCondition import com.buzbuz.smartautoclicker.core.ui.views.imageselector.ImageSelectorView import com.buzbuz.smartautoclicker.feature.smart.config.R @@ -83,6 +86,12 @@ class CaptureMenu( SELECTION -> { viewBinding.btnConfirm.setImageResource(R.drawable.ic_capture) setMenuVisibility(View.VISIBLE) + setMenuItemsVisibility( + mapOf( + viewBinding.btnHelp to false, + viewBinding.btnHideOverlay to false, + ) + ) setOverlayViewVisibility(false) selectorView.hide = true } @@ -94,11 +103,19 @@ class CaptureMenu( ADJUST -> { viewBinding.btnConfirm.setImageResource(R.drawable.ic_confirm) setMenuVisibility(View.VISIBLE) + setMenuItemsVisibility( + mapOf( + viewBinding.btnHelp to true, + viewBinding.btnHideOverlay to true, + ) + ) selectorView.hide = false } SAVE -> { setMenuItemViewEnabled(viewBinding.btnConfirm, false) setMenuItemViewEnabled(viewBinding.btnCancel, false) + setMenuItemViewEnabled(viewBinding.btnHelp, false) + setMenuItemViewEnabled(viewBinding.btnHideOverlay, false) selectorView.hide = false } } @@ -123,6 +140,7 @@ class CaptureMenu( when (viewId) { R.id.btn_confirm -> onConfirm() R.id.btn_cancel -> onCancel() + R.id.btn_help -> onHelp() } } @@ -142,13 +160,7 @@ class CaptureMenu( */ private fun onConfirm() { when (state) { - SELECTION -> { - state = CAPTURE - viewModel.takeScreenshot { screenshot -> - selectorView.showCapture(screenshot) - state = ADJUST - } - } + SELECTION -> onTakeScreenshotClicked() ADJUST -> { state = SAVE @@ -176,4 +188,25 @@ class CaptureMenu( ADJUST -> state = SELECTION } } + + private fun onHelp() { + context.getTutorialNavigator().showTipDialog( + context = context, + tip = Tip.IMAGE_CAPTURE, + ) + } + + private fun onTakeScreenshotClicked() { + state = CAPTURE + viewModel.takeScreenshot { screenshot -> + if (screenshot == null) { + Toast.makeText(context, R.string.toast_capture_failed, Toast.LENGTH_LONG).show() + state = SELECTION + return@takeScreenshot + } + + selectorView.showCapture(screenshot) + state = ADJUST + } + } } diff --git a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/image/CaptureViewModel.kt b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/image/CaptureViewModel.kt index 01fe79bcb..27d9266c5 100644 --- a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/image/CaptureViewModel.kt +++ b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/image/CaptureViewModel.kt @@ -34,6 +34,7 @@ import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import javax.inject.Inject +import kotlin.time.Duration.Companion.milliseconds class CaptureViewModel @Inject constructor( private val displayRecorder: DisplayRecorder, @@ -41,9 +42,9 @@ class CaptureViewModel @Inject constructor( private val monitoredViewsManager: MonitoredViewsManager, ) : ViewModel() { - fun takeScreenshot(resultCallback: (Bitmap) -> Unit) { + fun takeScreenshot(resultCallback: (Bitmap?) -> Unit) { viewModelScope.launch(Dispatchers.IO) { - delay(200L) + delay(200L.milliseconds) val screenshot = displayRecorder.takeScreenshot() ?: return@launch withContext(Dispatchers.Main) { diff --git a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/image/ImageConditionDialog.kt b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/image/ImageConditionDialog.kt index 64013422d..585266c17 100644 --- a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/image/ImageConditionDialog.kt +++ b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/image/ImageConditionDialog.kt @@ -28,9 +28,11 @@ import androidx.core.content.ContextCompat import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle +import com.buzbuz.smartautoclicker.core.common.navigation.getTutorialNavigator import com.buzbuz.smartautoclicker.core.common.overlays.base.viewModels import com.buzbuz.smartautoclicker.core.common.overlays.dialog.OverlayDialog +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip import com.buzbuz.smartautoclicker.core.domain.model.EXACT import com.buzbuz.smartautoclicker.core.domain.model.IN_AREA import com.buzbuz.smartautoclicker.core.domain.model.WHOLE_SCREEN @@ -267,6 +269,7 @@ class ImageConditionDialog( overlayManager.navigateTo( context = context, newOverlay = ConditionAreaSelectorMenu( + onHelpClicked = { context.getTutorialNavigator().showTipDialog(context, Tip.IMAGE_DETECTION_AREA) }, onAreaSelected = viewModel::setDetectionArea, ), hideCurrent = true, diff --git a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/number/NumberConditionDialog.kt b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/number/NumberConditionDialog.kt index f4f5f299a..92658a525 100644 --- a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/number/NumberConditionDialog.kt +++ b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/number/NumberConditionDialog.kt @@ -24,9 +24,11 @@ import android.view.ViewGroup import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle +import com.buzbuz.smartautoclicker.core.common.navigation.getTutorialNavigator import com.buzbuz.smartautoclicker.core.common.overlays.base.viewModels import com.buzbuz.smartautoclicker.core.common.overlays.dialog.OverlayDialog +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip import com.buzbuz.smartautoclicker.core.domain.model.counter.CounterOperationValue import com.buzbuz.smartautoclicker.core.ui.bindings.dialogs.DialogNavigationButton import com.buzbuz.smartautoclicker.core.ui.bindings.dialogs.setButtonEnabledState @@ -241,6 +243,7 @@ class NumberConditionDialog( overlayManager.navigateTo( context = context, newOverlay = ConditionAreaSelectorMenu( + onHelpClicked = { context.getTutorialNavigator().showTipDialog(context, Tip.NUMBER_DETECTION_AREA) }, onAreaSelected = viewModel::setDetectionArea, ), hideCurrent = true, diff --git a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/text/TextConditionDialog.kt b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/text/TextConditionDialog.kt index 8425b37a2..7c9d31d61 100644 --- a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/text/TextConditionDialog.kt +++ b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/condition/screen/text/TextConditionDialog.kt @@ -24,9 +24,11 @@ import android.view.ViewGroup import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle +import com.buzbuz.smartautoclicker.core.common.navigation.getTutorialNavigator import com.buzbuz.smartautoclicker.core.common.overlays.base.viewModels import com.buzbuz.smartautoclicker.core.common.overlays.dialog.OverlayDialog +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip import com.buzbuz.smartautoclicker.core.ui.bindings.dialogs.DialogNavigationButton import com.buzbuz.smartautoclicker.core.ui.bindings.dialogs.setButtonEnabledState import com.buzbuz.smartautoclicker.core.ui.bindings.fields.setChecked @@ -225,6 +227,7 @@ class TextConditionDialog( overlayManager.navigateTo( context = context, newOverlay = ConditionAreaSelectorMenu( + onHelpClicked = { context.getTutorialNavigator().showTipDialog(context, Tip.TEXT_DETECTION_AREA) }, onAreaSelected = viewModel::setDetectionArea, ), hideCurrent = true, diff --git a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/mainmenu/MainMenu.kt b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/mainmenu/MainMenu.kt index 4eebcf4e9..223114d1e 100644 --- a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/mainmenu/MainMenu.kt +++ b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/mainmenu/MainMenu.kt @@ -35,7 +35,7 @@ import com.buzbuz.smartautoclicker.core.common.navigation.getTutorialNavigator import com.buzbuz.smartautoclicker.core.common.overlays.base.viewModels import com.buzbuz.smartautoclicker.core.common.overlays.manager.OverlayManager.Companion.showAsOverlay import com.buzbuz.smartautoclicker.core.common.overlays.menu.OverlayMenu -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tip +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.ui.utils.AnimatedStatesImageButtonController import com.buzbuz.smartautoclicker.core.ui.utils.getDynamicColorsContext diff --git a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/mainmenu/MainMenuModel.kt b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/mainmenu/MainMenuModel.kt index 208ffe284..2c53d760c 100644 --- a/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/mainmenu/MainMenuModel.kt +++ b/feature/smart-config/src/main/java/com/buzbuz/smartautoclicker/feature/smart/config/ui/mainmenu/MainMenuModel.kt @@ -24,7 +24,7 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialRepository -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tip +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip import com.buzbuz.smartautoclicker.core.processing.domain.SmartProcessingRepository import com.buzbuz.smartautoclicker.core.processing.domain.model.DetectionState import com.buzbuz.smartautoclicker.core.smart.debugging.domain.DebuggingRepository diff --git a/feature/smart-config/src/main/res/drawable/ic_help.xml b/feature/smart-config/src/main/res/drawable/ic_help.xml deleted file mode 100644 index 7f116ea42..000000000 --- a/feature/smart-config/src/main/res/drawable/ic_help.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - diff --git a/feature/smart-config/src/main/res/layout/overlay_validation_menu.xml b/feature/smart-config/src/main/res/layout/overlay_validation_menu.xml index 9dc890561..2cf9364bb 100644 --- a/feature/smart-config/src/main/res/layout/overlay_validation_menu.xml +++ b/feature/smart-config/src/main/res/layout/overlay_validation_menu.xml @@ -25,7 +25,8 @@ + tools:viewBindingIgnore="true" + tools:background="#99000000"> + android:src="@drawable/ic_visible_on"/> + + الفرق المسموح به + فشل التقاط الشاشة، لم يتم إنشاء أي إطارات. + diff --git a/feature/smart-config/src/main/res/values-es/strings.xml b/feature/smart-config/src/main/res/values-es/strings.xml index c04a1e33c..36edd07fc 100644 --- a/feature/smart-config/src/main/res/values-es/strings.xml +++ b/feature/smart-config/src/main/res/values-es/strings.xml @@ -199,6 +199,8 @@ diferencia tolerada + Error al capturar pantalla, no se generaron fotogramas. + diff --git a/feature/smart-config/src/main/res/values-fr/strings.xml b/feature/smart-config/src/main/res/values-fr/strings.xml index c38e6948b..3dce2fb16 100644 --- a/feature/smart-config/src/main/res/values-fr/strings.xml +++ b/feature/smart-config/src/main/res/values-fr/strings.xml @@ -462,6 +462,8 @@ L\'élément est valide Élément(s) référencé(s) manquant(s) + Échec de la capture d\'écran, aucune image n\'a été générée. + Vous êtes sur le point de supprimer cet élément, êtes-vous sûr ? diff --git a/feature/smart-config/src/main/res/values-it/strings.xml b/feature/smart-config/src/main/res/values-it/strings.xml index cfdc3e54e..076b8d557 100644 --- a/feature/smart-config/src/main/res/values-it/strings.xml +++ b/feature/smart-config/src/main/res/values-it/strings.xml @@ -462,6 +462,8 @@ L\'elemento è valido Elemento/i di riferimento mancante/i + Screenshot non riuscito, nessun fotogramma generato. + Stai per eliminare questo elemento, sei sicuro? diff --git a/feature/smart-config/src/main/res/values-ja/strings.xml b/feature/smart-config/src/main/res/values-ja/strings.xml index 1d5c39d5b..37a1adae2 100644 --- a/feature/smart-config/src/main/res/values-ja/strings.xml +++ b/feature/smart-config/src/main/res/values-ja/strings.xml @@ -122,6 +122,7 @@ 検知エリア [%1$d、%2$d、%3$d、%4$d] で 許容する差異 + スクリーンショットに失敗しました。フレームが生成されませんでした。 カウンターの値に到達 カウンター名 diff --git a/feature/smart-config/src/main/res/values-pt-rBR/strings.xml b/feature/smart-config/src/main/res/values-pt-rBR/strings.xml index 9d4b65e75..6aa70e51a 100644 --- a/feature/smart-config/src/main/res/values-pt-rBR/strings.xml +++ b/feature/smart-config/src/main/res/values-pt-rBR/strings.xml @@ -197,6 +197,8 @@ Diferença tolerada + Falha na captura de tela, nenhum quadro foi gerado. + diff --git a/feature/smart-config/src/main/res/values-ru/strings.xml b/feature/smart-config/src/main/res/values-ru/strings.xml index 9f78e2cb7..c77668ed9 100644 --- a/feature/smart-config/src/main/res/values-ru/strings.xml +++ b/feature/smart-config/src/main/res/values-ru/strings.xml @@ -199,6 +199,8 @@ Допустимое отличие + Не удалось сделать снимок экрана, кадры не были созданы. + diff --git a/feature/smart-config/src/main/res/values-uk/strings.xml b/feature/smart-config/src/main/res/values-uk/strings.xml index 392c8d759..81142eea1 100644 --- a/feature/smart-config/src/main/res/values-uk/strings.xml +++ b/feature/smart-config/src/main/res/values-uk/strings.xml @@ -200,6 +200,8 @@ Допустима різниця + Не вдалося зробити знімок екрана, кадри не були створені. + diff --git a/feature/smart-config/src/main/res/values-zh-rCN/strings.xml b/feature/smart-config/src/main/res/values-zh-rCN/strings.xml index 782a7aeca..646a2a6c8 100644 --- a/feature/smart-config/src/main/res/values-zh-rCN/strings.xml +++ b/feature/smart-config/src/main/res/values-zh-rCN/strings.xml @@ -459,6 +459,8 @@ 项目有效 缺少引用的项目 + 截图失败,未生成任何帧。 + 您即将删除此项目,确定吗? \ No newline at end of file diff --git a/feature/smart-config/src/main/res/values-zh-rTW/strings.xml b/feature/smart-config/src/main/res/values-zh-rTW/strings.xml index 2dee005d9..b7bf06108 100644 --- a/feature/smart-config/src/main/res/values-zh-rTW/strings.xml +++ b/feature/smart-config/src/main/res/values-zh-rTW/strings.xml @@ -459,6 +459,8 @@ 項目有效 缺少引用的項目 + 截圖失敗,未生成任何畫面。 + 您即將刪除此項目,確定嗎? \ No newline at end of file diff --git a/feature/smart-config/src/main/res/values/strings.xml b/feature/smart-config/src/main/res/values/strings.xml index 07e7d27af..365b16da0 100644 --- a/feature/smart-config/src/main/res/values/strings.xml +++ b/feature/smart-config/src/main/res/values/strings.xml @@ -242,6 +242,8 @@ Detection Area In [%1$d, %2$d, %3$d, %4$d] + Screenshot failed, no frames were generated. + diff --git a/feature/smart-debugging/src/main/java/com/buzbuz/smartautoclicker/feature/smart/debugging/ui/view/DebugOverlayView.kt b/feature/smart-debugging/src/main/java/com/buzbuz/smartautoclicker/feature/smart/debugging/ui/view/DebugOverlayView.kt index d06979e14..fb53d949e 100644 --- a/feature/smart-debugging/src/main/java/com/buzbuz/smartautoclicker/feature/smart/debugging/ui/view/DebugOverlayView.kt +++ b/feature/smart-debugging/src/main/java/com/buzbuz/smartautoclicker/feature/smart/debugging/ui/view/DebugOverlayView.kt @@ -27,7 +27,7 @@ internal class DebugOverlayView(context: Context) : View(context) { } /** The margin between the actual condition position and the displayed borders. */ - private val conditionBordersMargin = 10 + private val conditionBordersMargin = 20 private val results: MutableList = mutableListOf() private val displayedResults: MutableList> = mutableListOf() @@ -67,16 +67,23 @@ internal class DebugOverlayView(context: Context) : View(context) { return } - results.forEach { result -> displayedResults.add(result.toDisplayResult()) } + displayedResults.addAll(results.toDisplayResults()) } - private fun ScreenConditionResultUiState.toDisplayResult(): Pair = Pair( - if (positive) positiveResultPaint else negativeResultPaint, - Rect( - coordinates.left - conditionBordersMargin, - coordinates.top - conditionBordersMargin, - coordinates.right + conditionBordersMargin, - coordinates.bottom + conditionBordersMargin, - ) - ) + private fun List.toDisplayResults(): List> = + mapNotNull { uiState -> + if (!uiState.positive && (uiState.coordinates.width() == 0 || uiState.coordinates.height() == 0)) + return@mapNotNull null + + Pair( + if (uiState.positive) positiveResultPaint else negativeResultPaint, + Rect( + uiState.coordinates.left - conditionBordersMargin, + uiState.coordinates.top - conditionBordersMargin, + uiState.coordinates.right + conditionBordersMargin, + uiState.coordinates.bottom + conditionBordersMargin, + ) + ) + } + } \ No newline at end of file diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/color/ColorConditionsTutorial.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/color/ColorConditionsTutorial.kt index 73882a99d..38a9a759d 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/color/ColorConditionsTutorial.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/color/ColorConditionsTutorial.kt @@ -16,13 +16,13 @@ */ package com.buzbuz.smartautoclicker.feature.tutorial.data.items.root.basics.screenconditions.color -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepImage -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepImage +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType import com.buzbuz.smartautoclicker.feature.tutorial.R diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/image/ImageConditionsMovingTargetTutorial.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/image/ImageConditionsMovingTargetTutorial.kt index b20d327ed..9547d9ba2 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/image/ImageConditionsMovingTargetTutorial.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/image/ImageConditionsMovingTargetTutorial.kt @@ -16,13 +16,13 @@ */ package com.buzbuz.smartautoclicker.feature.tutorial.data.items.root.basics.screenconditions.image -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepImage -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepImage +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType import com.buzbuz.smartautoclicker.feature.tutorial.R diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/image/ImageConditionsStillTargetTutorial.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/image/ImageConditionsStillTargetTutorial.kt index 92c3f7031..655b7b92a 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/image/ImageConditionsStillTargetTutorial.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/image/ImageConditionsStillTargetTutorial.kt @@ -16,13 +16,13 @@ */ package com.buzbuz.smartautoclicker.feature.tutorial.data.items.root.basics.screenconditions.image -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepImage -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepImage +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType import com.buzbuz.smartautoclicker.feature.tutorial.R diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/number/NumberConditionsStaticValueTutorial.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/number/NumberConditionsStaticValueTutorial.kt index 0ce896f2f..b3cee1c4c 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/number/NumberConditionsStaticValueTutorial.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/number/NumberConditionsStaticValueTutorial.kt @@ -16,13 +16,13 @@ */ package com.buzbuz.smartautoclicker.feature.tutorial.data.items.root.basics.screenconditions.number -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepImage -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepImage +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType import com.buzbuz.smartautoclicker.feature.tutorial.R diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/text/TextConditionsMovingTextTutorial.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/text/TextConditionsMovingTextTutorial.kt index 91a80e26f..257f80027 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/text/TextConditionsMovingTextTutorial.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/text/TextConditionsMovingTextTutorial.kt @@ -16,13 +16,13 @@ */ package com.buzbuz.smartautoclicker.feature.tutorial.data.items.root.basics.screenconditions.text -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepImage -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepImage +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType import com.buzbuz.smartautoclicker.feature.tutorial.R diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/text/TextConditionsStillTextTutorial.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/text/TextConditionsStillTextTutorial.kt index 7c535c7a1..f7d74df3c 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/text/TextConditionsStillTextTutorial.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/screenconditions/text/TextConditionsStillTextTutorial.kt @@ -16,13 +16,13 @@ */ package com.buzbuz.smartautoclicker.feature.tutorial.data.items.root.basics.screenconditions.text -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepImage -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepImage +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType import com.buzbuz.smartautoclicker.feature.tutorial.R diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/triggerconditions/TimerReachedConditionTutorial.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/triggerconditions/TimerReachedConditionTutorial.kt index d02971820..a9724954e 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/triggerconditions/TimerReachedConditionTutorial.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/basics/triggerconditions/TimerReachedConditionTutorial.kt @@ -16,12 +16,12 @@ */ package com.buzbuz.smartautoclicker.feature.tutorial.data.items.root.basics.triggerconditions -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType import com.buzbuz.smartautoclicker.feature.tutorial.R diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineconditions/CombineConditionsNotVisibleTargetTutorial.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineconditions/CombineConditionsNotVisibleTargetTutorial.kt index ba95e11a7..7d290b37d 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineconditions/CombineConditionsNotVisibleTargetTutorial.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineconditions/CombineConditionsNotVisibleTargetTutorial.kt @@ -16,12 +16,12 @@ */ package com.buzbuz.smartautoclicker.feature.tutorial.data.items.root.combineconditions -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType import com.buzbuz.smartautoclicker.feature.tutorial.R diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineconditions/CombineConditionsOperatorAndTutorial.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineconditions/CombineConditionsOperatorAndTutorial.kt index 8ca78ee16..4669e14c9 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineconditions/CombineConditionsOperatorAndTutorial.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineconditions/CombineConditionsOperatorAndTutorial.kt @@ -16,13 +16,13 @@ */ package com.buzbuz.smartautoclicker.feature.tutorial.data.items.root.combineconditions -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepImage -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepImage +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType import com.buzbuz.smartautoclicker.feature.tutorial.R diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineconditions/CombineConditionsOperatorOrTutorial.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineconditions/CombineConditionsOperatorOrTutorial.kt index c98ac9372..85c40befd 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineconditions/CombineConditionsOperatorOrTutorial.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineconditions/CombineConditionsOperatorOrTutorial.kt @@ -16,12 +16,12 @@ */ package com.buzbuz.smartautoclicker.feature.tutorial.data.items.root.combineconditions -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType import com.buzbuz.smartautoclicker.feature.tutorial.R diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineevents/priority/EventsPriorityTutorial.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineevents/priority/EventsPriorityTutorial.kt index 86a8c93e6..3b55fb999 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineevents/priority/EventsPriorityTutorial.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineevents/priority/EventsPriorityTutorial.kt @@ -16,13 +16,13 @@ */ package com.buzbuz.smartautoclicker.feature.tutorial.data.items.root.combineevents.priority -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepImage -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepImage +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType import com.buzbuz.smartautoclicker.feature.tutorial.R diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineevents/state/EventsStateTutorial.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineevents/state/EventsStateTutorial.kt index 65eb8d308..f5bc45be1 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineevents/state/EventsStateTutorial.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/combineevents/state/EventsStateTutorial.kt @@ -16,13 +16,13 @@ */ package com.buzbuz.smartautoclicker.feature.tutorial.data.items.root.combineevents.state -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepImage -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepImage +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType import com.buzbuz.smartautoclicker.feature.tutorial.R diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/counters/CountersBasicsTutorial.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/counters/CountersBasicsTutorial.kt index b2eab5f42..1ad21f59a 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/counters/CountersBasicsTutorial.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/items/root/counters/CountersBasicsTutorial.kt @@ -16,13 +16,13 @@ */ package com.buzbuz.smartautoclicker.feature.tutorial.data.items.root.counters -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepImage -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepStartCondition -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.TutorialSubject +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepImage +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepStartCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.TutorialSubject import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredOverlayType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.monitoring.MonitoredViewType import com.buzbuz.smartautoclicker.feature.tutorial.R diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/CountBlueValidateRedRules.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/CountBlueValidateRedRules.kt index a176ae98c..b598fae9c 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/CountBlueValidateRedRules.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/CountBlueValidateRedRules.kt @@ -17,9 +17,9 @@ package com.buzbuz.smartautoclicker.feature.tutorial.data.subjects.quickcountgame.image import android.graphics.PointF -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType internal class CountBlueValidateRedRules : QuickClickGameRules { diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/FourMovingTargetsInOrderTargetRules.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/FourMovingTargetsInOrderTargetRules.kt index c561da40a..b1b5dd3ac 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/FourMovingTargetsInOrderTargetRules.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/FourMovingTargetsInOrderTargetRules.kt @@ -19,9 +19,9 @@ package com.buzbuz.smartautoclicker.feature.tutorial.data.subjects.quickcountgam import android.graphics.RectF import com.buzbuz.smartautoclicker.core.base.extensions.nextPositionIn -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType import kotlin.random.Random diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/OneMovingTargetRules.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/OneMovingTargetRules.kt index 9c1b2bb2d..3280c86e8 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/OneMovingTargetRules.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/OneMovingTargetRules.kt @@ -19,9 +19,9 @@ package com.buzbuz.smartautoclicker.feature.tutorial.data.subjects.quickcountgam import android.graphics.PointF import com.buzbuz.smartautoclicker.core.base.extensions.nextFloat -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType import kotlin.random.Random diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/OneStillTargetRules.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/OneStillTargetRules.kt index 69f9d7662..bf8127744 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/OneStillTargetRules.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/OneStillTargetRules.kt @@ -17,9 +17,9 @@ package com.buzbuz.smartautoclicker.feature.tutorial.data.subjects.quickcountgame.image import android.graphics.PointF -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType internal class OneStillTargetRules : QuickClickGameRules { diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoMovingTargetsPressInOrderRules.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoMovingTargetsPressInOrderRules.kt index 0019722a8..93dfdbbed 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoMovingTargetsPressInOrderRules.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoMovingTargetsPressInOrderRules.kt @@ -20,9 +20,9 @@ import android.graphics.PointF import android.graphics.RectF import com.buzbuz.smartautoclicker.core.base.extensions.nextPositionIn -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType import kotlin.random.Random diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoStillTargetsPressAnyRules.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoStillTargetsPressAnyRules.kt index d225e63e3..1cb2c92d0 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoStillTargetsPressAnyRules.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoStillTargetsPressAnyRules.kt @@ -17,9 +17,9 @@ package com.buzbuz.smartautoclicker.feature.tutorial.data.subjects.quickcountgame.image import android.graphics.PointF -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType internal class TwoStillTargetsPressAnyRules( private val blueScoreIncrement: Int, diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoStillTargetsPressWhenBothVisibleRules.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoStillTargetsPressWhenBothVisibleRules.kt index 937a27bfe..0aeaad945 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoStillTargetsPressWhenBothVisibleRules.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoStillTargetsPressWhenBothVisibleRules.kt @@ -17,9 +17,9 @@ package com.buzbuz.smartautoclicker.feature.tutorial.data.subjects.quickcountgame.image import android.graphics.PointF -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType internal class TwoStillTargetsPressWhenBothVisibleRules : QuickClickGameRules { diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoStillTargetsPressWhenOneVisibleRules.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoStillTargetsPressWhenOneVisibleRules.kt index a82fbc509..08d4b6b12 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoStillTargetsPressWhenOneVisibleRules.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/image/TwoStillTargetsPressWhenOneVisibleRules.kt @@ -17,9 +17,9 @@ package com.buzbuz.smartautoclicker.feature.tutorial.data.subjects.quickcountgame.image import android.graphics.PointF -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType internal class TwoStillTargetsPressWhenOneVisibleRules : QuickClickGameRules { diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/number/OneStillChangingNumberClickWhenOverRules.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/number/OneStillChangingNumberClickWhenOverRules.kt index 18d0f8f2d..d5cfd8971 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/number/OneStillChangingNumberClickWhenOverRules.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/number/OneStillChangingNumberClickWhenOverRules.kt @@ -17,9 +17,9 @@ package com.buzbuz.smartautoclicker.feature.tutorial.data.subjects.quickcountgame.number import android.graphics.PointF -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType import kotlin.random.Random internal class OneStillChangingNumberClickWhenOverRules( diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/text/FourStillChangingTextRules.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/text/FourStillChangingTextRules.kt index 95afd8177..196e29418 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/text/FourStillChangingTextRules.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/text/FourStillChangingTextRules.kt @@ -17,9 +17,9 @@ package com.buzbuz.smartautoclicker.feature.tutorial.data.subjects.quickcountgame.text import android.graphics.PointF -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType internal class FourStillChangingTextRules : QuickClickGameRules { diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/text/OneStillChangingTextRules.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/text/OneStillChangingTextRules.kt index d6f13e634..58063ad66 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/text/OneStillChangingTextRules.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/data/subjects/quickcountgame/text/OneStillChangingTextRules.kt @@ -17,9 +17,9 @@ package com.buzbuz.smartautoclicker.feature.tutorial.data.subjects.quickcountgame.text import android.graphics.PointF -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameRules -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameRules +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType internal class OneStillChangingTextRules : QuickClickGameRules { diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/domain/model/TutorialItem.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/domain/model/TutorialItem.kt index 3836c413a..51f66a641 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/domain/model/TutorialItem.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/domain/model/TutorialItem.kt @@ -16,8 +16,8 @@ */ package com.buzbuz.smartautoclicker.feature.tutorial.domain.model -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tutorial -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.TutorialInfo +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.Tutorial +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.TutorialInfo interface TutorialItem { diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/navigation/TutorialNavigatorImpl.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/navigation/TutorialNavigatorImpl.kt index 7143bc80a..90d95eacc 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/navigation/TutorialNavigatorImpl.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/navigation/TutorialNavigatorImpl.kt @@ -22,9 +22,11 @@ import android.content.Intent import com.buzbuz.smartautoclicker.core.common.navigation.TutorialNavigator import com.buzbuz.smartautoclicker.core.common.overlays.manager.OverlayManager.Companion.showAsOverlay import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialRepository -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tip +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip +import com.buzbuz.smartautoclicker.feature.tutorial.domain.model.TutorialSlideshow import com.buzbuz.smartautoclicker.feature.tutorial.ui.TutorialActivity import com.buzbuz.smartautoclicker.feature.tutorial.ui.dialogs.createStopWithVolumeDownTutorialDialog +import com.buzbuz.smartautoclicker.feature.tutorial.ui.slideshow.createTutorialSlideshowDialog import javax.inject.Inject @@ -42,7 +44,27 @@ internal class TutorialNavigatorImpl @Inject constructor( tutorialRepository = tutorialRepository, onDismissed = onDismissed, ).showAsOverlay() + + Tip.IMAGE_CAPTURE -> context.createTutorialSlideshowDialog( + slideshowType = TutorialSlideshow.Type.IMAGE_CONDITION_CAPTURE, + onDismissed = onDismissed, + )?.showAsOverlay() + + Tip.IMAGE_DETECTION_AREA -> context.createTutorialSlideshowDialog( + slideshowType = TutorialSlideshow.Type.IMAGE_CONDITION_DETECTION_AREA, + pageIndex = 1, + onDismissed = onDismissed, + )?.showAsOverlay() + + Tip.NUMBER_DETECTION_AREA -> context.createTutorialSlideshowDialog( + slideshowType = TutorialSlideshow.Type.NUMBER_CONDITION_DETECTION_AREA, + onDismissed = onDismissed, + )?.showAsOverlay() + + Tip.TEXT_DETECTION_AREA -> context.createTutorialSlideshowDialog( + slideshowType = TutorialSlideshow.Type.TEXT_CONDITION_DETECTION_AREA, + onDismissed = onDismissed, + )?.showAsOverlay() } } - } diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/dialogs/StopWithVolumeDownTipDialog.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/dialogs/StopWithVolumeDownTipDialog.kt index 2acb4661c..84be04f9f 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/dialogs/StopWithVolumeDownTipDialog.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/dialogs/StopWithVolumeDownTipDialog.kt @@ -21,7 +21,7 @@ import android.view.LayoutInflater import androidx.appcompat.app.AlertDialog import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialRepository -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.Tip +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.Tip import com.buzbuz.smartautoclicker.core.ui.utils.getDynamicColorsContext import com.buzbuz.smartautoclicker.feature.tutorial.R import com.buzbuz.smartautoclicker.feature.tutorial.databinding.DialogStopWithVolumeDownBinding diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/clickcount/ClickCountGameFragment.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/clickcount/ClickCountGameFragment.kt index 8dff76125..71884aadb 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/clickcount/ClickCountGameFragment.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/clickcount/ClickCountGameFragment.kt @@ -34,8 +34,8 @@ import androidx.lifecycle.repeatOnLifecycle import androidx.navigation.fragment.findNavController import com.buzbuz.smartautoclicker.core.common.overlays.manager.OverlayManager -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType import com.buzbuz.smartautoclicker.core.ui.utils.getDynamicColorsContext import com.buzbuz.smartautoclicker.feature.tutorial.R import com.buzbuz.smartautoclicker.feature.tutorial.databinding.DialogTutorialSuccessBinding diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/clickcount/ClickCountGameUiState.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/clickcount/ClickCountGameUiState.kt index 4f409902d..c7f3fff44 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/clickcount/ClickCountGameUiState.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/clickcount/ClickCountGameUiState.kt @@ -17,8 +17,8 @@ package com.buzbuz.smartautoclicker.feature.tutorial.ui.game.clickcount import androidx.annotation.StringRes -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetState -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetState +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType data class ClickCountGameUiState( @field:StringRes val instructionsResId: Int, diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/clickcount/ClickCountGameViewModel.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/clickcount/ClickCountGameViewModel.kt index 050cd0850..9aa354a99 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/clickcount/ClickCountGameViewModel.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/clickcount/ClickCountGameViewModel.kt @@ -21,8 +21,8 @@ import androidx.lifecycle.viewModelScope import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialRepository import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialSubjectController -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.subject.quickclickgame.QuickClickGameTargetType +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.subject.quickclickgame.QuickClickGameTargetType import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.state.TutorialState import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.state.TutorialSubjectState import com.buzbuz.smartautoclicker.core.processing.domain.SmartProcessingRepository diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/timing/TimingGameViewModel.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/timing/TimingGameViewModel.kt index fda070bbc..262cd4023 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/timing/TimingGameViewModel.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/game/timing/TimingGameViewModel.kt @@ -21,7 +21,7 @@ import androidx.lifecycle.viewModelScope import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialRepository import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialSubjectController -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.state.TutorialState import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.state.TutorialSubjectState import com.buzbuz.smartautoclicker.core.processing.domain.SmartProcessingRepository diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/overlay/TutorialFullscreenViewModel.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/overlay/TutorialFullscreenViewModel.kt index 73dc021f9..97dccba48 100644 --- a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/overlay/TutorialFullscreenViewModel.kt +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/overlay/TutorialFullscreenViewModel.kt @@ -21,8 +21,8 @@ import androidx.lifecycle.viewModelScope import com.buzbuz.smartautoclicker.core.display.config.DisplayConfigManager import com.buzbuz.smartautoclicker.core.common.tutorial.domain.TutorialRepository -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStep -import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.data.step.TutorialStepEndCondition +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStep +import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.tutorial.step.TutorialStepEndCondition import com.buzbuz.smartautoclicker.core.common.tutorial.domain.model.state.TutorialState import com.buzbuz.smartautoclicker.core.common.tutorial.domain.MonitoredViewsManager diff --git a/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/slideshow/TutorialSlideshowDialog.kt b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/slideshow/TutorialSlideshowDialog.kt new file mode 100644 index 000000000..f1de1046c --- /dev/null +++ b/feature/tutorial/src/main/java/com/buzbuz/smartautoclicker/feature/tutorial/ui/slideshow/TutorialSlideshowDialog.kt @@ -0,0 +1,107 @@ +/* + * Copyright (C) 2026 Kevin Buzeau + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.buzbuz.smartautoclicker.feature.tutorial.ui.slideshow + +import android.content.Context +import android.util.Log +import android.view.LayoutInflater +import androidx.appcompat.app.AlertDialog +import androidx.viewpager2.widget.ViewPager2 + +import com.buzbuz.smartautoclicker.core.ui.utils.getDynamicColorsContext +import com.buzbuz.smartautoclicker.feature.tutorial.R +import com.buzbuz.smartautoclicker.feature.tutorial.data.mapping.toTutorialSlideshow +import com.buzbuz.smartautoclicker.feature.tutorial.databinding.DialogTutorialSlideshowBinding +import com.buzbuz.smartautoclicker.feature.tutorial.domain.model.TutorialSlideshow + +import com.google.android.material.dialog.MaterialAlertDialogBuilder + +internal fun Context.createTutorialSlideshowDialog( + slideshowType: TutorialSlideshow.Type, + pageIndex: Int, + onDismissed: (() -> Unit)?, +): AlertDialog? = createDialog(slideshowType.toTutorialSlideshow(), IntRange(pageIndex, pageIndex), onDismissed) + +internal fun Context.createTutorialSlideshowDialog( + slideshowType: TutorialSlideshow.Type, + pageRange: IntRange? = null, + onDismissed: (() -> Unit)?, +): AlertDialog? = createDialog(slideshowType.toTutorialSlideshow(), pageRange, onDismissed) + +private fun Context.createDialog( + slideshow: TutorialSlideshow, + pageRange: IntRange?, + onDismissed: (() -> Unit)?, +): AlertDialog? { + + val pages = pageRange ?: IntRange(0, slideshow.slideshowItems.lastIndex) + if (pageRange != null && (pageRange.first < 0 || pageRange.last > slideshow.slideshowItems.lastIndex)) { + Log.e(TAG, "Can't create slideshow dialog, page range is invalid: $pageRange; " + + "slideshowItems=${slideshow.slideshowItems.size}") + return null + } + + val dialogContext = getDynamicColorsContext(R.style.AppTheme) + val dialogViewBinding = DialogTutorialSlideshowBinding.inflate(LayoutInflater.from(dialogContext)) + val dialog = MaterialAlertDialogBuilder(dialogContext) + .setView(dialogViewBinding.root) + .setOnDismissListener { onDismissed?.invoke() } + .create() + + dialogViewBinding.bind( + slideshow = slideshow, + pageRange = pages, + onCloseClicked = { dialog.dismiss() }, + ) + + return dialog +} + +private fun DialogTutorialSlideshowBinding.bind( + slideshow: TutorialSlideshow, + pageRange: IntRange, + onCloseClicked: () -> Unit, +) { + titleSlideshow.setText(slideshow.nameRes) + + val adapter = SlideshowPagerAdapter(slideshow.slideshowItems.subList(pageRange.first, pageRange.last + 1)) + viewPager.adapter = adapter + viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() { + override fun onPageSelected(position: Int) { + updateButtonLabel(position, adapter.itemCount) + } + }) + updateButtonLabel(0, adapter.itemCount) + + buttonNext.setOnClickListener { + val currentItem = viewPager.currentItem + if (currentItem < adapter.itemCount - 1) { + viewPager.currentItem = currentItem + 1 + } else { + onCloseClicked() + } + } +} + +private fun DialogTutorialSlideshowBinding.updateButtonLabel(currentPage: Int, pageCount: Int) { + val isLastPage = currentPage == pageCount - 1 + buttonNext.setText( + if (isLastPage) R.string.button_text_tutorial_close else R.string.button_text_tutorial_next + ) +} + +private const val TAG = "TutorialSlideshowDialog" \ No newline at end of file diff --git a/feature/tutorial/src/main/res/layout/dialog_tutorial_slideshow.xml b/feature/tutorial/src/main/res/layout/dialog_tutorial_slideshow.xml new file mode 100644 index 000000000..02461d33d --- /dev/null +++ b/feature/tutorial/src/main/res/layout/dialog_tutorial_slideshow.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + diff --git a/feature/tutorial/src/main/res/layout/item_tutorial_slideshow_page.xml b/feature/tutorial/src/main/res/layout/item_tutorial_slideshow_page.xml index 573922b4f..9ef53845e 100644 --- a/feature/tutorial/src/main/res/layout/item_tutorial_slideshow_page.xml +++ b/feature/tutorial/src/main/res/layout/item_tutorial_slideshow_page.xml @@ -20,7 +20,9 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:scrollbars="vertical" + android:fadeScrollbars="true">