Андрей
и отправляешь изменение на вью через отдельную лайвдату
Андрей
и при восстановлении действуешь через нее же, в смысле оно само)
Alexey
да, кажется, это оно. Я совсем забыл про кейс SingleLiveEvent
Alexey
@DEADMC спасибо!
Alexey
Андрей
тут мб даже наоборот, запрашивать только в onResume активити или фрагмента обновление вью из вьюмодели
Андрей
а так в обычном случае только через сингл лайвдату слать и все
Андрей
без всяких обновлений после, т.к. вью уже будет в нужном состоянии
Андрей
иначе опять в цикл уйдет
Alexey
Андрей
почему?
Alexey
да пробовал я с разными методами жизненного цикла
Андрей
так с 2мя разными лайвдатами
Андрей
еще раз
Alexey
ааа
Alexey
ну так с двумя разными не принципиально же
Андрей
жмешь на спиннер -> singleLiveEvent -> viewModel сохраняет стейт
Андрей
и все
Alexey
в каком из методом жц, лишь бы вью была доступна
Андрей
в onResume -> viewModel.restoreState -> livedata -> spinner
Андрей
с двумя разными принципиально если каждый раз после сингла дергать обычную лайвдату - опять будет цикл
Alexey
или я не так понял?
Андрей
Андрей
мб я не очень тебя понял
Alexey
для каждого LiveData-поля создается еще одно SingleEvent поле, через которое мы будем работать во вью
Alexey
Андрей
Никита 🙃
А в чём может быть загвоздка.
У ScrollView после добавления View, который по высоте больше экрана, в LinearLayout делаю smoothSrollBy(0, target)
где target = linear.measuredHeight - newView.measuredHeight
до API 25 (включительно) работает так как надо. Но после оно скроллит не до конца. В чём прикол?
Андрей
просто флагом смотреть типа надо singleliveevent отправлять или нет?
Alexey
Alexey
опять цикл получается
Alexey
а, нет, все, я врубился
вью триггерит изменение в ВМ по сингл эвенту, а когда мы восстанавливаем состояние, то не триггерит попросту, да и все
Alexey
восстанавливай состояние до подписки
нет, не выходит.
Допустим, состояние восстанавливается в onActivityCreated, а изменения отсылаются в onViewCreated, то все равно будет цикл, очевидно
hex
Ребят, по поводу подписи вопрос. Если у меня пакет com.abc.def.jik, из этого что-то обязательно должно участвовать в параметрах подписи? в .jks. А то подписал, а устанавливаться не хочет, пишет "There is a problem while parsing the package”.
Спасибо
hex
просто дичь какая-то непонятная. инсталю апкашку в планшет (android 5.1), всё норм, в смартфон 6.0 - ошибка парсинга пакета. в 4.4 пробовал - то же самое. мин 5.1 стоит, чисто попробовать
Сергій
Artur
Мужики, чем по вашему плоха строчка if (subscription?.autoPayment!!). Это моделька ответа
hex
Сергій
Artur
Ну раз nullable, то что поделать
hex
с телефона
само приложение в 6.0 и не установилось, апкашка удалена
hex
или ты о чем?
Сергій
hex
нет
Сергій
minSDK какой у приложения?
hex
на том планшете где дебаг версия была, не раз запускал по шнуру, аркашку ставил и т.д.
hex
22
hex
таргет 28
Сергій
какой-то особенный телефон?
hex
compileSdkVersion естественно 28
Konstantin
есть feature-module
dependencies: project api(':base')
есть base-module
dependencies: impl com.android.material - материал-дезигн либа.
при работе в дизайн-редакторе во feature-module ругается что надо подключить материал-дезигн, как победить?
ругается когда руками таскаю вьюшки по component tree, в остальном все и так работает ок
hex
нет, обычный, Samsung Galaxy S5
hex
hex
ну это клиентам не объяснишь)
Аброр
всем привет. Кто нибудь работал с API amoCRM?
Сергій
естественно
тогда установи с помощью adb команды с смотри ошибку
Dmitriy
нет, обычный, Samsung Galaxy S5
У самсунгов, с тачвизом, была проблема с тем что может быть несколько пользователей в телефоне и удаление не совсем удаляет приложение, то есть в списке приложений его не видно, но в настройках где приложения, оно есть. У меня это на планшете самсунговском активно воспроизводилось, проверь и ты
Андрей
Сергій
Samsung 💩. Но это оффтоп
Dmitriy
Старый самснуг)
Андрей
Сергій
hex
а как именно подписываешь?
в gradle.properties keys.repo=$HOME/Android/signing
в build.gradle (app)
android {
compileSdkVersion 28
buildToolsVersion = '28.0.3'
defaultConfig {
...
minSdkVersion 22
targetSdkVersion 28
...
}
signingConfigs {
debug { /* здесь никаких изменений нет */ }
release {
if (project.hasProperty("keys.repo")) {
def projectPropsFile = file(project.property("keys.repo") + "/staxi.properties")
if (projectPropsFile.exists()) {
Properties props = new Properties()
props.load(new FileInputStream(projectPropsFile))
storeFile file(file(project.property("keys.repo") + props['RELEASE_STORE_FILE']))
storePassword props['RELEASE_STORE_PASS']
keyAlias props['RELEASE_ALIAS']
keyPassword props['RELEASE_KEY_PASS']
}
} else {
println "======================================================="
println "[ERROR] - Please configure release-compilation environment - e.g. in ~/signing directory"
println "======================================================="
}
}
}
buildTypes {
release {
...
signingConfig = signingConfigs.release
}
Андрей
на самом деле коммент с установкой через ADB и просмотр логов самый здравый, с этого и начни
hex
Dmitriy
Сделай assemble release, а не собрку через generateSignedApk
Dmitriy
и проверь
Dmitriy
потому что у тебя прописаны конфиги для релиза а ты собираешь иначе
hex
Андрей
storeFile file(file(project.property("keys.repo") + props['RELEASE_STORE_FILE']))
Андрей
что это за дичь?
Dmitriy
Это да, но какой тогда смысл в этих конфигах если ты руками все указываешь при сборке