Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.taxipixi.taxiexchange.activities;
- import android.content.Context;
- import android.content.Intent;
- import android.location.Address;
- import android.location.Geocoder;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- import android.util.Log;
- import android.view.View;
- import android.widget.ProgressBar;
- import com.google.android.gms.maps.model.LatLng;
- import com.google.inject.Inject;
- import com.taxipixi.Constants;
- import com.taxipixi.activities.BaseActivity;
- import com.taxipixi.entity.PaymentMethod;
- import com.taxipixi.navigation.MyLocationProvider;
- import com.taxipixi.taxiexchange.CustomerContants;
- import com.taxipixi.taxiexchange.R;
- import com.taxipixi.taxiexchange.TaxiPixiApp;
- import com.taxipixi.taxiexchange.api.BookingSettings;
- import com.taxipixi.taxiexchange.api.GetLocationTask;
- import com.taxipixi.taxiexchange.api.payment.DeleteCardTask;
- import com.taxipixi.taxiexchange.api.payment.GetMyCardsTask;
- import com.taxipixi.taxiexchange.data.serverResponce;
- import com.taxipixi.taxiexchange.widgets.HeaderWidget;
- import com.taxipixi.taxiexchange.widgets.PaymentMainWidget;
- import com.taxipixi.taxiexchange.widgets.PaymentRedeemWidget;
- import com.taxipixi.taxiexchange.widgets.PaymentWidget;
- import org.json.JSONArray;
- import org.json.JSONObject;
- import roboguice.inject.ContentView;
- import roboguice.inject.InjectView;
- import roboguice.util.RoboAsyncTask;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Locale;
- /**
- * Created by ali on 12/6/14.
- */
- @ContentView(R.layout.activity_payment)
- public class PaymentActivity extends BaseActivity {
- @InjectView(R.id.header)
- private HeaderWidget headerWidget;
- @InjectView(R.id.payment_widget)
- private PaymentWidget payWidget;
- @InjectView(R.id.payment_redeem_widget)
- private PaymentRedeemWidget payWidgetRedeem;
- @InjectView(R.id.payment_main_widget)
- private PaymentMainWidget payMainWidget;
- @Inject
- private PreferencesStorage preferencesStorage;
- @Inject
- MyLocationProvider myLocationProvider;
- @InjectView(R.id.progressBar3)
- private ProgressBar progressBar;
- public static boolean getCards = false;
- public static final int GO_CARD = 1;
- public static final int GO_REDEEM = 2;
- public static final int GET_CARDS = 3;
- /* A flag indicating that a PendingIntent is in progress and prevents
- * us from starting further intents.
- */
- private boolean mIntentInProgress;
- private boolean mSignInClicked;
- public static boolean goMainActivity;
- private boolean opened;
- private static final String TAG = "PaymentActivity";
- private boolean finishOnSelectMethod = false;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //setContentView(R.layout.activity_profile);
- Bundle extras = getIntent().getExtras();
- if (extras!=null && extras.getInt("key")==3) {
- finishOnSelectMethod = extras.getBoolean("finishOnSelectMethod");
- progressBar.setVisibility(View.VISIBLE);
- new GetLocationTask(this, myLocationProvider.getLastLocation()) {
- @Override
- protected void onSuccess(Address address) throws Exception {
- super.onSuccess(address);
- progressBar.setVisibility(View.GONE);
- Log.e("reali_loc", "addr " + address.getCountryCode() + " " + address.getCountryName() +
- " " + address.getLocality());
- TaxiPixiApp app = (TaxiPixiApp)getApplication();
- BookingSettings bookingSettings = app.getBookingSettings();
- boolean allowed = false;
- for (int i =0; i < bookingSettings.mBookingSettingsList.size(); i++) {
- if (bookingSettings.mBookingSettingsList.get(i).getCountry_en().equals(address.getCountryName())) {
- if (bookingSettings.mBookingSettingsList.get(i).isCreditCardAllowed()) {
- allowed = true;
- break;
- }
- }
- }
- if (allowed) {
- Handler.Callback openCardOrRedeem = new Handler.Callback() {
- public boolean handleMessage(Message msg) {
- if (msg.what == GO_CARD) {
- payMainWidget.setVisibility(View.GONE);
- payWidgetRedeem.setVisibility(View.GONE);
- payWidget.setVisibility(View.VISIBLE);
- payWidget.initialize(PaymentActivity.this, preferencesStorage, myLocationProvider);
- opened = true;
- } else if (msg.what == GO_REDEEM) {
- payWidget.setVisibility(View.GONE);
- payMainWidget.setVisibility(View.GONE);
- payWidgetRedeem.setVisibility(View.VISIBLE);
- payWidgetRedeem.initialize(PaymentActivity.this, preferencesStorage);
- opened = true;
- } else if (msg.what == GET_CARDS) {
- getCards();
- }
- return false;
- }
- };
- Handler.Callback openMain = new Handler.Callback() {
- public boolean handleMessage(Message msg) {
- if (msg.what == 1) {
- payMainWidget.setVisibility(View.GONE);
- payWidgetRedeem.setVisibility(View.GONE);
- payWidget.setVisibility(View.VISIBLE);
- payWidget.initialize(PaymentActivity.this, preferencesStorage, myLocationProvider);
- } else if (msg.what == 2) {
- payWidget.setVisibility(View.GONE);
- payMainWidget.setVisibility(View.GONE);
- payWidgetRedeem.setVisibility(View.VISIBLE);
- payWidgetRedeem.initialize(PaymentActivity.this, preferencesStorage);
- }
- return false;
- }
- };
- payWidget.setVisibility(View.GONE);
- payWidgetRedeem.setVisibility(View.GONE);
- payMainWidget.setVisibility(View.VISIBLE);
- payMainWidget.initialize(PaymentActivity.this, preferencesStorage, finishOnSelectMethod, new Handler(openCardOrRedeem));
- headerWidget.setPaymentMainWidget(payMainWidget);
- // headerWidget.setPaymentRedeemWidget(payWidgetRedeem);
- headerWidget.initialize(PaymentActivity.this, CustomerContants.HEADER_SINGLE_MODE, false, new ArrayList<String>(Arrays.asList(
- getResources().getString(R.string.payments_title))), null, null);
- } else {
- if (finishOnSelectMethod) {
- setResult(432);
- finish();
- return;
- }
- payWidget.setVisibility(View.GONE);
- payMainWidget.setVisibility(View.GONE);
- payWidgetRedeem.setVisibility(View.VISIBLE);
- payWidgetRedeem.initialize(PaymentActivity.this, preferencesStorage);
- headerWidget.setPaymentRedeemWidget(payWidgetRedeem);
- headerWidget.initialize(PaymentActivity.this, CustomerContants.HEADER_SINGLE_MODE, false, new ArrayList<String>(Arrays.asList(
- getResources().getString(R.string.payments_title))), null, null);
- }
- }
- }.execute();
- } else if (extras!=null && extras.getBoolean("save", false)) {
- headerWidget.initialize(this, CustomerContants.HEADER_SINGLE_MODE, false, new ArrayList<String>(Arrays.asList(
- getResources().getString(R.string.payments_title))), null, null);
- payWidget.initialize(this, preferencesStorage, myLocationProvider);
- } else {
- headerWidget.initialize(this, CustomerContants.HEADER_SINGLE_MODE, true, new ArrayList<String>(Arrays.asList(
- getResources().getString(R.string.register_title))), null, null);
- payWidget.initialize(this, preferencesStorage, myLocationProvider);
- }
- }
- @Override
- public void onBackPressed() {
- if (opened) {
- payWidget.setVisibility(View.GONE);
- payWidgetRedeem.setVisibility(View.GONE);
- payMainWidget.setVisibility(View.VISIBLE);
- getCards();
- opened = false;
- return;
- }
- this.finish();
- if (Locale.getDefault().getLanguage().equals("ar")) {
- overridePendingTransition(R.anim.right_in, R.anim.left_out);
- } else {
- overridePendingTransition(R.anim.left_in, R.anim.right_out);
- }
- return;
- }
- // @Override
- // protected void onResume() {
- // super.onResume();
- //
- // getCards();
- // }
- private void getCards() {
- if (!getCards) {
- return;
- }
- // List<PaymentMethod> methods = new ArrayList<PaymentMethod>();
- //
- // Log.e("reali", "getCardList");
- // methods = preferencesStorage.getCardList2();
- // for (PaymentMethod st : methods) {
- // Log.e("reali", "_"+st.getText()+"_ _" + st.getToken() + "_" + st.isSelected());
- // }
- //
- // payMainWidget.updatePaymentMethods(methods);
- new GetMyCardsTask(this) {
- @Override
- protected void onSuccess(serverResponce res) throws Exception {
- super.onSuccess(res);
- Log.e("reali", res.getStatusCode() + "_ _" + res.getText());
- preferencesStorage.deleteAllCards();
- List<PaymentMethod> methods = new ArrayList<>();
- // JSONObject jsonObject = new JSONObject(res.getText());
- // String default_card_id = "";
- // if (jsonObject.has("default_card_id")) {
- // default_card_id = jsonObject.getString("default_card_id");
- // Log.e("reali", "default_card_id " + default_card_id);
- // }
- JSONArray jsonArray_cards = new JSONArray(res.getText());
- for (int i=0; i<jsonArray_cards.length(); i++) {
- JSONObject card = (JSONObject)jsonArray_cards.get(i);
- String token = card.getString("token");
- String last4 = card.getString("last4");
- String brand = card.getString("brand");
- boolean selected = card.getBoolean("default_card");
- String name = brand.toUpperCase() + " - " + last4;
- Log.e("reali", name + " " + token);
- preferencesStorage.addCard(token, name);
- if (selected) {
- preferencesStorage.setSelectedCard(token);
- }
- methods.add(new PaymentMethod(PaymentMethod.TYPE_CARD, name, token, selected));
- }
- payMainWidget.updatePaymentMethods(methods);
- getCards = false;
- }
- }.execute();
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- getCards = false;
- if (requestCode == PaymentMainWidget.DIALOG_DELETE && resultCode == Constants.RESULT_SUCCESS) {
- payMainWidget.deleteCard1();
- // getCards = true;
- // getCards();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment