v0.2.1
Исправлено
-
«Передать обновления Wy Store» больше не качает APK впустую. Если в каталоге версия старше
установленной, поставить её поверх нельзя — Android не устанавливает версию ниже той, что на
телефоне. Кнопка всё равно предлагалась, скачивала APK целиком, получала отказ и молча стирала
и файл, и строку очереди: ни сообщения, ни ошибки, кнопка на месте. Нажать её можно было сколько
угодно раз подряд. Теперь карточка сначала сравнивает версии и подписи и предлагает то, что
действительно может сработать: установку поверх — когда она возможна, удаление и установку
заново — когда нет. -
«Передать обновления Wy Store» вообще ни разу не срабатывала без root. Загрузка разрешала
установить ту же самую версию поверх — именно она и делает Wy Store владельцем обновлений, — а
проверка перед установкой запускалась заново уже без этого разрешения и отвечала «эта версия не
новее установленной — обновлять нечего». Файл скачан, проверен, лежит в «готовых к установке», и
на последнем шаге отвергается. Признак «этот файл запросил человек» теперь доходит до установки,
а не теряется по дороге — во всех трёх местах, где проверка повторяется: обычная установка,
установка из карточки и тихая установка через root. -
Передача с удалением работает не только для приложений из Google Play. Раньше её предлагала
одна кнопка «Принять» в библиотеке и только по признаку «установщик — Google Play». Причин, по
которым установка поверх невозможна, две: чужая подпись и версия в каталоге ниже установленной, —
и теперь обе ведут к одному и тому же предложению, прямо с карточки приложения. -
Скачанное и отвергнутое обновление перестало исчезать беззвучно. Загрузка, которую запросил
человек, заканчивается понятной ошибкой «в источнике версия старше установленной». Фоновая
проверка по-прежнему выбрасывает такое тихо — приложение, опередившее каталог, не повод для
красной строки, — но запись в журнал теперь остаётся в обоих случаях и попадает в отчёт
диагностики. -
Карточка перестала утверждать «у вас уже актуальная версия», когда в каталоге версия старше
установленной. Теперь так и написано: какая версия в каталоге и почему она не встанет. -
Библиотека показывает, кто на самом деле отвечает за обновления приложения. Бейдж строки
говорит, где ищутся обновления, и у принятого приложения это всегда «RuStore» или «GitHub» —
так строка приложения из Google Play сообщала «RuStore» и тут же предлагала переключатель,
который существует только для приложений из Google Play. Владелец установки теперь назван
отдельной строкой. -
GitHub-карточка не предлагает поставить релиз старше установленного. Раньше «установлено это
же или новее» считалось одним состоянием, и на релизе постарше установленного кнопка вела в ту же
молчаливую яму. -
Красная строка «удалите и поставьте заново» теперь может это сделать. При несовпадении
подписи установка поверх невозможна ни для кого — это единственная ошибка, которую «Повторить»
не может пройти, а больше на строке ничего не предлагалось. Рядом появилась кнопка «Удалить и
поставить»: приложение удаляется, и та же строка очереди ставится заново из своего источника —
включая релиз GitHub с его репозиторием, номером релиза и отбором файлов, которые именем пакета
не заменишь. -
Кнопки на экранах GitHub и на карточке приложения молчали. Сообщения приложения показываются
в подложке, которая живёт внутри основного экрана, а страница приложения, страница релиза и
страница GitHub рисуются вместо него — поэтому всё, что приложение говорило, пока открыта одна из
них («поставлено в очередь», «нужно разрешение», ошибка), уходило в подложку, которой нет на
экране. Нажатие выглядело так, будто ничего не произошло. Подложка теперь есть и на этих экранах. -
«Открыть релизы» показывает результат там, где нажали. Загруженные релизы выводились ниже
всего встроенного каталога из двадцати семи проектов, то есть за пределами экрана: кнопка
срабатывала, а увидеть это было нельзя. Теперь список и индикатор загрузки идут сразу под кнопкой. -
«Все релизы» на странице GitHub-приложения открывали вкладку GitHub, а не релизы. Кнопка
вела на список репозиториев, то есть посмотреть или поставить любой релиз, кроме последнего, со
страницы приложения было нельзя — при том что все релизы уже загружены. Теперь список
раскрывается на месте: тег, дата, число файлов, пометка предрелиза; нажатие открывает страницу
релиза. -
Приложения из встроенного каталога GitHub опознаются как установленные. Имя пакета было
указано у одной записи из двадцати семи, поэтому карточка предлагала «Установить» тому, у кого
приложение уже стоит, и не могла отличить установленную версию от релиза на экране. Добавлено для
тринадцати записей, каждая подтверждена двумя независимыми источниками — исходниками самого
проекта и метаданными F-Droid либо пакетом на устройстве. Остальные оставлены пустыми: у части
проектов идентификатор зависит от сборки (у Orbot в build-файле лежит.nightly, у Proton VPN —
com.вместоch.), а неверное имя пакета хуже отсутствующего — оно объявит установленным
чужое приложение. -
Приложения, установленные самим Wy Store, помечались как «Прочее». Значение
WY_STOREв
перечислении источников не выдавалось никогда: источник определялся сравнением с одним
com.android.vending, а всё остальное сваливалось в «другой источник».
Изменено
- Переключатель «Форсировать Wy Store» называется «Обновлять вместо Google Play». Он всегда делал
именно это: разрешал фоновой проверке смотреть на приложение, установленное Google Play. - Описание обновлений переписано честно. В README и в обзоре было сказано, что на Android 12 и
новее обновления ставятся сами и без root. Это половина правды. Условия Android теперь выписаны
поимённо, и названа вторая проверка, о которой раньше не было ни слова: на телефоне с сервисами
Google каждый APK, которого Play Protect раньше не видел, останавливается его собственным окном
поверх тихой установки. Запоминает он файл, а не приложение. Итог сформулирован без прикрас: с root тихо
всегда, без root — чаще всего работает, но гарантии нет. Проверено на Android 16, а не выведено
из документации. - Там же исправлено давнее утверждение, что на Android 9, 10 и 11 тихо обновлять не может ни один
магазин, включая Google Play. Play может на любой версии: он системное привилегированное
приложение с разрешениемINSTALL_PACKAGES, недоступным обычному приложению. Не может ни один
сторонний магазин.
Файлы релиза
В релизе два файла, wystore-0.2.1.apk и wystore.apk, — это один и тот же APK, собранный один
раз и подписанный одним ключом. Второй нужен только для постоянной ссылки на последнюю версию.
Full Changelog: v0.2.0...v0.2.1