package com.ikea.shared.config.service;

import android.content.Context;
import com.ikea.shared.AppConfigData;
import com.ikea.shared.AppConfigManager;
import com.ikea.shared.BaseService;
import com.ikea.shared.BaseService.NetworkCaller;
import com.ikea.shared.config.model.Config;
import com.ikea.shared.config.model.Country;
import com.ikea.shared.config.model.KillSwitchConfig;
import com.ikea.shared.event.KillSwitchEvent;
import com.ikea.shared.network.KompisRequest;
import com.ikea.shared.network.RequestUtil;
import com.ikea.shared.util.DataPersister;
import com.ikea.shared.util.L;
import com.ikea.shared.util.ServiceCallback;
import com.squareup.otto.Bus;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.concurrent.ExecutorService;

public final class ConfigService extends BaseService
{
  private static final String FOLDER_NAME = "configData";
  private static ConfigService instance;
  private Config mConfig;
  private final DataPersister<Config> mDataPersister;

  private ConfigService(Context paramContext)
  {
    super(paramContext);
    this.mDataPersister = new DataPersister(paramContext, "configData", Config.class, null);
    loadConfigFromDisk();
  }

  private Config fetchConfig()
    throws Exception
  {
    KompisRequest localKompisRequest = RequestUtil.getConfigRequest(this.mContext);
    return (Config)new BaseService.NetworkCaller(this, Config.class, this.mContext).execute(localKompisRequest);
  }

  private KillSwitchConfig getConfigurationKS(Context paramContext)
    throws Exception
  {
    KompisRequest localKompisRequest = RequestUtil.getConfigurationKS(paramContext);
    return (KillSwitchConfig)new BaseService.NetworkCaller(this, KillSwitchConfig.class, this.mContext).execute(localKompisRequest);
  }

  private KillSwitchConfig getConfigurationKS(Context paramContext, String paramString1, String paramString2)
    throws Exception
  {
    KompisRequest localKompisRequest = RequestUtil.getConfigurationKS(paramContext, paramString1, paramString2);
    return (KillSwitchConfig)new BaseService.NetworkCaller(this, KillSwitchConfig.class, this.mContext).execute(localKompisRequest);
  }

  public static final ConfigService i(Context paramContext)
  {
    try
    {
      if (instance == null)
        instance = new ConfigService(paramContext);
      ConfigService localConfigService = instance;
      return localConfigService;
    }
    finally
    {
    }
  }

  private void loadConfigFromDisk()
  {
    try
    {
      List localList = this.mDataPersister.load();
      if ((localList != null) && (!localList.isEmpty()))
        this.mConfig = ((Config)localList.get(0));
      return;
    }
    catch (FileNotFoundException localFileNotFoundException)
    {
      localFileNotFoundException.printStackTrace();
    }
  }

  private void sortConfig(Config paramConfig)
  {
    try
    {
      Collections.sort(this.mConfig.getCountry(), new Comparator()
      {
        public int compare(Country paramAnonymousCountry1, Country paramAnonymousCountry2)
        {
          return paramAnonymousCountry1.getCountryName().compareTo(paramAnonymousCountry2.getCountryName());
        }
      });
      return;
    }
    catch (Exception localException)
    {
      localException.printStackTrace();
    }
  }

  public Config getCachedConfig()
  {
    return this.mConfig;
  }

  public void getConfigurationKSAsync(final ServiceCallback<KillSwitchConfig> paramServiceCallback, final String paramString1, final String paramString2)
  {
    this.mExecutorService.execute(new Runnable()
    {
      // ERROR //
      public void run()
      {
        // Byte code:
        //   0: aload_0
        //   1: getfield 22	com/ikea/shared/config/service/ConfigService$3:this$0	Lcom/ikea/shared/config/service/ConfigService;
        //   4: invokestatic 38	com/ikea/shared/config/service/ConfigService:access$500	(Lcom/ikea/shared/config/service/ConfigService;)Landroid/content/Context;
        //   7: invokestatic 44	com/ikea/shared/util/UiUtil:isConnectionAvailable	(Landroid/content/Context;)Z
        //   10: ifeq +197 -> 207
        //   13: aload_0
        //   14: getfield 24	com/ikea/shared/config/service/ConfigService$3:val$retailCode	Ljava/lang/String;
        //   17: invokestatic 50	android/text/TextUtils:isEmpty	(Ljava/lang/CharSequence;)Z
        //   20: ifne +188 -> 208
        //   23: aload_0
        //   24: getfield 26	com/ikea/shared/config/service/ConfigService$3:val$language	Ljava/lang/String;
        //   27: invokestatic 50	android/text/TextUtils:isEmpty	(Ljava/lang/CharSequence;)Z
        //   30: ifne +178 -> 208
        //   33: aload_0
        //   34: getfield 22	com/ikea/shared/config/service/ConfigService$3:this$0	Lcom/ikea/shared/config/service/ConfigService;
        //   37: aload_0
        //   38: getfield 22	com/ikea/shared/config/service/ConfigService$3:this$0	Lcom/ikea/shared/config/service/ConfigService;
        //   41: invokestatic 53	com/ikea/shared/config/service/ConfigService:access$600	(Lcom/ikea/shared/config/service/ConfigService;)Landroid/content/Context;
        //   44: aload_0
        //   45: getfield 24	com/ikea/shared/config/service/ConfigService$3:val$retailCode	Ljava/lang/String;
        //   48: aload_0
        //   49: getfield 26	com/ikea/shared/config/service/ConfigService$3:val$language	Ljava/lang/String;
        //   52: invokestatic 57	com/ikea/shared/config/service/ConfigService:access$700	(Lcom/ikea/shared/config/service/ConfigService;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Lcom/ikea/shared/config/model/KillSwitchConfig;
        //   55: astore_2
        //   56: aload_2
        //   57: ifnull +150 -> 207
        //   60: aload_2
        //   61: invokevirtual 63	com/ikea/shared/config/model/KillSwitchConfig:isSuccessful	()Z
        //   64: ifeq +143 -> 207
        //   67: aload_0
        //   68: getfield 28	com/ikea/shared/config/service/ConfigService$3:val$callback	Lcom/ikea/shared/util/ServiceCallback;
        //   71: ifnull +155 -> 226
        //   74: aload_0
        //   75: getfield 28	com/ikea/shared/config/service/ConfigService$3:val$callback	Lcom/ikea/shared/util/ServiceCallback;
        //   78: aload_2
        //   79: aconst_null
        //   80: aconst_null
        //   81: invokevirtual 69	com/ikea/shared/util/ServiceCallback:callbackDone	(Ljava/lang/Object;Lcom/ikea/shared/AppError;Ljava/lang/Exception;)V
        //   84: aconst_null
        //   85: astore 4
        //   87: aload 4
        //   89: ifnull +75 -> 164
        //   92: aload_2
        //   93: invokevirtual 73	com/ikea/shared/config/model/KillSwitchConfig:getAlertDetails	()Lcom/ikea/shared/config/model/ConfigAlert;
        //   96: ifnull +68 -> 164
        //   99: aload 4
        //   101: invokevirtual 73	com/ikea/shared/config/model/KillSwitchConfig:getAlertDetails	()Lcom/ikea/shared/config/model/ConfigAlert;
        //   104: ifnull +60 -> 164
        //   107: aload_2
        //   108: invokevirtual 73	com/ikea/shared/config/model/KillSwitchConfig:getAlertDetails	()Lcom/ikea/shared/config/model/ConfigAlert;
        //   111: invokevirtual 79	com/ikea/shared/config/model/ConfigAlert:getVersion	()Ljava/lang/String;
        //   114: invokestatic 50	android/text/TextUtils:isEmpty	(Ljava/lang/CharSequence;)Z
        //   117: ifne +47 -> 164
        //   120: aload 4
        //   122: invokevirtual 73	com/ikea/shared/config/model/KillSwitchConfig:getAlertDetails	()Lcom/ikea/shared/config/model/ConfigAlert;
        //   125: invokevirtual 79	com/ikea/shared/config/model/ConfigAlert:getVersion	()Ljava/lang/String;
        //   128: invokestatic 50	android/text/TextUtils:isEmpty	(Ljava/lang/CharSequence;)Z
        //   131: ifne +33 -> 164
        //   134: aload_2
        //   135: invokevirtual 73	com/ikea/shared/config/model/KillSwitchConfig:getAlertDetails	()Lcom/ikea/shared/config/model/ConfigAlert;
        //   138: invokevirtual 79	com/ikea/shared/config/model/ConfigAlert:getVersion	()Ljava/lang/String;
        //   141: aload 4
        //   143: invokevirtual 73	com/ikea/shared/config/model/KillSwitchConfig:getAlertDetails	()Lcom/ikea/shared/config/model/ConfigAlert;
        //   146: invokevirtual 79	com/ikea/shared/config/model/ConfigAlert:getVersion	()Ljava/lang/String;
        //   149: invokevirtual 85	java/lang/String:equalsIgnoreCase	(Ljava/lang/String;)Z
        //   152: ifne +12 -> 164
        //   155: aload_2
        //   156: aload 4
        //   158: invokevirtual 73	com/ikea/shared/config/model/KillSwitchConfig:getAlertDetails	()Lcom/ikea/shared/config/model/ConfigAlert;
        //   161: invokevirtual 89	com/ikea/shared/config/model/KillSwitchConfig:setAlertDetails	(Lcom/ikea/shared/config/model/ConfigAlert;)V
        //   164: aload_2
        //   165: invokestatic 95	java/lang/System:currentTimeMillis	()J
        //   168: invokevirtual 99	com/ikea/shared/config/model/KillSwitchConfig:setLastUpdatedTime	(J)V
        //   171: aload_0
        //   172: getfield 22	com/ikea/shared/config/service/ConfigService$3:this$0	Lcom/ikea/shared/config/service/ConfigService;
        //   175: invokestatic 102	com/ikea/shared/config/service/ConfigService:access$1100	(Lcom/ikea/shared/config/service/ConfigService;)Landroid/content/Context;
        //   178: invokestatic 108	com/ikea/shared/AppConfigManager:i	(Landroid/content/Context;)Lcom/ikea/shared/AppConfigManager;
        //   181: aload_2
        //   182: invokevirtual 112	com/ikea/shared/AppConfigManager:saveKillSwitchConfig	(Lcom/ikea/shared/config/model/KillSwitchConfig;)V
        //   185: aload_0
        //   186: getfield 22	com/ikea/shared/config/service/ConfigService$3:this$0	Lcom/ikea/shared/config/service/ConfigService;
        //   189: invokestatic 116	com/ikea/shared/config/service/ConfigService:access$1300	(Lcom/ikea/shared/config/service/ConfigService;)Landroid/os/Handler;
        //   192: new 118	com/ikea/shared/config/service/ConfigService$3$1
        //   195: dup
        //   196: aload_0
        //   197: aload 4
        //   199: aload_2
        //   200: invokespecial 121	com/ikea/shared/config/service/ConfigService$3$1:<init>	(Lcom/ikea/shared/config/service/ConfigService$3;Lcom/ikea/shared/config/model/KillSwitchConfig;Lcom/ikea/shared/config/model/KillSwitchConfig;)V
        //   203: invokevirtual 127	android/os/Handler:post	(Ljava/lang/Runnable;)Z
        //   206: pop
        //   207: return
        //   208: aload_0
        //   209: getfield 22	com/ikea/shared/config/service/ConfigService$3:this$0	Lcom/ikea/shared/config/service/ConfigService;
        //   212: aload_0
        //   213: getfield 22	com/ikea/shared/config/service/ConfigService$3:this$0	Lcom/ikea/shared/config/service/ConfigService;
        //   216: invokestatic 130	com/ikea/shared/config/service/ConfigService:access$800	(Lcom/ikea/shared/config/service/ConfigService;)Landroid/content/Context;
        //   219: invokestatic 134	com/ikea/shared/config/service/ConfigService:access$900	(Lcom/ikea/shared/config/service/ConfigService;Landroid/content/Context;)Lcom/ikea/shared/config/model/KillSwitchConfig;
        //   222: astore_2
        //   223: goto -167 -> 56
        //   226: aload_0
        //   227: getfield 22	com/ikea/shared/config/service/ConfigService$3:this$0	Lcom/ikea/shared/config/service/ConfigService;
        //   230: invokestatic 137	com/ikea/shared/config/service/ConfigService:access$1000	(Lcom/ikea/shared/config/service/ConfigService;)Landroid/content/Context;
        //   233: invokestatic 108	com/ikea/shared/AppConfigManager:i	(Landroid/content/Context;)Lcom/ikea/shared/AppConfigManager;
        //   236: invokevirtual 141	com/ikea/shared/AppConfigManager:getAppConfigData	()Lcom/ikea/shared/AppConfigData;
        //   239: invokevirtual 147	com/ikea/shared/AppConfigData:getKillSwitchConfig	()Lcom/ikea/shared/config/model/KillSwitchConfig;
        //   242: astore_3
        //   243: aload_3
        //   244: astore 4
        //   246: goto -159 -> 87
        //   249: astore_1
        //   250: aload_1
        //   251: invokevirtual 150	java/lang/Exception:printStackTrace	()V
        //   254: return
        //   255: astore 5
        //   257: return
        //
        // Exception table:
        //   from	to	target	type
        //   0	56	249	java/lang/Exception
        //   60	84	249	java/lang/Exception
        //   92	164	249	java/lang/Exception
        //   164	185	249	java/lang/Exception
        //   208	223	249	java/lang/Exception
        //   226	243	249	java/lang/Exception
        //   185	207	255	java/lang/Exception
      }
    });
  }

  public void loadConfigureAsyc(final ServiceCallback<Config> paramServiceCallback)
  {
    this.mExecutorService.execute(new Runnable()
    {
      public void run()
      {
        try
        {
          if ((ConfigService.this.mConfig == null) || ((ConfigService.this.mConfig != null) && (System.currentTimeMillis() - ConfigService.this.mConfig.getLastUpdatedTime() > 172800000L)))
          {
            Config localConfig = ConfigService.this.fetchConfig();
            if ((localConfig == null) || (!localConfig.isSuccessful()))
              break label160;
            ConfigService.access$002(ConfigService.this, localConfig);
            ConfigService.this.mConfig.setLastUpdatedTime(System.currentTimeMillis());
            ConfigService.this.sortConfig(ConfigService.this.mConfig);
            ConfigService.this.saveConfig(ConfigService.this.mConfig);
            if (AppConfigManager.i(ConfigService.this.mContext).getAppConfigData() != null)
              AppConfigManager.i(ConfigService.this.mContext).getAppConfigData().resetConfigData(localConfig);
          }
          while (true)
          {
            paramServiceCallback.callbackDone(ConfigService.this.mConfig, null, null);
            return;
            label160: paramServiceCallback.callbackDone(null, null, null);
          }
        }
        catch (Exception localException)
        {
          localException.printStackTrace();
          paramServiceCallback.callbackDone(null, null, localException);
        }
      }
    });
  }

  public void saveConfig(Config paramConfig)
    throws IOException
  {
    try
    {
      this.mDataPersister.reset();
      this.mDataPersister.save(paramConfig);
      return;
    }
    catch (IOException localIOException)
    {
      L.E(this, "exception saving ", localIOException);
      throw localIOException;
    }
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.ikea.shared.config.service.ConfigService
 * JD-Core Version:    0.6.2
 */