zzc.java 2.57 KB
package com.google.android.gms.internal;

import android.os.Process;
import java.util.concurrent.BlockingQueue;

public class zzc
  extends Thread
{
  private static final boolean a = zzt.DEBUG;
  private final BlockingQueue<zzl<?>> b;
  private final BlockingQueue<zzl<?>> c;
  private final zzb d;
  private final zzo e;
  private volatile boolean f = false;
  
  public zzc(BlockingQueue<zzl<?>> paramBlockingQueue1, BlockingQueue<zzl<?>> paramBlockingQueue2, zzb paramzzb, zzo paramzzo)
  {
    this.b = paramBlockingQueue1;
    this.c = paramBlockingQueue2;
    this.d = paramzzb;
    this.e = paramzzo;
  }
  
  public void quit()
  {
    this.f = true;
    interrupt();
  }
  
  public void run()
  {
    if (a) {
      zzt.zza("start new dispatcher", new Object[0]);
    }
    Process.setThreadPriority(10);
    this.d.initialize();
    for (;;)
    {
      zzb.zza localzza;
      try
      {
        zzl localzzl = (zzl)this.b.take();
        localzzl.zzc("cache-queue-take");
        localzza = this.d.zza(localzzl.zzg());
        if (localzza != null) {
          break label94;
        }
        localzzl.zzc("cache-miss");
        this.c.put(localzzl);
        continue;
        if (!this.f) {
          continue;
        }
      }
      catch (InterruptedException localInterruptedException) {}
      return;
      label94:
      if (localzza.zza())
      {
        localInterruptedException.zzc("cache-hit-expired");
        localInterruptedException.zza(localzza);
        this.c.put(localInterruptedException);
      }
      else
      {
        localInterruptedException.zzc("cache-hit");
        zzn localzzn = localInterruptedException.zza(new zzj(localzza.data, localzza.zzf));
        localInterruptedException.zzc("cache-hit-parsed");
        if (!localzza.zzb())
        {
          this.e.zza(localInterruptedException, localzzn);
        }
        else
        {
          localInterruptedException.zzc("cache-hit-refresh-needed");
          localInterruptedException.zza(localzza);
          localzzn.zzah = true;
          this.e.zza(localInterruptedException, localzzn, new Runnable()
          {
            public final void run()
            {
              try
              {
                zzc.a(zzc.this).put(localInterruptedException);
                return;
              }
              catch (InterruptedException localInterruptedException) {}
            }
          });
        }
      }
    }
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/com/google/android/gms/internal/zzc.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */