Aleksey
Раз 10 свернул и развернул
так это ты неправильно обрабатываешь инсеты и каждый раз прибавляешь новые https://medium.com/androiddevelopers/8f9ccc8fa4d1
Aleksey
так я в onCreate делаю
да, только каждый раз получаешь новые и приплюсовываешь паддинг
Anonymous
да, только каждый раз получаешь новые и приплюсовываешь паддинг
Но когда разворачиваю приложения из фона, ведь не onCreate вызывается
Anonymous
Vladimir
Кстати по инсетам. Если не ставить флаги в коде и не задавать в теме translucent, то инсеты не передаются?
Aleksey
а, ну паддинг надо не в листенере находить
почитай, я тебе ровно на твой кейс инструкцию кинул
Aleksey
ого, кто-то вообе знал, что в Gradle можно объяснять, почему ты зависимость тянешь? https://blog.blundellapps.co.uk/tame-your-gradle-dependencies-just-because/
Andrey
а есть способы обойти баг с ActivityCompat.shouldShowRequestPermissionRationale без заведения служебного поля, в которое писать факт первого запроса?
Andrey
в самый первый раз возвращает ложЪ хотя диалог отлично открывает.
Andrey
мне надо прочекать куда посылать юзера - в диалог пермишенов или в настройки приложения, если он ответил ду нот аск эгейн
Aleksey
в самый первый раз возвращает ложЪ хотя диалог отлично открывает.
так если false возвращает, то можно сразу разрешение спрашивать, а иначе - умолять пройти в настройки
Andrey
нет, если возвращает фолс, то мне надо жестко слать в настройки, а если тру, то значит он может показать мягкий диалог и показать его. но он врет (
Andrey
Это же не флаг наличия пермишенов, а флаг необходимости открытия мягкого диалога для их установки
Artur
Наоборот Это флаг когда юзер уже 1 раз отказал У меня всё норм работает с ним
Artur
То есть, если он отказал, то ты должен ему дополнительно подробно объяснить
Andrey
Ок. Допустим я проверил что пермишен денаед. Дальше мне надо заставить юзера его выставить. И по этому методу я как раз и хотел проверить как мне это сделать - мягко или жестко открыть активити настроек
Andrey
могу кот показать
Aleksey
в самый первый раз возвращает ложЪ хотя диалог отлично открывает.
но это не баг, а верное поведение. первый запрос - не нужно ничего объяснять, просто просишь разрешение если были отказы, но без галочки - объясняешь > returns true if the user has previously denied the request, and returns false if a user has denied a permission and selected the Don't ask again option in the permission request dialog, or if a device policy prohibits the permission.
Artur
+ вот
Andrey
я читал ответы на стековерфлоу, что это верное поведение. Тогда я хочу другой метод, с другим поведением ) Первый то раз он пишет денаед + фолс! Хотя первый раз юзер не выставил галочку и можно показать диалог.
Andrey
Или я туплю
Aleksey
Или я туплю
нет, вроде не тупишь. а для чего ты пытаешься такое нагородить? хочешь при первом запуске показать объяснялку?
Andrey
Сейчас у меня все работает. Но я хотел улучшить ) Сейчас так - если пермишена нет, то я запрашиваю мягко, в коллбэке анализирую этот флаг и решаю как запрашивать следующий раз - мягко или жестко. поэтому первый раз запрос идет без анализа этого флага всегда через диалог. Я хотел уйти от коллбэков вообще - посмотрел, что у меня онРезюм вызывается на каждый чих, и думал - засуну запрос пермишенов туда безо всяких коллбэков (!) и оно само будет мне циклить если юзер денаит )
Andrey
А сейчас цикл организован через вызов той же функции проверки-запроса пермишена в коллбэке его ответа
Andrey
ну так да, работает ) я хотел проверять этот флаг вообще перед самим запросом
Andrey
и не нужен был бы onRequestPermissionResult
Andrey
и судя по тому, что я гуглил, немало народу сталкивается с этим вопросом
Aleksey
и судя по тому, что я гуглил, немало народу сталкивается с этим вопросом
похоже, что не мало народу придумывает проблемы на ровном месте 🤔
Andrey
работал бы этот метод сразу правильно при первом запросе, проблем бы не было )
Andrey
Из его названия следует семантика - показывать ли диалог установки пермишена. Если юзер выставил галочку что нет - то не показывать. А если юзер вообще не видел в глаза этот диалог еще, то что должден возвращать метод? По-моему ответ очевиден
Andrey
А так получается что мы всегда не чекая флаг вызываем диалог, и только в его коллбэке чекаем этот флаг для дальнейших действий
Andrey
то есть я не могу сразу понять, что диалог разрешения мне не покажут, и сразу не пытаясь его показать послать в настройки?
Andrey
вот поэтому и грусть...
Andrey
нет, народ выходит из положения - заводит служебное поле, в котором хранит флаг - был ли первый запрос пермишена или нет. но это же костыли дикие
Andrey
насчет флудить - я не большой андроид-разработчик, по любому вопросу гуглю. но с андроидом такая беда, что нагуглить можно кучу депрекейтеда и в конце выясняется, что сейчас эта проблема давно решена, и бест-практисы такие-то. вот и спрашиваю в чатике каждый раз. так что сорри
Anonymous
Добрый вечер, у меня появилась непонятная проблема, которую то ли невозможно нагуглить, потому что таким никто не занимается, то ли я не осилил. Суть в том, что я интегрирую плей сервисы в приложение. Чтобы их интегрировать - нужно привязать девелоперс апи к плей консоли. Я привязал проект, а оказалось, что у меня уже есть привязанный проект, который я сейчас использую в продакшене (в.т.ч. файрбейс). Я могу в плей консоли отвязать Google Play Android Developer, но свой проект я привязать не могу, он не появляется. Соответственно отправить на проверку проект, чтобы одобрили плей сервисы я не могу, т.к. этот проект не привязан к плей консоли (но при том как-то привязан, я уже не выкупаю). Что делать?
Artur
нет, народ выходит из положения - заводит служебное поле, в котором хранит флаг - был ли первый запрос пермишена или нет. но это же костыли дикие
Да не нужно это поле Этот флаг тру только если (Челу показывался запрос пермишена&&он нажал deny) При втором и последующих запросах юзеру показывается поле с галочкой, типа больше не спрашивать И если это поле показывается, то стоит перед запросом объяснить, зачем приложению пермишен Только для отлова такой ситуации и нужен метод requestpermissionrationale Если ещё не запрашивали пермишен - то просто спросите
Artur
Хотя не знаю зачем я это пишу, вроде уже объяснил Алексей даже лучше
Andrey
То что вы пишете это важно, потому что это традиции и бестпрактисы. Но я возможно придумал вариант как обойтись без коллбэка. Сейчас протестирую и если все ок и вам будет интересно, то расскажу )
Andrey
Нет, какртинка не ожила - хотел в onCreate делать первый запрос а в onResume анализировать флаг и делать последующие без коллбэка. Но тут асинхронщина, и onResume не ждет ) Так что будем жить как все, с коллбэками
Владимир
Коллеги, нужен совет. Если у вас на проекте что-то вроде mvi/flux/redux/elm, то расскажите как вы реализовали открытие нового экрана и отображение всяких snackbar'ов?
Наталья
Ребят, всем привет) никто не знает как в Jsoup эту херню распарсить? Интересует вариант класса с аннатациями @Selector
Leonid
всем привет, такой вопрос я хочу вынести все запросы из активити в отдельные классы, чтобы запрос работал в обычном классе нужно его унаследовать от LoaderManager я правильно понимаю?
Leonid
нет, неправильно
подскажите пожалуйста как это реализовать тогда
--------
Leonid
www.google.com, ты даже не пытался же
разбирался с архитектурой которую рекомендует использовать гугл, прочитал про viewmodel, live data, room, репозиторий, но так и не понял как их вместе использовать, пишу на java нормального руководства так и не нашел. поэтому решил для начала вынести запросы в другой класс
awawa
Как бороться с небольшим лагом при первом скроле ресайклера? Киньте ссылкой, если у кого есть примеры бест практисов. Пока нашел только наследование от LinearLayoutManager'а и переопределение getExtraLayoutSpace.
Leonid
Поищи кодлабу на эту тему,их даже несколько
находил разбирался, но возникли проблемы с выводом данных во view, не понял как выводить данные в обычное поле, в примере используется RecyclerView
svergoon
всем привет, кто-то работал с клоакой?
Александр
*вангую возникновение троллинга*
Arsen
только хотел пошутить(
Leonid
https://developer.android.com/jetpack/docs/guide
это тоже читал, но тут kotlin, а мне на java надо
Сергей
Господа гусары, молчим, не поддаемся на провокацию!
Arsen
это тоже читал, но тут kotlin, а мне на java надо
это не должно помешать в понимании
Сергей
А вообще вопрос интересный, что имелось в виду? А то может я с ней работал?
Alex Android
Хммм, а сайт может зарегать себя в системе, как получатель контента? Типа пошарить картинку в ВК, но без установленного приложения
Alexander
А вообще вопрос интересный, что имелось в виду? А то может я с ней работал?
Увод нежелательных посетителей от своего «контента»
Сергей
А, cloak
Leonid
это не должно помешать в понимании
спасибо почитаю еще раз, может во второй раз придет
leksss
Подскажите, как добиться такого градиента для анимации с такими границами?
leksss
⬤ vitaly
Лёгких вёсел и бриза в харю. Ну чё тут у вас за выходные интересного было? Кроме because в грэдле, это я уже прочитал)
⬤ vitaly
Что за Because?
https://blog.blundellapps.co.uk/tame-your-gradle-dependencies-just-because/