Tishka17
Снэкбар - это уведомление с кнопкой
Tishka17
Или без кнопки
Tishka17
А не алерт
Алексей
Не могу поспорить с товарищами выше
Алексей
Алексей
А насчет кнопки назад...
Алексей
Ну а никак иначе и не сделаешь
Алексей
точнее есть варианты
Алексей
Но костыльные
Алексей
Что бессмысленно
Vladislav
@DEADMC да, так наверное лучше) а как это реализовать?)
Андрей
Tishka17
А что такого в проге, что ее активити закрыть просто так нельзя?
Vladislav
@DEADMC как посчитать двойной клик для выхода
Vladislav
?
Tishka17
Какая разница, нажал назад или свернул и забыл?
Vladislav
понял) спасибо!
Tishka17
Да не нужен таймер. Просто запомни когда нажимали последний раз
Tishka17
И по нажатию проверяй задержку
Андрей
Андрей
пожалуй да, даже проще будет
Алексей
В онрезюме можно обнулять счетчик
Алексей
Дабы по выходу из других активити в корневой необходимость дважды нажимать перед выходом сохранялась
Tishka17
Валерий
Кто-нибудь умеет рисовать layer-list drawable в xml со смещением bitmap'а относительно центра?
Ленар
Привет! Кто нибудь знает есть ли java чатик?
Андрей
Андрей
но лет 5 назад точно был
Vladislav
где взять view для Snackbar?
Tim
Добрый вечер, у меня вопрос, я добавил в своем приложении deeplink, но в приложении есть банеры по которым нужно переходить именно на сайт, а не в приложение, как это реализовать?
Валерий
Андрей
Андрей
Dmitriy
Doston
ребят, только только осваиваю rx, и меня вопрос. Допустим приложение посылает запрос в сервер, в случае, удачного завершения, я хочу удалить данные из локальной БД. Подскажите, как это првильно реализовать?
Doston
функция которая посылает запрос на сервер, возвращает Observable, думал в методе onComplete вызвать функцию удаления из БД, но как понимаю он вызывается даже когда onError. правильно?
Doston
направьте если я не прав
Dmitriy
Dmitriy
Но мне кажется для вас логичнее использовать Single вместо Observable
Dmitriy
для Single вроде doOnSuccess
Doston
Для Observable - doOnNext
а функция, удаления из БД, должна возвращать какое-то значение? пока она у меня ничего не возвращает
Doston
Dmitriy
ну doOnNext на вход получает то что пришло, и обычно используется для обработки пришедших данных, можно вызвать метод для БД который удалит старые данные и запишет новые в в return просто вернуть то что пришло от сервера
Dmitriy
.doOnNext(result -> {
deleteDataFromDbAndSaveNewData(result);
return result;
})
Doston
Doston
Doston
но почему то не удаляет данные из БД
Aleksandr
В GoogleSignInOptions есть параметр requestIdToken(). Где его брать ?Кто знает
Dmitriy
А в onNext то вообще попадает?
Tishka17
Konstantin
Просто у FCM есть два типа пуша: Notification и Data. Notification если приложение открыто попадает в сервис, в котором вы формируете как должен выглядеть пуш, однако если закрыто(свернуто) то просто показывает пуш, который при клике открывает launch screen. А вот data пуши обрабатываются всегда через ваш сервис. По описанию проблемы похоже, что формируется именно notification уведомление. Почитать можно тут https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages
Пуш приходит через fcm в сервис, в нотификейшене записано сообщения, в дата записаны доп параметры, какую активити и таб открыть. Проблема в том, что, если активити никакая не запущена или свернута, то при нажатии на нотификейшен не передаётся экстра, пробовал через фильтры у активити также-запускается ланчер без экстра. Если ж приложение уже запущено, все открывается отлично
Stas
Всем привет, можно ли либы в градле разделить на файлы и подключить уже эти файлы ?
Dmitriy
Пуш приходит через fcm в сервис, в нотификейшене записано сообщения, в дата записаны доп параметры, какую активити и таб открыть. Проблема в том, что, если активити никакая не запущена или свернута, то при нажатии на нотификейшен не передаётся экстра, пробовал через фильтры у активити также-запускается ланчер без экстра. Если ж приложение уже запущено, все открывается отлично
Просто не нужно передавать ничего в блоке notification, то бишь на стороне сервера все данные пихать в data и проблема решится, все пуши будут проходить исключительно через ваш сервис
Igor
Dmitriy
Stas
Doston
Dmitriy
@Deathw1ng Это может приводить к каким либо проблемам или же просто, когда он задумывался, то не предполагалось такое использование?
Konstantin
Igor
Если вы работаете с RxJava, старайтесь работать с потоками данных, а выполнение потенциально тяжеловесных функций в doOnNext уже не вписывается в Rx, но вам никто не запрещает такое делать, серьёзные проблемы связанные с этим можно обсудить в чате про Rx
Dmitriy
Спасибо, проверю способ. Но чёт сомневаюсь
Точно сработает, почитайте на сайте firebase, там прям написано что notification обрабатывается системой в обход вашего сервиса, если приложение на на переднем плане
Doston
Dmitriy
Igor
Dmitriy
Приведу пример
Igor
более того, observeOn переключит поток на котором будет выполняться doOnNext
Dmitriy
getObserver()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnNext(this::saveToDb(response))
.subscriber(this::showData(response), this::showError(throwable));
Верно я понимаю что doOnNext, исходя из сказанного выше будет выполняться в mainThread?
Dmitriy
Fedulov И второй вопрос если на первый ответ да
getObserver()
.subscribeOn(Schedulers.io())
.doOnNext(this::saveToDb(response))
.observeOn(AndroidSchedulers.mainThread())
.subscriber(this::showData(response), this::showError(throwable));
В таком случае тоже в mainThread?
Igor
во втором случае не должен
Igor
из doOnNext можно проверить имя потока