После startActivityForResult происходит краш приложения
Caused by: android.view.InflateException: Binary XML file line #28: Error inflating class ru.yandex.money.android.sdk.impl.view.YmProgressBar
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:656)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:798)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:738)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:869)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:832)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at androidx.appcompat.view.menu.MenuItemImpl.setActionView(MenuItemImpl.java:764)
at androidx.appcompat.view.menu.MenuItemImpl.setActionView(MenuItemImpl.java:51)
at androidx.appcompat.view.SupportMenuInflater$MenuState.setItem(SupportMenuInflater.java:503)
at androidx.appcompat.view.SupportMenuInflater$MenuState.addItem(SupportMenuInflater.java:530)
at androidx.appcompat.view.SupportMenuInflater.parseMenu(SupportMenuInflater.java:206)
at androidx.appcompat.view.SupportMenuInflater.inflate(SupportMenuInflater.java:128)
at ru.yandex.money.android.sdk.utils.CheckoutConfirmationActivity.onCreateOptionsMenu(Unknown Source)
at android.app.Activity.onCreatePanelMenu(Activity.java:3294)
at androidx.fragment.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:313)
at androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:94)
at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.onCreatePanelMenu(AppCompatDelegateImpl.java:2549)
at androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:94)
at androidx.appcompat.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:455)
at androidx.appcompat.app.ToolbarActionBar$1.run(ToolbarActionBar.java:56)
at android.os.Handler.handleCallback(Handler.java:761)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6517)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
Caused by: kotlin.UninitializedPropertyAccessException: lateinit property colorScheme has not been initialized
at ru.yandex.money.android.sdk.impl.d.e(Unknown Source)
at ru.yandex.money.android.sdk.impl.view.YmProgressBar.<init>(Unknown Source)```
Не вызывать Checkout.createTokenizeIntent и запускать startActivityForResult
Сразу вызвать Checkout.create3dsIntent и запустить startActivityForResult
Результат:
краш приложения по вине UI элемента ЯКассы, которому не досталась цветовая схема.
Ожидание:
Отсутствие краша
(Возможно) упоминание в логе о необходимости инициализации тем или иным образом библиотеки
Явное указание в документации допустимости (или недопустимости) подобного поведения - использования 3dsecure ссылки от сервера "с ходу", если по какой-то причине операция была прервана на устройстве
Метод обхода:
Обязательно вызывать Checkout.createTokenizeIntent, startActivityForResult вне зависимости от его необходимости в бизнес-логике приложения
После startActivityForResult происходит краш приложения