diff --git a/app/src/main/java/com/mitteloupe/loader/gears/Gears.kt b/app/src/main/java/com/mitteloupe/loader/gears/Gears.kt index 8d6fb77..49747e1 100644 --- a/app/src/main/java/com/mitteloupe/loader/gears/Gears.kt +++ b/app/src/main/java/com/mitteloupe/loader/gears/Gears.kt @@ -8,7 +8,7 @@ import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.ArrowBack +import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.IconButton @@ -69,7 +69,7 @@ fun Gears(navController: NavHostController) { navigationIcon = { IconButton(onClick = { navController.popBackStack() }) { Icon( - imageVector = Icons.Filled.ArrowBack, + imageVector = Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Localized description" ) } diff --git a/app/src/main/java/com/mitteloupe/loader/jigsaw/ControlPanel.kt b/app/src/main/java/com/mitteloupe/loader/jigsaw/ControlPanel.kt index 7277ba4..32772ef 100644 --- a/app/src/main/java/com/mitteloupe/loader/jigsaw/ControlPanel.kt +++ b/app/src/main/java/com/mitteloupe/loader/jigsaw/ControlPanel.kt @@ -3,7 +3,7 @@ package com.mitteloupe.loader.jigsaw import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.width -import androidx.compose.material3.Divider +import androidx.compose.material3.HorizontalDivider import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState import androidx.compose.ui.Alignment @@ -54,7 +54,7 @@ fun ControlPanel( .width(350.dp) .align(Alignment.CenterHorizontally) ) - Divider() + HorizontalDivider() MultipleValueSelector( selectedOption = knobConfiguration, "Round knob" to JigsawLoaderDefaults.knobConfiguration, diff --git a/app/src/main/java/com/mitteloupe/loader/jigsaw/Jigsaw.kt b/app/src/main/java/com/mitteloupe/loader/jigsaw/Jigsaw.kt index 83312f9..357f4c3 100644 --- a/app/src/main/java/com/mitteloupe/loader/jigsaw/Jigsaw.kt +++ b/app/src/main/java/com/mitteloupe/loader/jigsaw/Jigsaw.kt @@ -9,7 +9,7 @@ import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.ArrowBack +import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.IconButton @@ -65,7 +65,7 @@ fun Jigsaw(navController: NavHostController) { navigationIcon = { IconButton(onClick = { navController.popBackStack() }) { Icon( - imageVector = Icons.Filled.ArrowBack, + imageVector = Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Localized description" ) } diff --git a/gradle.properties b/gradle.properties index 2cbd6d1..7c1c575 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,6 +7,7 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +org.gradle.daemon.idletimeout=180000 # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects diff --git a/jigsaw/src/main/java/com/mitteloupe/loader/jigsaw/JigsawLoader.kt b/jigsaw/src/main/java/com/mitteloupe/loader/jigsaw/JigsawLoader.kt index ddd8987..5d5adc1 100644 --- a/jigsaw/src/main/java/com/mitteloupe/loader/jigsaw/JigsawLoader.kt +++ b/jigsaw/src/main/java/com/mitteloupe/loader/jigsaw/JigsawLoader.kt @@ -1,6 +1,5 @@ package com.mitteloupe.loader.jigsaw -import Orientation import android.graphics.Point import android.graphics.PointF import androidx.annotation.FloatRange @@ -49,6 +48,7 @@ import com.mitteloupe.loader.jigsaw.BrushProvider.ColorBrushProvider import com.mitteloupe.loader.jigsaw.PiecePresenceResolver.IndeterminatePiecePresenceResolver import com.mitteloupe.loader.jigsaw.PiecePresenceResolver.ProgressPiecePresenceResolver import com.mitteloupe.loader.jigsaw.model.KnobConfiguration +import com.mitteloupe.loader.jigsaw.model.Orientation import com.mitteloupe.loader.jigsaw.model.ProgressState import com.mitteloupe.loader.jigsaw.model.ProgressState.Indeterminate import kotlin.random.Random @@ -57,8 +57,8 @@ import kotlin.random.Random fun JigsawLoader( modifier: Modifier = Modifier, progressState: ProgressState = Indeterminate(), - horizontalPieces: Int = JigsawLoaderDefaults.horizontalPieces, - verticalPieces: Int = JigsawLoaderDefaults.verticalPieces, + horizontalPieces: Int = JigsawLoaderDefaults.HORIZONTAL_PIECES, + verticalPieces: Int = JigsawLoaderDefaults.VERTICAL_PIECES, puzzleBrushProvider: BrushProvider = ColorBrushProvider(JigsawLoaderDefaults.color), lightBrush: Brush = SolidColor(Color.White.copy(alpha = .4f)), @@ -638,8 +638,15 @@ object JigsawLoaderDefaults { @Composable get() = ColorBrushProvider(color) - val horizontalPieces: Int = 12 - val verticalPieces: Int = 4 + const val HORIZONTAL_PIECES: Int = 12 + + @Deprecated("Use HORIZONTAL_PIECES instead.") + val horizontalPieces = HORIZONTAL_PIECES + + const val VERTICAL_PIECES: Int = 4 + + @Deprecated("Use VERTICAL_PIECES instead.") + val verticalPieces = VERTICAL_PIECES val knobInversionEvaluator: (placeX: Int, placeY: Int) -> Boolean = { x, y -> Random(x + y * 46340).nextBoolean() @@ -658,14 +665,17 @@ object JigsawLoaderDefaults { knobEndDistanceRatio = .16f ) - val indeterminatePiecePresenceThreshold = .15f + const val INDETERMINATE_PIECE_PRESENCE_THRESHOLD = .15f + + @Deprecated("Use INDETERMINATE_PIECE_PRESENCE_THRESHOLD instead.") + val indeterminatePiecePresenceThreshold = INDETERMINATE_PIECE_PRESENCE_THRESHOLD fun piecePresenceResolver( progressState: ProgressState, horizontalPieces: Int, verticalPieces: Int ): PiecePresenceResolver = if (progressState is Indeterminate) { - IndeterminatePiecePresenceResolver(indeterminatePiecePresenceThreshold) + IndeterminatePiecePresenceResolver(INDETERMINATE_PIECE_PRESENCE_THRESHOLD) } else { ProgressPiecePresenceResolver( progressState = progressState, diff --git a/jigsaw/src/main/java/com/mitteloupe/loader/jigsaw/model/Orientation.kt b/jigsaw/src/main/java/com/mitteloupe/loader/jigsaw/model/Orientation.kt index fc433f3..bbd6f94 100644 --- a/jigsaw/src/main/java/com/mitteloupe/loader/jigsaw/model/Orientation.kt +++ b/jigsaw/src/main/java/com/mitteloupe/loader/jigsaw/model/Orientation.kt @@ -1,3 +1,5 @@ +package com.mitteloupe.loader.jigsaw.model + import android.graphics.PointF sealed interface Orientation {