diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 3755ae4..024cba8 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/app/build.gradle b/app/build.gradle index b6fe2b9..b4d9fbb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "ch.pizzapp.capri" minSdkVersion 16 targetSdkVersion 27 - versionCode 7 // play store'daki version : 4 - versionName "2.0" // play store'daki version : 2.0 + versionCode 8 // play store'daki version --> canlı : 7 dahili test: 6 + versionName "2.1" // play store'daki version : 2.0 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { diff --git a/app/release/app-release.apk b/app/release/app-release.apk new file mode 100644 index 0000000..0381bd2 Binary files /dev/null and b/app/release/app-release.apk differ diff --git a/app/release/output.json b/app/release/output.json index 7af18e9..8d94c1e 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":6,"versionName":"2.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":7,"versionName":"2.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/java/ch/pizzapp/android/api/ApiConstants.java b/app/src/main/java/ch/pizzapp/android/api/ApiConstants.java index 30c7a5a..ae3445d 100644 --- a/app/src/main/java/ch/pizzapp/android/api/ApiConstants.java +++ b/app/src/main/java/ch/pizzapp/android/api/ApiConstants.java @@ -4,7 +4,8 @@ public class ApiConstants { public static final int API_READ_TIMEOUT = 30; public static final int API_CONNECT_TIMEOUT = 10; //public static final String API_PATH = "http://www.pizzalink.ch/"; - public static final String API_PATH = "http://pizzapp.ddns.net/"; + //public static final String API_PATH = "http://pizzapp.ddns.net/"; + public static final String API_PATH = "http://pizzapp.ch/"; public static final int CATEGORY_ID_WUNSCHPIZZA = 9999; public static final int CATEGORY_ID_EKSTRA_KEBAP = 9998; public static final int PRODUCT_ID_WUNSCHPIZZA = 56; @@ -26,4 +27,8 @@ public class ApiConstants { public static final String PAYMENT_METHOD_CODE_PAYPAL = "pp_standard"; public static final String PAYMENT_METHOD_CODE_ANDROID_PAY = "android_pay"; public static final String PAYMENT_METHOD_CODE_APPLE_PAY = "apple_pay"; + + public static final String CART_SUBTOTAL = "zwischensumme"; + public static final String CART_COMMISSION = "zahlungsgebühr"; + public static final String CART_TOTAL = "total"; } diff --git a/app/src/main/java/ch/pizzapp/android/api/ApiInterface.java b/app/src/main/java/ch/pizzapp/android/api/ApiInterface.java index 2aa8e9a..ffdeb4f 100644 --- a/app/src/main/java/ch/pizzapp/android/api/ApiInterface.java +++ b/app/src/main/java/ch/pizzapp/android/api/ApiInterface.java @@ -66,6 +66,11 @@ public interface ApiInterface { @POST Call> getCartProducts(@Url String url); + @FormUrlEncoded + @POST + Call> getCartProductsForCommission(@Url String url, + @Field("payment_method") String paymentMethodCode); + @GET(ApiEndPoints.API_GET_CLEAR_CART) Call clearCart(@Query("token") String token); diff --git a/app/src/main/java/ch/pizzapp/android/fragment/createOrder/CreateOrderSummaryFragment.java b/app/src/main/java/ch/pizzapp/android/fragment/createOrder/CreateOrderSummaryFragment.java index 9983e9c..bdf9811 100644 --- a/app/src/main/java/ch/pizzapp/android/fragment/createOrder/CreateOrderSummaryFragment.java +++ b/app/src/main/java/ch/pizzapp/android/fragment/createOrder/CreateOrderSummaryFragment.java @@ -45,6 +45,7 @@ import ch.pizzapp.android.model.CampaignModel; import ch.pizzapp.android.model.PaymentMethodModel; import ch.pizzapp.android.model.cart.CartInfoModel; import ch.pizzapp.android.model.cart.CartProductModel; +import ch.pizzapp.android.model.cart.CartTotalModel; import ch.pizzapp.android.view.AppInfoView; import retrofit2.Call; import retrofit2.Callback; @@ -108,6 +109,7 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { View view = inflater.inflate(R.layout.fragment_create_order_summary, container, false); ButterKnife.bind(this, view); initViews(); + getCartProductsWithCommission(); return view; } @@ -159,7 +161,7 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { orderShippingMethodPizzalinkInfoLayout.setText(createOrderActivity.getSelectedShippingMethod().getTitle()); orderShippingAddressPizzalinkInfoLayout.setText(createOrderActivity.getSelectedShippingAddress().getAddress()); orderPaymentMethodPizzalinkInfoLayout.setText(createOrderActivity.getSelectedPaymentMethod().getTitle()); - orderTotalPizzalinkInfoLayout.setText(PriceHelper.roundFractions(createOrderActivity.getCartInfo().getCartTotalModel().getText())); + //orderTotalPizzalinkInfoLayout.setText(PriceHelper.roundFractions(createOrderActivity.getCartInfo().getCartTotalModel().getText())); if(createOrderActivity.getOrderNote().isEmpty()){ orderNotePizzalinkInfoLayout.setVisibility(View.GONE); } @@ -573,10 +575,12 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.TRANSFER){ createOrder(null); } + /* else if(createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.TWINT) { DialogHelper.hideLoadingDialog(); startTwintPayment(); } + */ else { DialogHelper.hideLoadingDialog(); startBraintreePayment(); @@ -701,6 +705,33 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { }); } + private void getCartProductsWithCommission(){ + DialogHelper.showLoadingDialog(); + Call> call = ApiService.apiInterface.getCartProductsForCommission( + ApiEndPoints.API_GET_CART_PRODUCTS + SessionHelper.getCustomerToken().getToken(), + createOrderActivity.getSelectedPaymentMethod().getCode()); + call.enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + DialogHelper.hideLoadingDialog(); + if(response.isSuccessful() && + response.body().getData() != null && + response.body().isSuccess()){ + //createOrderActivity.setCartInfo(response.body().getData()); + setOrderTotalText(response.body().getData()); + } + else + ApiErrorUtils.parseError(response); + } + + @Override + public void onFailure(Call> call, Throwable t) { + DialogHelper.hideLoadingDialog(); + DialogHelper.showFailedDialog(); + } + }); + } + private void startBraintreePayment(){ // CVV kodu default olarak gozukmuyor. @@ -713,9 +744,11 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { //.clientToken("eyJ2ZXJzaW9uIjoyLCJhdXRob3JpemF0aW9uRmluZ2VycHJpbnQiOiI3NzY2ZmNmNTQ3MDc1YWMzMGZiNmIxMzU3MTI1ZTJmODc5YjM4MmNkOTcwYmYwZmYyNmQzMWJmNGRiYjI1MjQzfGNyZWF0ZWRfYXQ9MjAxOC0wNi0xM1QxODo1Mzo0Mi4wODA4MDc5MDQrMDAwMFx1MDAyNm1lcmNoYW50X2lkPTM0OHBrOWNnZjNiZ3l3MmJcdTAwMjZwdWJsaWNfa2V5PTJuMjQ3ZHY4OWJxOXZtcHIiLCJjb25maWdVcmwiOiJodHRwczovL2FwaS5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tOjQ0My9tZXJjaGFudHMvMzQ4cGs5Y2dmM2JneXcyYi9jbGllbnRfYXBpL3YxL2NvbmZpZ3VyYXRpb24iLCJjaGFsbGVuZ2VzIjpbXSwiZW52aXJvbm1lbnQiOiJzYW5kYm94IiwiY2xpZW50QXBpVXJsIjoiaHR0cHM6Ly9hcGkuc2FuZGJveC5icmFpbnRyZWVnYXRld2F5LmNvbTo0NDMvbWVyY2hhbnRzLzM0OHBrOWNnZjNiZ3l3MmIvY2xpZW50X2FwaSIsImFzc2V0c1VybCI6Imh0dHBzOi8vYXNzZXRzLmJyYWludHJlZWdhdGV3YXkuY29tIiwiYXV0aFVybCI6Imh0dHBzOi8vYXV0aC52ZW5tby5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tIiwiYW5hbHl0aWNzIjp7InVybCI6Imh0dHBzOi8vb3JpZ2luLWFuYWx5dGljcy1zYW5kLnNhbmRib3guYnJhaW50cmVlLWFwaS5jb20vMzQ4cGs5Y2dmM2JneXcyYiJ9LCJ0aHJlZURTZWN1cmVFbmFibGVkIjp0cnVlLCJwYXlwYWxFbmFibGVkIjp0cnVlLCJwYXlwYWwiOnsiZGlzcGxheU5hbWUiOiJBY21lIFdpZGdldHMsIEx0ZC4gKFNhbmRib3gpIiwiY2xpZW50SWQiOm51bGwsInByaXZhY3lVcmwiOiJodHRwOi8vZXhhbXBsZS5jb20vcHAiLCJ1c2VyQWdyZWVtZW50VXJsIjoiaHR0cDovL2V4YW1wbGUuY29tL3RvcyIsImJhc2VVcmwiOiJodHRwczovL2Fzc2V0cy5icmFpbnRyZWVnYXRld2F5LmNvbSIsImFzc2V0c1VybCI6Imh0dHBzOi8vY2hlY2tvdXQucGF5cGFsLmNvbSIsImRpcmVjdEJhc2VVcmwiOm51bGwsImFsbG93SHR0cCI6dHJ1ZSwiZW52aXJvbm1lbnROb05ldHdvcmsiOnRydWUsImVudmlyb25tZW50Ijoib2ZmbGluZSIsInVudmV0dGVkTWVyY2hhbnQiOmZhbHNlLCJicmFpbnRyZWVDbGllbnRJZCI6Im1hc3RlcmNsaWVudDMiLCJiaWxsaW5nQWdyZWVtZW50c0VuYWJsZWQiOnRydWUsIm1lcmNoYW50QWNjb3VudElkIjoiYWNtZXdpZGdldHNsdGRzYW5kYm94IiwiY3VycmVuY3lJc29Db2RlIjoiVVNEIn0sIm1lcmNoYW50SWQiOiIzNDhwazljZ2YzYmd5dzJiIiwidmVubW8iOiJvZmYifQ==") //.amount("CHF1.0") //.requestThreeDSecureVerification(true) + .disableAndroidPay() .disableVenmo(); + /* switch (createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType()){ case CREDIT_DEBIT_CARD: paymentRequest.disableAndroidPay(); @@ -735,6 +768,7 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { } break; } + */ startActivityForResult(paymentRequest.getIntent(BaseActivity.currentActivity), REQUEST_CODE_BRAINTREE_PAYMENT); } @@ -796,4 +830,50 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { .build(); } + private void setOrderTotalText(CartInfoModel cartInfoModel){ + + CartTotalModel subtotalModel = new CartTotalModel("",""); + CartTotalModel commissionModel = new CartTotalModel("",""); + CartTotalModel totalModel = new CartTotalModel("",""); + + String totalText = ""; + + for (CartTotalModel cartTotalModel : cartInfoModel.getTotalsList()){ + switch (cartTotalModel.getTitle().toLowerCase()){ + case ApiConstants.CART_SUBTOTAL : + subtotalModel = cartTotalModel; + break; + case ApiConstants.CART_COMMISSION : + commissionModel = cartTotalModel; + break; + case ApiConstants.CART_TOTAL : + totalModel = cartTotalModel; + break; + } + } + + if(commissionModel.getText().isEmpty()){ + totalText = PriceHelper.roundFractions(cartInfoModel.getCartTotalModel().getText()); + } + else { + totalText = + new StringBuilder() + .append(subtotalModel.getTitle()) + .append("\n") + .append(subtotalModel.getText()) + .append("\n\n") + .append(commissionModel.getTitle()) + .append("\n") + .append(commissionModel.getText()) + .append("\n\n") + .append(totalModel.getTitle()) + .append("\n") + .append(totalModel.getText()) + //.append(PriceHelper.roundFractions(totalModel.getText())) + .toString(); + } + orderTotalPizzalinkInfoLayout.setText(totalText); + + } + } diff --git a/app/src/main/java/ch/pizzapp/android/model/cart/CartInfoModel.java b/app/src/main/java/ch/pizzapp/android/model/cart/CartInfoModel.java index e5a78ab..7d85283 100644 --- a/app/src/main/java/ch/pizzapp/android/model/cart/CartInfoModel.java +++ b/app/src/main/java/ch/pizzapp/android/model/cart/CartInfoModel.java @@ -3,6 +3,8 @@ package ch.pizzapp.android.model.cart; import java.io.Serializable; import java.util.ArrayList; +import ch.pizzapp.android.api.ApiConstants; + /** * Created by cimenmus on 05/10/2017. */ @@ -33,7 +35,7 @@ public class CartInfoModel implements Serializable { public CartTotalModel getCartTotalModel(){ CartTotalModel cartTotalModel = null; for(CartTotalModel crtTtl : totals){ - if(crtTtl.getTitle().toLowerCase().equals("total")){ + if(crtTtl.getTitle().toLowerCase().equals(ApiConstants.CART_TOTAL)){ cartTotalModel = crtTtl; break; } @@ -43,4 +45,8 @@ public class CartInfoModel implements Serializable { } return cartTotalModel; } + + public ArrayList getTotalsList() { + return totals; + } } diff --git a/app/src/main/java/ch/pizzapp/android/model/cart/CartTotalModel.java b/app/src/main/java/ch/pizzapp/android/model/cart/CartTotalModel.java index ebc597d..9cba763 100644 --- a/app/src/main/java/ch/pizzapp/android/model/cart/CartTotalModel.java +++ b/app/src/main/java/ch/pizzapp/android/model/cart/CartTotalModel.java @@ -11,6 +11,11 @@ public class CartTotalModel implements Serializable { private String title; private String text; + public CartTotalModel(String title, String text){ + this.title = title; + this.text = text; + } + public String getTitle() { return title; }