DarkPerl
DarkPerl
Вы этого хотите избежать ?
ℕo ℕame
Kozimjon
Ребят, не очень понятная ситуация. Есть:
1. Класс (Connection) для web-socket подключения
2. SyncAdapter для синх. контактов
В кач-ве DI используется Hilt
———
1. При запуске Hilt создает инстанс класса Connection
2. Активити получает экземпляр Connection - и там он сначала подключается к серверу
3. после успешного подключения внутри класса Connection запускается синх контактов - вызывается ContentResolver.requestSync(mAcc, SYNC_AUTHORITY, bundle)
4. Там внутри все крутится - в конечном итоге создается SyncAdapter - который проверяет контакты и должен передать контакты в экземпляр Connection - вот тут проблема - я не знаю как из адаптера достучаться до уже созданного экземпляра Connection
Спасибо если дочитали до конца, спасибо если поняли меня и буду благодарен любому совету
DarkPerl
Anton
Anton
Anton
Здесь repeat делает загрузку последовательно, а нужно если это возможно сделать параллельно
DarkPerl
DarkPerl
rxJava с ретрофит не так используется
DarkPerl
rxJava адаптер передается Retrofit у
DarkPerl
Вы с помощью ретрофита делаете запросы
DarkPerl
А в ответ вам возвращаются уже объекты с которыми вы работаете
ℕo ℕame
Anton
ℕo ℕame
Сергей
Там обсервится в мэйне....это норм для всех запросов?
Anton
Вова
кто знает если классы обьеденить в папки придется переписывать пути перехода к другой активности?
Вова
у меня просто классов много,решил спросить,вдруг кто сталкивался
Kozimjon
Dany
Пытаюсь сделать префы через gson, однако получаю ошибку
Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $
на 251 строке.
resView - объект адаптера, в котором хранится сортед лист contacts, в который я добавляю объекты Contact. Что я делаю не так здесь и как это решить?
Kozimjon
Anonymous
Всем привет. Кто объяснит? Как получить нормальный путь с uri?) Советы со stack overflow не помогают. Сейчас такой формат data.getData().getPath()
Данил
Пытаюсь получить геолокацию, в гугле всё точь в точь, у меня нихуя не приходит. В чём проблема?
Sergey
Данил
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
Sergey
а если зайти в настройки найти свое приложение и посотреть какие разрешения ему даны?
Sergey
возможно при запуске их либо не запросили либо не дали
Данил
Сергей
Данил
хорошо
Сергей
ну и иногда самый первый запрос координат выдает null, это норма
Ярослав🇺🇦
Anonymous
Anonymous
Проще избавиться от функции, или прописывать самостоятельно путь
Ярослав🇺🇦
Я пока не вдупляю в одну суть. Надо использовать saf для выбора файлов/указания папки, но вот как потом из полученной кашей работать хз:) io.File не работает с тем uri, как обстоят дела с nio.Files и uri тоже не знаю, не работал толком
Ярослав🇺🇦
То, что выше по ссылке это лютый костыль
Anonymous
А возможно ли как-то сделать общий Toolbar для всех фрагментов?
У меня сделано так, что, в Мейн активити по стандарту setContentView, а в остальных inflate fragment🤔
Ярослав🇺🇦
Anonymous
Ярослав🇺🇦
У тебя по коду всё в одном потоке
Никита 🙃
А кто знает. Почему у DiffUtils, если в areContentsTheSame вернуть false, то не отрабатывает onBindViewHolder() у адаптера в последствии? Если размер списка поменялся - всё ок. А вот если поменять сам айтем и засунуть его опять в адаптер - он не хочет нотифаить адаптер?
Sergey
Sergey
и это полем еняется?
Никита 🙃
Да
Никита 🙃
Айтем ставится. При проскролле - когда айтем уходит из видимых и возвращается - он уже подхватывает новые данные. Хз что за поведение у DiffUtils странное
Sergey
Никита 🙃
Да.
override fun areItemsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean {
return oldList[oldItemPosition] == newList[newItemPosition]
}
Никита 🙃
Причем чисто технически там тоже зафейлится сраавнение должно
Sergey
смотря как класс написан
Никита 🙃
data class без переопределения equals и hasCode + всё в конструкторе
Никита 🙃
Так-что должен)
Sergey
тогда да должен - можно для себя проверить что выдает адаптер при изменении
Sergey
registerAdapterDataObserver(object : androidx.recyclerview.widget.RecyclerView.AdapterDataObserver() {
override fun onItemRangeChanged(positionStart: Int, itemCount: Int) {
override fun onItemRangeInserted(positionStart: Int, itemCount: Int) {
override fun onItemRangeRemoved(positionStart: Int, itemCount: Int) {
override fun onItemRangeMoved(fromPosition: Int, toPosition: Int, itemCount: Int) {
})
}
Sergey
и проследить что там внутри делается при изменении отрабатывает или нет
Никита 🙃
Sergey
Никита 🙃
хмм... Причём если прописать явно false там, то всё ок.Что-то не так с условием у меня. надо копать
Никита 🙃
А, не. Я имел ввиду при апдейте. Когда rangeChanged - отрабатывает ок
Mike
Никита 🙃
Mike
var
А, ну конец немного предсказуем
Никита 🙃
А, ну конец немного предсказуем
Да, с copy() всё стало хорошо.
Но почему так? Ведь пусть и класс один и тот-же, у него другой hashCode() становится
Никита 🙃
Mike