zzh.java 4.56 KB
package com.google.android.gms.common;

import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.Signature;
import android.util.Log;
import com.google.android.gms.common.internal.zzac;
import com.google.android.gms.internal.zzadf;
import com.google.android.gms.internal.zzadg;
import hp;
import hp.a;
import hp.b;
import hp.d;

public class zzh
{
  private static zzh a;
  private final Context b;
  private final zzadf c;
  
  private zzh(Context paramContext)
  {
    this.b = paramContext.getApplicationContext();
    this.c = zzadg.zzbi(this.b);
  }
  
  static hp.a a(PackageInfo paramPackageInfo, hp.a... paramVarArgs)
  {
    int i = 0;
    if (paramPackageInfo.signatures == null) {
      return null;
    }
    if (paramPackageInfo.signatures.length != 1)
    {
      Log.w("GoogleSignatureVerifier", "Package has more than one signature.");
      return null;
    }
    paramPackageInfo = new hp.b(paramPackageInfo.signatures[0].toByteArray());
    while (i < paramVarArgs.length)
    {
      if (paramVarArgs[i].equals(paramPackageInfo)) {
        return paramVarArgs[i];
      }
      i += 1;
    }
    return null;
  }
  
  private static boolean a(PackageInfo paramPackageInfo, boolean paramBoolean)
  {
    boolean bool2 = false;
    if (paramPackageInfo.signatures.length != 1)
    {
      Log.w("GoogleSignatureVerifier", "Package has more than one signature.");
      return bool2;
    }
    hp.b localb = new hp.b(paramPackageInfo.signatures[0].toByteArray());
    paramPackageInfo = paramPackageInfo.packageName;
    if (paramBoolean) {}
    for (boolean bool1 = hp.b(paramPackageInfo, localb);; bool1 = hp.a(paramPackageInfo, localb))
    {
      bool2 = bool1;
      if (bool1) {
        break;
      }
      new StringBuilder(27).append("Cert not in list. atk=").append(paramBoolean);
      return bool1;
    }
  }
  
  public static zzh zzaN(Context paramContext)
  {
    zzac.zzw(paramContext);
    try
    {
      if (a == null)
      {
        hp.a(paramContext);
        a = new zzh(paramContext);
      }
      return a;
    }
    finally {}
  }
  
  public boolean zza(PackageInfo paramPackageInfo)
  {
    boolean bool1 = false;
    if (paramPackageInfo == null) {}
    boolean bool2;
    do
    {
      do
      {
        return bool1;
        if (zzg.zzaJ(this.b)) {
          return a(paramPackageInfo, true);
        }
        bool2 = a(paramPackageInfo, false);
        bool1 = bool2;
      } while (bool2);
      bool1 = bool2;
    } while (!a(paramPackageInfo, true));
    Log.w("GoogleSignatureVerifier", "Test-keys aren't accepted on this build.");
    return bool2;
  }
  
  public boolean zza(PackageInfo paramPackageInfo, boolean paramBoolean)
  {
    if ((paramPackageInfo != null) && (paramPackageInfo.signatures != null))
    {
      if (paramBoolean) {}
      for (paramPackageInfo = a(paramPackageInfo, hp.d.a); paramPackageInfo != null; paramPackageInfo = a(paramPackageInfo, new hp.a[] { hp.d.a[0] })) {
        return true;
      }
    }
    return false;
  }
  
  @Deprecated
  public boolean zza(PackageManager paramPackageManager, int paramInt)
  {
    return zzcx(paramInt);
  }
  
  @Deprecated
  public boolean zza(PackageManager paramPackageManager, PackageInfo paramPackageInfo)
  {
    return zzb(paramPackageInfo);
  }
  
  public boolean zzb(PackageInfo paramPackageInfo)
  {
    if (paramPackageInfo == null) {}
    do
    {
      return false;
      if (zza(paramPackageInfo, false)) {
        return true;
      }
    } while (!zza(paramPackageInfo, true));
    if (zzg.zzaJ(this.b)) {
      return true;
    }
    Log.w("GoogleSignatureVerifier", "Test-keys aren't accepted on this build.");
    return false;
  }
  
  public boolean zzcx(int paramInt)
  {
    String[] arrayOfString = this.c.getPackagesForUid(paramInt);
    if ((arrayOfString == null) || (arrayOfString.length == 0)) {}
    for (;;)
    {
      return false;
      int i = arrayOfString.length;
      paramInt = 0;
      while (paramInt < i)
      {
        if (zzdd(arrayOfString[paramInt])) {
          return true;
        }
        paramInt += 1;
      }
    }
  }
  
  public boolean zzdd(String paramString)
  {
    try
    {
      boolean bool = zza(this.c.getPackageInfo(paramString, 64));
      return bool;
    }
    catch (PackageManager.NameNotFoundException paramString) {}
    return false;
  }
}


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