yoomoney / yookassa-android-sdk

This library allows implementing payment acceptance into mobile apps on Android. It works as an extension to the YooMoney API.
https://yookassa.ru/developers/payment-forms/android-sdk
MIT License
40 stars 22 forks source link

onBackPressed() not close Activity created by Checkout.createTokenizeIntent #33

Closed DmitrSP closed 4 years ago

DmitrSP commented 5 years ago

Если вызвать Checkout.createTokenizeIntent(), а после появления Фрагмента Яндекс с кнопкой Продолжить нажать onBack, Фрагмент убегает - ок. Жму еще раз onBack - замечаю, что-то исчезает с экрана (похоже на активити с прозрачным фоном). Жму еще onBack и только теперь мое активити начинает реагировать.. При этом, если ЯндексФрагмент с кнопкой Продолжить свайпнуть вниз, чтобы он исчез, то такого странного поведения не наблюдаю. Мое активити реагирует на onBackPressed() сразу, с первого раза. Поправьте, плиз

whalemare commented 5 years ago

Плюсую, зашел сюда чтобы создать такой же issue. Прилагаю gif с тем, как это выглядит (5мб) android_bug

drukarev commented 5 years ago

Добрый день. Несколько вопросов для уточнения проблемы: 1) На каких устройствах воспроизводится проблема? 2) В демо библиотеки (https://play.google.com/store/apps/details?id=ru.yandex.money.android.example.prod) на ваших устройствах проблема также воспроизводится? 3) Какая версия библиотеки используется?

Если есть какой-то минимальный проект, где воспроизводится проблема, пришлите его, пожалуйста.

DmitrSP commented 5 years ago

Добрый день. Несколько вопросов для уточнения проблемы:

  1. На каких устройствах воспроизводится проблема?
  2. В демо библиотеки (https://play.google.com/store/apps/details?id=ru.yandex.money.android.example.prod) на ваших устройствах проблема также воспроизводится?
  3. Какая версия библиотеки используется?

Если есть какой-то минимальный проект, где воспроизводится проблема, пришлите его, пожалуйста.

Установил демо библиотеки. Кажется, понял в чем проблема... В моем приложении можно оплачивать только картой. Т. е. выбор способа оплаты у меня отсутствует. И что происходит в демо - кликаю Купить, вижу Способ оплаты, выбираю банковскую карту, вижу новый фрагмент. Жму назад - вижу Способ оплаты. А если не жму, а свайпаю (после выбора способа), то Способ оплаты не появляется. Согласен, что в данном случае появление фрагмента со Способами оплаты логично, но предусмотрите, что может быть только один способ оплаты и экран с выбором способа не появляется...

  1. Эмулятор (API >=27), Xiaomi Redmi 3... Думаю причина не в устройстве...
  2. 'com.yandex.money:checkout:2.3.0'

Кстати https://github.com/yandex-money/yandex-checkout-android-sdk/issues/33#issuecomment-528688165 здесь тоже один способ оплаты настроен...

whalemare commented 5 years ago

@drukarev посмотрите вот этот проект, на нем можно поиграться https://github.com/lamantin-group/react-native-yandex-payment/tree/develop

единственное, это react-native и чтобы запустить нужно выполнить:

git clone https://github.com/lamantin-group/react-native-yandex-payment
cd react-native-yandex-payment
git checkout develop
npm run doctor
# здесь нужно запустить эмулятор, либо подключить реальный андроид девайс
npm run android

Здесь код работы с библиотекой yandex-checkout-android-sdk

drukarev commented 5 years ago

Не смогли воспроизвести проблему на наших устройствах, но возможно нашли её причину. Попробуйте проверить в версии 2.4.1, воспроизводится ли баг.

drukarev commented 4 years ago

Closed with https://github.com/yandex-money/yandex-checkout-android-sdk/issues/36