Hovhannes
четко ходит по строкам кода и исоплняет
Mike
step into делал?
Hovhannes
на андроид 7 не выполняет код и не останавливается там
Hovhannes
сделал но не копнул дальше
Hovhannes
сек
Hovhannes
гляну
Danile
предположу глупый вариант, но попробуй добавить строки в трайкетч
Danile
и снова продебаж
Hovhannes
да я б перерыл все к чертям. но бля. на андроид 9 все ок
Hovhannes
ладно. ща гляну спокойно
Hovhannes
но это нонсенс
Hovhannes
хотя. мне кажется факап в том, что я ухожу с прилаги в вк логин и возвращаюсь
Hovhannes
скоуп нул
Hovhannes
ВТФ?
Hovhannes
Кирилл
Баги дебаггера
Hovhannes
ОРУ
Hovhannes
ага.
Hovhannes
на сяоми 7
Кирилл
Для дебаггера нужен ещё один дебаггер
Hovhannes
а на сяоми 9 четка
Hovhannes
так фигня в том, что без дебага тож нифига не пашет
Hovhannes
на релизном билде
🐈 гав-гав
Когда Вьюмоделт эта, инитится?
Hovhannes
мне кажется я понял
Hovhannes
у меня включен режим разработчика - не хранить активити
Hovhannes
и когда он уходит в активити вк сдк то видимо чистит за собой дерьмо
Hovhannes
😁😁😁😁
Anton
Hovhannes
парам парам пам
Hovhannes
я был прав
Hovhannes
о да детка. Activity$onCreate with saved instance state != null
Hovhannes
LOL. охотник попался в свою же ловушку😂😂
Dug
Ты такой многословный
Hovhannes
не ну согласись, такое раз в сто лет происходит
Dug
✝️
Liam
A
Привет.
Есть вопрос по билд скриптам.
У нас в проекте есть 4 флэйвора. Допустим flavA, flavB, flavC, flavD.
И есть необходимость иметь разные dependency у разных флэйворов. Это впринципе легко сделать, гугл советует делать так:
flavAImnplementation 'dependency1'
И тут возникает вопрос.
Я хочу сгруппировать флейворы, чтобы flavA & flavB имели один сет депенденси, а flavC & flavD второй сет.
Никто не сталкивался с таким?
Anonymous
Гляньте плз может у кого будут идеи https://ru.stackoverflow.com/questions/1058331/showasaction-%d0%b2-%d1%82%d1%83%d0%bb%d0%b1%d0%b0%d1%80%d0%b5-%d0%bd%d0%b5-%d0%be%d1%82%d0%be%d0%b1%d1%80%d0%b0%d0%b6%d0%b0%d0%b5%d1%82-%d0%b8%d0%ba%d0%be%d0%bd%d0%ba%d1%83
Arsen
Arsen
Arsen
ну ты понял
Arsen
если было 4 варианта, то с добавлением нового дименшина с двумя типами (flavorOne flavorTwo) - уже будет восемь билд вариантов
Arsen
https://developer.android.com/studio/build/build-variants#flavor-dimensions
Arsen
там же можно с source set поиграть
V.Ilin
кто-то работал с AltBeacons?
Ivansuper
Ivansuper
Ты когда на рыбалку идешь, сначала суешь голову в воду и орешь туда "есть тут рыба?"? Нет, ты закидываешь удочку и ждешь результат
Hovhannes
Посоны
Работал кто с userxpro? Не убивает вам мобилку?
Hovhannes
Гугол не ругается?
Hovhannes
Никита 🙃
Могу аргументировать, если надо
Никита 🙃
Она то работает и по факту там нет ничего сложного, но если это для навигации. - то хуйня. Точность меньше 5м не получилось завести
Александр
Крч, сгорел пердак, помохите.
Я джун, пишу сетевую часть для своей простенькой апки. Сгорел, когда попытался поработать с типом данных, который способен содержать информацию об ошибке.
Either я не осилил(вообще не получается с ним работать, код покрывается тьмой when, не получается по человечески достать данные, короч отгрёб я от Either), поэтому запилил свой простой NewResult:
sealed class NewResult<T> {
data class Success<T>(val data: T) : NewResult<T>()
data class Failure<T>(val error: T) : NewResult<T>()
data class FailureWithException<T>(val error: Throwable) : NewResult<T>()
}
Ну как бы и чего, result и result. И он даже работает, и не поджигает мою джуниорскую жопу(т.к очень прост), однако есть пара нюансов.
Первый, наиболее важный: я вынужден писать треш, когда я пытаюсь этот result куда - то выше прокинуть. В частности, 14 - ая строка интерактора:
(на код не смотрите, там сейчас война идёт полнейшим ходом, настанет время я сам этот репозиторий вброшу на растерзание ревьюверов)
https://github.com/KirstenLy/LibHelper3/blob/master/app/src/main/java/com/kirsten/libhelper/domain/interactors/Interactor.kt
Конкретно:
suspend fun getAllPatterns(): NewResult<*>
Ну вы поняли. У NewResult такая сигнатура, что мне его обязательно нужно параметризовать чем - нибудь, а я ж заранее не знаю, что именно мне придёт - данные или ошибка. Поэтому пишу вот такую дичь, и в дальнейшем я просто делаю каст, узнав инстанс какого наследника мне по факту пришёл.
Вопроса как такового нет. Хотелось бы чтобы вы сказали мне, где я больше всего херни наделал в таком подходе, и что мне сделать с моим NewResult, чтобы не писать в интеракторе такие вот вещи.
Artem
Arsen
Ivansuper
Крч, сгорел пердак, помохите.
Я джун, пишу сетевую часть для своей простенькой апки. Сгорел, когда попытался поработать с типом данных, который способен содержать информацию об ошибке.
Either я не осилил(вообще не получается с ним работать, код покрывается тьмой when, не получается по человечески достать данные, короч отгрёб я от Either), поэтому запилил свой простой NewResult:
sealed class NewResult<T> {
data class Success<T>(val data: T) : NewResult<T>()
data class Failure<T>(val error: T) : NewResult<T>()
data class FailureWithException<T>(val error: Throwable) : NewResult<T>()
}
Ну как бы и чего, result и result. И он даже работает, и не поджигает мою джуниорскую жопу(т.к очень прост), однако есть пара нюансов.
Первый, наиболее важный: я вынужден писать треш, когда я пытаюсь этот result куда - то выше прокинуть. В частности, 14 - ая строка интерактора:
(на код не смотрите, там сейчас война идёт полнейшим ходом, настанет время я сам этот репозиторий вброшу на растерзание ревьюверов)
https://github.com/KirstenLy/LibHelper3/blob/master/app/src/main/java/com/kirsten/libhelper/domain/interactors/Interactor.kt
Конкретно:
suspend fun getAllPatterns(): NewResult<*>
Ну вы поняли. У NewResult такая сигнатура, что мне его обязательно нужно параметризовать чем - нибудь, а я ж заранее не знаю, что именно мне придёт - данные или ошибка. Поэтому пишу вот такую дичь, и в дальнейшем я просто делаю каст, узнав инстанс какого наследника мне по факту пришёл.
Вопроса как такового нет. Хотелось бы чтобы вы сказали мне, где я больше всего херни наделал в таком подходе, и что мне сделать с моим NewResult, чтобы не писать в интеракторе такие вот вещи.
Раздели дженерики на тип ожидаемого ответа и тип ожидаемой ошибки. NewResult<TResult, TError>. Развернись от этой точки для начала. А то вообще там мясо какое то
Arsen
Arsen
всего 6, но билдов 4х2 = 8
Nikita
Крч, сгорел пердак, помохите.
Я джун, пишу сетевую часть для своей простенькой апки. Сгорел, когда попытался поработать с типом данных, который способен содержать информацию об ошибке.
Either я не осилил(вообще не получается с ним работать, код покрывается тьмой when, не получается по человечески достать данные, короч отгрёб я от Either), поэтому запилил свой простой NewResult:
sealed class NewResult<T> {
data class Success<T>(val data: T) : NewResult<T>()
data class Failure<T>(val error: T) : NewResult<T>()
data class FailureWithException<T>(val error: Throwable) : NewResult<T>()
}
Ну как бы и чего, result и result. И он даже работает, и не поджигает мою джуниорскую жопу(т.к очень прост), однако есть пара нюансов.
Первый, наиболее важный: я вынужден писать треш, когда я пытаюсь этот result куда - то выше прокинуть. В частности, 14 - ая строка интерактора:
(на код не смотрите, там сейчас война идёт полнейшим ходом, настанет время я сам этот репозиторий вброшу на растерзание ревьюверов)
https://github.com/KirstenLy/LibHelper3/blob/master/app/src/main/java/com/kirsten/libhelper/domain/interactors/Interactor.kt
Конкретно:
suspend fun getAllPatterns(): NewResult<*>
Ну вы поняли. У NewResult такая сигнатура, что мне его обязательно нужно параметризовать чем - нибудь, а я ж заранее не знаю, что именно мне придёт - данные или ошибка. Поэтому пишу вот такую дичь, и в дальнейшем я просто делаю каст, узнав инстанс какого наследника мне по факту пришёл.
Вопроса как такового нет. Хотелось бы чтобы вы сказали мне, где я больше всего херни наделал в таком подходе, и что мне сделать с моим NewResult, чтобы не писать в интеракторе такие вот вещи.
а если generic убрать из NewResult?
Ivansuper
Крч, сгорел пердак, помохите.
Я джун, пишу сетевую часть для своей простенькой апки. Сгорел, когда попытался поработать с типом данных, который способен содержать информацию об ошибке.
Either я не осилил(вообще не получается с ним работать, код покрывается тьмой when, не получается по человечески достать данные, короч отгрёб я от Either), поэтому запилил свой простой NewResult:
sealed class NewResult<T> {
data class Success<T>(val data: T) : NewResult<T>()
data class Failure<T>(val error: T) : NewResult<T>()
data class FailureWithException<T>(val error: Throwable) : NewResult<T>()
}
Ну как бы и чего, result и result. И он даже работает, и не поджигает мою джуниорскую жопу(т.к очень прост), однако есть пара нюансов.
Первый, наиболее важный: я вынужден писать треш, когда я пытаюсь этот result куда - то выше прокинуть. В частности, 14 - ая строка интерактора:
(на код не смотрите, там сейчас война идёт полнейшим ходом, настанет время я сам этот репозиторий вброшу на растерзание ревьюверов)
https://github.com/KirstenLy/LibHelper3/blob/master/app/src/main/java/com/kirsten/libhelper/domain/interactors/Interactor.kt
Конкретно:
suspend fun getAllPatterns(): NewResult<*>
Ну вы поняли. У NewResult такая сигнатура, что мне его обязательно нужно параметризовать чем - нибудь, а я ж заранее не знаю, что именно мне придёт - данные или ошибка. Поэтому пишу вот такую дичь, и в дальнейшем я просто делаю каст, узнав инстанс какого наследника мне по факту пришёл.
Вопроса как такового нет. Хотелось бы чтобы вы сказали мне, где я больше всего херни наделал в таком подходе, и что мне сделать с моим NewResult, чтобы не писать в интеракторе такие вот вещи.
Самый важный момент — тебе надо параметризовать интерактор, чтобы для каждой конкретной имплементации интерактора подавался нужный тип, который потом попадет в NewResult как тип результата и ошибки
Kopusha
не, надо просто перестать звать Repository интерактором и ничего не нужно параметризировать )
Nikita
Ivansuper
Непонятно только почему есть просто "Interactor", который уже работает с конкретной моделью и еще с чем-то
Дмитрий
Во время теста приложения не отображаются кнопки, в чем может быть проблема?
Kopusha
лично у меня Result котлиновский, с ним таких проблем нет. Но видел и на sealed классах, пусть другие посоветуют.
Ivansuper
И чего? Ты просто перенес звезду из одного места в другое
Mike
Nikita
И чего? Ты просто перенес звезду из одного места в другое
проблема вроде как была в том, что NewResult нужно обязательно параметризовать. Вот и здесь можно приделать классу методы isSuccessful и isError который внутри себя чекнет на инстанс, а потом уже чекать какие данные пришли
Ivansuper
Nikita