Yushka
Александр
фиксирую начало срача: 15.03.2020, 20:53 (НСК)
Konstantin
конкретно для layoutid обычное абстрактное проперти в базовом классе хватает, чтобы было необходимо реализовывать в наследниках
Mike
Denis
А если верстать кодом, то вообще layoutId не нужен)
Konstantin
у меня например не бывало пока случаев когда с одной и той же логикой во фрагменте разные layoutId, поэтому я его сразу прописываю внутри а не подаю как зависимость
Mike
Konstantin
Mike
гет там не нужен
ну если ты хочешь заодно ещё и лишнее поле создать, тогда не нужен
Konstantin
Назарий
Mike
поле vs четам под капотом гета?
прекрасный вопрос.
private final int layoutId = id;
@Override int getLayoutId() { return layoutId; }
vs.
@Override int getLayoutId() { return id; }
Konstantin
мда, мож правда поле лучше не?😀
Denis
У каждого приложения есть экран настроек (его там можно остановить или удалить), открывается он через экшн ACTION_APPLICATION_DETAILS_SETTINGS
В старых версиях андроид, на этом же экране была информация, сколько приложение занимает места, сколько у него кэш и т.д. Тут же можно было очистить этот кэш или полностью стереть данные приложения
Но в новых андроид, этот экран вынесли отдельно, и он вызывается при нажатии на кнопку Storage из первого экрана (который по ACTION_APPLICATION_DETAILS_SETTINGS), вместе с кнопками для очистки кэша/данных
Есть ли экшн или метод какой-нибудь, чтобы открыть сразу этот экран с кэшем/данными? Для любого приложения, зная его пакет
Теги: app data usage, app details settings, cache app, screen, intent...
P.S. Делаю клинер, который работает по AccessibilityService
Eugene
Anonymous
привет. первый case работает, а второй нет. Подскажите, плз, в чем может быть причина? это клик по меню в navigation drawer
Anonymous
Mike
Aleksey
Co(n)stantine👨🔬
Aleksey
Erkin
всем привет сорри за глупый вопрос, можно ли использовать gpl v3 в коммерческих целях? И модифицировать?
Anonymous
Anonymous
Ребятки, есть библиотека для реализации новостной ленты вместе с firebase?
Anonymous
Можно ли открыть эту прогу для показа логката, которая в андроид студии
Anonymous
Anonymous
Но это не удобно, прога эта фильтрует все норм, и подхватывает телефон сразу после запуска демона адб
Viktor
Anonymous
Viktor
Denis
Коллеги, подскажите, как лечить заразу: меняю locale у приложения, locale отличен от системного. Использую либу Lingver. локаль меняется при старте приложения, так же внутри библиотеки с пом. registerActivityLifecycleCallbacks для всех создаваемых activity меняется.
но только вот заскок: при первом запуске приложения язык меняется не для всех ресурсов... например менюшки остаются на английском.
помогает обычно пересоздание activity. ЧЯДНТ?
глюк замечен на Android 10, для сравнения тот же код на 6м андроиде отработывает правильно.
Anonymous
Anonymous
У меня нет процесса, логи всей системы нужны
Anonymous
И так постоянно в консоль неудобно
Ivan
Ivan
у меню имеешь ввиду которая например при выделении текста?
Ivan
это уже после перезапуска приложения?
Denis
и еще alertDialog
Denis
это уже после перезапуска приложения?
после какого перезапуска?
алгоритм такой: в наследнике Application в onCreate из настроек читается локаль, заданная пользователем в настройках приложения, вызывается Lingver.init с нужной новой локалью.
язык в главной активити при этом получается нужный, за исключением пунктов меню и языка в некоторых всех AlertDialog 'ах
Denis
если главное активити пересоздается, например по выходу по back из приложения и повторном входе, то все норм везде с нужным языком
Ivan
ну что бы у тебя в активити была нужная локаль, его нужно пересоздать в любом случае для того, чтобы вызвать attachBaseContext
Ivan
я много времени сам потратил, чтобы нормально работала смена языка. И как понял на практике, без переопределения этого метода не обойтись
Ivan
у меня каждая активити стартует всегда с этого метода, что подгружается нужная локаль
Дмитрий
У меня одного отвалился DataBinding на студии 3.6.1? Кто нибудь знает как фиксить?
Anonymous
Пацаны, а чё пишет что произойдет шифрование если я удалю Magisk?? Дата зашифруетсы и придется заново все шить?
Anonymous
Зашифруется*
Ivan
как я писал выше, Lingver вешает колбэк на уровне приложения и обновляет локаль в момент создания любого активити в приложении...
для всех других активити, кроме главной, новая локаль применяется полностью, в т.ч. для меню и вызываемых диалогов.
Ну библа должна переопределять у активити вышеупомянутый метод, хз как она там это делает если честно. Другой вопрос откуда потом беерутся ресурсы в активити, из какого контекста, мб она подменяет этот контекст на свой, а когда ты инфлейтишь меню, то контекст берется дефолтный, а в нем локаль системная. В этом надо направлении думать, везде ли заменены контексты на контексты с нужной тебе локалью
Ivan
Denis
Ivan
да
Дмитрий
Denis
да
там updateResources вызвать повторно чтоли?
Ivan
в даггере каком-нибудь?
Denis
Ivan
Единственное что не нравится, это то что до перезапуска активити остаются менюшки со старым языком, это победить пока не смог и кажется не полуится без перезапуска
Denis
Denis
Denis
при чем в 6м андроиде все норм, в 10м не очень
Ivan
ничего за это не могу сказать, там же со всей этой темой с лайфсаклом же не приходится работать даже особо вроде)
Denis
Ivan
а подсмотреть можно? 😊
https://github.com/Merseyside/mvvm-clean-arch-library/tree/dev_branch/library/src/main/java/com/merseyside/mvvmcleanarch/presentation/activity
https://github.com/Merseyside/mvvm-clean-arch-library/blob/dev_branch/library/src/main/java/com/merseyside/mvvmcleanarch/BaseApplication.kt
И там еще LocaleManager посмотри
Denis
Ivan
ну хз, у меня работает)
Denis
Ivan
так в Вашем решении так же проблема с языком меню остается?
при перезапуске активити все хорошо, не удается поменять язык до перезапуска только у всплывающего меню, как например если выделить текст. Потому что оно само из коробки работает и я не знаю как ему приподнести новый локализованный context. Но твою проблему это решит
Denis
rinstance
Добрый день, тут большинство людей, у которых основная работа Android dev или хобби?)