Сергей
А если я в классе Firebase сервиса сделаю статические поля LiveData, а потом буду на них подписываться из активностей, это нормально?
А в кла се сервиса нестатические поля сохраняться небудут - он уничтожается между вызовами
Сергей
Ну вообще, я могу в активностях подписываться на статическую LiveData, а потом когда будет onDestroy() - отписываться
При правильном owner оно само вроде? Плюс application класс существует все время жизни приложения, там и не в статиках можно все хранить
Сергей
Но тут такие подходы ругали
⁣
Но тут такие подходы ругали
Ругали подходы с application классом?
Сергей
Костыльно типа, не помню аргументации
Сергей
Как и любые глобальные переменные которые можно изменять и читать откуда угодно - тяжело отлаживать и эфыекты внешние
⁣
Костыльно типа, не помню аргументации
Что ж, спасибо большое, очень полезная инфа)
⁣
А можно как-то сделать, чтобы LiveData срабатывала только когда вызывается метод setValue/postValue? Или это только через ObservableField?
⁣
LiveData with single events, вроде бы... Кажется, это костыли
Михаил
Ребят подскажите, может кто знает, как называется изменение фона, когда цвет типа расширяется из точки. Ато что-то даже не знаю как загуглить. Вот как тут, цвет подложки при свайпе: https://storage.googleapis.com/spec-host/mio-staging%2Fmio-components%2F1584058305895%2Fassets%2F1CFdYNjNuBI6_8rceC75UWACzQ962g_EM%2Fcards-behavior-swipe-do.mp4 В gif'ке два варианта. Я говорю про первый, где цвет расширяется, а не становится прозрачным.
Михаил
Ripple effect
Да, кажется это именно то, что я ищу. Спасибо большое.
Николай
Какой подход лучше? Одна активность с динамической заменой фрагментов или отдельные активности со своими viewModel для конкретной задачи? Спрашиваю так как на material.io в примере увидел всего одну активность на которой тупо контейнер для фрагмента. А в нём может быть и логин фрагмент и остальные....
Danile
гайз, а нормально если вызывать метод dispose к примеру в onsuccess или onerror ? и к примеру если потом снова дернуть этот disposable, и так же потом диспоуз в ответе дернется
zlo
Про гитхаб. А вот где видно, когда была опубликована веточка.
Дмитрий
Всем привет, ребят) Когда использую загрузку из ROOM в PagingList, у меня сразу загружается весь список(сначала начальное количество элементов и следом все остальные постранично) элементов. Можете, пожалуйста, подсказать, как можно сделать что бы грузило постранично? https://pastebin.com/ZG2rKxyH
Kozimjon
Привет всем) Есть кто работал с GZIPOutputStream? Можно ли как-то регулировать уровень сжатия? В гугле нашел только реализацию на php - пишут, что можно задавать уровень от 1 до 9 - но никаких параметров в исходниках андроида не смог найти. Заранее спасибо за любой совет
Села
?
Евгений
на бэке нельзя сделать проверку?
Николай
Ребят. Я джун без опыта. На меня хотят повесить проект по созданию Reverse VNC Server. Можете, пожалуйста, сказать коротоко о том чё это такое, потянет ли такое джун и не вирусное ПО ли это?
Ярослав🇺🇦
Загуглить слабо?🌚
Ярослав🇺🇦
https://stackoverflow.com/questions/25201349/programmatically-check-play-store-for-app-updates
Ярослав🇺🇦
К твоему распоряжению несколько способов
Ярослав🇺🇦
Наоборот это мне больше по душе, чем всякие диалоги в приложении https://developer.android.com/guide/playcore/in-app-updates
Ярослав🇺🇦
Ну а сервисы и маркет похоже древние
Ярослав🇺🇦
https://stackoverflow.com/questions/60718191/in-app-update-gives-installexception-error-api-not-available
Ярослав🇺🇦
Вообще похоже гугл чёт шаманит, у меня переводчик раз через раз работает
Turalllb
Для видео какой socketTimeOut обычно устанавливают, если учитывать, что сеть может и на 3G свалиться?
Denis
когда не работает, надо чинить)
Turalllb
это ты где такую настройку нашел?
OkHttpClient.Builder builder = new OkHttpClient.Builder(); builder.connectTimeout(30, TimeUnit.SECONDS); builder.readTimeout(30, TimeUnit.SECONDS); builder.writeTimeout(30, TimeUnit.SECONDS); client = builder.build();
Turalllb
всякие настройки для httpClien ов
Turalllb
правда я использую Fuel, и до этих настроек okHttp наверно не добраться
Turalllb
а проблема в частых socketTimeOutException
Denis
не надо 30
Turalllb
предалагают увеличить connectTimeOut на стаковерфлоу, но как я понимаю socketTimeOutException не имеет связи с ConnectTimeOut , коннект при долгом соединении с сервером, тут и правда 10 сек за глаза. Но Socket значит что каждую миллисекунду в откром соединении должен прийти хотя бы один пакет данных, если нет , то будет исключение
Turalllb
Turalllb
даже не могу точно сказать, что это падает в момент просмотра видео, не знаю какой запрос падает. Может быть на загрузке изображений, но там вроде как Glide имеет свой клиент, а тут fuel
Denis
а почему бы просто не ловить SocketTimeoutException?
Anonymous
Всем привет. А есть ли возможность отловить колбэк от WallpaperManager'a об успешной установе обоев?
Denis
поймай и принимай решение, что делать дальше
Anonymous
Всем привет, кто может назвать примерную сумму для разработки такого чата? С онлайном 50-60 чел. С функциями админства и модераторства
Anonymous
Anonymous
Turalllb
а почему бы просто не ловить SocketTimeoutException?
я до этого момент не знал, где его ловить, плохо искал в нашей обертке ApiClient. Сейчас вижу что у нас есть класс Request с методом responce и в нем такая строчка
Turalllb
val (request, response, result) = request.timeout(15_000).awaitStringResponseResult()
Turalllb
вот все падения после старта этой штуки
Denis
ну вот туда и копай
Turalllb
да, я могу решить для себя, что возможно ошибки с timeOut можно просто обернуть и объяснить пользователю про его плохой инет или наш плохой сервер. Но именно после этой строчки, есть еще один тип исключения, который тоже давно не можем понять. Вот он
Turalllb
Turalllb
Fatal Exception: javax.net.ssl.SSLProtocolException
Turalllb
Какой то не соответствие ssl протоколов
Turalllb
я читал по этому вопросу и пока нашел вот что:
Turalllb
ниже андроид 5.0 okHttp откался от протокола ssl 1.2 , типо безопасность ниже
Turalllb
или не 1.2 версии точно не помню
Turalllb
и я думал может у нас сервак работает по старому протоколу. А у нас тут новый. вот надо к бекэнду нашему обратиться за помощью
Turalllb
но я ловлю это исключение и на устройствах где только андроид 5.0 и выше
Turalllb
вот есть на этот счет очень развернутый ответ, но там много причин по которым мы можем с этим столкнуться, вот буду сейчас перечитывать , может что то пойму
Turalllb
https://stackoverflow.com/questions/30538640/javax-net-ssl-sslexception-read-error-ssl-0x9524b800-i-o-error-during-system
Александр
@Hellisnear23 не поверите как решил вчерашнюю проблему с обрезанием контента
Turalllb
там еще от криптографии зависит
ну вот да, это последняя строка стектрейса com.android.org.conscrypt.NativeCrypto.SSL_read (NativeCrypto.java)
Turalllb
уровень TLS потому что другой
TLS или SSL , я только буквы эти знаю, не понимаю что под ними скрывается
Turalllb
не программист по образованию
Александр
Как?
Начал использовать Navigation Components. Обернул NavHost в NestedScrollView. И о чудо, он не обрезается
Denis
не программист по образованию
но работаешь же программистом)
Turalllb
но работаешь же программистом)
но вот эти протоколы связи я вот не знаю, тут надо бы общий кругозор иметь) Академ знаний не хватает
TS
как в mvp получить значение отобразить список достуных bluetooth девайсов.Суть проблемы список строиться и наполняется в презентере ,но чтобы полуть bluetooth нужно контекст в презентере нельзя использовать контекст , а из view нельзя возвращать значение все методы в view void согласно архитекторе mvp .Как быть?
Denis
@android_architecture
Turalllb
уровень TLS потому что другой
а можешь чуть подробней ответить