Skip to content

Commit

Permalink
Merge pull request #499 from BlueGradientHorizon/anim-fix
Browse files Browse the repository at this point in the history
"Play Text Animations" settings option + russian translation updates
  • Loading branch information
rumboalla committed Jan 22, 2024
2 parents ff5d955 + 231c461 commit 70552cb
Show file tree
Hide file tree
Showing 7 changed files with 55 additions and 24 deletions.
5 changes: 3 additions & 2 deletions app/src/main/kotlin/com/apkupdater/prefs/Prefs.kt
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ class Prefs(
val excludeSystem = boolean("excludeSystem", defValue = true, backed = true)
val excludeDisabled = boolean("excludeDisabled", defValue = true, backed = true)
val excludeStore = boolean("excludeStore", defValue = false, backed = true)
val portraitColumns = int("portraitColumns", 3, true)
val landscapeColumns = int("landscapeColumns", 6, true)
val portraitColumns = int("portraitColumns", 3, true)
val landscapeColumns = int("landscapeColumns", 6, true)
val playTextAnimations = boolean("playTextAnimaions", defValue = true, backed = true)
val ignoreAlpha = boolean("ignoreAlpha", defValue = true, backed = true)
val ignoreBeta = boolean("ignoreBeta", defValue = true, backed = true)
val ignorePreRelease = boolean("ignorePreRelease", defValue = true, backed = true)
Expand Down
35 changes: 20 additions & 15 deletions app/src/main/kotlin/com/apkupdater/ui/component/Text.kt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.TextUnitType
import androidx.compose.ui.unit.dp
import com.apkupdater.prefs.Prefs
import org.koin.androidx.compose.get


@Composable
Expand Down Expand Up @@ -116,24 +118,27 @@ fun ScrollableText(
val inner = remember { mutableStateOf(IntSize.Zero) }
val outer = remember { mutableStateOf(IntSize.Zero) }

val effect: suspend (ScrollState) -> Unit = {
state.scrollTo(0)
val scroll = (inner.value.width - outer.value.width)
if (scroll > 0) {
while(true) {
state.animateScrollTo(
scroll,
tween(delayMillis = 1000, durationMillis = scroll * 10, easing = LinearEasing)
)
state.animateScrollTo(
0,
tween(delayMillis = 1000, durationMillis = scroll * 10, easing = LinearEasing)
)
}
if (get<Prefs>().playTextAnimations.get()) {
val effect: suspend (ScrollState) -> Unit = {
state.scrollTo(0)
val scroll = (inner.value.width - outer.value.width)
if (scroll > 0) {
while(true) {
state.animateScrollTo(
scroll,
tween(delayMillis = 1000, durationMillis = scroll * 10, easing = LinearEasing)
)
state.animateScrollTo(
0,
tween(delayMillis = 1000, durationMillis = scroll * 10, easing = LinearEasing)
)
}

}
}
LaunchedEffect(outer.value) { effect(state) }
}
LaunchedEffect(outer.value) { effect(state) }

Row(Modifier.onSizeChanged { outer.value = it }) {
Row(
modifier = Modifier
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,12 @@ fun Settings(viewModel: SettingsViewModel) = LazyColumn {
R.drawable.ic_landscape
)
}
SwitchSetting(
{ viewModel.getPlayTextAnimations() },
{ viewModel.setPlayTextAnimations(it) },
stringResource(R.string.play_text_animations),
R.drawable.ic_animation
)
SegmentedButtonSetting(
stringResource(R.string.theme),
listOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ class SettingsViewModel(
fun getPortraitColumns() = prefs.portraitColumns.get()
fun setLandscapeColumns(n: Int) = prefs.landscapeColumns.put(n)
fun getLandscapeColumns() = prefs.landscapeColumns.get()
fun setPlayTextAnimations(b: Boolean) = prefs.playTextAnimations.put(b)
fun getPlayTextAnimations() = prefs.playTextAnimations.get()
fun setIgnoreAlpha(b: Boolean) = prefs.ignoreAlpha.put(b)
fun getIgnoreAlpha() = prefs.ignoreAlpha.get()
fun setIgnoreBeta(b: Boolean) = prefs.ignoreBeta.put(b)
Expand Down
9 changes: 9 additions & 0 deletions app/src/main/res/drawable/ic_animation.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960">
<path
android:fillColor="#FF000000"
android:pathData="M360,880q-58,0 -109,-22t-89,-60q-38,-38 -60,-89T80,600q0,-81 42,-148t110,-102q20,-39 49.5,-68.5T350,232q33,-68 101,-110t149,-42q58,0 109,22t89,60q38,38 60,89t22,109q0,85 -42,150T728,610q-20,39 -49.5,68.5T610,728q-35,68 -102,110T360,880ZM360,800q33,0 63.5,-10t56.5,-30q-58,0 -109,-22t-89,-60q-38,-38 -60,-89t-22,-109q-20,26 -30,56.5T160,600q0,42 16,78t43,63q27,27 63,43t78,16ZM480,680q33,0 64.5,-10t57.5,-30q-59,0 -110,-22.5T403,557q-38,-38 -60.5,-89T320,358q-20,26 -30,57.5T280,480q0,42 15.5,78t43.5,63q27,28 63,43.5t78,15.5ZM600,560q18,0 34.5,-3t33.5,-9q22,-60 6.5,-115.5T621,339q-38,-38 -93.5,-53.5T412,292q-6,17 -9,33.5t-3,34.5q0,42 15.5,78t43.5,63q27,28 63,43.5t78,15.5ZM760,482q20,-26 30,-57.5t10,-64.5q0,-42 -15.5,-78T741,219q-27,-28 -63,-43.5T600,160q-35,0 -65.5,10T478,200q59,0 110,22.5t89,60.5q38,38 60.5,89T760,482Z"/>
</vector>
21 changes: 14 additions & 7 deletions app/src/main/res/values-ru/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
<string name="tab_updates">Обновления</string>
<string name="tab_settings">Настройки</string>
<string name="something_went_wrong">"Что-то пошло не так\n\uD83E\uDD26"</string>
<string name="ignore_version">Проигнорировать версию</string>
<string name="ignore_cd">Игнорировать приложение</string>
<string name="unignore_cd">Перестать игнорировать приложение</string>
<string name="refresh_updates">Следить за обновлениями</string>
Expand All @@ -20,28 +21,32 @@
<string name="install_success">%1$s установлено.</string>
<string name="install_failure">%1$s не удалось установить.</string>

// Settings
// Settings
<string name="settings_portrait_columns">Вертикальные столбцы</string>
<string name="settings_landscape_columns">Горизонтальные столбцы</string>
<string name="play_text_animations">Проигрывать анимации текста</string>
<string name="settings_sources">Источники</string>
<string name="settings_ui">Интерфейс</string>
<string name="settings_alarm">Будильник</string>
<string name="settings_options">Настройки</string>
<string name="settings_utils">Утилиты</string>
<string name="settings_hour">Время звонка</string>
<string name="settings_alarm_daily">Ежедневно</string>
<string name="settings_alarm_3day">3 Дня</string>
<string name="settings_alarm_weekly">Еженедельно</string>
<string name="settings_android_tv_ui" translatable="false">Интерфейс Android TV</string>
<string name="ignore_alpha">Игнорировать Alpha</string>
<string name="ignore_beta">Игнорировать Beta</string>
<string name="ignore_preRelease">Игнорировать Предрелиз</string>
<string name="ignore_alpha">Игнорировать alpha-версии</string>
<string name="ignore_beta">Игнорировать beta-версии</string>
<string name="ignore_preRelease">Игнорировать предрелизные версии</string>
<string name="use_safe_stores">Использовать безопасные магазины (Aptoide)</string>
<string name="root_install">Root установка</string>
<string name="source_apkmirror" translatable="false">ApkMirror</string>
<string name="source_fdroid" translatable="false">F-Droid (Main)</string>
<string name="source_izzy" translatable="false">F-Droid (Izzy)</string>
<string name="source_fdroid" translatable="false">F-Droid Main</string>
<string name="source_izzy" translatable="false">F-Droid Izzy</string>
<string name="source_aptoide" translatable="false">Aptoide</string>
<string name="source_github" translatable="false">GitHub</string>
<string name="source_gitlab" translatable="false">GitLab</string>
<string name="source_apkpure" translatable="false">APKPure</string>
<string name="about">О нас</string>
<string name="frequency">Частота</string>
<string name="theme">Тема</string>
Expand All @@ -50,8 +55,10 @@
<string name="theme_light">Светлая</string>
<string name="about_github">Получить исходный код, сообщить об ошибках, запросить новые функции и добавить переводы.</string>
<string name="about_donate">Если вам нравится приложение, подумайте о пожертвовании на достойное дело.</string>
<string name="copy_to_clipboard">Копировать в буфер обмена</string>
<string name="copy_app_list">Скопировать список приложений</string>

// Notifications
// Notifications
<string name="notification_channel_name">Обновления</string>
<string name="notification_channel_description">Канал для уведомлений об обновлениях.</string>
<string name="notification_channel_id" translatable="false">updateChannel</string>
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
// Settings
<string name="settings_portrait_columns">Portrait Columns</string>
<string name="settings_landscape_columns">Landscape Columns</string>
<string name="play_text_animations">Play Text Animations</string>
<string name="settings_sources">Sources</string>
<string name="settings_ui">UI</string>
<string name="settings_alarm">Alarm</string>
Expand Down

0 comments on commit 70552cb

Please sign in to comment.