package com.ikea.shared.shopping.service;

import android.content.Context;
import com.google.gson.annotations.SerializedName;
import com.ikea.shared.cart.model.ShoppingBagItem;
import com.ikea.shared.cart.model.SyncEventModel;
import com.ikea.shared.util.DataPersister;
import com.ikea.shared.util.L;
import com.ikea.shared.util.Persistable;
import java.io.FileNotFoundException;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public class PersistentQueue
{
  private boolean isLoaded = false;
  private final DataPersister<QueueList> mDataPersister;
  private QueueList mQueueList = new QueueList();

  public PersistentQueue(Context paramContext, String paramString)
  {
    this.mDataPersister = new DataPersister(paramContext, paramString, QueueList.class, null);
  }

  private void addtoList(SyncEventModel paramSyncEventModel)
  {
    if (paramSyncEventModel.getEvent().equals("event_login_sync"))
      if ((this.mQueueList.inProcessEvent == null) || (!this.mQueueList.inProcessEvent.getEvent().equals("event_login_sync")));
    while (true)
    {
      return;
      if (this.mQueueList.mDataList.size() > 0)
        this.mQueueList.mDataList.clear();
      QueueList.access$002(this.mQueueList, null);
      this.mQueueList.mDataList.add(paramSyncEventModel);
      return;
      if (paramSyncEventModel.getEvent().equals("event_sync"))
      {
        if ((this.mQueueList.inProcessEvent == null) || ((!this.mQueueList.inProcessEvent.getEvent().equals("event_login_sync")) && (!this.mQueueList.inProcessEvent.getEvent().equals("event_sync"))))
        {
          int j = this.mQueueList.mDataList.size();
          if (j > 0)
          {
            SyncEventModel localSyncEventModel3 = (SyncEventModel)this.mQueueList.mDataList.get(j - 1);
            if ((localSyncEventModel3 != null) && (!localSyncEventModel3.getEvent().equals("event_sync")))
              this.mQueueList.mDataList.add(paramSyncEventModel);
          }
          else
          {
            this.mQueueList.mDataList.add(paramSyncEventModel);
          }
        }
      }
      else
      {
        int i = this.mQueueList.mDataList.size();
        SyncEventModel localSyncEventModel1 = null;
        if (i > 0)
        {
          SyncEventModel localSyncEventModel2 = (SyncEventModel)this.mQueueList.mDataList.get(i - 1);
          localSyncEventModel1 = null;
          if (localSyncEventModel2 != null)
          {
            boolean bool = localSyncEventModel2.getEvent().equals("event_sync");
            localSyncEventModel1 = null;
            if (bool)
              localSyncEventModel1 = (SyncEventModel)this.mQueueList.mDataList.remove(i - 1);
          }
        }
        if (!this.mQueueList.mDataList.contains(paramSyncEventModel))
          this.mQueueList.mDataList.add(paramSyncEventModel);
        while (localSyncEventModel1 != null)
        {
          this.mQueueList.mDataList.add(localSyncEventModel1);
          return;
          updateQueue(paramSyncEventModel);
        }
      }
    }
  }

  private void savePersistently()
  {
    try
    {
      this.mDataPersister.save(this.mQueueList);
      return;
    }
    catch (Exception localException)
    {
      localException.printStackTrace();
    }
  }

  private void updateQueue(SyncEventModel paramSyncEventModel)
  {
    SyncEventModel localSyncEventModel2;
    if (paramSyncEventModel.getEvent().equals("event_add"))
    {
      int k = this.mQueueList.mDataList.indexOf(paramSyncEventModel);
      if (k > -1)
      {
        localSyncEventModel2 = (SyncEventModel)this.mQueueList.mDataList.get(k);
        if (!localSyncEventModel2.getEvent().equals("event_update"))
          break label95;
        this.mQueueList.mDataList.remove(localSyncEventModel2);
        this.mQueueList.mDataList.add(paramSyncEventModel);
      }
    }
    label95: SyncEventModel localSyncEventModel1;
    do
    {
      int i;
      do
      {
        do
        {
          do
          {
            return;
            if (localSyncEventModel2.getEvent().equals("event_add"))
            {
              ((ShoppingBagItem)localSyncEventModel2.getItems().get(0)).setItemQty(((ShoppingBagItem)paramSyncEventModel.getItems().get(0)).getItemQty());
              return;
            }
          }
          while (!localSyncEventModel2.getEvent().equals("event_remove"));
          ((ShoppingBagItem)localSyncEventModel2.getItems().get(0)).setItemQty(((ShoppingBagItem)paramSyncEventModel.getItems().get(0)).getItemQty());
          localSyncEventModel2.setEvent("event_update");
          return;
          if (paramSyncEventModel.getEvent().equals("event_remove"))
          {
            int j = this.mQueueList.mDataList.indexOf(paramSyncEventModel);
            if (j > -1)
              this.mQueueList.mDataList.remove(j);
            this.mQueueList.mDataList.add(paramSyncEventModel);
            return;
          }
        }
        while (!paramSyncEventModel.getEvent().equals("event_update"));
        i = this.mQueueList.mDataList.indexOf(paramSyncEventModel);
      }
      while (i <= -1);
      localSyncEventModel1 = (SyncEventModel)this.mQueueList.mDataList.get(i);
      if (localSyncEventModel1.getEvent().equals("event_update"))
      {
        this.mQueueList.mDataList.remove(localSyncEventModel1);
        this.mQueueList.mDataList.add(paramSyncEventModel);
        return;
      }
      if (localSyncEventModel1.getEvent().equals("event_add"))
      {
        ((ShoppingBagItem)localSyncEventModel1.getItems().get(0)).setItemQty(((ShoppingBagItem)paramSyncEventModel.getItems().get(0)).getItemQty());
        return;
      }
    }
    while (!localSyncEventModel1.getEvent().equals("event_remove"));
    this.mQueueList.mDataList.remove(localSyncEventModel1);
    this.mQueueList.mDataList.add(paramSyncEventModel);
  }

  public boolean isEmpty()
  {
    if (this.mQueueList.inProcessEvent != null)
      return false;
    return this.mQueueList.mDataList.isEmpty();
  }

  public boolean isLoaded()
  {
    return this.isLoaded;
  }

  public void load()
  {
    try
    {
      List localList = this.mDataPersister.load();
      if ((localList != null) && (!localList.isEmpty()))
        this.mQueueList = ((QueueList)localList.get(0));
      if (this.mQueueList == null)
        this.mQueueList = new QueueList();
      this.isLoaded = true;
      return;
    }
    catch (FileNotFoundException localFileNotFoundException)
    {
      while (true)
        localFileNotFoundException.printStackTrace();
    }
  }

  public SyncEventModel peak()
  {
    if (this.mQueueList.inProcessEvent != null)
    {
      L.I("peek object " + this.mQueueList.inProcessEvent);
      return this.mQueueList.inProcessEvent;
    }
    if (!this.mQueueList.mDataList.isEmpty())
    {
      SyncEventModel localSyncEventModel = (SyncEventModel)this.mQueueList.mDataList.get(0);
      L.I("pop object " + localSyncEventModel);
      this.mQueueList.mDataList.remove(0);
      QueueList.access$002(this.mQueueList, new SyncEventModel(localSyncEventModel));
      savePersistently();
      return localSyncEventModel;
    }
    return null;
  }

  public SyncEventModel pop()
  {
    if (this.mQueueList.inProcessEvent != null)
    {
      SyncEventModel localSyncEventModel = new SyncEventModel(this.mQueueList.inProcessEvent);
      QueueList.access$002(this.mQueueList, null);
      savePersistently();
      return localSyncEventModel;
    }
    return null;
  }

  public SyncEventModel push(SyncEventModel paramSyncEventModel)
  {
    addtoList(paramSyncEventModel);
    L.I("push object " + paramSyncEventModel);
    savePersistently();
    return paramSyncEventModel;
  }

  public void reset()
  {
    if (!isEmpty())
    {
      this.mQueueList.mDataList.clear();
      QueueList.access$002(this.mQueueList, null);
      savePersistently();
    }
  }

  public int size()
  {
    SyncEventModel localSyncEventModel = this.mQueueList.inProcessEvent;
    int i = 0;
    if (localSyncEventModel != null)
      i = 1;
    return i + this.mQueueList.mDataList.size();
  }

  class QueueList
    implements Persistable
  {

    @SerializedName("inProcessEvent")
    private SyncEventModel inProcessEvent;

    @SerializedName("mDataList")
    private final List<SyncEventModel> mDataList = Collections.synchronizedList(new LinkedList());

    QueueList()
    {
    }

    public String getId()
    {
      return QueueList.class.getSimpleName();
    }
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.ikea.shared.shopping.service.PersistentQueue
 * JD-Core Version:    0.6.2
 */