package com.ikea.kompis.util;

import android.content.Context;
import android.text.TextUtils;
import android.text.format.DateFormat;
import com.ikea.shared.AppConfigData;
import com.ikea.shared.AppConfigManager;
import com.ikea.shared.notification.StoreOpenInfo;
import com.ikea.shared.notification.StoreTimeInfo;
import com.ikea.shared.notification.StoreTimeInfoList;
import com.ikea.shared.stores.model.DateRange;
import com.ikea.shared.stores.model.DateRangeFilter;
import com.ikea.shared.stores.model.DateRangeList;
import com.ikea.shared.stores.model.StoreRef;
import com.ikea.shared.util.L;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;

public final class DateUtil
{
  private static StoreOpenInfo findNextOpenDay(Context paramContext, ArrayList<StoreTimeInfoList> paramArrayList, ArrayList<StoreTimeInfo> paramArrayList1, ArrayList<StoreTimeInfo> paramArrayList2, String paramString)
  {
    Calendar localCalendar1 = Calendar.getInstance();
    Calendar localCalendar2 = Calendar.getInstance();
    int i = 0;
    for (StoreTimeInfo localStoreTimeInfo = null; (localStoreTimeInfo == null) && (i < 365); localStoreTimeInfo = getCurrentDayOpenInfo(localCalendar2, paramArrayList, paramArrayList1, paramArrayList2))
    {
      i++;
      localCalendar2.add(5, 1);
    }
    if ((localStoreTimeInfo != null) && (!TextUtils.isEmpty(localStoreTimeInfo.getCloseTime())) && (!TextUtils.isEmpty(localStoreTimeInfo.getOpenTime())))
    {
      localCalendar2.add(5, -1);
      String[] arrayOfString1 = localStoreTimeInfo.getCloseTime().split(":");
      String[] arrayOfString2 = localStoreTimeInfo.getOpenTime().split(":");
      Calendar localCalendar3 = Calendar.getInstance();
      long l1;
      long l2;
      try
      {
        localCalendar3.set(11, Integer.parseInt(arrayOfString2[0]));
        localCalendar3.set(12, Integer.parseInt(arrayOfString2[1]));
        l1 = localCalendar3.getTimeInMillis();
        localCalendar4 = Calendar.getInstance();
      }
      catch (NumberFormatException localNumberFormatException1)
      {
        try
        {
          Calendar localCalendar4;
          localCalendar4.set(11, Integer.parseInt(arrayOfString1[0]));
          localCalendar4.set(12, Integer.parseInt(arrayOfString1[1]));
          l2 = localCalendar4.getTimeInMillis();
          if (localCalendar1.get(5) == localCalendar2.get(5))
          {
            return new StoreOpenInfo(false, l2, l1, paramContext.getString(2131165710), "");
            localNumberFormatException1 = localNumberFormatException1;
            localNumberFormatException1.printStackTrace();
          }
        }
        catch (NumberFormatException localNumberFormatException2)
        {
          while (true)
            localNumberFormatException2.printStackTrace();
        }
      }
      return new StoreOpenInfo(false, l2, l1, getDayText(localStoreTimeInfo.getDay(), paramContext), "");
    }
    if (!TextUtils.isEmpty(paramString))
      return new StoreOpenInfo(false, 0L, 0L, null, paramString);
    return new StoreOpenInfo(false, 0L, 0L, null, "");
  }

  public static String formatDate(String paramString1, String paramString2, Context paramContext)
  {
    String str1 = paramString1;
    if ((str1 != null) && (!str1.isEmpty()))
    {
      Locale localLocale = Locale.getDefault();
      if ((AppConfigManager.i(paramContext) != null) && (AppConfigManager.i(paramContext).getAppConfigData() != null) && (AppConfigManager.i(paramContext).getAppConfigData().getLanguageCode() != null))
      {
        String str3 = AppConfigManager.i(paramContext).getAppConfigData().getLanguageCode();
        String str4 = AppConfigManager.i(paramContext).getAppConfigData().getCountryCode();
        if (!TextUtils.isEmpty(AppConfigManager.i(paramContext).getAppConfigData().getRegionCode()))
          str4 = AppConfigManager.i(paramContext).getAppConfigData().getRegionCode();
        L.I("final country code: " + str4);
        localLocale = new Locale(str3, str4);
      }
      if (Character.isLetter(str1.charAt(-1 + str1.length())))
        str1 = str1.substring(0, -1 + str1.length());
      try
      {
        Date localDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).parse(str1);
        if (localDate != null)
        {
          Calendar localCalendar = Calendar.getInstance();
          localCalendar.setTime(localDate);
          if ((paramString2 != null) && (paramString2.equalsIgnoreCase("B")))
            localCalendar.set(1, 543 + localCalendar.get(1));
          String str2 = String.format(localLocale, "%1$tb %1$td, %1$tY", new Object[] { localCalendar });
          return str2;
        }
      }
      catch (ParseException localParseException)
      {
        L.E("Error occure while date formater: " + localParseException.getMessage());
      }
    }
    return str1;
  }

  public static String formatTime(long paramLong, Context paramContext)
  {
    if (paramLong > 0L)
    {
      Locale localLocale = Locale.getDefault();
      if ((AppConfigManager.i(paramContext) != null) && (AppConfigManager.i(paramContext).getAppConfigData() != null) && (AppConfigManager.i(paramContext).getAppConfigData().getLanguageCode() != null))
      {
        String str2 = AppConfigManager.i(paramContext).getAppConfigData().getLanguageCode();
        String str3 = AppConfigManager.i(paramContext).getAppConfigData().getCountryCode();
        if (!TextUtils.isEmpty(AppConfigManager.i(paramContext).getAppConfigData().getRegionCode()))
          str3 = AppConfigManager.i(paramContext).getAppConfigData().getRegionCode();
        L.I("final country code: " + str3);
        localLocale = new Locale(str2, str3);
      }
      boolean bool = DateFormat.is24HourFormat(paramContext);
      String str1 = "%1$tH:%1$tM";
      if (!bool)
        str1 = "%1$tl:%1$tM %1$Tp";
      Calendar localCalendar = Calendar.getInstance();
      localCalendar.setTimeInMillis(paramLong);
      return String.format(localLocale, str1, new Object[] { localCalendar });
    }
    return "";
  }

  private static StoreTimeInfo getCurrentDayOpenInfo(Calendar paramCalendar, ArrayList<StoreTimeInfoList> paramArrayList, ArrayList<StoreTimeInfo> paramArrayList1, ArrayList<StoreTimeInfo> paramArrayList2)
  {
    int i = paramCalendar.get(7);
    StoreTimeInfoList localStoreTimeInfoList = (StoreTimeInfoList)paramArrayList.get(i - 1);
    Object localObject = null;
    if (localStoreTimeInfoList != null)
    {
      List localList = localStoreTimeInfoList.getmStoreTimeInfoList();
      localObject = null;
      if (localList != null)
      {
        boolean bool = localStoreTimeInfoList.getmStoreTimeInfoList().isEmpty();
        localObject = null;
        if (!bool)
        {
          if (localStoreTimeInfoList.getmStoreTimeInfoList().size() != 1)
            break label153;
          localObject = (StoreTimeInfo)localStoreTimeInfoList.getmStoreTimeInfoList().get(0);
        }
      }
    }
    if ((localObject != null) && (!isClosedDay(paramCalendar, paramArrayList1, (StoreTimeInfo)localObject)))
    {
      StoreTimeInfo localStoreTimeInfo1 = getSpecialDay(paramCalendar, paramArrayList2);
      if (localStoreTimeInfo1 != null)
      {
        String str1 = localStoreTimeInfo1.getOpenTime();
        String str2 = localStoreTimeInfo1.getCloseTime();
        localObject = new StoreTimeInfo(i, str1, str2);
      }
      return localObject;
      label153: long l1 = Calendar.getInstance().getTimeInMillis();
      label434: for (int j = 0; ; j++)
        while (true)
        {
          int k = localStoreTimeInfoList.getmStoreTimeInfoList().size();
          localObject = null;
          if (j >= k)
            break;
          StoreTimeInfo localStoreTimeInfo2 = (StoreTimeInfo)localStoreTimeInfoList.getmStoreTimeInfoList().get(j);
          if (!TextUtils.isEmpty(localStoreTimeInfo2.getCloseTime()))
          {
            String[] arrayOfString1 = localStoreTimeInfo2.getCloseTime().split(":");
            String[] arrayOfString2 = localStoreTimeInfo2.getOpenTime().split(":");
            Calendar localCalendar1 = Calendar.getInstance();
            Calendar localCalendar2 = Calendar.getInstance();
            Calendar localCalendar3 = Calendar.getInstance();
            try
            {
              localCalendar2.set(11, Integer.parseInt(arrayOfString2[0]));
              localCalendar2.set(12, Integer.parseInt(arrayOfString2[1]));
              l2 = localCalendar2.getTimeInMillis();
            }
            catch (NumberFormatException localNumberFormatException2)
            {
              try
              {
                localCalendar3.set(11, Integer.parseInt(arrayOfString1[0]));
                localCalendar3.set(12, Integer.parseInt(arrayOfString1[1]));
                l3 = localCalendar3.getTimeInMillis();
                if (l3 >= l2);
              }
              catch (NumberFormatException localNumberFormatException2)
              {
                try
                {
                  while (true)
                  {
                    long l2;
                    long l3;
                    localCalendar3.set(5, 1 + localCalendar3.get(5));
                    if ((l1 < l2) && (l1 < l3))
                      localCalendar1.set(5, 1 + localCalendar1.get(5));
                    long l4 = localCalendar3.getTimeInMillis();
                    l1 = localCalendar1.getTimeInMillis();
                    if (l1 >= l4)
                      break label434;
                    localObject = localStoreTimeInfo2;
                    break;
                    localNumberFormatException1 = localNumberFormatException1;
                    localNumberFormatException1.printStackTrace();
                  }
                  localNumberFormatException2 = localNumberFormatException2;
                  localNumberFormatException2.printStackTrace();
                }
                catch (NumberFormatException localNumberFormatException3)
                {
                  while (true)
                    localNumberFormatException3.printStackTrace();
                }
              }
            }
          }
        }
    }
    return null;
  }

  public static String getDayText(int paramInt, Context paramContext)
  {
    switch (paramInt)
    {
    default:
      return null;
    case 1:
      return paramContext.getString(2131165681);
    case 2:
      return paramContext.getString(2131165469);
    case 3:
      return paramContext.getString(2131165717);
    case 4:
      return paramContext.getString(2131165731);
    case 5:
      return paramContext.getString(2131165697);
    case 6:
      return paramContext.getString(2131165361);
    case 7:
    }
    return paramContext.getString(2131165590);
  }

  public static String getDayTextSmall(int paramInt, Context paramContext)
  {
    switch (paramInt)
    {
    default:
      return null;
    case 1:
      return paramContext.getString(2131165680);
    case 2:
      return paramContext.getString(2131165468);
    case 3:
      return paramContext.getString(2131165716);
    case 4:
      return paramContext.getString(2131165730);
    case 5:
      return paramContext.getString(2131165696);
    case 6:
      return paramContext.getString(2131165360);
    case 7:
    }
    return paramContext.getString(2131165589);
  }

  private static StoreTimeInfo getSpecialDay(Calendar paramCalendar, ArrayList<StoreTimeInfo> paramArrayList)
  {
    if ((paramArrayList != null) && (!paramArrayList.isEmpty()))
    {
      Iterator localIterator1 = paramArrayList.iterator();
      while (localIterator1.hasNext())
      {
        StoreTimeInfo localStoreTimeInfo = (StoreTimeInfo)localIterator1.next();
        DateRangeFilter localDateRangeFilter = localStoreTimeInfo.getDateRangeFilter();
        if ((localDateRangeFilter != null) && (localDateRangeFilter.getDateRangeList() != null))
        {
          Iterator localIterator2 = localDateRangeFilter.getDateRangeList().getDateRange().iterator();
          while (localIterator2.hasNext())
          {
            DateRange localDateRange = (DateRange)localIterator2.next();
            String str1 = localDateRange.getDateRangeBegin();
            String str2 = localDateRange.getDateRangeEnd();
            if (str1 != null);
            try
            {
              if (!str1.isEmpty())
              {
                if (Character.isLetter(str1.charAt(-1 + str1.length())))
                  str1 = str1.substring(0, -1 + str1.length());
                Date localDate2 = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).parse(str1);
                Calendar localCalendar2 = Calendar.getInstance();
                localCalendar2.setTime(localDate2);
                if ((paramCalendar.get(2) == localCalendar2.get(2)) && (paramCalendar.get(5) == localCalendar2.get(5)))
                  return localStoreTimeInfo;
              }
              if ((str2 != null) && (!str2.isEmpty()))
              {
                if (Character.isLetter(str1.charAt(-1 + str2.length())))
                  str2 = str2.substring(0, -1 + str2.length());
                Date localDate1 = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).parse(str2);
                Calendar localCalendar1 = Calendar.getInstance();
                localCalendar1.setTime(localDate1);
                if (paramCalendar.get(2) == localCalendar1.get(2))
                {
                  int i = paramCalendar.get(5);
                  int j = localCalendar1.get(5);
                  if (i == j)
                    return localStoreTimeInfo;
                }
              }
            }
            catch (ParseException localParseException)
            {
              return null;
            }
          }
        }
      }
    }
    return null;
  }

  public static StoreOpenInfo getStoreOpenInfo(StoreRef paramStoreRef, Context paramContext)
  {
    ArrayList localArrayList1 = paramStoreRef.getStoreTimeInfoList();
    ArrayList localArrayList2 = paramStoreRef.getCloseDateInfoList();
    ArrayList localArrayList3 = paramStoreRef.getSpecialDateInfoList();
    String str = paramStoreRef.getStoreOpeiningMessage();
    Calendar localCalendar1 = Calendar.getInstance();
    if ((localArrayList1 != null) && (localArrayList1.size() == 7))
    {
      StoreTimeInfo localStoreTimeInfo = getCurrentDayOpenInfo(localCalendar1, localArrayList1, localArrayList2, localArrayList3);
      if ((localStoreTimeInfo != null) && (!TextUtils.isEmpty(localStoreTimeInfo.getOpenTime())) && (!TextUtils.isEmpty(localStoreTimeInfo.getCloseTime())))
      {
        int i = localCalendar1.get(7);
        String[] arrayOfString1 = localStoreTimeInfo.getOpenTime().split(":");
        String[] arrayOfString2 = localStoreTimeInfo.getCloseTime().split(":");
        Calendar localCalendar2 = Calendar.getInstance();
        try
        {
          localCalendar2.set(11, Integer.parseInt(arrayOfString1[0]));
          localCalendar2.set(12, Integer.parseInt(arrayOfString1[1]));
          l1 = localCalendar2.getTimeInMillis();
          localCalendar3 = Calendar.getInstance();
        }
        catch (NumberFormatException localNumberFormatException2)
        {
          try
          {
            localCalendar3.set(11, Integer.parseInt(arrayOfString2[0]));
            localCalendar3.set(12, Integer.parseInt(arrayOfString2[1]));
            l2 = localCalendar3.getTimeInMillis();
            l3 = localCalendar1.getTimeInMillis();
            if (l2 >= l1);
          }
          catch (NumberFormatException localNumberFormatException2)
          {
            try
            {
              while (true)
              {
                Calendar localCalendar3;
                long l2;
                long l3;
                localCalendar3.set(5, 1 + localCalendar3.get(5));
                if ((l3 < l1) && (l3 < l2))
                  localCalendar1.set(5, 1 + localCalendar1.get(5));
                l4 = localCalendar3.getTimeInMillis();
                l5 = localCalendar1.getTimeInMillis();
                if ((l5 < l1) || (l5 >= l4))
                  break;
                return new StoreOpenInfo(true, l4, l1, "" + getDayText(i, paramContext), "");
                localNumberFormatException1 = localNumberFormatException1;
                localNumberFormatException1.printStackTrace();
              }
              localNumberFormatException2 = localNumberFormatException2;
              localNumberFormatException2.printStackTrace();
            }
            catch (NumberFormatException localNumberFormatException3)
            {
              long l1;
              long l4;
              long l5;
              while (true)
                localNumberFormatException3.printStackTrace();
              if (l5 <= l1)
                return new StoreOpenInfo(false, l4, l1, paramContext.getString(2131165709), "");
              if (l5 < l4)
                break label409;
            }
          }
        }
        return findNextOpenDay(paramContext, localArrayList1, localArrayList2, localArrayList3, str);
      }
      else
      {
        return findNextOpenDay(paramContext, localArrayList1, localArrayList2, localArrayList3, str);
      }
    }
    label409: if (!TextUtils.isEmpty(str))
      return new StoreOpenInfo(false, 0L, 0L, null, str);
    return new StoreOpenInfo(false, 0L, 0L, null, "");
  }

  private static boolean isClosedDay(Calendar paramCalendar, ArrayList<StoreTimeInfo> paramArrayList, StoreTimeInfo paramStoreTimeInfo)
  {
    if ((paramArrayList != null) && (!paramArrayList.isEmpty()))
    {
      Iterator localIterator1 = paramArrayList.iterator();
      while (localIterator1.hasNext())
      {
        DateRangeFilter localDateRangeFilter = ((StoreTimeInfo)localIterator1.next()).getDateRangeFilter();
        if ((localDateRangeFilter != null) && (localDateRangeFilter.getDateRangeList() != null))
        {
          Iterator localIterator2 = localDateRangeFilter.getDateRangeList().getDateRange().iterator();
          while (localIterator2.hasNext())
          {
            DateRange localDateRange = (DateRange)localIterator2.next();
            String str1 = localDateRange.getDateRangeBegin();
            String str2 = localDateRange.getDateRangeEnd();
            try
            {
              if ((!TextUtils.isEmpty(str1)) && (!TextUtils.isEmpty(str2)))
              {
                if (Character.isLetter(str1.charAt(-1 + str1.length())))
                  str1 = str1.substring(0, -1 + str1.length());
                Date localDate1 = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).parse(str1);
                Calendar localCalendar1 = Calendar.getInstance();
                localCalendar1.setTime(localDate1);
                localCalendar1.set(1, paramCalendar.get(1));
                if (Character.isLetter(str2.charAt(-1 + str2.length())))
                  str2 = str2.substring(0, -1 + str2.length());
                Date localDate2 = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).parse(str2);
                Calendar localCalendar2 = Calendar.getInstance();
                localCalendar2.setTime(localDate2);
                localCalendar2.set(1, paramCalendar.get(1));
                localCalendar2.set(11, 23);
                localCalendar2.set(12, 59);
                localCalendar2.set(13, 59);
                long l1 = localCalendar1.getTimeInMillis();
                long l2 = localCalendar2.getTimeInMillis();
                if (l1 <= paramCalendar.getTimeInMillis())
                {
                  long l3 = paramCalendar.getTimeInMillis();
                  if (l2 >= l3)
                    return true;
                }
              }
            }
            catch (ParseException localParseException)
            {
              localParseException.printStackTrace();
              return false;
            }
          }
        }
      }
    }
    return false;
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.ikea.kompis.util.DateUtil
 * JD-Core Version:    0.6.2
 */