Kirill
т.е. как-то при создании надо избавиться от поправки на зону..
Kirill
и чтобы она всегда была наша
Kirill
если я правильно себя понял.. то поидее Calendar.getInstance(TimeZone.getTimeZone("GMT+03:00"))... этого должно быть достаточно)
Dmitriy
и видимо из-за того что на эмуляторе сбито время, то он мне сбивает время на +3 часа..
Таймштамп не имеет смещения по зоне он говорит сколько прошло секунд от 00:00 по гринвичу от 1 января 1970 года То есть в нем не может быть поправки на зону. Поправка на зону может возникнуть если ты при преобразовывании этого таймштампа в дату что то используешь Для проверки возьми полученный от такого действия как ты описал выше таймштамп и проверь что на него выдает какой нибудь онлайн конвертер в дату
Dmitriy
Какой нибудь SimpleDateFormat будет преобразовывать по умолчанию этот таймштам с офсетом который задан на дейвайсе. То есть 00:00 26 сентября 2019 года превратится в 03:00 26 сентября 2019 года, на дейвайсе где таймзона установлена МСК
Kirill
Таймштамп не имеет смещения по зоне он говорит сколько прошло секунд от 00:00 по гринвичу от 1 января 1970 года То есть в нем не может быть поправки на зону. Поправка на зону может возникнуть если ты при преобразовывании этого таймштампа в дату что то используешь Для проверки возьми полученный от такого действия как ты описал выше таймштамп и проверь что на него выдает какой нибудь онлайн конвертер в дату
это понятно.. вы немного меня не поняли) я устанавливал дату set(Calendar.HOUR_OF_DAY, hours) где hours - 18 часов нашего время и вытягивал от туда таймштамп.. переводил обратно таймштамп и время было уже 21.. это из-за того, что на эмуляторе время сбито на +3 часа, он мне выдавал неверное время.
Dmitriy
Ну звучит как что то невозможное, на одном девайсе. Можно пример кода как получили таймштам и потом как его в дату обратно преобразовали, чтобы увидеть смещение
Kirill
так то по времени эмулятора 18 часов - это у нас 21 час.. и в этом я затупил.. не мог понять, почему происходило это смещение
Dmitriy
Понял, сравнивали время разных устройств)
Kirill
Ну звучит как что то невозможное, на одном девайсе. Можно пример кода как получили таймштам и потом как его в дату обратно преобразовали, чтобы увидеть смещение
не разных, с сервера мне приходит время, скажем 18 часов по МСК я его преобразовывал alendar.getInstance().apply { set(Calendar.HOUR_OF_DAY, hours).. он берет смещение по умолчанию, а это на эмуляторе +3 часа. получается он записывал 18 часов по его смезщению, а это не 18 по мск. а 21 по мск
Dmitriy
А в каком виде приходит с сервера?
Kirill
А в каком виде приходит с сервера?
{"11":["10","15","20","25","30","35","40","45","50","55"],"12":["00","05","10","15","20","25","30","35","40","45","50","55"],"13":["00","05","10","15","20","25","30","35","40","45","50","55"],"14":["00","05","10","15","20","25","30","35","40","45","50","55"],"15":["00","05","10","15","20","25","30","35","40","45","50","55"],"16":["00","05","10","15","20","25","30","35","40","45","50","55"],"17":["00","05","10","15","20","25","30","35","40","45","50","55"],"18":["00"]}
Dmitriy
Просто еще раз повторюсь, таймштамп не может иметь смещения - если с сервера приходит таймштамп - то он в GMT формате а не в МСК или каком либо еще
Kirill
Вижу что не таймштамп)
Да, а вернуть надо таймштамп)
Kirill
и сервер сверяет что пришло от устройства)
Dmitriy
Я бы в таком случае конечно пинал сервер, чтобы он отдавал в gmt а не на девайсе костылил смещение
Dmitriy
Но это не всегда возможно
Kirill
Я бы в таком случае конечно пинал сервер, чтобы он отдавал в gmt а не на девайсе костылил смещение
да это не особо целесообразно.. приложение на узкий регион направлено)
Dmitriy
Все равно, работать проще когда используется в стандартном виде. С датами и временем в андроиде в принципе работать грустно, а когда еще такие приколы то вообще печально) Был как то сервер, который таймштамп со смещением по мск отдавал, вот это реально была грусть
Andrew
А подскажите, эмулятор в самой android студии норм или лучше genimotion?
Azek
А подскажите, эмулятор в самой android студии норм или лучше genimotion?
Я сейчас генимойшн юзаю из-за того что эмулятор студии лог стал засорять. Из за чего так и не разобрался. А до этого норм было
САРДОРБЕК
Привет
САРДОРБЕК
Всем
Ivansuper
Всем
http://neprivet.ru/
САРДОРБЕК
Norim
Парни подскажите одну вещь
Norim
Как включить нотификации программно? Пытаюсь их включать а они не хотят
Norim
Хоть в том же телеграмме они есть и вручную их включать не нужно
Norim
Norim
Я об этом, чисто ксяомовская фишка
Norim
Чтобы их в коде включать нужно какое-то специальное разрешение получить?
Дмитрий
Я об этом, чисто ксяомовская фишка
Категории уведомлений - это фишка самого андроида. Появилась в 8.0
Norim
Категории уведомлений - это фишка самого андроида. Появилась в 8.0
Да, но они не хотят включаться как написано в Гугл доках
Norim
К примеру enableLight(true) должен включить индикатор, но он не делает этого
Norim
Я экспериментировал и так и сяк а ползунки все равно сами не ставятся активными
Norim
Либо вы что-то делаете не правильно, либо MIUI
Вот может дело в MIUI, но у телеги же все работает, что нужно сделать чтобы и у меня работало?
Norim
Я думаю тут есть те, кто уже имеет больше опыта с этим чем я
Norim
Вы проверяли на чистом Андроиде?
Да, проверял, все работает замечательно
Дмитрий
Да, проверял, все работает замечательно
Значит надо писать костыли)
Norim
велкам в исходники
это как это где
Norim
как узнать все это
Denys
это как это где
https://github.com/DrKLO/Telegram
Denys
Первая ссылка в гугле по запросу "telegram android github"
Mike
это как это где
извинити, там джава, а за неё котлинистам не доплачивают
Denys
setError тут ни при чём. https://stackoverflow.com/questions/26086848/android-dont-dismiss-alertdialog-after-clicking-positivebutton
Кирилл
Подскажите пожалуйста, как справиться с проблемой: я аппнул версию либы, а теперь хочу даунгрейднутся на предыдущую, но ни смотря на мои изменения берётся новая версия. Я клин ребилд делал уже несколько раз, чистил грейдл кеши - ничего, всё равно новая версия. Как исправить? Неужели обязатель делать через resolutionStrategy.force?
Denys
Из транзитивных зависимостей попадает?
Кирилл
В том и дело, что нет.
Denys
А у коллег / на CI та же проблема?
Кирилл
А у коллег / на CI та же проблема?
У нас нет CI и у меня нет коллег
Кирилл
А у коллег / на CI та же проблема?
И чувак, выделяй пожалуйста сообщение, когда на него отвечаешь.)
Denys
У нас нет CI и у меня нет коллег
В чем проявляется то, что используется новая версия библиотеки?
Кирилл
В чем проявляется то, что используется новая версия библиотеки?
В том, что 1) При выводе списка всех депенденсей фигурирует исключельно крайняя версия. 2) При переходе в исходники библиотеки открывается новая версия 3) В том что всё ещё сохранился баг, который появился именно в этой версии. :)
Кирилл
Не может быть. 😄 Попробуйте --refresh-dependencies сделать
Ещё как может.) А рефреш я тоже пробовал.)
Denys
Ещё как может.) А рефреш я тоже пробовал.)
Сейчас у себя попробовал даунгрейднутся - работает как положено. У вас не динамические версии зависимостей? Уверены, что не транзитивно новая версия подтягивается? Проект мультимодульный?
Denys
Нет, да и нет. :)
А resolution strategy помогает? :)
Кирилл
А resolution strategy помогает? :)
Да, но это костыль, поэтому и ищу другой способ. Уже весь стековерфлоу обыскал..
Fr
Первое доброе пожелание в этой группе))
Джадив
Доброе утро!
Джадив
Мне одному кажется, что код на Java для андроид получается страшным до жути?
Andrew
Да
Александр
Подскажите по дебагу. Как узнать, из какого участка кода пришли параметры в конструктор, на котором стоит брекпоинт? Задачу такую решаю: У меня есть адаптер, в конструктор которого приходит лист. В листе есть лишние элементы. Мне нужно пофиксить лист на уровне выше адаптера, чтобы в адаптер приходил лист с уже корректными данными. Программа очень большая, я еле нашёл этот адаптер. Поставил брекпоинт на конструктор, вижу что лист кривой, не могу найти участок кода, из которого он приходит. Find Usages вываливает 100500 позиций, где этот конструктор юзается. Мб есть какой - нибудь красивый путь для отслеживания данных?
Джадив
иногда приходится передавать как аргументы метод обратного вызова, например, при вызове DateTimePicker (не помню точно как оно называется). И сразу понятно, куда придет ответ. А иногда не надо, например, startActivityForResult(). Тут обратный вызов задается по другому. Мне кажется это какая-то неоднобразность, не гомогенизированность. Как будто это писали разные разработчики без общей мысли
Джадив
субъективно, канеш
Джадив
по ним можно узнать
Александр
вроде при дебаге в каком-то окне показывается список вызовов методов
Да, есть такое окно слева, но там все методы нативные. Main, Loop, onMeasure, вот это вот всё.
Аброр
всем привет. кто нибудь работал с okhttp websocket? Есть вопрос, как можно сделать так, чтобы у каждой страницы был свой listener этого сокета, а то listener задается при инициализации и всё, никак не получается сделать так чтобы я мог на каждой странице где я использую сокеты, были свои лисенеры. Пока писал вопрос пришла идея, создать интерфейс и делать имплементацию в тех активити где мне нужно, такой вариант нормальный вроде?
Andrew
А для чего вам так? У вас разные вебсокеты имеются?
Аброр
нет, наоборот один сокет, к которому подрубаюсь в самом открытии приложения и listener находится в том же файле, а если я хочу работать с других активити с этим же сокетом, у меня все данные приходят на страницу авторизации, я конечно вывел этот лисенер в отдельный класс и через него работал, но сейчас там уже путаться начинаю, поэтому хотел сделать для каждой страницы где я работаю с сокетом свой лисенер