Android Open Source - Java-Yandex.Money-API-SDK Detail History Activity






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;
//w ww.  java2 s . c o  m
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 android.os.Bundle;
import android.widget.TextView;
import ru.yandex.money.api.ApiCommandsFacade;
import ru.yandex.money.api.InsufficientScopeException;
import ru.yandex.money.api.InvalidTokenException;
import ru.yandex.money.api.enums.MoneyDirection;
import ru.yandex.money.api.response.OperationDetailResponse;

import java.io.IOException;
import java.text.DateFormat;

/**
 * @author dvmelnikov
 */

public class DetailHistoryActivity extends Activity {

    public static final String DET_HIST_IN_CLIENT_ID = "client_id";
    public static final String DET_HIST_IN_ACCESS_TOKEN = "access_token";
    public static final String DET_HIST_IN_OPERATION_ID = "operation_id";

    private DetailHistoryActivity context;
    private String clientId;
    private String accessToken;
    private String operationId;

    private TextView title;
    private TextView sum;
    private TextView date;
    private TextView details;
    private TextView message;
    private TextView accCaption;
    private TextView acc;
    private TextView direction;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.ymd_detail);
        context = this;

        clientId = getIntent().getStringExtra(DET_HIST_IN_CLIENT_ID);
        accessToken = getIntent().getStringExtra(DET_HIST_IN_ACCESS_TOKEN);
        operationId = getIntent().getStringExtra(DET_HIST_IN_OPERATION_ID);

        title = (TextView) findViewById(R.id.tvTitle);
        title.setText("");
        sum = (TextView) findViewById(R.id.tvSum);
        sum.setText("");
        direction = (TextView) findViewById(R.id.tv_direction);
        direction.setText("");
        date = (TextView) findViewById(R.id.tvDate);
        date.setText("");
        details = (TextView) findViewById(R.id.tvDetails);
        details.setText("");
        message = (TextView) findViewById(R.id.tvMessage);
        message.setText("");
        accCaption = (TextView) findViewById(R.id.tvAccountCaption);
        accCaption.setText("");
        acc = (TextView) findViewById(R.id.tv_send_to);
        acc.setText("");

        new LoadDetailTask().execute(operationId);
    }

    @Override
    public void onBackPressed() {
        Intent intent = new Intent();
        intent.putExtra(ActivityParams.HISTORY_DETAIL_OUT_IS_SUCCESS, true);
        this.setResult(Activity.RESULT_CANCELED, intent);
        finish();
    }

    public class LoadDetailTask extends AsyncTask<String, Void, HistoryDetailResp> {

        private ProgressDialog dialog;

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

        @Override
        protected void onPreExecute() {
            dialog = Utils.makeProgressDialog(context, Consts.WAIT);
            dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
                public void onCancel(DialogInterface dialog) {
                    dialog.dismiss();
                    Intent intent = new Intent();
                    intent.putExtra(ActivityParams.HISTORY_DETAIL_OUT_IS_SUCCESS, false);
                    context.setResult(Activity.RESULT_CANCELED, intent);
                    context.finish();
                }
            });
            if (!isFinishing())
                dialog.show();
        }

        @Override
        protected void onPostExecute(HistoryDetailResp resp) {
            if (resp.getException() == null) {
                if (resp.getResponse().isSuccess()) {
                    title.setText(resp.getResponse().getTitle());
                    if (resp.getResponse().getDirection() == MoneyDirection.in) {
                        sum.setText(resp.getResponse().getAmount().toString());
                        direction.setText("??????");
                        accCaption.setText("???????????:");
                        acc.setText(resp.getResponse().getSender());

                    } else {
                        sum.setText(resp.getResponse().getAmount().toString());
                        direction.setText("???????");
                        accCaption.setText("??????????:");
                        acc.setText(resp.getResponse().getRecipient());
                    }

                    String df = DateFormat.getDateInstance().format(resp.getResponse().getDatetime());
                    date.setText(df);
                    details.setText(resp.getResponse().getDetails());
                    message.setText(resp.getResponse().getMessage());
                } else {
                    Intent intent = new Intent();
                    intent.putExtra(ActivityParams.HISTORY_DETAIL_OUT_IS_SUCCESS, false);
                    intent.putExtra(ActivityParams.HISTORY_DETAIL_OUT_ERROR, resp.getResponse().getError());
                    context.setResult(Activity.RESULT_CANCELED, intent);
                    context.finish();
                }
            } else {
                Intent intent = new Intent();
                intent.putExtra(ActivityParams.HISTORY_DETAIL_OUT_IS_SUCCESS, false);
                intent.putExtra(ActivityParams.HISTORY_DETAIL_OUT_EXCEPTION, resp.getException());
                context.setResult(Activity.RESULT_CANCELED, intent);
                context.finish();
            }
            dialog.dismiss();
        }
    }

    private class HistoryDetailResp {
        private final OperationDetailResponse resp;
        private final Exception exception;

        private HistoryDetailResp(OperationDetailResponse resp, Exception exception) {
            this.exception = exception;
            this.resp = resp;
        }

        public OperationDetailResponse getResponse() {
            return resp;
        }

        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