Сергій
Это обычная практика добавлять в исключения все что касается рефлексии
Кирилл
Может просто был выключен код шринкер? )
Нет.)) Для защиты от r8 я прописываю @SerializedName
padmitriy
Нет.)) Для защиты от r8 я прописываю @SerializedName
R8 это не просто "включил и пошел", там много подводных камней. Изучи статьи про обфускацию.
Кирилл
А что?
Сергій
-keep class com.my.app.** { *; } 😁 (плохая шутка)
Сергій
А что?
Что значит для защиты от? 😁
Кирилл
Что значит для защиты от? 😁
А, я не дописал, сорри
Сергій
Один раз настроил и все
Кирилл
Крч, для защиты от обфускации выделенных параметров. Имена переменных меняются, но остаётся serialized name
Кирилл
покажи proguard-rules )
Там пусто. :) Это первый баг с r8, хотя юзаю несколько месяцев.
Кирилл
настало время его заполнять
Не вижу причин, почему кип для всего класса лучше serialized name для нескольких параметров.
Max
если проблема возникла при парсенге. то у меня было следующее. иммена классов пересекались в разныз пакетах. и просто почемуто после абфускации ответ пыталост распарсить в другой класс имя тоже но структура другая. правки в proguard-е меня спасли
No
Не сохраняет конструктор
No
У тебя там ошибка что невозможно получить доступ к ноаргс конструктору
Кирилл
У тебя там ошибка что невозможно получить доступ к ноаргс конструктору
У меня раньше был класс User, теперь я разделил его на UserEntity и UserDTO, а потом маппю их при переходе между слоями. Вот мб он каким-то образом путает UserDTO и UserEntity. Когда был просто User -- проблем не было.
No
В итоге я не понял, тебе дают ответ, что надо сделать, а ты говоришь что не делал до этого и норм работало?
Anonymous
1) Создал MainActivity, который наследуется от BaseActivity 2) BaseActivity наслудется от AppCompatActivity 3)??? Как мне использовать подобие конструктора в BaseActivity? Чтобы получить нужные значения в onCreate из MainActivity в BaseActivity, только 1 раз......
Сергій
В DTO есть SerializedName, в Entity ничего такого нет.
ради интереса, закостыль таким параметром -dontoptimize только потом удали, и сделай нормально
Кирилл
Debug юзай, поймешь багу
Не помогает. Пробовал. Дебаггер просто скачет между строчками, не показывая причины. Пробовал даже коллегу позвать, вдруг я тупой и не знаю об этом - он ссо мной согласен, что происходит дичь в дебаггере. Всё же дебаггер для корутин ещё не допили.
Сергій
Так а толку, если я удалю? :)
ещё ты можешь открыть в студии апк, загрузить маппинги и посмотреть что оно удалило там
Turalllb
1) Создал MainActivity, который наследуется от BaseActivity 2) BaseActivity наслудется от AppCompatActivity 3)??? Как мне использовать подобие конструктора в BaseActivity? Чтобы получить нужные значения в onCreate из MainActivity в BaseActivity, только 1 раз......
В onCreate baseAct вызываешь абстрактный метод, который реализован в main. Можно не абстрактный, просто переопределить его надо в main . Как вариант в общем
Anonymous
а типо onAttach и прочее нельзя юзать чтоли?
Turalllb
а типо onAttach и прочее нельзя юзать чтоли?
А что такое нужно в base пробросить?
Anonymous
Надо хранить переменную, даже если Activity пересоздастся
Turalllb
Надо хранить переменную, даже если Activity пересоздастся
Невозможно, если не использовать презентер, ссылку на который хранят в другом месте.
Turalllb
Надо хранить переменную, даже если Activity пересоздастся
Base тоже пересоздается , вся иерархия пересоздастся. Такие данные хранят в презентере.
Max
ктонибудь пользуется splitties ? отзовитесь
Elron
Как узнать что приложение модифицировано ? Какая есть защита от этого ?
Сергій
наверное ты не одих из тех )
Anonymous
Но в таком случае, как мне в BaseAct получить id элемента?
Anonymous
Вот код MainActivity
Anonymous
Mike
Нет ли прямого способа получить значение аттрибута configChanges у Activity? Не PackageManager, долго
Сергій
сделай абстрактный метод в бейс активити getLayoutId()
Anonymous
И что это даст?
Сергій
и в MainActivity будешь возвращать layout id
Сергій
а лучше покажи больше кода )
Сергій
ты же хочешь в бейс активити в onCreate делать setContentView?
Turalllb
Но в таком случае, как мне в BaseAct получить id элемента?
..вам надо основы java учить. Вы зря свое время теряете.
Кирилл
и тут же сгенерировать правила
Походу R8 убивал всё содержимое класса, который нужен для парсинга. Соответственно поэтому и падал с ошибкой. Щас введу правила для него, но я не уверен что это и есть реальная причина. :)
Anonymous
и в MainActivity будешь возвращать layout id
Нет. В MainActivity после setContentView я вызываю loadingDate(). В BaseActivity прописано тело loadingDate. Но чтобы не передавать каждый раз ID View Элемента. Я бы хотел передать его в BaseActivity сразу после setContentVIew....
Anonymous
Так как - то...
Yerassyl
Как сделать чтобы баттоны кликались только один раз
Yerassyl
У меня там 2 или больше нажимается
Ivansuper
Нет ли прямого способа получить значение аттрибута configChanges у Activity? Не PackageManager, долго
Ты можешь попытать счастье забрав через рефлексию поле ActivityInfo mActivityInfo у инстанса активности. В нем есть аттрибуты из манифеста
Anonymous
спс
Anton
На что именно
btn.setOnClickListener{ btn.enabled = false}
Nikita
народ тут в архитектурном чате возникла дисскусия по поводу mvp vs mvvm, никто не против создания голосовалки в этом чате ?
Vadim
Привет! Добавляю зависимость в aar библиотеку, в Gradle в dependencies -> implementation "имя библиотеки", но когда кидаю потом сбилженный aar, он выдает эксепшены, что классы подключенной либы не найдены. Как можно добавить либу, чтобы она тоже билдилась в aar файл?
Yerassyl
btn.setOnClickListener{ btn.enabled = false}
Потом оно вообще не нажимается 😅
padmitriy
Потом оно вообще не нажимается 😅
посмотри как onClick в батеркнайфе сделан. Там это пофикшено
Yerassyl
Ну имел ввиду, чтобы он не Нажимался два раза подряд
Yerassyl
А то два активти у меня открывается
Yerassyl
Но например вы нажали кнопку два раза подряд быстро и в сразу открывается два активти
Yerassyl
Ну*
Кирилл
А R8 реально может просто дропать содержимое классов? У меня 3 класса просто пустые, смотря на результат анализа АПК.