𝙈𝙖𝙠𝙨𝙤𝙣𝙞𝙘 🇷🇺
Александр
Чисто в теории, можно попробовать что - то типо:
window.statusBarColor = Color.TRANSPARENT
.
я бы делал по второму пути, он хоть и более замороченный но правильнее
.
и вот эти тени типа переход с одной карточки в другую чисто бутафория
𝙈𝙖𝙠𝙨𝙤𝙣𝙞𝙘 🇷🇺
тоесть это просто тень наложна на карточки да?
Сергей
Я делал но не помню точно как.
Тулбар это отдельный же объект. Его создают, настраивают, а потом фигачат getSupport, не
𝙈𝙖𝙠𝙨𝙤𝙣𝙞𝙘 🇷🇺
я думал эта тень элемент типа View разделитель
.
не, тень это типа нижняя и верхняя тени и это декорация, гуглани RecyclerView.ItemDecoration
Chriz
Nazar
Подскажите пожалуйста, как в ViewPager'е выключить эффект типо ripple или что это, когда свайпаеш ?
Александр
.
конечно если надо свайпать и по вертикали и по горизонтали нет вопросоВ, но по-моему скриншот этого не подразумевает
Evgeniy
Как разрешить базе данных работать в ui потоке?
.
никак и забыть эту идею как страшный сон
𝙈𝙖𝙠𝙨𝙤𝙣𝙞𝙘 🇷🇺
имхо извращение, но на вкус и цвет...
ну хорошо) я тенью я понял что, а текст как? я хочу что бы после двух строк карточек был текст потом снова карточки и.т.д
как его внедрить?
.
viewType закури в адаптере
Александр
Как разрешить базе данных работать в ui потоке?
Если речь про Room, то ответ гуглится в два счёта.
https://www.google.com/search?q=room+into+main+thread+android&oq=room+into+main+thread+android&aqs=chrome..69i57.6367j0j7&sourceid=chrome&ie=UTF-8
⬤ vitaly
Дыа
"Вот это" просто пишет, что не может найти класс (который не сгенерило, потому что ошибка в xmlине)
Evgeniy
𝙈𝙖𝙠𝙨𝙤𝙣𝙞𝙘 🇷🇺
Александр
⬤ vitaly
.
э пацаны вы зачем в уи потоке с бд возитесь ау
.
О_О я чёто не понимаю или это жоский говнокод
⬤ vitaly
а то задолбалось комментить код и раскоменчивать по одной вьюхе чтобы понять, где я долбанную буковку не дописал)
⬤ vitaly
Александр
Александр
Мб поможет вот это, когда билд в очередной раз не соберётся
Александр
vitaly
⬤ vitaly
да врубаю я эту штуку, врубаю...
Chriz
viewType закури в адаптере
отдельный viewType для Decoration для тебя не извращение ? :D Если иметь Nested RecyclerViews в родительском будут 2 вьютайпа, и в дочерних по 1. С точки зрения кода будет чистенько
⬤ vitaly
просто я думал, где-то должна конкретная ошибка быть типа "у вас тут не найдена переменная severName"
Chriz
.
ну не 2, но да
⬤ vitaly
А как у уи потока вообще можно возиться с бд, ежело оно эксепшан кидает?)
Александр
⬤ vitaly
Александр
Сергей
.
это всё равно колхоз как по мне
Chriz
Александр
Student
Всем привет.
Адресую разработчикам с опытом в rxjava
Описание ситуации:
Авторизация на сервере у нас с двумя токенами.
В случае 401 я должен запустить логику по обновлению ACCESS_TOKEN с помощью REFRESH_TOKEN (openid authentication вроде бы это правильно называется).
В сеть лазаю с помощью ретрофита в связке с rxjava2.
Примерно так:
@GET("api/v1/drivers/current")
fun getCurrentDriver(): Single<DriverData>
Методы для вылазки в сеть возвращают либо Single, либо Completable.
Идея такова, что я хочу написать одну цепочку по обновлению токенов, и в случае 401 приклеить
её к каждому методу-запросу в сеть
Подскажите, пожалуйста, как правильнее это сделать и вообще правильная ли задумка.
Сейчас в случае 401 ошибки я в интерцепторе пораждаю кастомное исключение, которое обрабатываю в onError каждого похода в сеть.
Вызываю метод по обновлению токенов, который должен возвращать Boolean. И в случае успешного обновления внутри OnError запускаю рекурсивно этот же метод.
Мало того, что это выглядит не очень, так еще и для того, что бы реактивный метод по обновлению токенов возвращал Boolean приходится блокировать поток с помощью оператора blockingGet
Буду рад советам. Спасибо заранее.
.
кто знает, в AAR пропреитарном можно как-то пекедж один заменить? Засратая зебра (принтеры для этикеток и сканеры для штрихкодов) упорно не желает выкладывать исходники или перехдить на AndroidX. Или может есть какая-то маза для автомиграции
.
Всем привет.
Адресую разработчикам с опытом в rxjava
Описание ситуации:
Авторизация на сервере у нас с двумя токенами.
В случае 401 я должен запустить логику по обновлению ACCESS_TOKEN с помощью REFRESH_TOKEN (openid authentication вроде бы это правильно называется).
В сеть лазаю с помощью ретрофита в связке с rxjava2.
Примерно так:
@GET("api/v1/drivers/current")
fun getCurrentDriver(): Single<DriverData>
Методы для вылазки в сеть возвращают либо Single, либо Completable.
Идея такова, что я хочу написать одну цепочку по обновлению токенов, и в случае 401 приклеить
её к каждому методу-запросу в сеть
Подскажите, пожалуйста, как правильнее это сделать и вообще правильная ли задумка.
Сейчас в случае 401 ошибки я в интерцепторе пораждаю кастомное исключение, которое обрабатываю в onError каждого похода в сеть.
Вызываю метод по обновлению токенов, который должен возвращать Boolean. И в случае успешного обновления внутри OnError запускаю рекурсивно этот же метод.
Мало того, что это выглядит не очень, так еще и для того, что бы реактивный метод по обновлению токенов возвращал Boolean приходится блокировать поток с помощью оператора blockingGet
Буду рад советам. Спасибо заранее.
сделал именно это не так давно. у тебя какая архитектура примерно?
Алексей
Всем привет.
Адресую разработчикам с опытом в rxjava
Описание ситуации:
Авторизация на сервере у нас с двумя токенами.
В случае 401 я должен запустить логику по обновлению ACCESS_TOKEN с помощью REFRESH_TOKEN (openid authentication вроде бы это правильно называется).
В сеть лазаю с помощью ретрофита в связке с rxjava2.
Примерно так:
@GET("api/v1/drivers/current")
fun getCurrentDriver(): Single<DriverData>
Методы для вылазки в сеть возвращают либо Single, либо Completable.
Идея такова, что я хочу написать одну цепочку по обновлению токенов, и в случае 401 приклеить
её к каждому методу-запросу в сеть
Подскажите, пожалуйста, как правильнее это сделать и вообще правильная ли задумка.
Сейчас в случае 401 ошибки я в интерцепторе пораждаю кастомное исключение, которое обрабатываю в onError каждого похода в сеть.
Вызываю метод по обновлению токенов, который должен возвращать Boolean. И в случае успешного обновления внутри OnError запускаю рекурсивно этот же метод.
Мало того, что это выглядит не очень, так еще и для того, что бы реактивный метод по обновлению токенов возвращал Boolean приходится блокировать поток с помощью оператора blockingGet
Буду рад советам. Спасибо заранее.
Сделайте interceptor нормальный, зачем костыли городить?
Student
.
moxy юзаешь?
Алексей
На уровне okhttp, еще до реактивнищы всей
Artem
Student
.
щас скину тебе на гист примерный код в двух штуках
Алексей
Student
слишком тяжеловесные объекты, наверное. я пробовал. не получалось
Student
и как я сделаю перезапрос запроса (сорян за тафтологию) при успешном обновлении токена
Student
а, да
Алексей
И DI не важно, кто тяжеловесный, а кто нет)
Student
еще туда и account manager нужно инжектить
Student
так что проблемы были
Student
не получилось
.
Денис
https://gist.github.com/ioerrorle/8ed4599f24abf295f6eb8c9192ff5c25
Student
ну вот пытаюсь решить)
Student
.
спасибо
там есть ещё тонкий момент
я конечно накостылил в своё время, мне очень хотелось чтобы поворялись все запросы, но только один рефреш
.
Денис https://gist.github.com/ioerrorle/2c54a9af972214b5055493d7abea7ba3
Student
😂
Student
👍
Student
Алексей
Javadoc вам в помощь)
Ihor
Так а в чём конкретно проблема тогда? Получение по аналогии с отправкой.
Ну вот вроде получение должно так работать: apiService.postInit(versionName, applicationId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.unsubscribeOn(Schedulers.io())
.subscribe(new Subscriber<InitPost>() {
@Override
public void onSubscribe(Subscription s) {
}
@Override
public void onNext(InitPost initPost) {
}
@Override
public void onError(Throwable t) {
}
@Override
public void onComplete() {
}
});
} А у меня после пост сабскрайб не подкидывает (