С сервера получаю время в timestamp, последнего действия пользователя. Вся суть сводится к тому, чтобы определить онлайн пользователь еще или нет.
Далее судя документации System.currentTimeMillis() возвращает время с 1 января 1970 года в миллисекундах в UTC, и тут возникает вопрос, часовой пояс по идеи не должен влиять на System.currentTimeMillis(), правильно?
//Получаю timestamp на устройстве
long timestamp = System.currentTimeMillis() / 1000L;
//Время когда пользователь перестанет быть онлайн
long online = latestAct+ 960L;
if(online > timestamp ){
//Онлайн
} else {
//Офлайн
}
И по идее все должно работать отлично, но нет. На одном устройстве работает нормально, на другом нет.
На устройстве работает не правильно установлено время. Как правильно выполнить данное действие?
P.S проверил, устройство возвращает unix на час вперед