d.java 8.13 KB
package com.instabug.library.d;

import android.support.annotation.Nullable;
import com.instabug.library.internal.d.a.f;
import com.instabug.library.model.IssueType;
import com.instabug.library.model.b;
import com.instabug.library.model.c;
import com.instabug.library.model.g.b;
import com.instabug.library.model.g.c;
import com.instabug.library.util.InstabugSDKLogger;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class d
{
  private static d a;
  private List<e> b = new ArrayList();
  
  public static d a()
  {
    if (a == null) {
      a = new d();
    }
    return a;
  }
  
  @Nullable
  private c a(com.instabug.library.model.g paramg)
  {
    c localc = (c)f.a().d(paramg.g());
    paramg = localc;
    if (localc == null)
    {
      InstabugSDKLogger.v(this, "No local chats match messages's chat");
      paramg = null;
    }
    return paramg;
  }
  
  private static List<com.instabug.library.model.g> a(List<com.instabug.library.model.g> paramList1, List<com.instabug.library.model.g> paramList2)
  {
    ArrayList localArrayList = new ArrayList(paramList1);
    paramList2 = paramList2.iterator();
    for (;;)
    {
      if (!paramList2.hasNext()) {
        return localArrayList;
      }
      com.instabug.library.model.g localg1 = (com.instabug.library.model.g)paramList2.next();
      Iterator localIterator = paramList1.iterator();
      if (localIterator.hasNext())
      {
        com.instabug.library.model.g localg2 = (com.instabug.library.model.g)localIterator.next();
        if (!localg1.g().equals(localg2.g())) {
          break;
        }
        localArrayList.add(localg1);
      }
    }
    return localArrayList;
  }
  
  private List<com.instabug.library.model.g> a(JSONObject[] paramArrayOfJSONObject)
  {
    ArrayList localArrayList = new ArrayList();
    int i = 0;
    while (i < paramArrayOfJSONObject.length)
    {
      Object localObject2 = paramArrayOfJSONObject[i];
      try
      {
        JSONArray localJSONArray = ((JSONObject)localObject2).getJSONArray("attachments");
        if (((JSONObject)localObject2).getString("issue_type").equals(IssueType.BUG.toString())) {}
        for (Object localObject1 = IssueType.BUG;; localObject1 = IssueType.FEEDBACK)
        {
          localObject1 = new com.instabug.library.model.g(((JSONObject)localObject2).getString("id"), ((JSONObject)localObject2).getString("issue_id"), (IssueType)localObject1, ((JSONObject)localObject2).getString("body"), ((JSONObject)localObject2).getString("created_at"), ((JSONObject)localObject2).getString("read_at"), ((JSONObject)localObject2).getString("from"), ((JSONObject)localObject2).getString("avatar"), g.b.valueOf(((JSONObject)localObject2).getString("direction")));
          ((com.instabug.library.model.g)localObject1).a(g.c.c);
          int j = localJSONArray.length() - 1;
          while (j >= 0)
          {
            localObject2 = localJSONArray.getJSONObject(j);
            localObject2 = new b(((JSONObject)localObject2).getString("type"), ((JSONObject)localObject2).getString("url"));
            ((com.instabug.library.model.g)localObject1).j().add(localObject2);
            j -= 1;
          }
        }
        localArrayList.add(localObject1);
      }
      catch (JSONException localJSONException)
      {
        for (;;)
        {
          InstabugSDKLogger.e(this, "Failed to parse message number " + i, localJSONException);
        }
      }
      i += 1;
    }
    return localArrayList;
  }
  
  private void a(List<com.instabug.library.model.g> paramList)
  {
    InstabugSDKLogger.v(this, "Chats cache updating starting with " + paramList + " new messages");
    Iterator localIterator = paramList.iterator();
    for (;;)
    {
      com.instabug.library.model.g localg;
      if (localIterator.hasNext())
      {
        localg = (com.instabug.library.model.g)localIterator.next();
        InstabugSDKLogger.v(this, "new message to updating: " + localg.toString());
        c localc = a(localg);
        paramList = localc;
        if (localc == null)
        {
          InstabugSDKLogger.v(this, "Chat with id " + localg.g() + " doesn't exist, creating new one");
          paramList = new c(localg.g());
        }
        if ((!c(localg)) && (!d(localg))) {}
      }
      else
      {
        try
        {
          f.a(localg);
          return;
        }
        catch (IOException paramList)
        {
          InstabugSDKLogger.e(this, "Failed to update local message: " + b(localg) + " with synced message: " + localg, paramList);
          return;
        }
      }
      paramList.b().add(localg);
      InstabugSDKLogger.d(this, "Message " + localg + " added to cached thread " + paramList);
      f.a().a(paramList.a(), paramList);
    }
  }
  
  @Nullable
  private com.instabug.library.model.g b(com.instabug.library.model.g paramg)
  {
    Object localObject = a(paramg);
    if (localObject == null) {}
    for (localObject = null; localObject != null; localObject = ((c)localObject).b())
    {
      localObject = ((List)localObject).iterator();
      com.instabug.library.model.g localg;
      do
      {
        if (!((Iterator)localObject).hasNext()) {
          break;
        }
        localg = (com.instabug.library.model.g)((Iterator)localObject).next();
      } while ((!localg.e().equalsIgnoreCase(paramg.e())) || (!localg.a().equalsIgnoreCase(paramg.a())));
      return localg;
    }
    return null;
  }
  
  private void b(List<com.instabug.library.model.g> paramList)
  {
    InstabugSDKLogger.d(this, "Number of listeners to notify " + this.b.size());
    int i = this.b.size() - 1;
    if (i >= 0)
    {
      Object localObject = (e)this.b.get(i);
      InstabugSDKLogger.d(this, "Notifying listener " + localObject);
      if ((paramList != null) && (paramList.size() > 0))
      {
        InstabugSDKLogger.d(this, "Notifying listener with " + paramList.size() + " message(s)");
        localObject = ((e)localObject).a(paramList);
        StringBuilder localStringBuilder = new StringBuilder("Notified listener remained ");
        if (localObject != null) {}
        for (paramList = Integer.valueOf(((List)localObject).size());; paramList = null)
        {
          InstabugSDKLogger.d(this, paramList + " message(s) to be sent to next listener");
          i -= 1;
          paramList = (List<com.instabug.library.model.g>)localObject;
          break;
        }
      }
    }
  }
  
  private boolean c(com.instabug.library.model.g paramg)
  {
    com.instabug.library.model.g localg = b(paramg);
    return (localg != null) && (localg.e().equalsIgnoreCase(paramg.e())) && (localg.a().equalsIgnoreCase(paramg.a())) && (localg.i().equals(g.c.c)) && (localg.j().size() == paramg.j().size());
  }
  
  private boolean d(com.instabug.library.model.g paramg)
  {
    com.instabug.library.model.g localg = b(paramg);
    return (localg != null) && (localg.e().equalsIgnoreCase(paramg.e())) && (localg.a().equalsIgnoreCase(paramg.a())) && (localg.i().equals(g.c.b)) && (localg.j().size() == paramg.j().size());
  }
  
  public void a(e parame)
  {
    this.b.add(parame);
  }
  
  public void a(boolean paramBoolean, JSONObject... paramVarArgs)
  {
    paramVarArgs = a(paramVarArgs);
    ArrayList localArrayList = new ArrayList(paramVarArgs);
    Iterator localIterator = paramVarArgs.iterator();
    while (localIterator.hasNext())
    {
      com.instabug.library.model.g localg = (com.instabug.library.model.g)localIterator.next();
      if ((c(localg)) || (d(localg)) || (localg.l()) || (localg.d()))
      {
        InstabugSDKLogger.d(this, "Message " + localg.toString() + " removed from list to be notified");
        localArrayList.remove(localg);
      }
    }
    if (paramBoolean) {
      a(a(paramVarArgs, f.g()));
    }
    while (this.b.size() > 0)
    {
      b(localArrayList);
      return;
      a(paramVarArgs);
    }
    throw new IllegalStateException("No one is listening for unread messages");
  }
  
  public void b(e parame)
  {
    this.b.remove(parame);
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/com/instabug/library/d/d.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */