zzauk.java 10.4 KB
package com.google.android.gms.internal;

import android.app.Activity;
import android.os.Build.VERSION;
import android.os.Bundle;
import android.support.annotation.MainThread;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.Size;
import android.support.annotation.WorkerThread;
import android.support.v4.util.ArrayMap;
import com.google.android.gms.common.internal.zzac;
import com.google.android.gms.common.util.zze;
import com.google.android.gms.measurement.AppMeasurement.zzd;
import com.google.android.gms.measurement.AppMeasurement.zzf;
import hz;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.CopyOnWriteArrayList;

public class zzauk
  extends hz
{
  private volatile AppMeasurement.zzf a;
  private AppMeasurement.zzf b;
  private long c;
  private final Map<Activity, a> d = new ArrayMap();
  private final CopyOnWriteArrayList<AppMeasurement.zzd> e = new CopyOnWriteArrayList();
  private boolean f;
  private AppMeasurement.zzf g;
  private String h;
  protected a zzbvm;
  
  public zzauk(zzaue paramzzaue)
  {
    super(paramzzaue);
  }
  
  @MainThread
  private a a(@NonNull Activity paramActivity)
  {
    zzac.zzw(paramActivity);
    a locala2 = (a)this.d.get(paramActivity);
    a locala1 = locala2;
    if (locala2 == null)
    {
      locala1 = new a(null, a(paramActivity.getClass().getCanonicalName()), zzKh().zzNi());
      this.d.put(paramActivity, locala1);
    }
    return locala1;
  }
  
  private static String a(String paramString)
  {
    Object localObject = paramString.split("\\.");
    if (localObject.length == 0) {
      paramString = paramString.substring(0, 36);
    }
    do
    {
      return paramString;
      localObject = localObject[(localObject.length - 1)];
      paramString = (String)localObject;
    } while (((String)localObject).length() <= 36);
    return ((String)localObject).substring(0, 36);
  }
  
  @MainThread
  private void a(final Activity paramActivity, a parama, final boolean paramBoolean)
  {
    boolean bool2 = true;
    boolean bool1 = true;
    if (this.a != null) {}
    Object localObject;
    label290:
    for (AppMeasurement.zzf localzzf = this.a;; localObject = null)
    {
      if (localzzf != null) {}
      for (localzzf = new AppMeasurement.zzf(localzzf);; localObject = null)
      {
        this.f = true;
        for (;;)
        {
          try
          {
            Iterator localIterator = this.e.iterator();
            bool2 = bool1;
            if (!localIterator.hasNext()) {
              continue;
            }
            bool2 = bool1;
            AppMeasurement.zzd localzzd = (AppMeasurement.zzd)localIterator.next();
            try
            {
              boolean bool3 = localzzd.zza(localzzf, parama);
              bool1 &= bool3;
            }
            catch (Exception localException2)
            {
              bool2 = bool1;
              zzKl().zzLY().zzj("onScreenChangeCallback threw exception", localException2);
            }
            if ((this.b == null) || (Math.abs(zznR().elapsedRealtime() - this.c) >= 1000L)) {
              break label290;
            }
            localzzf = this.b;
            break;
          }
          catch (Exception localException1)
          {
            zzKl().zzLY().zzj("onScreenChangeCallback loop threw exception", localException1);
            this.f = false;
            bool1 = bool2;
            if (!bool1) {
              continue;
            }
            if (parama.zzbqg != null) {
              continue;
            }
            parama.zzbqg = a(paramActivity.getClass().getCanonicalName());
            paramActivity = new a(parama);
            this.b = this.a;
            this.c = zznR().elapsedRealtime();
            this.a = paramActivity;
            zzKk().zzm(new Runnable()
            {
              public final void run()
              {
                if ((paramBoolean) && (zzauk.this.zzbvm != null)) {
                  zzauk.a(zzauk.this, zzauk.this.zzbvm);
                }
                zzauk.this.zzbvm = paramActivity;
                zzauk.this.zzKd().zza(paramActivity);
              }
            });
            return;
            this.f = false;
          }
          finally
          {
            this.f = false;
          }
        }
      }
    }
  }
  
  public static void zza(AppMeasurement.zzf paramzzf, Bundle paramBundle)
  {
    if ((paramBundle != null) && (paramzzf != null) && (!paramBundle.containsKey("_sc")))
    {
      if (paramzzf.zzbqf != null) {
        paramBundle.putString("_sn", paramzzf.zzbqf);
      }
      paramBundle.putString("_sc", paramzzf.zzbqg);
      paramBundle.putLong("_si", paramzzf.zzbqh);
    }
  }
  
  @MainThread
  public void onActivityCreated(Activity paramActivity, Bundle paramBundle)
  {
    if (paramBundle == null) {}
    do
    {
      return;
      paramBundle = paramBundle.getBundle("com.google.firebase.analytics.screen_service");
    } while (paramBundle == null);
    paramActivity = a(paramActivity);
    paramActivity.zzbqh = paramBundle.getLong("id");
    paramActivity.zzbqf = paramBundle.getString("name");
    paramActivity.zzbqg = paramBundle.getString("referrer_name");
  }
  
  @MainThread
  public void onActivityDestroyed(Activity paramActivity)
  {
    this.d.remove(paramActivity);
  }
  
  @MainThread
  public void onActivityPaused(final Activity paramActivity)
  {
    paramActivity = a(paramActivity);
    this.b = this.a;
    this.c = zznR().elapsedRealtime();
    this.a = null;
    zzKk().zzm(new Runnable()
    {
      public final void run()
      {
        zzauk.a(zzauk.this, paramActivity);
        zzauk.this.zzbvm = null;
        zzauk.this.zzKd().zza(null);
      }
    });
  }
  
  @MainThread
  public void onActivityResumed(Activity paramActivity)
  {
    a(paramActivity, a(paramActivity), false);
    zzJY().zzJU();
  }
  
  @MainThread
  public void onActivitySaveInstanceState(Activity paramActivity, Bundle paramBundle)
  {
    if (paramBundle == null) {}
    do
    {
      return;
      paramActivity = (a)this.d.get(paramActivity);
    } while (paramActivity == null);
    Bundle localBundle = new Bundle();
    localBundle.putLong("id", paramActivity.zzbqh);
    localBundle.putString("name", paramActivity.zzbqf);
    localBundle.putString("referrer_name", paramActivity.zzbqg);
    paramBundle.putBundle("com.google.firebase.analytics.screen_service", localBundle);
  }
  
  @MainThread
  public void registerOnScreenChangeCallback(@NonNull AppMeasurement.zzd paramzzd)
  {
    zzJW();
    if (paramzzd == null)
    {
      zzKl().zzMa().log("Attempting to register null OnScreenChangeCallback");
      return;
    }
    this.e.remove(paramzzd);
    this.e.add(paramzzd);
  }
  
  @MainThread
  public void setCurrentScreen(@NonNull Activity paramActivity, @Nullable @Size(max=36L, min=1L) String paramString1, @Nullable @Size(max=36L, min=1L) String paramString2)
  {
    int i = Build.VERSION.SDK_INT;
    if (paramActivity == null)
    {
      zzKl().zzMa().log("setCurrentScreen must be called with a non-null activity");
      return;
    }
    if (!zzKk().zzbc())
    {
      zzKl().zzMa().log("setCurrentScreen must be called from the main thread");
      return;
    }
    if (this.f)
    {
      zzKl().zzMa().log("Cannot call setCurrentScreen from onScreenChangeCallback");
      return;
    }
    if (this.a == null)
    {
      zzKl().zzMa().log("setCurrentScreen cannot be called while no activity active");
      return;
    }
    if (this.d.get(paramActivity) == null)
    {
      zzKl().zzMa().log("setCurrentScreen must be called with an activity in the activity lifecycle");
      return;
    }
    String str = paramString2;
    if (paramString2 == null) {
      str = a(paramActivity.getClass().getCanonicalName());
    }
    boolean bool = this.a.zzbqg.equals(str);
    if (((this.a.zzbqf == null) && (paramString1 == null)) || ((this.a.zzbqf != null) && (this.a.zzbqf.equals(paramString1)))) {}
    for (i = 1; (bool) && (i != 0); i = 0)
    {
      zzKl().zzMb().log("setCurrentScreen cannot be called with the same class and name");
      return;
    }
    if (paramString1 != null) {
      if (paramString1.length() > 0)
      {
        i = paramString1.length();
        zzKn();
        if (i <= zzati.c()) {}
      }
      else
      {
        zzKl().zzMa().zzj("Invalid screen name length in setCurrentScreen. Length", Integer.valueOf(paramString1.length()));
        return;
      }
    }
    if (str != null) {
      if (str.length() > 0)
      {
        i = str.length();
        zzKn();
        if (i <= zzati.c()) {}
      }
      else
      {
        zzKl().zzMa().zzj("Invalid class name length in setCurrentScreen. Length", Integer.valueOf(str.length()));
        return;
      }
    }
    zzatx.zza localzza = zzKl().zzMe();
    if (paramString1 == null) {}
    for (paramString2 = "null";; paramString2 = paramString1)
    {
      localzza.zze("Setting current screen to name, class", paramString2, str);
      paramString1 = new a(paramString1, str, zzKh().zzNi());
      this.d.put(paramActivity, paramString1);
      a(paramActivity, paramString1, true);
      return;
    }
  }
  
  @MainThread
  public void unregisterOnScreenChangeCallback(@NonNull AppMeasurement.zzd paramzzd)
  {
    zzJW();
    this.e.remove(paramzzd);
  }
  
  @WorkerThread
  public a zzMU()
  {
    zzob();
    zzmR();
    return this.zzbvm;
  }
  
  public AppMeasurement.zzf zzMV()
  {
    zzJW();
    AppMeasurement.zzf localzzf = this.a;
    if (localzzf == null) {
      return null;
    }
    return new AppMeasurement.zzf(localzzf);
  }
  
  @WorkerThread
  public void zza(String paramString, AppMeasurement.zzf paramzzf)
  {
    zzmR();
    try
    {
      if ((this.h == null) || (this.h.equals(paramString)) || (paramzzf != null))
      {
        this.h = paramString;
        this.g = paramzzf;
      }
      return;
    }
    finally {}
  }
  
  protected void zzmS() {}
  
  static final class a
    extends AppMeasurement.zzf
  {
    public boolean a;
    
    public a(a parama)
    {
      this.zzbqf = parama.zzbqf;
      this.zzbqg = parama.zzbqg;
      this.zzbqh = parama.zzbqh;
      this.a = parama.a;
    }
    
    public a(String paramString1, String paramString2, long paramLong)
    {
      this.zzbqf = paramString1;
      this.zzbqg = paramString2;
      this.zzbqh = paramLong;
      this.a = false;
    }
  }
}


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