delivery time flow changed

This commit is contained in:
cimenmus
2018-06-19 22:22:50 +03:00
parent 87ed5de0b3
commit 0c8fdd05fe
4 changed files with 158 additions and 22 deletions

Binary file not shown.

2
.idea/misc.xml generated
View File

@@ -25,7 +25,7 @@
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

View File

@@ -16,8 +16,11 @@ import com.braintreepayments.api.dropin.DropInRequest;
import com.braintreepayments.api.dropin.DropInResult;
import com.google.android.gms.wallet.Cart;
import com.google.android.gms.wallet.LineItem;
import com.wdullaer.materialdatetimepicker.date.DatePickerDialog;
import com.wdullaer.materialdatetimepicker.time.TimePickerDialog;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
@@ -77,11 +80,16 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
@BindString(R.string.unknown_payment_method) String unknownPaymentMethodText;
@BindString(R.string.payment_canceled) String paymentCanceledText;
@BindString(R.string.andorid_pay_not_found) String androidPayNotFoundText;
@BindString(R.string.choose) String choosetext;
@BindString(R.string.alert) String alertText;
@BindString(R.string.delivery_date) String deliveryDateText;
@BindString(R.string.delivery_time) String deliveryTimeText;
public static final java.lang.String FRAGMENT_NAME = "orderSummaryFragment";
private int REQUEST_CODE_CAMPAIGN_PRODUCT_LIST = 7847;
private final int REQUEST_CODE_BRAINTREE_PAYMENT = 3784;
private CreateOrderActivity createOrderActivity;
private String dateOfOrder, timeOfOrder;
public CreateOrderSummaryFragment() {}
@@ -346,27 +354,11 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
response.body() != null){
if(response.body().isSuccess()){
if(createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.UNKNOWN){
DialogHelper.hideLoadingDialog();
DialogHelper.showAlertDialog(BaseActivity.currentActivity, unknownPaymentMethodText);
}
else if(createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.CASH ||
createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.TRANSFER){
createOrder(null);
}
else if(createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.TWINT) {
DialogHelper.hideLoadingDialog();
startTwintPayment();
}
else {
DialogHelper.hideLoadingDialog();
startBraintreePayment();
}
redirectToPayment();
}
else {
DialogHelper.hideLoadingDialog();
DialogHelper.showAlertDialog(BaseActivity.currentActivity, restaurantOutOfOrderText);
showRestaurantOutOfOrderDialog();
}
}
@@ -408,6 +400,129 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
});
}
private void showRestaurantOutOfOrderDialog(){
DialogHelper.showTwoButtonsDialog(
alertText,
restaurantOutOfOrderText,
R.string.accept_campaign,
new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
showDatePickerDialog();
}
},
R.string.decline_campaign,
new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
dialog.dismiss();
}
}
);
}
private void showDatePickerDialog() {
Calendar nowDate = Calendar.getInstance();
Calendar maxdate = Calendar.getInstance();
maxdate.add(Calendar.DAY_OF_YEAR, 7);
//maxdate.add(Calendar.MONTH, 1);
int nowYear = nowDate.get(Calendar.YEAR);
int nowMonth = nowDate.get(Calendar.MONTH);
int nowDay = nowDate.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = DatePickerDialog.newInstance(
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
String yearOfOrder = String.valueOf(year);
String monthOfOrder = String.valueOf(monthOfYear + 1);
String dayOfOrder = String.valueOf(dayOfMonth);
if(monthOfOrder.length() == 1){
monthOfOrder = "0" + monthOfOrder;
}
if(dayOfOrder.length() == 1){
dayOfOrder = "0" + dayOfOrder;
}
dateOfOrder = dayOfOrder + "." + monthOfOrder + "." + yearOfOrder;
showTimePickerDialog();
}
},
nowYear,
nowMonth,
nowDay
);
datePickerDialog.vibrate(false);
datePickerDialog.setMinDate(nowDate);
datePickerDialog.setMaxDate(maxdate);
//datePickerDialog.autoDismiss(true);
datePickerDialog.show(BaseActivity.currentActivity.getFragmentManager(), choosetext);
}
private void showTimePickerDialog(){
Calendar nowDate = Calendar.getInstance();
int nowHour = nowDate.get(Calendar.HOUR_OF_DAY);
int nowMinute = nowDate.get(Calendar.MINUTE);
int nowSecond = nowDate.get(Calendar.SECOND);
TimePickerDialog timePickerDialog =
TimePickerDialog.newInstance(
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePickerDialog view, int hourOfDay, int minute, int second) {
String hourOfOrder = String.valueOf(hourOfDay);
String minuteOfOrder = String.valueOf(minute);
if(hourOfOrder.length() == 1){
hourOfOrder = "0" + hourOfOrder;
}
if(minuteOfOrder.length() == 1){
minuteOfOrder = "0" + minuteOfOrder;
}
timeOfOrder = hourOfOrder + ":" + minuteOfOrder;
redirectToPayment();
}
},
nowHour,
nowMinute,
true
);
timePickerDialog.vibrate(false);
//timePickerDialog.setMinTime(nowHour, nowMinute, nowSecond);
timePickerDialog.show(BaseActivity.currentActivity.getFragmentManager(), choosetext);
}
private void redirectToPayment(){
if(createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.UNKNOWN){
DialogHelper.hideLoadingDialog();
DialogHelper.showAlertDialog(BaseActivity.currentActivity, unknownPaymentMethodText);
}
else if(createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.CASH ||
createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.TRANSFER){
createOrder(null);
}
else if(createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.TWINT) {
DialogHelper.hideLoadingDialog();
startTwintPayment();
}
else {
DialogHelper.hideLoadingDialog();
startBraintreePayment();
}
}
private void createOrder(String paymentMethodNonce){
DialogHelper.showLoadingDialog();
Call<ResponseObject<Integer>> call = ApiService.apiInterface.createOrder(
@@ -448,6 +563,7 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
}
private String createOrderNote(){
CreateOrderActivity createOrderActivity = (CreateOrderActivity) getActivity();
StringBuilder stringBuilder = new StringBuilder();
if(isCartContainsAnyPizza(createOrderActivity.getCartInfo().getProducts())){
@@ -460,7 +576,25 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
}
stringBuilder.append("<br/>");
}
stringBuilder.append(createOrderActivity.getOrderNote());
stringBuilder
.append(createOrderActivity.getOrderNote())
.append("<br/>");
if(dateOfOrder != null && !dateOfOrder.isEmpty() &&
timeOfOrder != null && !timeOfOrder.isEmpty()){
stringBuilder
.append(deliveryDateText)
.append(" ")
.append(dateOfOrder)
.append("\n")
.append(deliveryTimeText)
.append(" ")
.append(timeOfOrder);
}
return stringBuilder.toString();
}
@@ -514,6 +648,7 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
// Go to Settings --> Processing --> CVV --> Click on Edit --> Check option 'CVV not provided(l)', Enable option 'for any transaction'
DropInRequest paymentRequest = new DropInRequest()
//.tokenizationKey(ApiConstants.BRAINTREE_TOKENIZATION_KEY_SANDBOX)
.tokenizationKey(ApiConstants.BRAINTREE_TOKENIZATION_KEY_PRODUCTION)
//.clientToken("eyJ2ZXJzaW9uIjoyLCJhdXRob3JpemF0aW9uRmluZ2VycHJpbnQiOiI3NzY2ZmNmNTQ3MDc1YWMzMGZiNmIxMzU3MTI1ZTJmODc5YjM4MmNkOTcwYmYwZmYyNmQzMWJmNGRiYjI1MjQzfGNyZWF0ZWRfYXQ9MjAxOC0wNi0xM1QxODo1Mzo0Mi4wODA4MDc5MDQrMDAwMFx1MDAyNm1lcmNoYW50X2lkPTM0OHBrOWNnZjNiZ3l3MmJcdTAwMjZwdWJsaWNfa2V5PTJuMjQ3ZHY4OWJxOXZtcHIiLCJjb25maWdVcmwiOiJodHRwczovL2FwaS5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tOjQ0My9tZXJjaGFudHMvMzQ4cGs5Y2dmM2JneXcyYi9jbGllbnRfYXBpL3YxL2NvbmZpZ3VyYXRpb24iLCJjaGFsbGVuZ2VzIjpbXSwiZW52aXJvbm1lbnQiOiJzYW5kYm94IiwiY2xpZW50QXBpVXJsIjoiaHR0cHM6Ly9hcGkuc2FuZGJveC5icmFpbnRyZWVnYXRld2F5LmNvbTo0NDMvbWVyY2hhbnRzLzM0OHBrOWNnZjNiZ3l3MmIvY2xpZW50X2FwaSIsImFzc2V0c1VybCI6Imh0dHBzOi8vYXNzZXRzLmJyYWludHJlZWdhdGV3YXkuY29tIiwiYXV0aFVybCI6Imh0dHBzOi8vYXV0aC52ZW5tby5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tIiwiYW5hbHl0aWNzIjp7InVybCI6Imh0dHBzOi8vb3JpZ2luLWFuYWx5dGljcy1zYW5kLnNhbmRib3guYnJhaW50cmVlLWFwaS5jb20vMzQ4cGs5Y2dmM2JneXcyYiJ9LCJ0aHJlZURTZWN1cmVFbmFibGVkIjp0cnVlLCJwYXlwYWxFbmFibGVkIjp0cnVlLCJwYXlwYWwiOnsiZGlzcGxheU5hbWUiOiJBY21lIFdpZGdldHMsIEx0ZC4gKFNhbmRib3gpIiwiY2xpZW50SWQiOm51bGwsInByaXZhY3lVcmwiOiJodHRwOi8vZXhhbXBsZS5jb20vcHAiLCJ1c2VyQWdyZWVtZW50VXJsIjoiaHR0cDovL2V4YW1wbGUuY29tL3RvcyIsImJhc2VVcmwiOiJodHRwczovL2Fzc2V0cy5icmFpbnRyZWVnYXRld2F5LmNvbSIsImFzc2V0c1VybCI6Imh0dHBzOi8vY2hlY2tvdXQucGF5cGFsLmNvbSIsImRpcmVjdEJhc2VVcmwiOm51bGwsImFsbG93SHR0cCI6dHJ1ZSwiZW52aXJvbm1lbnROb05ldHdvcmsiOnRydWUsImVudmlyb25tZW50Ijoib2ZmbGluZSIsInVudmV0dGVkTWVyY2hhbnQiOmZhbHNlLCJicmFpbnRyZWVDbGllbnRJZCI6Im1hc3RlcmNsaWVudDMiLCJiaWxsaW5nQWdyZWVtZW50c0VuYWJsZWQiOnRydWUsIm1lcmNoYW50QWNjb3VudElkIjoiYWNtZXdpZGdldHNsdGRzYW5kYm94IiwiY3VycmVuY3lJc29Db2RlIjoiVVNEIn0sIm1lcmNoYW50SWQiOiIzNDhwazljZ2YzYmd5dzJiIiwidmVubW8iOiJvZmYifQ==")
//.amount("CHF1.0")
@@ -600,5 +735,4 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
.build();
}
}

View File

@@ -94,7 +94,7 @@
<string name="no_options_selected_part">wurde nicht ausgewählt.</string>
<!-- tr -->
<string name="cannot_use_campaign">Bu kampanyadan daha önce yararlandığınız için sepetinize ekleyemezsiniz.</string>
<string name="restaurant_out_of_order">Restorant çalışma saatleri dışında olduğu için siparişinizi alamıyoruz.</string>
<string name="restaurant_out_of_order">Restorant şu anda hizmet vermemektedir. İleri bir tarih ve saat için sipariş oluşturmak ister misiniz?</string>
<!-- ProductPropertiesBottomSheetDialog -->
<!-- CartFragment-->    
@@ -175,6 +175,8 @@
<string name="unknown_payment_method">Bilinmeyen ödeme yöntemi.</string>
<string name="payment_canceled">Ödeme işlemi iptal edildi.</string>
<string name="andorid_pay_not_found">Android Pay Card not found.</string>
<string name="delivery_date">Teslimat Tarihi:</string>
<string name="delivery_time">Teslimat Saati:</string>
<!-- CreateOrderSummaryFragment-->
<!-- CreateOrderResultFragment-->