Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
d8cfa98
Community translations by @Cyan3581
Cyan3581 Oct 21, 2026
a8393ff
fix: translation validation issues
sameerasw Oct 25, 2026
6c226f0
Community translations by @alekskzchk
alekskzchk Oct 21, 2026
eac3d19
fix: translation validation issues
sameerasw Oct 25, 2026
78eaa9b
Community translations by @OrdinaryPerson0
OrdinaryPerson0 Oct 21, 2026
a0a8f90
Community translations by @OrdinaryPerson0
OrdinaryPerson0 Oct 24, 2026
5352d88
Community translations by @OrdinaryPerson0
OrdinaryPerson0 Oct 24, 2026
7874c56
Community translations by @OrdinaryPerson0
OrdinaryPerson0 Oct 24, 2026
e9065d8
Community translations by @OrdinaryPerson0
OrdinaryPerson0 Oct 24, 2026
d1c844a
Community translations by @elchumy6960
elchumy6960 Oct 21, 2026
ceabeec
Community translations by @elchumy6960
elchumy6960 Oct 21, 2026
14ccb58
Community translations by @elchumy6960
elchumy6960 Oct 21, 2026
3eb1858
Community translations by @elchumy6960
elchumy6960 Oct 21, 2026
68b108d
Community translations by @elchumy6960
elchumy6960 Oct 21, 2026
b181fe0
fix: translation validation issues
sameerasw Oct 25, 2026
daf04c2
Community translations by @lufranca21-oss
lufranca21-oss Oct 21, 2026
220f58d
fix: translation validation issues
sameerasw Oct 25, 2026
a4c64a4
Community translations by @OfficialMicrowave
OfficialMicrowave Oct 22, 2026
857dfa0
Community translations by @OfficialMicrowave
OfficialMicrowave Oct 22, 2026
fc57355
Community translations by @OfficialMicrowave
OfficialMicrowave Oct 23, 2026
c7ed2e4
fix: translation validation issues
sameerasw Oct 25, 2026
4d95fcc
Community translations by @Celestial04
Celestial04 Oct 22, 2026
60eac4e
Community translations by @CapMarkoTo
CapMarkoTo Oct 22, 2026
c5ab4d5
Community translations by @VICKFLOWERS
VICKFLOWERS Oct 25, 2026
bc7275c
Community translations by @JoelmirSoares
JoelmirSoares Oct 25, 2026
2025100
Community translations by @VICKFLOWERS
VICKFLOWERS Oct 25, 2026
bfbab30
chore: bump versionCode to 70 and update versionName to 20.1
sameerasw Oct 25, 2026
9f7d694
refactor: prevent haptics during programmatic carousel scrolling
sameerasw Oct 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,8 @@ android {
applicationId = "com.sameerasw.essentials"
minSdk = 26
targetSdk = 37
versionCode = 69
versionName = "20.1-beta.3"
versionCode = 70
versionName = "20.1"

val whatsNewCounter = 8
buildConfigField("int", "WHATS_NEW_COUNTER", whatsNewCounter.toString())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -348,22 +348,31 @@ fun IslandStackPill(
val carouselState = rememberCarouselState { icons.size }
val hapticContext = LocalContext.current
val selectedIndex = icons.indexOfFirst { it.key == selectedKey }
val programmatic = remember { booleanArrayOf(false) }
LaunchedEffect(selectedKey) {
if (selectedIndex >= 0) carouselState.animateScrollToItem(selectedIndex)
if (selectedIndex < 0) return@LaunchedEffect
programmatic[0] = true
try {
carouselState.animateScrollToItem(selectedIndex)
} finally {
programmatic[0] = false
}
}
LaunchedEffect(carouselState) {
var last = carouselState.currentItem
snapshotFlow { carouselState.currentItem }.collect {
if (it != last) {
last = it
IslandHaptics.scrollTick(hapticContext)
onInteraction()
if (!programmatic[0]) {
IslandHaptics.scrollTick(hapticContext)
onInteraction()
}
}
}
}
LaunchedEffect(carouselState) {
snapshotFlow { carouselState.isScrollInProgress }.collect { scrolling ->
while (scrolling && carouselState.isScrollInProgress) {
while (scrolling && carouselState.isScrollInProgress && !programmatic[0]) {
onInteraction()
delay(300)
}
Expand Down
26 changes: 26 additions & 0 deletions app/src/main/res/values-es/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1899,4 +1899,30 @@ Requiere permiso de administrador del dispositivo si se utiliza el bloqueo.</str
<string name="diy_cts_method_title">Trigger method</string>
<string name="diy_cts_method_accessibility">Accessibility</string>
<string name="diy_cts_method_shizuku">Shizuku / Root</string>
<string name="island_suppress_system_heads_up_title">Esconder banner de notificaciones</string>
<string name="island_dynamic_hide_status_bar_title">Automáticamente oculta los íconos de la barra de estado</string>
<string name="island_hide_live_updates_title">Remover live updates</string>
<string name="island_hide_icons_title">Ocultar iconos seleccionador de la barra de estado con Isla Compacta </string>
<string name="island_hide_status_bar_title">Esconder barra de estado</string>
<string name="feat_aod_wallpaper_extended_app_icon">Replasar la nota con el icono de app</string>
<string name="watch_esim_install_title">Instalar eSIM</string>
<string name="watch_esim_install_desc">En regiones insoportadas</string>
<string name="island_bond_edge_title">Union con la Isla si esta inactuva</string>
<string name="island_navigation_peek_after_expand_desc">Si esta desactivado, la Isla vuelve a ser compacta</string>
<string name="island_navigation_on_new_title">Nueva instrucción</string>
<string name="feat_screenshots_title">Limpieza de capturas de pantalla</string>
<string name="feat_screenshots_desc">Limpiar capturas de pantallas compartidas y viejas</string>
<string name="feat_split_screen_gesture_title">Gesto de dividir pantalla</string>
<string name="feat_split_screen_gesture_desc">Desliza 2 dedos hacia arriba en la barra de navegacion para dividir o desdividir la pantalla </string>
<string name="feat_back_gesture_title">Gesto de atras</string>
<string name="feat_back_gesture_left_title">Ancho del lado izquierdo</string>
<string name="feat_back_gesture_right_title">Ancho del lado derecho</string>
<string name="back_gesture_add_app">Añadir aplicacion</string>
<string name="back_gesture_add_app_desc">Usa diferentes anchos del lado si una app esta abierta</string>
<string name="island_media_peek_song_change_title">Cambio de canción en vista previa</string>
<string name="island_media_keep_when_paused_title">Mantener en espera cuando se pausa</string>
<string name="island_media_show_previous_title">Botón de canción anterior</string>
<string name="island_media_show_like_title">Botón de \"me gusta\"</string>
<string name="island_hide_in_fullscreen_title">Ocultar en pantalla completa</string>
<string name="disable_interactions_in_full_screen_title">Desactivar gestos en pantalla completa</string>
</resources>
2 changes: 1 addition & 1 deletion app/src/main/res/values-fr/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1621,7 +1621,7 @@ Réinitialiser permet d\'effacer les valeurs personnalisées et le système gér
<string name="island_enable_title">Activer Island</string>
<string name="island_show_calls_title">Appels</string>
<string name="island_show_timers_title">Minuteurs et chronomètres</string>
<string name="duo_action_horizontal_slide_sound_mode">Mode de sonnerie</string>
<string name="duo_action_horizontal_slide_sound_mode">Mode de son</string>
<string name="island_devices_battery_section">Appareils</string>
<string name="island_show_network_title">Activité réseau</string>
<string name="feat_status_glance_title">Aperçu du statut</string>
Expand Down
19 changes: 15 additions & 4 deletions app/src/main/res/values-pt/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@
<string name="feat_circle_to_search_gesture_desc">Long-press the bottom area to trigger Circle to Search</string>
<string name="feat_circle_to_search_gesture_height_title">altura da zona de gestos</string>
<string name="feat_circle_to_search_gesture_height_desc">Ajuste a altura da área sensível ao toque na parte inferior.</string>
<string name="feat_other_customizations_title">Outras personalizações</string>
<string name="feat_other_customizations_title">Outras customizações</string>
<string name="feat_other_customizations_desc">Ajustes e modificações adicionais do sistema</string>
<string name="status_bar_icons_disclaimer">Observe que a implementação dessas opções pode depender do OEM e algumas podem não funcionar.</string>
<!-- Network Type Picker -->
Expand Down Expand Up @@ -687,7 +687,7 @@
<string name="label_app_language">Linguagem</string>
<string name="label_haptic_feedback">Feedback tátil</string>
<string name="label_updates">Updates</string>
<string name="label_auto_check_updates">Procurar por atualizações </string>
<string name="label_auto_check_updates">Busca automática por atualizações</string>
<string name="desc_auto_check_updates">Procurar por atualização no início do aplicativo</string>
<string name="action_all_set">All Set</string>
<string name="action_check_whats_new">Check What\'s New?</string>
Expand Down Expand Up @@ -946,7 +946,7 @@
<item>tempo esgotado</item>
</string-array>
<string name="label_keyboard_always_dark">Tema sempre escuro</string>
<string name="label_keyboard_pitch_black">Tema preto como breu</string>
<string name="label_keyboard_pitch_black">Tema escuro OLED</string>
<string name="label_keyboard_clipboard_enabled">Histórico da área de transferência</string>
<string name="label_keyboard_long_press_symbols">Long press for symbols</string>
<string name="label_keyboard_accented_characters">Accented characters</string>
Expand Down Expand Up @@ -1535,7 +1535,7 @@
<string name="island_timeout_title">duração na tela</string>
<string name="island_show_glow_title">Mostrar o brilho do destaque</string>
<string name="icon_network_speed">velocidade de rede</string>
<string name="feat_aod_wallpaper_title">papel de parede no AOD</string>
<string name="feat_aod_wallpaper_title">Papel de parede no AOD</string>
<string name="feat_aod_wallpaper_desc">Usando uma sobreposição</string>
<string name="setting_location_reached_full_screen_alarm_title">alarme em tela cheia</string>
<string name="setting_location_reached_full_screen_alarm_desc">Reproduza o toque do alarme e mostre um alerta em tela cheia ao chegar.</string>
Expand Down Expand Up @@ -1795,4 +1795,15 @@ adicionar algum app</string>
<string name="diy_cts_method_title">Trigger method</string>
<string name="diy_cts_method_accessibility">Accessibility</string>
<string name="diy_cts_method_shizuku">Shizuku / Root</string>
<string name="island_suppress_system_heads_up_title">Ocultar avisos do sistema</string>
<string name="island_hide_live_updates_title">Ocultar atualizações ao vivo dinamicamente</string>
<string name="island_hide_icons_title">Ocultar dinamicamente os ícones da barra de status</string>
<string name="island_dynamic_hide_status_bar_title">Ocultar tudo quando expandido</string>
<string name="island_keep_on_landscape_title">manter no modo paisagem</string>
<string name="island_secondary_bubble_title">bolha segundaria</string>
<string name="island_balance_compact_title">visual balanceado para um ilha compacto</string>
<string name="duo_auto_detect_title">detectar automaticamente a câmera </string>
<string name="duo_auto_detect_desc">localizar automaticamente o corte da câmera frontal</string>
<string name="duo_material_you_title">use cores do material you</string>
<string name="haptic_mode_stronger">Forçado</string>
</resources>
55 changes: 54 additions & 1 deletion app/src/main/res/values-ru/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1455,7 +1455,7 @@
<string name="feat_safe_volume_title">Убрать предупреждение о слишком громком звуке</string>
<string name="feat_safe_volume_desc">Убирает диалоговое окно с предупреждением о звуке</string>
<string name="feat_flashlight_title">Фонарик</string>
<string name="feat_flashlight_desc">Brightness, fading and safety controls</string>
<string name="feat_flashlight_desc">Яркость, угасание и контроль безопасности</string>
<string name="feat_power_battery_title">Питание и батарея</string>
<string name="feat_power_battery_desc">Настроить режим энергосбережения</string>
<string name="feat_pocket_mode_title">\"В кармане\"</string>
Expand Down Expand Up @@ -1902,4 +1902,57 @@
<string name="diy_cts_method_title">Trigger method</string>
<string name="diy_cts_method_accessibility">Accessibility</string>
<string name="diy_cts_method_shizuku">Shizuku / Root</string>
<string name="island_dynamic_hide_status_bar_title">Динамично скрывать элементы статус-бара</string>
<string name="island_suppress_system_heads_up_title">Скрыть системные напоминания </string>
<string name="island_hide_live_updates_title">Скрыыать live updates Динамично</string>
<string name="island_hide_icons_title">Динамично скоыыать иконки статус-бара</string>
<string name="feat_app_volume_title">Громкость приложений</string>
<string name="feat_app_volume_desc">Поставьте отдельную громкость для разных приложений</string>
<string name="desc_location_mode">Ограничить запросы местоположения пока включена экономия энергии</string>
<string name="label_location_mode">Режимы геолокации и GPS</string>
<string name="label_apply_after_reboot">Применить после перезагрузки</string>
<string name="feat_screenshots_desc">Очистите отправленные и старые скриншоты </string>
<string name="app_volume_enable_title">Включить громкость приложений</string>
<string name="app_volume_add_app">Добавить приложение</string>
<string name="app_volume_add_app_desc">Установить громкость приложения до того как будет проигрывать звук </string>
<string name="about_desc_app_volume">Отключает звук приложения самостоятельно, не меняя громкость медиа для всего остального. Выберите уровень для каждого приложения, и он применяется каждый раз, когда приложение воспроизводит звук, в том числе в фоновом режиме.

Уровни могут только снижаться от нормального объёма, но никогда выше него. Некоторые игры и аудиоприложения с низкой задержкой могут игнорировать уровень. Сидзуку, должно быть, работает на новых уровнях для применения, поэтому начните его снова после перезагрузки. </string>
<string name="volume_steps_enable_title">Включить шаги по громкости </string>
<string name="volume_steps_per_press_title">Шаги за нажатие</string>
<string name="hilight_progress_title">Живой прогресс </string>
<string name="feat_hilight_progress_desc">Показать загрузку и обновление в режиме реального времени на светодиодах </string>
<string name="about_desc_hilight">Светодиоды Hilight на задней панели Pixel 11 Pro, Pro XL и Pro Fold при поступлении уведомлений с пользовательским эффектом для каждого добавленного вами приложения. Эффекты Hilight также могут быть использованы в качестве действия в перепланировке и автоматизации Button. Нужен Сидзуку, который нужно перезапускать после каждой перезагрузки. </string>
<string name="about_desc_hilight_progress">Показывает прогресс загрузок и обновления в реальном времени на светодиодах Hilight, освещая ещё один светодиод каждый раз, когда прогресс проходит ещё одну восьмую, и мигая все восемь, когда он заканчивается. Нужен Сидзуку, который нужно перезапускать после каждой перезагрузки. </string>
<string name="feat_hilight_notifications_title">Эффекты уведомлений</string>
<string name="hilight_notifications_desc">Воспроизвести собственный эффект каждого приложения, когда приходят его уведомления </string>
<string name="hilight_only_screen_off_title">Только когда экран выключен </string>
<string name="app_icon_google">Спектрум</string>
<string name="app_icon_black">Динамичная</string>
<string name="app_icon_legacy">Наследие</string>
<string name="app_icon_default">Обычный </string>
<string name="app_volume_overlay_title">Оверлей управления</string>
<string name="watch_notif_sync_silent_title">Уведомляйте о тихих уведомлениях </string>
<string name="watch_notif_sync_silent_desc">Синхронизируйте бесшумные и низкоприоритетные уведомления для просмотра </string>
<string name="watch_notif_sync_media_title">Синхронизация воспроизведения мультимедиа </string>
<string name="watch_notif_sync_media_desc">Синхронизация элементов воспроизведения мультимедиа и уведомлений для просмотра </string>
<string name="watch_notif_sound_title">Звук уведомления </string>
<string name="watch_notif_sound_desc">Измените звук, воспроизводимый на часах </string>
<string name="watch_notif_sync_now">Синхронизировать активные уведомления сейчас</string>
<string name="watch_notif_sync_now_desc">Принудительная синхронизация всех активных телефонных уведомлений для лаунчера часов</string>
<string name="watch_notif_sync_icons">Синхронизация иконок приложений</string>
<string name="watch_notif_sync_icons_desc">Синхронизируйте иконки приложения лаунчера часов для отображения уведомлений </string>
<string name="watch_notif_sound_dock">Док </string>
<string name="watch_notif_sound_carmen_nexus">Нексус </string>
<string name="app_volume_playing_summary">Играет сейчас · %1$s</string>
<string name="feat_screenshots_title">Очистка скриншотов</string>
<string name="screenshot_auto_clean_title">Авточистка скриншотов</string>
<string name="screenshot_auto_clean_note">При каждом новом скриншоте приходит тихое уведомление о его сохранении. Скриншоты, отмеченные звездочкой, сохраняются всегда</string>
<string name="screenshots_cleaned_count_title">Скриншотов убрано</string>
<string name="screenshots_storage_saved_title">Сохранённое место</string>
<string name="notification_lighting_ripple_repeat_count_title">Количество повторений</string>
<string name="flashlight_speed_label">Скорость </string>
<string name="notification_lighting_ripple_sparkle_size_title">Размер частиц</string>
<string name="notification_lighting_ripple_sparkle_count_title">Коливество частиц</string>
<string name="notification_lighting_ripple_wave_size_title">Размер волны</string>
</resources>
Loading
Loading