Mechele

Untitled

Feb 23rd, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.47 KB | None | 0 0
  1. package com.taxipixi.taxiexchange.activities;
  2.  
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.location.Address;
  6. import android.location.Geocoder;
  7. import android.os.Bundle;
  8. import android.os.Handler;
  9. import android.os.Message;
  10. import android.util.Log;
  11. import android.view.View;
  12. import android.widget.ProgressBar;
  13. import com.google.android.gms.maps.model.LatLng;
  14. import com.google.inject.Inject;
  15. import com.taxipixi.Constants;
  16. import com.taxipixi.activities.BaseActivity;
  17. import com.taxipixi.entity.PaymentMethod;
  18. import com.taxipixi.navigation.MyLocationProvider;
  19. import com.taxipixi.taxiexchange.CustomerContants;
  20. import com.taxipixi.taxiexchange.R;
  21. import com.taxipixi.taxiexchange.TaxiPixiApp;
  22. import com.taxipixi.taxiexchange.api.BookingSettings;
  23. import com.taxipixi.taxiexchange.api.GetLocationTask;
  24. import com.taxipixi.taxiexchange.api.payment.DeleteCardTask;
  25. import com.taxipixi.taxiexchange.api.payment.GetMyCardsTask;
  26. import com.taxipixi.taxiexchange.data.serverResponce;
  27. import com.taxipixi.taxiexchange.widgets.HeaderWidget;
  28. import com.taxipixi.taxiexchange.widgets.PaymentMainWidget;
  29. import com.taxipixi.taxiexchange.widgets.PaymentRedeemWidget;
  30. import com.taxipixi.taxiexchange.widgets.PaymentWidget;
  31. import org.json.JSONArray;
  32. import org.json.JSONObject;
  33. import roboguice.inject.ContentView;
  34. import roboguice.inject.InjectView;
  35. import roboguice.util.RoboAsyncTask;
  36.  
  37. import java.io.IOException;
  38. import java.util.ArrayList;
  39. import java.util.Arrays;
  40. import java.util.List;
  41. import java.util.Locale;
  42.  
  43. /**
  44. * Created by ali on 12/6/14.
  45. */
  46.  
  47. @ContentView(R.layout.activity_payment)
  48. public class PaymentActivity extends BaseActivity {
  49.  
  50. @InjectView(R.id.header)
  51. private HeaderWidget headerWidget;
  52.  
  53. @InjectView(R.id.payment_widget)
  54. private PaymentWidget payWidget;
  55.  
  56. @InjectView(R.id.payment_redeem_widget)
  57. private PaymentRedeemWidget payWidgetRedeem;
  58.  
  59. @InjectView(R.id.payment_main_widget)
  60. private PaymentMainWidget payMainWidget;
  61.  
  62. @Inject
  63. private PreferencesStorage preferencesStorage;
  64.  
  65. @Inject
  66. MyLocationProvider myLocationProvider;
  67.  
  68. @InjectView(R.id.progressBar3)
  69. private ProgressBar progressBar;
  70.  
  71. public static boolean getCards = false;
  72.  
  73. public static final int GO_CARD = 1;
  74. public static final int GO_REDEEM = 2;
  75. public static final int GET_CARDS = 3;
  76.  
  77.  
  78. /* A flag indicating that a PendingIntent is in progress and prevents
  79. * us from starting further intents.
  80. */
  81. private boolean mIntentInProgress;
  82. private boolean mSignInClicked;
  83.  
  84. public static boolean goMainActivity;
  85.  
  86. private boolean opened;
  87.  
  88. private static final String TAG = "PaymentActivity";
  89.  
  90. private boolean finishOnSelectMethod = false;
  91.  
  92. @Override
  93. protected void onCreate(Bundle savedInstanceState) {
  94. super.onCreate(savedInstanceState);
  95. //setContentView(R.layout.activity_profile);
  96.  
  97. Bundle extras = getIntent().getExtras();
  98.  
  99. if (extras!=null && extras.getInt("key")==3) {
  100.  
  101. finishOnSelectMethod = extras.getBoolean("finishOnSelectMethod");
  102.  
  103. progressBar.setVisibility(View.VISIBLE);
  104.  
  105. new GetLocationTask(this, myLocationProvider.getLastLocation()) {
  106.  
  107. @Override
  108. protected void onSuccess(Address address) throws Exception {
  109. super.onSuccess(address);
  110.  
  111. progressBar.setVisibility(View.GONE);
  112.  
  113. Log.e("reali_loc", "addr " + address.getCountryCode() + " " + address.getCountryName() +
  114. " " + address.getLocality());
  115.  
  116. TaxiPixiApp app = (TaxiPixiApp)getApplication();
  117. BookingSettings bookingSettings = app.getBookingSettings();
  118.  
  119. boolean allowed = false;
  120.  
  121. for (int i =0; i < bookingSettings.mBookingSettingsList.size(); i++) {
  122. if (bookingSettings.mBookingSettingsList.get(i).getCountry_en().equals(address.getCountryName())) {
  123. if (bookingSettings.mBookingSettingsList.get(i).isCreditCardAllowed()) {
  124. allowed = true;
  125. break;
  126. }
  127. }
  128. }
  129.  
  130. if (allowed) {
  131. Handler.Callback openCardOrRedeem = new Handler.Callback() {
  132. public boolean handleMessage(Message msg) {
  133. if (msg.what == GO_CARD) {
  134. payMainWidget.setVisibility(View.GONE);
  135. payWidgetRedeem.setVisibility(View.GONE);
  136.  
  137. payWidget.setVisibility(View.VISIBLE);
  138. payWidget.initialize(PaymentActivity.this, preferencesStorage, myLocationProvider);
  139.  
  140. opened = true;
  141. } else if (msg.what == GO_REDEEM) {
  142. payWidget.setVisibility(View.GONE);
  143. payMainWidget.setVisibility(View.GONE);
  144.  
  145. payWidgetRedeem.setVisibility(View.VISIBLE);
  146. payWidgetRedeem.initialize(PaymentActivity.this, preferencesStorage);
  147.  
  148. opened = true;
  149. } else if (msg.what == GET_CARDS) {
  150. getCards();
  151. }
  152.  
  153. return false;
  154. }
  155. };
  156.  
  157. Handler.Callback openMain = new Handler.Callback() {
  158. public boolean handleMessage(Message msg) {
  159. if (msg.what == 1) {
  160. payMainWidget.setVisibility(View.GONE);
  161. payWidgetRedeem.setVisibility(View.GONE);
  162.  
  163. payWidget.setVisibility(View.VISIBLE);
  164. payWidget.initialize(PaymentActivity.this, preferencesStorage, myLocationProvider);
  165. } else if (msg.what == 2) {
  166. payWidget.setVisibility(View.GONE);
  167. payMainWidget.setVisibility(View.GONE);
  168.  
  169. payWidgetRedeem.setVisibility(View.VISIBLE);
  170. payWidgetRedeem.initialize(PaymentActivity.this, preferencesStorage);
  171. }
  172.  
  173. return false;
  174. }
  175. };
  176.  
  177. payWidget.setVisibility(View.GONE);
  178. payWidgetRedeem.setVisibility(View.GONE);
  179.  
  180. payMainWidget.setVisibility(View.VISIBLE);
  181. payMainWidget.initialize(PaymentActivity.this, preferencesStorage, finishOnSelectMethod, new Handler(openCardOrRedeem));
  182. headerWidget.setPaymentMainWidget(payMainWidget);
  183.  
  184. // headerWidget.setPaymentRedeemWidget(payWidgetRedeem);
  185. headerWidget.initialize(PaymentActivity.this, CustomerContants.HEADER_SINGLE_MODE, false, new ArrayList<String>(Arrays.asList(
  186. getResources().getString(R.string.payments_title))), null, null);
  187. } else {
  188.  
  189. if (finishOnSelectMethod) {
  190. setResult(432);
  191. finish();
  192. return;
  193. }
  194.  
  195. payWidget.setVisibility(View.GONE);
  196. payMainWidget.setVisibility(View.GONE);
  197.  
  198. payWidgetRedeem.setVisibility(View.VISIBLE);
  199. payWidgetRedeem.initialize(PaymentActivity.this, preferencesStorage);
  200.  
  201. headerWidget.setPaymentRedeemWidget(payWidgetRedeem);
  202. headerWidget.initialize(PaymentActivity.this, CustomerContants.HEADER_SINGLE_MODE, false, new ArrayList<String>(Arrays.asList(
  203. getResources().getString(R.string.payments_title))), null, null);
  204. }
  205. }
  206. }.execute();
  207.  
  208. } else if (extras!=null && extras.getBoolean("save", false)) {
  209.  
  210. headerWidget.initialize(this, CustomerContants.HEADER_SINGLE_MODE, false, new ArrayList<String>(Arrays.asList(
  211. getResources().getString(R.string.payments_title))), null, null);
  212.  
  213. payWidget.initialize(this, preferencesStorage, myLocationProvider);
  214. } else {
  215. headerWidget.initialize(this, CustomerContants.HEADER_SINGLE_MODE, true, new ArrayList<String>(Arrays.asList(
  216. getResources().getString(R.string.register_title))), null, null);
  217.  
  218. payWidget.initialize(this, preferencesStorage, myLocationProvider);
  219. }
  220.  
  221. }
  222.  
  223. @Override
  224. public void onBackPressed() {
  225.  
  226. if (opened) {
  227. payWidget.setVisibility(View.GONE);
  228. payWidgetRedeem.setVisibility(View.GONE);
  229.  
  230. payMainWidget.setVisibility(View.VISIBLE);
  231.  
  232. getCards();
  233.  
  234. opened = false;
  235. return;
  236. }
  237.  
  238. this.finish();
  239.  
  240. if (Locale.getDefault().getLanguage().equals("ar")) {
  241. overridePendingTransition(R.anim.right_in, R.anim.left_out);
  242. } else {
  243. overridePendingTransition(R.anim.left_in, R.anim.right_out);
  244. }
  245.  
  246. return;
  247. }
  248.  
  249. // @Override
  250. // protected void onResume() {
  251. // super.onResume();
  252. //
  253. // getCards();
  254. // }
  255.  
  256. private void getCards() {
  257.  
  258. if (!getCards) {
  259. return;
  260. }
  261.  
  262. // List<PaymentMethod> methods = new ArrayList<PaymentMethod>();
  263. //
  264. // Log.e("reali", "getCardList");
  265. // methods = preferencesStorage.getCardList2();
  266. // for (PaymentMethod st : methods) {
  267. // Log.e("reali", "_"+st.getText()+"_ _" + st.getToken() + "_" + st.isSelected());
  268. // }
  269. //
  270. // payMainWidget.updatePaymentMethods(methods);
  271.  
  272. new GetMyCardsTask(this) {
  273. @Override
  274. protected void onSuccess(serverResponce res) throws Exception {
  275. super.onSuccess(res);
  276.  
  277. Log.e("reali", res.getStatusCode() + "_ _" + res.getText());
  278.  
  279. preferencesStorage.deleteAllCards();
  280. List<PaymentMethod> methods = new ArrayList<>();
  281.  
  282. // JSONObject jsonObject = new JSONObject(res.getText());
  283.  
  284. // String default_card_id = "";
  285. // if (jsonObject.has("default_card_id")) {
  286. // default_card_id = jsonObject.getString("default_card_id");
  287. // Log.e("reali", "default_card_id " + default_card_id);
  288. // }
  289.  
  290. JSONArray jsonArray_cards = new JSONArray(res.getText());
  291. for (int i=0; i<jsonArray_cards.length(); i++) {
  292. JSONObject card = (JSONObject)jsonArray_cards.get(i);
  293. String token = card.getString("token");
  294. String last4 = card.getString("last4");
  295. String brand = card.getString("brand");
  296. boolean selected = card.getBoolean("default_card");
  297.  
  298. String name = brand.toUpperCase() + " - " + last4;
  299.  
  300. Log.e("reali", name + " " + token);
  301.  
  302. preferencesStorage.addCard(token, name);
  303.  
  304. if (selected) {
  305. preferencesStorage.setSelectedCard(token);
  306. }
  307.  
  308. methods.add(new PaymentMethod(PaymentMethod.TYPE_CARD, name, token, selected));
  309. }
  310.  
  311. payMainWidget.updatePaymentMethods(methods);
  312.  
  313. getCards = false;
  314. }
  315. }.execute();
  316.  
  317. }
  318.  
  319. @Override
  320. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  321. super.onActivityResult(requestCode, resultCode, data);
  322.  
  323. getCards = false;
  324.  
  325. if (requestCode == PaymentMainWidget.DIALOG_DELETE && resultCode == Constants.RESULT_SUCCESS) {
  326. payMainWidget.deleteCard1();
  327.  
  328. // getCards = true;
  329. // getCards();
  330. }
  331. }
  332. }
Advertisement
Add Comment
Please, Sign In to add comment