Android Open Source - Java-Yandex.Money-API-SDK Load History Task






From Project

Back to project page Java-Yandex.Money-API-SDK.

License

The source code is released under:

MIT License

If you think the Android project Java-Yandex.Money-API-SDK listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package ru.yandex.money.droid;
/*ww w. j a v  a  2s .com*/
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.http.AndroidHttpClient;
import android.os.AsyncTask;
import ru.yandex.money.api.ApiCommandsFacade;
import ru.yandex.money.api.InsufficientScopeException;
import ru.yandex.money.api.InvalidTokenException;
import ru.yandex.money.api.response.OperationHistoryResponse;
import ru.yandex.money.api.response.util.Operation;

import java.io.IOException;

/**
 * @author dvmelnikov
 */

class LoadHistoryTask extends AsyncTask<Integer, Void, LoadHistoryTask.HistoryResp> {

    private final Activity context;
    private String error;
    private String clientId;
    private final String accessToken;
    private final HistoryAdapter historyAdapter;

    ProgressDialog dialog;
    private final DialogInterface.OnCancelListener onDialogCancelListener;

    public LoadHistoryTask(Activity context, String clientId, String accessToken, HistoryAdapter historyAdapter,
            DialogInterface.OnCancelListener onDialogCancelListener) {
        this.historyAdapter = historyAdapter;
        this.context = context;
        this.clientId = clientId;
        this.accessToken = accessToken;        
        this.onDialogCancelListener = onDialogCancelListener;
    }

    @Override
    protected void onPreExecute() {
        dialog = Utils.makeProgressDialog(context, Consts.WAIT);
        dialog.setOnCancelListener(onDialogCancelListener);
        if (!context.isFinishing())
            dialog.show();       
    }

    @Override
    protected void onPostExecute(HistoryResp resp) {                
        if (resp.getException() == null) {
            if (resp.getResponse().isSuccess()) {
                for (Operation op : resp.getResponse().getOperations())
                    historyAdapter.add(op);
            } else {
                Intent intent = new Intent();
                intent.putExtra(ActivityParams.HISTORY_OUT_IS_SUCCESS, false);
                intent.putExtra(ActivityParams.HISTORY_OUT_ERROR, resp.getResponse().getError());
                context.setResult(Activity.RESULT_CANCELED, intent);
                context.finish();
            }
        } else {
            Intent intent = new Intent();
            intent.putExtra(ActivityParams.HISTORY_OUT_IS_SUCCESS, false);            
            intent.putExtra(ActivityParams.HISTORY_OUT_EXCEPTION, resp.getException());
            context.setResult(Activity.RESULT_CANCELED, intent);
            context.finish();
        }               
        dialog.dismiss();
    }

    @Override
    protected HistoryResp doInBackground(Integer... params) {
        AndroidHttpClient client = Utils.httpClient();
        ApiCommandsFacade ym = Utils.getYandexMoney(clientId, client);
        try {
            OperationHistoryResponse resp = ym.operationHistory(accessToken, params[0]);
            return new HistoryResp(resp, null);            
        } catch (IOException e) {
            return new HistoryResp(null, e);
        } catch (InvalidTokenException e) {
            return new HistoryResp(null, e);
        } catch (InsufficientScopeException e) {
            return new HistoryResp(null, e);
        } finally {
            client.close();
        }
    }

    class HistoryResp {        
        private final OperationHistoryResponse response;
        private final Exception exception;

        public HistoryResp(OperationHistoryResponse response, Exception exception) {
            this.response = response;
            this.exception = exception;
        }

        public OperationHistoryResponse getResponse() {
            return response;
        }

        public Exception getException() {
            return exception;
        }
    }
}




Java Source Code List

com.samples.client.Settings.java
com.samples.server.SampleIncomingTransferListener.java
com.samples.server.ServletListener.java
com.samples.yamodroid.Consts.java
com.samples.yamodroid.GreatAppActivity.java
ru.yandex.money.api.ApiCommandsFacadeImpl.java
ru.yandex.money.api.ApiCommandsFacade.java
ru.yandex.money.api.CommandUrlHolder.java
ru.yandex.money.api.InsufficientScopeException.java
ru.yandex.money.api.InternalServerErrorException.java
ru.yandex.money.api.InvalidTokenException.java
ru.yandex.money.api.ProtocolRequestException.java
ru.yandex.money.api.TestUrlHolder.java
ru.yandex.money.api.TokenRequesterImpl.java
ru.yandex.money.api.TokenRequester.java
ru.yandex.money.api.YamoneyAccount.java
ru.yandex.money.api.YamoneyApiClient.java
ru.yandex.money.api.YandexMoneyImpl.java
ru.yandex.money.api.YandexMoney.java
ru.yandex.money.api.enums.Destination.java
ru.yandex.money.api.enums.MoneyDirection.java
ru.yandex.money.api.enums.MoneySource.java
ru.yandex.money.api.enums.OperationHistoryType.java
ru.yandex.money.api.enums.Status.java
ru.yandex.money.api.notifications.IncomingTransferListener.java
ru.yandex.money.api.notifications.IncomingTransfer.java
ru.yandex.money.api.notifications.NotificationUtils.java
ru.yandex.money.api.notifications.NotificationsServlet.java
ru.yandex.money.api.response.AccountInfoResponse.java
ru.yandex.money.api.response.FundraisingStatsResponse.java
ru.yandex.money.api.response.OperationDetailResponse.java
ru.yandex.money.api.response.OperationHistoryResponse.java
ru.yandex.money.api.response.ProcessPaymentResponse.java
ru.yandex.money.api.response.ReceiveOAuthTokenResponse.java
ru.yandex.money.api.response.RequestPaymentResponse.java
ru.yandex.money.api.response.util.OperationHistoryError.java
ru.yandex.money.api.response.util.Operation.java
ru.yandex.money.api.response.util.PaymentErrorCode.java
ru.yandex.money.api.response.util.ProcessPaymentError.java
ru.yandex.money.api.response.util.RequestPaymentError.java
ru.yandex.money.api.response.util.money.PaymentMethods.java
ru.yandex.money.api.rights.AbstractLimitedPermission.java
ru.yandex.money.api.rights.AbstractPermission.java
ru.yandex.money.api.rights.AccountInfo.java
ru.yandex.money.api.rights.IdentifierType.java
ru.yandex.money.api.rights.MoneySource.java
ru.yandex.money.api.rights.OperationDetails.java
ru.yandex.money.api.rights.OperationHistory.java
ru.yandex.money.api.rights.PaymentP2P.java
ru.yandex.money.api.rights.PaymentShop.java
ru.yandex.money.api.rights.Payment.java
ru.yandex.money.api.rights.Permission.java
ru.yandex.money.droid.ActivityParams.java
ru.yandex.money.droid.AuthActivity.java
ru.yandex.money.droid.Consts.java
ru.yandex.money.droid.DetailHistoryActivity.java
ru.yandex.money.droid.HistoryActivity.java
ru.yandex.money.droid.HistoryAdapter.java
ru.yandex.money.droid.IntentCreator.java
ru.yandex.money.droid.LoadHistoryTask.java
ru.yandex.money.droid.PaymentActivity.java
ru.yandex.money.droid.PaymentConfirmActivity.java
ru.yandex.money.droid.PaymentShopParcelable.java
ru.yandex.money.droid.ProcessPaymentTask.java
ru.yandex.money.droid.Utils.java
ru.yandex.money.droid.YandexMoneyDroid.java