PayActivity.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. package com.edufound.reader.activity.payactivity;
  2. import android.app.Activity;
  3. import android.view.KeyEvent;
  4. import android.view.View;
  5. import android.view.ViewGroup;
  6. import android.widget.ImageView;
  7. import android.widget.LinearLayout;
  8. import android.widget.Toast;
  9. import com.baidu.duer.bot.directive.payload.AmountInfo;
  10. import com.baidu.duer.botsdk.BotIntent;
  11. import com.edufound.reader.R;
  12. import com.edufound.reader.annotation.BindView;
  13. import com.edufound.reader.base.BaseActivity;
  14. import com.edufound.reader.base.BaseMvpActivity;
  15. import com.edufound.reader.contract.PayContract;
  16. import com.edufound.reader.popwindow.PopWindowUtil;
  17. import com.edufound.reader.presenter.PayPresenter;
  18. import com.edufound.reader.util.GlideUtils;
  19. import com.edufound.reader.util.QRCodeUtil;
  20. import com.edufound.reader.util.SizeUtils;
  21. import com.orhanobut.logger.Logger;
  22. import java.util.HashMap;
  23. import androidx.annotation.NonNull;
  24. import io.reactivex.rxjava3.annotations.Nullable;
  25. import io.reactivex.rxjava3.functions.Consumer;
  26. /**
  27. * 普通支付的界面
  28. * */
  29. public class PayActivity extends BaseMvpActivity<PayPresenter> implements PayContract.View {
  30. Activity mActivity;
  31. @BindView(id = R.id.activity_pay_tomyorder)
  32. ImageView mToMyOrder;
  33. @BindView(id = R.id.activity_pay_back)
  34. ImageView mBack;
  35. @BindView(id = R.id.activity_pay_item_layouts)
  36. LinearLayout mItemFrame;
  37. @BindView(id = R.id.activity_pay_qrcode)
  38. ImageView mQRCode;
  39. @Override
  40. public int getLayoutId() {
  41. return R.layout.activity_pay;
  42. }
  43. @Override
  44. public void initView() {
  45. mActivity = this;
  46. mPresenter = new PayPresenter();
  47. mPresenter.attachView(this);
  48. addUiClickListener(mBack, o -> {
  49. mActivity.finish();
  50. });
  51. addUiClickListener(mToMyOrder, o -> {
  52. PopWindowUtil.showMyOrderWindow(mActivity, getRootView());
  53. });
  54. mPresenter.getProductInfo();
  55. }
  56. @Override
  57. public void onGetDisconnect() {
  58. }
  59. @Override
  60. public void onGetMobileConnect() {
  61. }
  62. @Override
  63. public void onGetWifiConnect() {
  64. }
  65. @Override
  66. public void showLoading() {
  67. }
  68. @Override
  69. public void hideLoading() {
  70. }
  71. @Override
  72. public void onError(String errMessage) {
  73. }
  74. @Override
  75. public Activity getActivity() {
  76. return mActivity;
  77. }
  78. @Override
  79. public ViewGroup getRootView() {
  80. return findViewById(android.R.id.content);
  81. }
  82. @Override
  83. public void getProductSuccess() {
  84. mPresenter.initPayItem(mItemFrame);
  85. }
  86. @Override
  87. public void addUiClick(View view, View.OnClickListener listener) {
  88. addUiClickListener(view, listener);
  89. }
  90. @Override
  91. public void isPaySuccess() {
  92. Toast.makeText(getActivity(), "支付成功", Toast.LENGTH_SHORT).show();
  93. }
  94. @Override
  95. public void setQRCode(String obj) {
  96. // mQRCode
  97. GlideUtils.loadImageSizeKipMemoryCache(getActivity(), obj, mQRCode);
  98. }
  99. @Override
  100. protected void botHandleIntent(BotIntent intent, String customData) {
  101. super.botHandleIntent(intent, customData);
  102. Logger.e("botHandleIntent");
  103. }
  104. @Override
  105. protected void botOnClickLink(String url, HashMap<String, String> paramMap) {
  106. super.botOnClickLink(url, paramMap);
  107. Logger.e("botOnClickLink");
  108. }
  109. @Override
  110. protected void botOnHandleScreenNavigatorEvent(int event) {
  111. super.botOnHandleScreenNavigatorEvent(event);
  112. Logger.e("botOnHandleScreenNavigatorEvent");
  113. }
  114. @Override
  115. protected void botOnLinkAccountSucceed(String s, String s1) {
  116. super.botOnLinkAccountSucceed(s, s1);
  117. Logger.e("botOnLinkAccountSucceed");
  118. }
  119. @Override
  120. protected void botOnChargeStatusUpdated(String purchaseResult, AmountInfo authorizationAmount, AmountInfo capturedAmount, long creationTimestamp, String baiduOrderReferenceId, String sellerOrderId, String msg) {
  121. super.botOnChargeStatusUpdated(purchaseResult, authorizationAmount, capturedAmount, creationTimestamp, baiduOrderReferenceId, sellerOrderId, msg);
  122. Logger.e("botOnChargeStatusUpdated");
  123. String intentResult = "botOnChargeStatusUpdated:" + "\n支付状态更新:%s\n订单金额信息:%s\n"
  124. + "实收金额信息:%s\n订单时间戳:%d\n"
  125. + "百度侧订单号:%s\n卖方生成的订单号:%s\n订单备注信息:%s";
  126. Logger.e("intentResult:" + intentResult);
  127. }
  128. @Override
  129. protected void botOnBuyStatusUpdated(@NonNull String purchaseResult, @NonNull String productId, @NonNull String baiduOrderId, @NonNull String sellerOrderId, @Nullable String msg, String token) {
  130. Logger.e("botOnBuyStatusUpdated");
  131. super.botOnBuyStatusUpdated(purchaseResult, productId, baiduOrderId, sellerOrderId, msg, token);
  132. String intentResult = "botOnBuyStatusUpdated:" + "\n支付状态更新:%s\n商品id:%s\n"
  133. + "百度侧订单号:%s\n卖方生成的订单号:%s\n订单备注信息:%s";
  134. Logger.e("intentResult:" + intentResult);
  135. }
  136. @Override
  137. public boolean onKeyDown(int keyCode, KeyEvent event) {
  138. return true;
  139. }
  140. @Override
  141. protected void onDestroy() {
  142. mPresenter.activityDestory();
  143. super.onDestroy();
  144. }
  145. }