package com.google.android.m4b.maps.g;

import android.content.ComponentName;
import android.content.Context;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.IInterface;
import android.os.Looper;
import android.os.Message;
import android.os.RemoteException;
import android.util.Log;
import com.google.android.m4b.maps.d.a;
import com.google.android.m4b.maps.d.b.a;
import com.google.android.m4b.maps.e.a.a;
import java.util.ArrayList;

public abstract class c<T extends IInterface>
  implements a.a, d.b
{
  final Handler a;
  private final Context b;
  private final Looper c;
  private T d;
  private final ArrayList<c<T>.b<?>> e = new ArrayList();
  private c<T>.d f;
  private volatile int g = 1;
  private boolean h = false;
  private final d i;

  static
  {
    new String[] { "service_esmobile", "service_googleme" };
  }

  protected c(Context paramContext, Looper paramLooper, com.google.android.m4b.maps.e.c.b paramb, b.a parama, String[] paramArrayOfString)
  {
    this.b = ((Context)l.a(paramContext));
    this.c = ((Looper)l.a(paramLooper, "Looper must not be null"));
    this.i = new d(paramLooper, this);
    this.a = new a(paramLooper);
    com.google.android.m4b.maps.e.c.b localb = (com.google.android.m4b.maps.e.c.b)l.a(paramb);
    this.i.a(localb);
    b.a locala = (b.a)l.a(parama);
    this.i.a(locala);
  }

  private void a(int paramInt)
  {
    this.g = paramInt;
  }

  protected abstract T a(IBinder paramIBinder);

  public final void a()
  {
    this.h = true;
    a(2);
    int j = com.google.android.m4b.maps.d.d.a(this.b);
    if (j != 0)
    {
      a(1);
      this.a.sendMessage(this.a.obtainMessage(3, Integer.valueOf(j)));
    }
    do
    {
      return;
      if (this.f != null)
      {
        this.d = null;
        e.a(this.b).b(e(), this.f);
      }
      this.f = new d();
    }
    while (e.a(this.b).a(e(), this.f));
    new StringBuilder("unable to connect to service: ").append(e());
    this.a.sendMessage(this.a.obtainMessage(3, Integer.valueOf(9)));
  }

  protected abstract void a(i parami, c paramc);

  public final boolean a_()
  {
    return this.h;
  }

  public void b()
  {
    this.h = false;
    synchronized (this.e)
    {
      int j = this.e.size();
      for (int k = 0; k < j; k++)
        ((b)this.e.get(k)).c();
      this.e.clear();
      a(1);
      this.d = null;
      if (this.f != null)
      {
        e.a(this.b).b(e(), this.f);
        this.f = null;
      }
      return;
    }
  }

  protected final void b(IBinder paramIBinder)
  {
    try
    {
      a(i.a.a(paramIBinder), new c(this));
      return;
    }
    catch (RemoteException localRemoteException)
    {
    }
  }

  public final boolean c()
  {
    return this.g == 3;
  }

  public final Looper d()
  {
    return this.c;
  }

  protected abstract String e();

  protected abstract String f();

  public final boolean g()
  {
    return this.g == 2;
  }

  public final Context h()
  {
    return this.b;
  }

  protected final void i()
  {
    if (!c())
      throw new IllegalStateException("Not connected. Call connect() and wait for onConnected() to be called.");
  }

  public final T j()
  {
    i();
    return this.d;
  }

  final class a extends Handler
  {
    public a(Looper arg2)
    {
      super();
    }

    public final void handleMessage(Message paramMessage)
    {
      if ((paramMessage.what == 1) && (!c.this.g()))
      {
        ((c.b)paramMessage.obj).b();
        return;
      }
      if (paramMessage.what == 3)
      {
        c.a(c.this).a(new a(((Integer)paramMessage.obj).intValue(), null));
        return;
      }
      if (paramMessage.what == 4)
      {
        c.a(c.this, 1);
        c.a(c.this, null);
        c.a(c.this).a(((Integer)paramMessage.obj).intValue());
        return;
      }
      if ((paramMessage.what == 2) && (!c.this.c()))
      {
        ((c.b)paramMessage.obj).b();
        return;
      }
      if ((paramMessage.what == 2) || (paramMessage.what == 1))
      {
        ((c.b)paramMessage.obj).a();
        return;
      }
      Log.wtf("GmsClient", "Don't know how to handle this message.");
    }
  }

  public abstract class b<TListener>
  {
    private TListener a;
    private boolean b;

    public b()
    {
      Object localObject;
      this.a = localObject;
      this.b = false;
    }

    // ERROR //
    public final void a()
    {
      // Byte code:
      //   0: aload_0
      //   1: monitorenter
      //   2: aload_0
      //   3: getfield 21	com/google/android/m4b/maps/g/c$b:a	Ljava/lang/Object;
      //   6: astore_2
      //   7: aload_0
      //   8: getfield 23	com/google/android/m4b/maps/g/c$b:b	Z
      //   11: ifeq +22 -> 33
      //   14: new 27	java/lang/StringBuilder
      //   17: dup
      //   18: ldc 29
      //   20: invokespecial 32	java/lang/StringBuilder:<init>	(Ljava/lang/String;)V
      //   23: aload_0
      //   24: invokevirtual 36	java/lang/StringBuilder:append	(Ljava/lang/Object;)Ljava/lang/StringBuilder;
      //   27: ldc 38
      //   29: invokevirtual 41	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
      //   32: pop
      //   33: aload_0
      //   34: monitorexit
      //   35: aload_2
      //   36: ifnull +8 -> 44
      //   39: aload_0
      //   40: aload_2
      //   41: invokevirtual 44	com/google/android/m4b/maps/g/c$b:a	(Ljava/lang/Object;)V
      //   44: aload_0
      //   45: monitorenter
      //   46: aload_0
      //   47: iconst_1
      //   48: putfield 23	com/google/android/m4b/maps/g/c$b:b	Z
      //   51: aload_0
      //   52: monitorexit
      //   53: aload_0
      //   54: invokevirtual 46	com/google/android/m4b/maps/g/c$b:b	()V
      //   57: return
      //   58: astore_1
      //   59: aload_0
      //   60: monitorexit
      //   61: aload_1
      //   62: athrow
      //   63: astore 4
      //   65: aload 4
      //   67: athrow
      //   68: astore_3
      //   69: aload_0
      //   70: monitorexit
      //   71: aload_3
      //   72: athrow
      //
      // Exception table:
      //   from	to	target	type
      //   2	33	58	finally
      //   33	35	58	finally
      //   39	44	63	java/lang/RuntimeException
      //   46	53	68	finally
    }

    protected abstract void a(TListener paramTListener);

    public final void b()
    {
      c();
      synchronized (c.b(c.this))
      {
        c.b(c.this).remove(this);
        return;
      }
    }

    public final void c()
    {
      try
      {
        this.a = null;
        return;
      }
      finally
      {
        localObject = finally;
        throw localObject;
      }
    }
  }

  public static final class c extends h.a
  {
    private c a;

    public c(c paramc)
    {
      this.a = paramc;
    }

    public final void a(int paramInt, IBinder paramIBinder, Bundle paramBundle)
    {
      l.a("onPostInitComplete can be called only once per call to getServiceFromBroker", this.a);
      c localc = this.a;
      localc.a.sendMessage(localc.a.obtainMessage(1, new c.e(localc, paramInt, paramIBinder, paramBundle)));
      this.a = null;
    }
  }

  final class d
    implements ServiceConnection
  {
    d()
    {
    }

    public final void onServiceConnected(ComponentName paramComponentName, IBinder paramIBinder)
    {
      c.this.b(paramIBinder);
    }

    public final void onServiceDisconnected(ComponentName paramComponentName)
    {
      c.this.a.sendMessage(c.this.a.obtainMessage(4, Integer.valueOf(1)));
    }
  }

  public final class e extends c<T>.b<Boolean>
  {
    private int a;
    private Bundle b;
    private IBinder c;

    public e(int paramIBinder, IBinder paramBundle, Bundle arg4)
    {
      super(Boolean.valueOf(true));
      this.a = paramIBinder;
      this.c = paramBundle;
      Object localObject;
      this.b = localObject;
    }
  }
}

/* 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.c
 * JD-Core Version:    0.6.2
 */