⁣
Смотрите, у меня такая ситуация: происходит HTTP-запрос (логин), а по его окончанию должна запуститься новая активность. Если во время запроса свернуть приложение и выставить для Intent-а флаг FLAG_ACTIVITY_NEW_TASK, то активность запустится успешно и автоматически развернёт приложение. А если этот флаг не выставить, она не запустится никогда.
K1tana
лучше уж сделать так, чтобы когда операция прошла успешно, то когда юзер нажал снова на твое приложение, то отображалась бы новая активность
⁣
лучше уж сделать так, чтобы когда операция прошла успешно, то когда юзер нажал снова на твое приложение, то отображалась бы новая активность
Ну вот я и хочу узнать, как это возможно сделать) Я почитал документацию, там говорится, что с 29 АПИ накладываются ограничения. Проверил на телефоне с 10 Андроидом и действительно, активность из бэкграунда теперь никак нельзя запустить, даже с флагом FLAG_ACTIVITY_NEW_TASK не получилось.
Ali
ну теоритически тебе никто не запрещает завершить свой запрос. ограничение лишь в запуске новой активити, если я правильно понимаю. при таком раскладе что мешает элементарно проверить состояние перед запуском активити.
⁣
ну теоритически тебе никто не запрещает завершить свой запрос. ограничение лишь в запуске новой активити, если я правильно понимаю. при таком раскладе что мешает элементарно проверить состояние перед запуском активити.
Да, ограничение только в запуске новой активности, с самим запросом всё замечательно. Вопрос только в том, как лучше организовать запуск новой активности, когда пользователь всё-таки развернёт приложение.
Ali
https://developer.android.com/guide/components/activities/activity-lifecycle#onresume
Ali
тебя интересует функция onResume
Ali
ну и не отходя от кассы ниукого нет мок API погонять? а то свои модели лепить лень
⁣
тебя интересует функция onResume
В общем, спасибо. Не знаю, насколько это распространённая практика, но подход работает. Проверяю состояние активности, если приложение в бэкраунде, то сохраняю интент. Когда происходит onResume, проверяю, есть ли сохранённый интент и запускаю. Works like a charm!
Anatoly
Ребята, есть кейс прилепить к верху экрана вью при прокрутке. Я пытаюсь сделать это через кастомный behaviour для координатор лайоут, но в кастомном behaviour не перехватывается прокрутка. Размещение элементов такое: coordinator в нем аппбар с тулбаром и констрейнт с вьюпейджером. Во фрагменте вьюпейджера нестедскролл, вьюха которую надо прилепить и ресайклер
Anatoly
Если прописываю кастомный behaviour в констрейнт - прямом чайлде координатора, скроллы перехватываются. Но если добавить кастомный behaviour вьюпейджеру в констрейнт, то скролл не перехватывается
Глеб
утра кто знает как сделать так, чтобы диалог не забирал фокус у активити? а показывался как popup?
Stunner // 🎄
Как можно подписывать апк из приложения? (java)
Denis_LL
Кто может накидать годных примеров по реализации mvvm кроме сайта startandroid?
Anton
Кто может накидать годных примеров по реализации mvvm кроме сайта startandroid?
Совсем недавно на рабочем проекте миграцию с MVP на MVVM проводил Оф. дока, на мой взгляд, вполне исчерпывающая https://developer.android.com/topic/libraries/architecture И там же в "Additional resources" есть годные примеры
And
Подскажите пожалуйста как можно реализовать месячную подписку Google Pay с авто продлением для конкретных учетных данных пользователя. Тоесть если у пользователя несколько устройств с одной учетной записью google и разные учётные данные в приложении - должны быть отдельные подписки.
Кирилл
github.com/goq/telegram-list
Фига се. Мощно.)
Sardorbek
Есть кто Slack пользовался? Как вам инструмент? Эффективен для команд из 2-3 человек?
You
Для 2-3 человек сойдёт и тг
Sardorbek
Спасибо, удачного дня.
Stunner // 🎄
Че? Кого? Где?
я хочу из своей проги подписывать апкшку
Stunner // 🎄
другую
Damir
Интересное приложение, которое демонстрирует использование современных инструментов разработки под Android https://github.com/PatilShreyas/Foodium 🧐
Кстати, это норм проект? Чтобы подсмотреть и использовать как шаблон для своей проги. Прост хочу найти какую нибудь прогу с норм кодом и архитектурой чтоб подсматривать и делать также! А то у самого получается каша и все в одной активити!!
Granderbird
Ребят, какое свойство отвечает за пропуск тача? У меня одна вьюшка на другой, клик висит на нижней, как сделать, что бы верхняя пропускала клики?
lll
Что за кнопка?
Володя
поставить clickable = false в разметке
Granderbird
clickable
Ага, спасяб
Карл
Всем привет, есть robolectric и мокито, можно ли как-нибудь написать юнит тест на вьюху если надо протестить тач событие, - нажал - поюлозил пальцем взад назад - отпустил В голову приходит только вызывать напрямую вьюхе onTouchEvent и самому туда MotionEvent'ы передавать, но я не знаю насколько это хорошая идея
Alexander
Всем привет, есть robolectric и мокито, можно ли как-нибудь написать юнит тест на вьюху если надо протестить тач событие, - нажал - поюлозил пальцем взад назад - отпустил В голову приходит только вызывать напрямую вьюхе onTouchEvent и самому туда MotionEvent'ы передавать, но я не знаю насколько это хорошая идея
Можно использовать androidTest + espresso, и тестировать на девайсе. В AndroidX и robolectric 4 появилась возможность подключить эспрессо прям с роболектриком и гонять на JVM. Тесты сильно ускоряются, но часто не видно, из-за чего фейлится эспрессо. Я бы сделал сложные UI-тесты на androidTest с эмулятором
Vadim
Всем привет маленький вопросик в подходе MVVM мы создаём фабрику для того чтобы иметь доступ к конкретной ViewModel? или ещё чёт?
Anton
Доброго времени суток. Может ли кто нибудь подсказать куда мне двигаться. Такая задача. Есть recycler view c кастомным layout manager, в нем есть вьюхи произвольного размера(зависят от входных данных) Внутри каждой вьюхи я создаю чекбоксы(их количество тоже не могу знать заранее, поэтому создаю их в onBindViewHolder). В onCcheckedChanged() отлавливаю изменение состояния чекбокса и вызываю anotherRecyclerView1.notifyItemChanged(checkbox.columnIndex) и anotherRecyclerView2.notifyItemChanged(checkbox.rowIndex). После этого вызывается onBindViewHolder у главного recyclerView и получается фриз. Вопрос, как можно реализовать данную задачу без фризов? (при клике на чекбокс изменять элементы в других recyclerView)
Kirill
Подскажите, как можно сделать графический пароль, мб есть готовые решения?
Ярослав
Подскажите, как можно сделать графический пароль, мб есть готовые решения?
у андроида должно быть апи, позволяющее идентифицировать пользователя по пинкоду/пальцу/граф.ключу
Ярослав
Графический пароль, нужен именно он и своей формы..
не выдумывай) или есть нормальные аргументы?)
Ярослав
в пользу костыляния идентификации
Vadim
тебе всё равно придётся рисовать разметку под него если речь идёт о родном, то есть встроенный родной аля биометрика
Kirill
не выдумывай) или есть нормальные аргументы?)
Дизайн приложения? По дизайну, должны быть определенные точки. определенного цвета линии
Vadim
кого рисовать???
разметку для пароля обрабатывать нажатия на цифры и всё такое
Ярослав
графический пароль.
да какая разница, одна фигня
Kirill
да какая разница, одна фигня
как это одна фигня, если нажатие кнопки, отловить очень легко, а рисовать линии с привязкой, сложнее
Ярослав
ну кстати я не видел, чтобы для идентефикации в приложениях использовалась системная идентификация по граф ключу и паролю, тогда да, пилить своё
Ярослав
как это одна фигня, если нажатие кнопки, отловить очень легко, а рисовать линии с привязкой, сложнее
но если у юзера есть сканер отпечатка, он был бы очень рад воспользоваться этой прекрасной фичей, вместо того, чтобы вводить кдючи/пароли
Vadim
кто нибудь может объяснить что делает данный класс на пальцах? class ScoreViewModelFactory(private val finalScore: Int) : ViewModelProvider.Factory { override fun <T : ViewModel?> create(modelClass: Class<T>): T { if (modelClass.isAssignableFrom(ScoreViewModel::class.java)) { return ScoreViewModel(finalScore) as T } throw IllegalArgumentException("Unknown ViewModel class") } }
Vadim
Вьюмодельку он делает.
почему через фабрику то? проверяет что конкретно эта моделька?
Vadim
Вьюмодельку он делает.
я ведь из фрагмента могу просто создать что то типа private lateinit var viewModel: GameViewModel и потом её использовать как хочу
Aleksey
почему через фабрику то? проверяет что конкретно эта моделька?
потому, что фреймворк не умеет создавать VM через конструктор с параметром, поэтому разработчик обязан показать фреймворку, как это делать
Aleksey
я ведь из фрагмента могу просто создать что то типа private lateinit var viewModel: GameViewModel и потом её использовать как хочу
можешь, но фреймворк за тебя занимается сохранением между пересозданием
Ali
потому что людей верящих в чудеса оказалось по факту больше чем планировалось
Mike
я ведь из фрагмента могу просто создать что то типа private lateinit var viewModel: GameViewModel и потом её использовать как хочу
Это же андроид. Для любого простого действия должно быть несколько неоправданно сложных путей.
꧁༒Dmitry༒꧂
Здравствуйте. Подскажите, есть ли возможность получить доступ на запись в корневую фс на заводской прошивке без смены на девелоперскую и пользователю без root привилегий?
Alex
Привет, с андроидом недавно, обнаружил, что fragments в bottomNavigationView пересоздаются каждый раз. Гугл показывает кучу костыльных решений, есть сейчас какой-то норм способ? Навигация сейчас сделана через xml (fragments тоже задаются в xml navigation).
Alex
собственно и в чем проблема что они пересоздаются?
Например, если пользователь проскролил, перешёл на другой экран и вернулся - надо опять скролить. В моем случае мне не нужно обновлять экран до определенного момента.
Никита 🙃
Кто с канвасом дружит. Есть вьюха рзмерами X:Y Внутри есть квадрат X/N:Y/N Как ограничить рисование впределах этого квадрата? Т.е. если я буду рисовать линию startX = 0. endX = X то видеть её можно было только на отрезке видимого квадрата X/N:Y/N Красная линия - то что мы видим, серая - то что мы, по идее, не должны видеть. Как-то так. https://prnt.sc/rl1xen
Никита 🙃
Может у канваса есть какой-то метод, чтоб ограничить bounds, а я не могу найти
Никита 🙃
Ты хочешь отдать канву кому-то, кому не положено вылазить за прямоуголиник? Всё верно, её можно клипнуть. А потом восстановить — save/restore.
Да. У меня метод есть Canvas.drawChart( startX, startY, height, width, scaleFactor, points ) Где startX, startY обозначают начало квадрата чартов. Конец квадрата - startX + width, startY + height Из-за scaleFactor я делаю zoom-in, zoom-out и хочу что бы при отрисовки не считать какие точки видны, какие линии надо рисовать и как, а просто рисовать с этим scaleFactor, но что бы за пределы видимой части чарта небыло видно ничего что отрисовано)