package com.google.android.m4b.maps.g;

import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Handler;
import android.os.Handler.Callback;
import android.os.IBinder;
import android.os.Message;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;

public final class e
  implements Handler.Callback
{
  private static final Object a = new Object();
  private static e b;
  private final Context c;
  private final HashMap<String, a> d = new HashMap();
  private final Handler e = new Handler(paramContext.getMainLooper(), this);

  private e(Context paramContext)
  {
    this.c = paramContext.getApplicationContext();
  }

  public static e a(Context paramContext)
  {
    synchronized (a)
    {
      if (b == null)
        b = new e(paramContext.getApplicationContext());
      return b;
    }
  }

  public final boolean a(String paramString, c<?>.d paramc)
  {
    while (true)
    {
      a locala;
      synchronized (this.d)
      {
        locala = (a)this.d.get(paramString);
        if (locala == null)
        {
          locala = new a(paramString);
          locala.a(paramc);
          Intent localIntent1 = new Intent(paramString).setPackage("com.google.android.gms");
          locala.a(this.c.bindService(localIntent1, locala.a(), 129));
          this.d.put(paramString, locala);
          boolean bool = locala.c();
          return bool;
        }
        this.e.removeMessages(0, locala);
        if (locala.c(paramc))
          throw new IllegalStateException("Trying to bind a GmsServiceConnection that was already connected before.  startServiceAction=" + paramString);
      }
      locala.a(paramc);
      switch (locala.d())
      {
      case 1:
        paramc.onServiceConnected(locala.g(), locala.f());
        break;
      case 2:
        Intent localIntent2 = new Intent(paramString).setPackage("com.google.android.gms");
        locala.a(this.c.bindService(localIntent2, locala.a(), 129));
      }
    }
  }

  public final void b(String paramString, c<?>.d paramc)
  {
    a locala;
    synchronized (this.d)
    {
      locala = (a)this.d.get(paramString);
      if (locala == null)
        throw new IllegalStateException("Nonexistent connection status for service action: " + paramString);
    }
    if (!locala.c(paramc))
      throw new IllegalStateException("Trying to unbind a GmsServiceConnection  that was not bound before.  startServiceAction=" + paramString);
    locala.b(paramc);
    if (locala.e())
    {
      Message localMessage = this.e.obtainMessage(0, locala);
      this.e.sendMessageDelayed(localMessage, 5000L);
    }
  }

  public final boolean handleMessage(Message paramMessage)
  {
    switch (paramMessage.what)
    {
    default:
      return false;
    case 0:
    }
    a locala = (a)paramMessage.obj;
    synchronized (this.d)
    {
      if (locala.e())
      {
        this.c.unbindService(locala.a());
        this.d.remove(locala.b());
      }
      return true;
    }
  }

  final class a
  {
    private final String b;
    private final a c;
    private final HashSet<c<?>.d> d;
    private int e;
    private boolean f;
    private IBinder g;
    private ComponentName h;

    public a(String arg2)
    {
      Object localObject;
      this.b = localObject;
      this.c = new a();
      this.d = new HashSet();
      this.e = 0;
    }

    public final a a()
    {
      return this.c;
    }

    public final void a(c<?>.d paramc)
    {
      this.d.add(paramc);
    }

    public final void a(boolean paramBoolean)
    {
      this.f = paramBoolean;
    }

    public final String b()
    {
      return this.b;
    }

    public final void b(c<?>.d paramc)
    {
      this.d.remove(paramc);
    }

    public final boolean c()
    {
      return this.f;
    }

    public final boolean c(c<?>.d paramc)
    {
      return this.d.contains(paramc);
    }

    public final int d()
    {
      return this.e;
    }

    public final boolean e()
    {
      return this.d.isEmpty();
    }

    public final IBinder f()
    {
      return this.g;
    }

    public final ComponentName g()
    {
      return this.h;
    }

    public final class a
      implements ServiceConnection
    {
      public a()
      {
      }

      public final void onServiceConnected(ComponentName paramComponentName, IBinder paramIBinder)
      {
        synchronized (e.a(e.this))
        {
          e.a.a(e.a.this, paramIBinder);
          e.a.a(e.a.this, paramComponentName);
          Iterator localIterator = e.a.a(e.a.this).iterator();
          if (localIterator.hasNext())
            ((c.d)localIterator.next()).onServiceConnected(paramComponentName, paramIBinder);
        }
        e.a.a(e.a.this, 1);
      }

      public final void onServiceDisconnected(ComponentName paramComponentName)
      {
        synchronized (e.a(e.this))
        {
          e.a.a(e.a.this, null);
          e.a.a(e.a.this, paramComponentName);
          Iterator localIterator = e.a.a(e.a.this).iterator();
          if (localIterator.hasNext())
            ((c.d)localIterator.next()).onServiceDisconnected(paramComponentName);
        }
        e.a.a(e.a.this, 2);
      }
    }
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.google.android.m4b.maps.g.e
 * JD-Core Version:    0.6.2
 */