diff --git a/app/src/androidTest/java/ch/pizzacucina/android/ExampleInstrumentedTest.java b/app/src/androidTest/java/ch/pizzacucina/android/ExampleInstrumentedTest.java deleted file mode 100644 index 72f5435..0000000 --- a/app/src/androidTest/java/ch/pizzacucina/android/ExampleInstrumentedTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package ch.pizzacucina.android; - -import android.content.Context; -import androidx.test.platform.app.InstrumentationRegistry; -import androidx.test.ext.junit.runners.AndroidJUnit4; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import static org.junit.Assert.*; - -/** - * Instrumentation test, which will execute on an Android device. - * - * @see Testing documentation - */ -@RunWith(AndroidJUnit4.class) -public class ExampleInstrumentedTest { - @Test - public void useAppContext() throws Exception { - // Context of the app under test. - Context appContext = InstrumentationRegistry.getTargetContext(); - - assertEquals("ch.pizzalink.android", appContext.getPackageName()); - } -} diff --git a/app/src/main/java/ch/pizzacucina/android/fragment/createOrder/CreateOrderSummaryFragment.java b/app/src/main/java/ch/pizzacucina/android/fragment/createOrder/CreateOrderSummaryFragment.java index a091938..7319ef6 100644 --- a/app/src/main/java/ch/pizzacucina/android/fragment/createOrder/CreateOrderSummaryFragment.java +++ b/app/src/main/java/ch/pizzacucina/android/fragment/createOrder/CreateOrderSummaryFragment.java @@ -34,6 +34,7 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; +import java.util.Map; import butterknife.BindString; import butterknife.BindView; @@ -85,7 +86,6 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { @BindString(R.string.do_not_slice_pizza) String noText; @BindString(R.string.restaurant_out_of_order) String restaurantOutOfOrderText; @BindString(R.string.choose_pick_up_date_time) String choosePickUpDateTimeText; - @BindString(R.string.restaurant_out_of_order_on_selected_date) String restaurantOutOfOrderOnSelectedDateText; @BindString(R.string.something_went_wrong) String genericErrorText; @BindString(R.string.unknown_payment_method) String unknownPaymentMethodText; @BindString(R.string.payment_canceled) String paymentCanceledText; @@ -264,10 +264,6 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { } else { getDeliveryTimeOfStore(restaurantOutOfOrderText); - /* - DialogHelper.hideLoadingDialog(); - showRestaurantOutOfOrderDialog(restaurantOutOfOrderText); - */ } } @@ -380,7 +376,7 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { showDatePickerDialog(); } else { - showRestaurantOutOfOrderDialog(dialogMessage); + showRestaurantOutOfOrderDialog(dialogMessage + getWorkingHoursString()); } } else { @@ -422,7 +418,7 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { redirectToPayment(); } else { - showRestaurantOutOfOrderDialog(restaurantOutOfOrderOnSelectedDateText); + showRestaurantOutOfOrderDialog(restaurantOutOfOrderText + getWorkingHoursString()); } } @@ -1380,6 +1376,69 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { } } + private String getWorkingHoursString(){ + + HashMap> shiftMap = new HashMap<>(); + concatTheSameWorkingDays(shiftMap, "Mo", storeShiftModel.getMondayShift()); + concatTheSameWorkingDays(shiftMap, "Di", storeShiftModel.getTuesdayShift()); + concatTheSameWorkingDays(shiftMap, "Mi", storeShiftModel.getWednesdayShift()); + concatTheSameWorkingDays(shiftMap, "Do", storeShiftModel.getThursdayShift()); + concatTheSameWorkingDays(shiftMap, "Fr", storeShiftModel.getFridayShift()); + concatTheSameWorkingDays(shiftMap, "Sa", storeShiftModel.getSaturdayShift()); + concatTheSameWorkingDays(shiftMap, "So", storeShiftModel.getSundayShift()); + + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("\n"); + for(String key: shiftMap.keySet()){ + ArrayList hoursArray = shiftMap.get(key); + if(hoursArray == null){ + hoursArray = new ArrayList<>(); + } + StringBuilder hoursBuilder = new StringBuilder(); + for(String part: hoursArray){ + hoursBuilder.append(part).append(","); + } + int index = hoursBuilder.lastIndexOf(","); + if(index != -1){ + hoursBuilder.deleteCharAt(index); + } + stringBuilder + .append(key) + .append(": ") + .append(hoursBuilder.toString()) + .append("\n"); + } + return stringBuilder.toString(); + } + + private void concatTheSameWorkingDays(HashMap> map, + String day, + ArrayList workingHours){ + if(workingHours.isEmpty()){ + return; + } + if(map.containsValue(workingHours)){ + String currentKey = getKeyOfAValueOnMap(map, workingHours); + String updatedKey = currentKey + "," + day; + map.remove(currentKey); + map.put(updatedKey, workingHours); + } + else { + map.put(day, workingHours); + } + } + + private K getKeyOfAValueOnMap(Map map, V value) { + for (Map.Entry entry : map.entrySet()) { + if (value.equals(entry.getValue())) { + return entry.getKey(); + } + } + return null; + } + + + /* // Canceled because response json from PostFinance fr apple Webview is not valid class PaymentJavaScriptInterface { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d18299e..4f171dc 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -98,8 +98,7 @@ Stückzahl     wurde nicht ausgewählt. Kampagne kann nicht in den Warenkorb gelegt werden, da sie schon benutzt wurde. - Bestellung ausserhalb der Öffnungszeiten. Bitte den gewünschten Liefertermin auswählen. - Restaurant am gewählten Datum und Uhrzeit ausser Betrieb. Möchten Sie eine Bestellung für ein anderes Datum und eine andere Uhrzeit geben? + Das Datum ist ausserhalb der Öffnungszeiten (Ö) oder Lieferzeiten.(L)\n