导航菜单

页面标题

页面副标题

Clash Legends v0.0.1 - GetStoredCardTask.java 源代码

正在查看: Clash Legends v0.0.1 应用的 GetStoredCardTask.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.payu.india.Tasks;

import android.os.AsyncTask;
import com.payu.india.Interfaces.GetStoredCardApiListener;
import com.payu.india.Model.PayuConfig;
import com.payu.india.Model.PayuResponse;
import com.payu.india.Model.PostData;
import com.payu.india.Model.StoredCard;
import com.payu.india.Payu.PayuConstants;
import com.payu.india.Payu.PayuErrors;
import com.payu.india.Payu.PayuUtils;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Iterator;
import javax.net.ssl.HttpsURLConnection;
import kotlinx.coroutines.internal.LockFreeTaskQueueCore;
import org.json.JSONException;
import org.json.JSONObject;

public class GetStoredCardTask extends AsyncTask<PayuConfig, String, PayuResponse> {
    private GetStoredCardApiListener mGetStoredCardApiListener;
    private StoredCard mUserCard;

    public GetStoredCardTask(GetStoredCardApiListener getStoredCardApiListener) {
        this.mGetStoredCardApiListener = getStoredCardApiListener;
    }

    @Override
    public PayuResponse doInBackground(PayuConfig... params) {
        URL url;
        PayuResponse payuResponse = new PayuResponse();
        PostData postData = new PostData();
        try {
            PayuConfig payuConfig = params[0];
            switch (payuConfig.getEnvironment()) {
                case 0:
                    url = new URL("https://info.payu.in/merchant/postservice.php?form=2");
                    break;
                case 1:
                    url = new URL("https://mobiletest.payu.in/merchant/postservice?form=2");
                    break;
                case 2:
                    url = new URL(PayuConstants.TEST_FETCH_DATA_URL);
                    break;
                case 3:
                    url = new URL(PayuConstants.MOBILE_DEV_FETCH_DATA_URL);
                    break;
                default:
                    url = new URL("https://info.payu.in/merchant/postservice.php?form=2");
                    break;
            }
            HttpsURLConnection conn = PayuUtils.getHttpsConn(url.toString(), payuConfig.getData());
            if (conn != null) {
                InputStream responseInputStream = conn.getInputStream();
                StringBuffer responseStringBuffer = new StringBuffer();
                byte[] byteContainer = new byte[LockFreeTaskQueueCore.MIN_ADD_SPIN_CAPACITY];
                while (true) {
                    int i = responseInputStream.read(byteContainer);
                    if (i != -1) {
                        responseStringBuffer.append(new String(byteContainer, 0, i));
                    } else {
                        JSONObject response = new JSONObject(responseStringBuffer.toString());
                        if (response.has(PayuConstants.USER_CARD)) {
                            JSONObject card = response.getJSONObject(PayuConstants.USER_CARD);
                            Iterator<String> keysIterator = card.keys();
                            ArrayList<StoredCard> userCardArrayList = new ArrayList<>();
                            while (keysIterator.hasNext()) {
                                String cardToken = keysIterator.next();
                                StoredCard userCard = new StoredCard();
                                JSONObject card2 = card.getJSONObject(cardToken);
                                JSONObject cardsList = card;
                                userCard.setNameOnCard(card2.getString("name_on_card"));
                                userCard.setCardName(card2.getString("card_name"));
                                userCard.setExpiryYear(card2.getString(PayuConstants.EXPIRY_YEAR));
                                userCard.setExpiryMonth(card2.getString(PayuConstants.EXPIRY_MONTY));
                                userCard.setCardType(card2.getString("card_type"));
                                userCard.setCardToken(card2.getString(PayuConstants.CARD_TOKENS));
                                userCard.setIsExpired(Boolean.valueOf(card2.getInt(PayuConstants.IS_EXPIRED) != 0));
                                userCard.setCardMode(card2.getString(PayuConstants.CARD_MODE));
                                userCard.setMaskedCardNumber(card2.getString(PayuConstants.CARD_NO));
                                userCard.setCardBrand(card2.getString(PayuConstants.CARD_BRAND));
                                userCard.setCardBin(card2.getString(PayuConstants.CARD_BIN));
                                userCard.setIsDomestic(card2.getString(PayuConstants.IS_DOMESTIC));
                                userCardArrayList.add(userCard);
                                card = cardsList;
                            }
                            payuResponse.setStoredCards(userCardArrayList);
                        }
                        if (response.has(PayuConstants.MSG)) {
                            postData.setResult(response.getString(PayuConstants.MSG));
                        }
                        if (response.has("status")) {
                            postData.setCode(0);
                            postData.setStatus("SUCCESS");
                        } else {
                            postData.setCode(PayuErrors.GET_USER_CARD_EXCEPTION);
                            postData.setStatus("ERROR");
                        }
                    }
                }
            }
        } catch (MalformedURLException e) {
            e = e;
            e.printStackTrace();
            payuResponse.setResponseStatus(postData);
            return payuResponse;
        } catch (ProtocolException e2) {
            e = e2;
            e.printStackTrace();
            payuResponse.setResponseStatus(postData);
            return payuResponse;
        } catch (IOException e3) {
            e = e3;
            e.printStackTrace();
            payuResponse.setResponseStatus(postData);
            return payuResponse;
        } catch (JSONException e4) {
            e = e4;
            e.printStackTrace();
            payuResponse.setResponseStatus(postData);
            return payuResponse;
        }
        payuResponse.setResponseStatus(postData);
        return payuResponse;
    }

    @Override
    public void onPostExecute(PayuResponse payuResponse) {
        super.onPostExecute((GetStoredCardTask) payuResponse);
        this.mGetStoredCardApiListener.onGetStoredCardApiResponse(payuResponse);
    }
}