Luna Island

Verified safeOpen sourceExclusive
—
No reviews reviews
29
downloads
8.0
android

AI summary

Interactive Dynamic Island overlay for Android that wraps around the camera cutout, displaying notifications, media, calls, and navigation in compact and expanded forms. Features a built-in AI assistant Luna with voice activation, 50+ device control tools, profiles, macros, and a customizable Control Center with quick settings tiles.

Generated by AI. May contain inaccuracies.

Screenshots

About this app

Интерактивный «динамический остров» вокруг выреза камеры — центр управления с ИИ-ассистентом

Не просто обёртка над уведомлениями, а полноценная экосистема.

📖 О проекте Dynamic Island — это приложение-оверлей для Android, воспроизводящее концепцию «динамического острова» iPhone: интерактивная область вокруг выреза камеры, которая показывает уведомления, медиаплеер, звонки, навигацию и другие события системы в компактной и развёрнутой форме.

В отличие от многих аналогов, здесь остров — это не просто красивая обёртка над уведомлениями, а полноценный центр управления с собственной системой настройки, дизайном Luna Night и встроенным ИИ-ассистентом.

⚠️ Информация о тестировании Тесты проводились на:

📱 Pixel 9 Pro XL (Root, Android 17) 📱 Poco M4 Pro 5G (Non-Root) Если что-то не работает — присылайте логи, скрины или записи экрана для оперативного решения.

🔓 Для полноценной работы всех функций необходим Root. В планах — реализация большинства функций без Root-доступа.

✨ Возможности 🏝️ Остров Компактный вид — маленькая «таблетка» вокруг выреза камеры с текущим событием Развёрнутый вид — раскрывается по тапу в полноценную панель Landscape-режим — 4 варианта поведения в горизонтальной ориентации (показывать / компактно / скрывать / скрывать + пилюли при уведомлениях) Анимации — настраиваемая скорость для панелей, страниц, тоглов и переходов CC (глобальный множитель + 5 категорий) Акцентные цвета — 6 пресетов: Янтарь Лазурь Фиалка Мята Роза Апельсин 🔔 Уведомления Перехват — Уведомления из любых приложений отображаются в острове вместо системной шторки Правила на приложение — «Всегда», «Никогда» или по глобальной настройке Группировка — Стек аватаров при нескольких активных чатах Быстрые ответы — Inline-ответ через RemoteInput (Telegram, WhatsApp, SMS) или копирование + открытие чата (VK, Instagram, Discord) Смарт-реплаи — Генерация 3 вариантов ответа через LLM (нужен API Key) Автоперевод — Перевод иностранных сообщений (нужен API Key) История — До 1000 записей, до 14 дней, с группировкой, поиском и свайпом для удаления Кастомные иконки — Замена стандартной иконки приложения в уведомлениях Скрытие иконок — Через icon_blacklist, 28 позиций Тихие часы — В остров попадают только приложения из белого списка 📞 Звонки Системные звонки — приём/отклонение/завершение через PendingIntent диалога VoIP-звонки — Telegram, WhatsApp, Signal, Viber, Discord, Max, Google Meet, Zoom, Teams, Skype, Webex и др. Разделение — системные и VoIP звонки корректно отображаются параллельно Детали — счётчик времени, аватар, номер 🎵 Медиа Плеер — обложка, название, артист, прогресс-бар, seek (компактный и развёрнутый вид) Управление — play/pause, следующий/предыдущий, лайк/дизлайк (через MediaSession + кастомные действия) Обложки — из MediaSession, при отсутствии — из уведомления плеера (актуально для YouTube) Мультисессии — автоматический выбор активной 🧭 Навигация Поддержка — Яндекс.Навигатор, Google Maps, 2ГИС, Waze (через AccessibilityService) Манёвры — чтение расстояния, ETA, списка шагов маршрута Автогашение — если данных нет 6 секунд, остров сам убирает навигацию 🎧 Наушники Анимация подключения (GIF или Canvas) — FreeBuds, Pixel Buds, AirPods, Sony, Galaxy Buds Сейчас реализована только анимация Huawei FreeBuds 7i, в планах — единая для всех

Раздельный заряд L / R / кейс (пока только для Huawei) Общий заряд — через BluetoothDevice.getBatteryLevel() (Android 13+) ⏰ Будильники Отображение ближайшего будильника за 60 минут (настраивается) Обратный отсчёт в реальном времени Отключение/отложить на Android 12+ через ACTION_DISMISS_ALARM / ACTION_SNOOZE_ALARM 🔋 Системные пекки Батарея — подключение/отключение питания, низкий заряд Режим звонка — Normal / Vibrate / Silent Монитор трафика — скорости ↓/↑, трафик за сегодня 🎛️ Control Center Открывается долгим тапом по острову.

Плитки: Wi-Fi, Bluetooth, мобильная сеть, DND, фонарик, геолокация, NFC, авиарежим, экономия батареи, поворот, хотспот, запись экрана, поиск музыки (аналог Shazam, работает через API Key), Quick Share Слайдеры яркости и громкости (медиа, звонок, будильник) Перестановка плиток — карандаш → меняйте/удаляйте иконки Быстрые контакты — 4 слота с аватарами и звонком в один тап Быстрые приложения — 4 слота с иконками Карточка батареи — заряд, ток, температура, время до полной зарядки Температуры CPU/GPU — из sysfs

🌙 Luna — ИИ-ассистент 🤖 Возможности ассистента Работает через ваш API Key любого ИИ-провайдера.

Function calling — 50+ инструментов (полный список ниже) Стриминг ответов + озвучка (TTS) Голосовой диалог — непрерывный цикл «слушаю → думаю → говорю» Wake word — активация по фразе (сейчас «Нафаня», в планах — «Луна» с возможностью смены), модель openWakeWord в assets Barge-in — прерывание озвучки началом речи Vision-модель для распознавания изображений (отдельный endpoint/ключ) Профиль и стиль — имя, город, стиль ответа (кратко/сбалансированно/подробно), персона Память — авто-извлечение фактов о пользователе, retrieval по ключевым словам Сжатие истории — старые реплики сворачиваются в резюме Авто-макросы — запуск сценариев по фразе без обращения к LLM Плагины — пользовательские команды с параметрами в JSON-манифесте Guardrails — опасные действия (звонок, SMS, POST-запрос) требуют подтверждения в UI Белый список HTTP-доменов — для инструмента http_request Журнал Luna — история вызовов инструментов с аргументами и длительностью

🤖 Автоматизация ⚙️ Профили и макросы 7 профилей: Обычный Работа Игра Фокус Вождение Ночной Сон Каждый меняет яркость, громкость, DND, перехват уведомлений, авто-раскрытие, скорость анимаций, акцент Авто-триггеры — привязка профиля к событию (питание, низкий заряд, наушники) Макросы — цепочка вызовов инструментов, запускается фразой Задачи по расписанию — Luna сама задаёт вопрос и озвучивает ответ в указанное время

🔌 Интеграции 🌐 Внешние сервисы Сервис Возможности 🌤️ Погода OpenWeather — текущая + почасовой + 5-дневный прогноз 📰 Новости GNews — 7 категорий 📅 Календарь Чтение событий на сегодня, создание напоминаний и событий 👥 Контакты Поиск по имени, звонок, открытие чата в мессенджере 🛠️ Инструменты Luna — полный список 📱 Управление устройством open_app · toggle_setting (Wi-Fi, BT, data, location, NFC, DND, airplane, flashlight, battery_saver, rotation_lock) · set_volume · set_brightness · make_call · send_sms · open_chat · take_screenshot · screen_action (click / scroll / back) · web_search · http_request · wait_condition · undo_last_action · get_device_stats · voice_dialog

🎵 Медиа play_music · media_control (pause / next / prev / stop)

⏰ Время и календарь set_alarm (будильник / таймер / секундомер / dismiss / snooze) · list_alarms · create_reminder · create_event · read_calendar_today

📝 Заметки и списки create_note · shopping_list_add · shopping_list_read · shopping_list_clear

📄 Текст translate_text · summarize_text · read_screen_text

🧠 Память remember_fact · forget_fact

🎭 Профили и сценарии apply_profile · run_macro · create_macro · list_macros · delete_macro

📋 Задачи create_scheduled_task · list_scheduled_tasks · delete_scheduled_task

ℹ️ Информация get_weather · get_news · get_spending_report · get_follow_ups · read_notifications · read_notification_history · read_missed_digest · get_daily_digest · summarize_notifications · get_vpn_servers · navigate_to

🧩 Плагины plugin_<id> — пользовательские команды

🎨 Прочее 🛠️ Дополнительные функции Плитка в шторке — включение/выключение острова в один тап Резервные копии — экспорт/импорт настроек + AI-данных в ZIP Автобэкап — периодические копии с ротацией Диагностика — состояние системы, ИИ, БД, логов Экран «Здоровье» — оценка готовности, что починить в один тап Журнал уборки уведомлений — почему уведомление оставлено или убрано Мастер настройки — 5 шагов для первоначальной конфигурации Командная палитра — 20+ быстрых действий без перехода по вкладкам Поиск по настройкам — ищет и в тех разделах, которые ещё не открывались 💬 Обратная связь Нашли баг или есть предложение? Открывайте Issue — приложите логи, скриншоты или запись экрана.

⭐ Если проект вам нравится — поставьте звезду!

Лицензия Apache-2.0 license

What's new

v1.2Oct 2, 2026
  • ✨ Новые функции Новые плитки в центре управления: В каталог режима правки (значок карандаша) добавлено 11 плиток. Панель у существующих пользователей сама не меняется - плитку нужно добавить вручную. Каталог показывает не больше двух строк, остальное прокручивается внутри блока, поэтому панель управления не растягивается на весь экран.
  • Скриншот (shot) - снимок экрана штатным способом Android 11+ (GLOBAL_ACTION_TAKE_SCREENSHOT через службу доступности). Панель закрывается до снимка, поэтому в кадр не попадает.
  • Звуки острова (isound) - вкл/выкл клики и звуки (SoundEffects); при включении щёлкает, чтобы было слышно результат.
  • Перехват уведомлений (intercept) - тот же тумблер, что в настройках (setInterceptAll): все уведомления идут в остров.
  • Баннеры (heads_up) - показать/скрыть всплывающие уведомления (setHideHeadsUp); активное состояние = баннеры показываются.
  • Таймер (timer) - тап открывает всплывающее окно ручного выбора длительности рядом с плиткой: колёса «часы : минуты : секунды» и быстрые кнопки 5/10/15/30 мин; долгий тап открывает приложение часов с уже подставленной длительностью.
  • Профиль (profile) - новый подэкран центра управления (как Wi-Fi/VPN): список семи профилей с описанием действий, применяет Profiles.apply - тот же вход, что у настроек и AI-инструмента apply_profile.
  • Луна (luna) - тап открывает ассистента в острове без микрофона, долгий тап запускает полный сценарий «Окей, Луна» (страница + микрофон).
  • Погода (weather) - плитка-инфо: температура и город из кеша, тап форсирует обновление (WeatherCache.refreshNow).
  • Тёмная тема (night, нужен root) - системная ночная тема (cmd uimode night yes|no).
  • Экран не гаснет (stayon, нужен root) - stay_on_while_plugged_in; экран не выключается на зарядке (удобно для навигации и видео).
  • Тайм-аут экрана (timeout) - цикл 15 с → 30 с → 1 мин → 2 мин → 5 мин; с root - командой, без root - через WRITE_SETTINGS (или открывает системный экран выдачи разрешения).
  • Плитка «Режим звонка» (ringer) Один тап по кругу: Обычный → Вибрация → Без звука → Обычный. Иконка (колокол / колокол с волнами / перечёркнутый) и подпись меняются по AudioManager.ringerMode; «Без звука» рисуется выключенным состоянием. Долгий тап открывает настройки звука.
  • Плеер: выбор источников аудио На вкладке «Остров» появился раздел «Плеер» - общий тумблер «брать аудиопоток у всех приложений» и точечные правила приложений («всегда» / «никогда»). Так можно убрать чужой плеер из острова, а при выключенном тумблере - оставить только нужные приложения.
  • Чувствительность wake-word В карточке голосовой активации появился ползунок «Чувствительность» (0–100%): он задаёт сразу порог уверенности Vosk (conf, режим полного ASR) и порог энергии речи (VAD). Выше - срабатывает на тихую/невнятную речь (но больше ложных), ниже - только громкая чёткая (меньше ложных). Пороги применяются на ходу, без перезапуска: сервис перечитывает их раз в 2 с.
  • 🛠 Улучшения и изменения - Сплэш - версия больше не зашита в разметку («v1.0»).
  • «О программе» - в раздел «Ссылки» добавлен GitHub (yolozik/Luna-Island) рядом с 4PDA и Telegram.
  • Правила фильтра - чистой функцией - MediaCapturePolicy решает, показывать ли аудиопоток приложения: «никогда» важнее «всегда», «всегда» важнее общего тумблера. Запрещённые приложения не слушаются вообще - их медиасессии не попадают в список источников, не участвуют в авто-выборе, свайпе и точках-индикаторе, а после правки правил список перечитывается без перезапуска службы.
  • Диалог правил стал общим - AppInterceptRulesDialog больше не привязан к уведомлениям: правила берутся из AppRuleStore, поэтому перехват уведомлений и аудиопоток настраиваются одним диалогом, а не двумя копиями.
  • Бэкап и поиск - ключи media_capture_* входят в экспорт настроек, раздел «Плеер» - в каталог поиска по настройкам.
  • Анимация появления окна таймера - окно выбора длительности больше не просто проявляется: карточка «вырастает» из плитки с мягким отскоком, точка роста - центр плитки, плюс лёгкий подъём на 14 dp. Затемнение проявляется отдельно и раньше - без отскока, чтобы окно не мигало.
  • Wake-word переведён с ONNX на Vosk - убрана зависимость xyz.rementia:openwakeword и ONNX-ассеты; вместо них com.alphacephei:vosk-android и JNA. KWS работает офлайн по грамматике из WakeWordSignal: «Луна»/«луны»/«луне» и команды плеера «пауза»/«следующий»/«предыдущий»/«стоп». Русская модель vosk-model-small-ru-0.22 (~45 МБ) не входит в APK: она скачивается по кнопке в настройках и распаковывается в filesDir (VoskModelManager - стриминг с прогрессом, защита от zip-slip, удаление и повтор). WakeWordService читает микрофон AudioRecord 16 кГц и отпускает его, пока говорит TTS, слушает ассистент или идёт голосовой диалог. Карточка настроек показывает готовность/прогресс модели и включает тумблер только при готовой модели.
  • 🐞 Исправления - Значки «+» и «✕» в режиме правки больше не подрезаются. Кружок 18 dp стоит в области попадания 36 dp и центрируется в ней, поэтому смещение задавало и видимую позицию: при offset(12.dp, -12.dp) кружок выходил за край ячейки на 3 dp, и его срезали прокручиваемые контейнеры - у последнего столбца по правому краю, у первой строки каталога сверху. Смещение уменьшено до 7 dp: кружок на 2 dp внутри ячейки, а размер области попадания (36 dp) прежний, поэтому попадать пальцем по-прежнему удобно.
  • Анимация наушников больше не «пиксельная».
  • Монитор сети: скорость раз в секунду и без двойного счёта при VPN. Раньше, когда страница «монитор сети» не видна, скорости считались раз в 5 с, и компактный остров «залипал». Теперь тик всегда 1 с, а _netState обновляется независимо от страницы.
  • Быстрые слоты в панели управления обновляются сразу. Была проблема, что нужно было перезапускать приложение для применения изменения.
  • Кадрирование фото отцентрировано. Круглое окно предпросмотра было прижато влево - Column в диалоге не центрировал содержимое.

About this version

Version
1.2 (8)
Size
29.57 MB
Requires Android
8.0
Target SDK
26
Architecture
armeabi-v7a, armeabi, mips, mips64, x86, x86_64, arm64-v8a
Downloads
29
Updated
Oct 2, 2026
Package
com.luna.island

Similar apps

Ratings & reviews

—
0 ratings
  • 5
    0
  • 4
    0
  • 3
    0
  • 2
    0
  • 1
    0

Write a review

Tap a star to rate this app