Konstantin
для срача
а ну тада ладно😂
Yushka
Александр
фиксирую начало срача: 15.03.2020, 20:53 (НСК)
Konstantin
конкретно для layoutid обычное абстрактное проперти в базовом классе хватает, чтобы было необходимо реализовывать в наследниках
Konstantin
ну чо сразу проперти, когда можно через суперконструктор прокинуть)
разница в том что раскрываешь больше инфы. когда через конструктор то фабрика знает о необходимом лаяуте, а когда как проперти только сам фрагмент знает о своем лаяуте и минус один импорт в фабрике
Denis
А если верстать кодом, то вообще layoutId не нужен)
Konstantin
у меня например не бывало пока случаев когда с одной и той же логикой во фрагменте разные layoutId, поэтому я его сразу прописываю внутри а не подаю как зависимость
Mike
гет там не нужен
ну если ты хочешь заодно ещё и лишнее поле создать, тогда не нужен
Назарий
Mike
поле vs четам под капотом гета?
прекрасный вопрос. private final int layoutId = id; @Override int getLayoutId() { return layoutId; } vs. @Override int getLayoutId() { return id; }
Konstantin
мда, мож правда поле лучше не?😀
Mike
мда, мож правда поле лучше не?😀
лучше, а значение передать в суперконструктор, как я сразу и предложил)
Denis
У каждого приложения есть экран настроек (его там можно остановить или удалить), открывается он через экшн ACTION_APPLICATION_DETAILS_SETTINGS В старых версиях андроид, на этом же экране была информация, сколько приложение занимает места, сколько у него кэш и т.д. Тут же можно было очистить этот кэш или полностью стереть данные приложения Но в новых андроид, этот экран вынесли отдельно, и он вызывается при нажатии на кнопку Storage из первого экрана (который по ACTION_APPLICATION_DETAILS_SETTINGS), вместе с кнопками для очистки кэша/данных Есть ли экшн или метод какой-нибудь, чтобы открыть сразу этот экран с кэшем/данными? Для любого приложения, зная его пакет Теги: app data usage, app details settings, cache app, screen, intent... P.S. Делаю клинер, который работает по AccessibilityService
Eugene
вроде и у них тоже есть в IDE инструмент, но достаточно простой
Хз, но мой iOS коллега купил, насколько я знаю)
Anonymous
привет. первый case работает, а второй нет. Подскажите, плз, в чем может быть причина? это клик по меню в navigation drawer
Aleksey
Erkin
всем привет сорри за глупый вопрос, можно ли использовать gpl v3 в коммерческих целях? И модифицировать?
Dmitrii
всем привет сорри за глупый вопрос, можно ли использовать gpl v3 в коммерческих целях? И модифицировать?
Модифицировать можешь, только исходный код должен быть выложен в открытый доступ, продавать ПО тоже можно но опять же исходный код в открытом доступе и право на модификацию и распространение и использование её частей в разработке
Anonymous
Причина в том, что в дровере и в кейсе айди различаются.
да, не в том методе прописал, спасибо всем
Anonymous
Ребятки, есть библиотека для реализации новостной ленты вместе с firebase?
Anonymous
Можно ли открыть эту прогу для показа логката, которая в андроид студии
Anonymous
Но это не удобно, прога эта фильтрует все норм, и подхватывает телефон сразу после запуска демона адб
Viktor
Можно ли открыть эту прогу для показа логката, которая в андроид студии
Мне кажется это просто запуск adb logcat с указанием процесса
Anonymous
Мне кажется это просто запуск adb logcat с указанием процесса
так оно и есть, но консоль дико неудобная
Denis
Коллеги, подскажите, как лечить заразу: меняю locale у приложения, locale отличен от системного. Использую либу Lingver. локаль меняется при старте приложения, так же внутри библиотеки с пом. registerActivityLifecycleCallbacks для всех создаваемых activity меняется. но только вот заскок: при первом запуске приложения язык меняется не для всех ресурсов... например менюшки остаются на английском. помогает обычно пересоздание activity. ЧЯДНТ? глюк замечен на Android 10, для сравнения тот же код на 6м андроиде отработывает правильно.
Viktor
так оно и есть, но консоль дико неудобная
Перенаправь в файл ‘adb logcat > log.txt’
Anonymous
У меня нет процесса, логи всей системы нужны
Anonymous
И так постоянно в консоль неудобно
Denis
значит при старте активити context все еще со старой локалью
так если бы было так, то язык бы вообще не переключился... а тут только у меню системная локаль остается. или я ошибаюсь?
Ivan
у меню имеешь ввиду которая например при выделении текста?
Denis
у меню имеешь ввиду которая например при выделении текста?
нет, любые меню в приложении, через inflateMenu что инфлейтятся
Ivan
это уже после перезапуска приложения?
Denis
и еще alertDialog
Denis
это уже после перезапуска приложения?
после какого перезапуска? алгоритм такой: в наследнике Application в onCreate из настроек читается локаль, заданная пользователем в настройках приложения, вызывается Lingver.init с нужной новой локалью. язык в главной активити при этом получается нужный, за исключением пунктов меню и языка в некоторых всех AlertDialog 'ах
Denis
если главное активити пересоздается, например по выходу по back из приложения и повторном входе, то все норм везде с нужным языком
Ivan
ну что бы у тебя в активити была нужная локаль, его нужно пересоздать в любом случае для того, чтобы вызвать attachBaseContext
Ivan
я много времени сам потратил, чтобы нормально работала смена языка. И как понял на практике, без переопределения этого метода не обойтись
Ivan
у меня каждая активити стартует всегда с этого метода, что подгружается нужная локаль
Denis
ну что бы у тебя в активити была нужная локаль, его нужно пересоздать в любом случае для того, чтобы вызвать attachBaseContext
ну так она нужная... часть ресурсов на нужной локали сразу... часть, в частности menuInflater с которыми работает, почему-то с дефолтной локалью остается
Denis
у меня каждая активити стартует всегда с этого метода, что подгружается нужная локаль
как я писал выше, Lingver вешает колбэк на уровне приложения и обновляет локаль в момент создания любого активити в приложении... для всех других активити, кроме главной, новая локаль применяется полностью, в т.ч. для меню и вызываемых диалогов.
Дмитрий
У меня одного отвалился DataBinding на студии 3.6.1? Кто нибудь знает как фиксить?
Anonymous
Пацаны, а чё пишет что произойдет шифрование если я удалю Magisk?? Дата зашифруетсы и придется заново все шить?
Anonymous
Зашифруется*
Ivan
как я писал выше, Lingver вешает колбэк на уровне приложения и обновляет локаль в момент создания любого активити в приложении... для всех других активити, кроме главной, новая локаль применяется полностью, в т.ч. для меню и вызываемых диалогов.
Ну библа должна переопределять у активити вышеупомянутый метод, хз как она там это делает если честно. Другой вопрос откуда потом беерутся ресурсы в активити, из какого контекста, мб она подменяет этот контекст на свой, а когда ты инфлейтишь меню, то контекст берется дефолтный, а в нем локаль системная. В этом надо направлении думать, везде ли заменены контексты на контексты с нужной тебе локалью
Ivan
У меня одного отвалился DataBinding на студии 3.6.1? Кто нибудь знает как фиксить?
У меня тоже отвалилось. Скачал 4.1 Canary 1, полет нормальный
Ivan
У меня одного отвалился DataBinding на студии 3.6.1? Кто нибудь знает как фиксить?
вообще не понимаю как они так выкатывают новые версии, когда такой кусок функционала не работает
Ivan
да
Дмитрий
У меня тоже отвалилось. Скачал 4.1 Canary 1, полет нормальный
Тоже скачивал, но не помогло. Просто не генерируется класс
Denis
да
там updateResources вызвать повторно чтоли?
Ivan
в даггере каком-нибудь?
Ivan
attachBaseContext?
У меня в гите есть била своя, там реализовано это все дело
Ivan
Единственное что не нравится, это то что до перезапуска активити остаются менюшки со старым языком, это победить пока не смог и кажется не полуится без перезапуска
Denis
при чем в 6м андроиде все норм, в 10м не очень
Ivan
ничего за это не могу сказать, там же со всей этой темой с лайфсаклом же не приходится работать даже особо вроде)
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
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 посмотри
спасибо, покурю... но если та же проблема с языком меню остается... то мне это не поможет) в принципе не критично, но немного напрягает
Ivan
ну хз, у меня работает)
Дмитрий
У меня тоже отвалилось. Скачал 4.1 Canary 1, полет нормальный
Блять, не так прочитал. Я бетку 4.0 тестил, щас попробую по твоему совету
Ivan
Блять, не так прочитал. Я бетку 4.0 тестил, щас попробую по твоему совету
Давай, на удивление все тут хорошо вроде. У студии как что не релизится, так проблемы сразу какие-то
Ivan
так в Вашем решении так же проблема с языком меню остается?
при перезапуске активити все хорошо, не удается поменять язык до перезапуска только у всплывающего меню, как например если выделить текст. Потому что оно само из коробки работает и я не знаю как ему приподнести новый локализованный context. Но твою проблему это решит
rinstance
Добрый день, тут большинство людей, у которых основная работа Android dev или хобби?)