FirebaseInstanceId.java 7.1 KB
package com.google.firebase.iid;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.support.annotation.Keep;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.WorkerThread;
import android.support.v4.util.ArrayMap;
import android.util.Base64;
import android.util.Log;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
import java.io.IOException;
import java.security.KeyPair;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.PublicKey;
import java.util.Map;
import rt;
import rt.a;

public class FirebaseInstanceId
{
  private static Map<String, FirebaseInstanceId> c = new ArrayMap();
  private static zze d;
  final zzd a;
  final String b;
  private final FirebaseApp e;
  
  private FirebaseInstanceId(FirebaseApp paramFirebaseApp, zzd paramzzd)
  {
    this.e = paramFirebaseApp;
    this.a = paramzzd;
    paramFirebaseApp = this.e.getOptions().getGcmSenderId();
    if (paramFirebaseApp != null) {}
    for (;;)
    {
      this.b = paramFirebaseApp;
      if (this.b != null) {
        break;
      }
      throw new IllegalStateException("IID failing to initialize, FirebaseApp is missing project ID");
      paramzzd = this.e.getOptions().getApplicationId();
      paramFirebaseApp = paramzzd;
      if (paramzzd.startsWith("1:"))
      {
        paramFirebaseApp = paramzzd.split(":");
        if (paramFirebaseApp.length < 2)
        {
          paramFirebaseApp = null;
        }
        else
        {
          paramzzd = paramFirebaseApp[1];
          paramFirebaseApp = paramzzd;
          if (paramzzd.isEmpty()) {
            paramFirebaseApp = null;
          }
        }
      }
    }
    FirebaseInstanceIdService.a(this.e.getApplicationContext(), this);
  }
  
  static int a(Context paramContext)
  {
    return a(paramContext, paramContext.getPackageName());
  }
  
  static int a(Context paramContext, String paramString)
  {
    try
    {
      int i = paramContext.getPackageManager().getPackageInfo(paramString, 0).versionCode;
      return i;
    }
    catch (PackageManager.NameNotFoundException paramContext)
    {
      paramContext = String.valueOf(paramContext);
      Log.w("FirebaseInstanceId", String.valueOf(paramContext).length() + 23 + "Failed to find package " + paramContext);
    }
    return 0;
  }
  
  static String a(KeyPair paramKeyPair)
  {
    paramKeyPair = paramKeyPair.getPublic().getEncoded();
    try
    {
      paramKeyPair = MessageDigest.getInstance("SHA1").digest(paramKeyPair);
      paramKeyPair[0] = ((byte)((paramKeyPair[0] & 0xF) + 112 & 0xFF));
      paramKeyPair = Base64.encodeToString(paramKeyPair, 0, 8, 11);
      return paramKeyPair;
    }
    catch (NoSuchAlgorithmException paramKeyPair)
    {
      Log.w("FirebaseInstanceId", "Unexpected error, device missing required alghorithms");
    }
    return null;
  }
  
  public static String a(byte[] paramArrayOfByte)
  {
    return Base64.encodeToString(paramArrayOfByte, 11);
  }
  
  public static void a(Context paramContext, rt paramrt)
  {
    paramrt.b();
    paramrt = new Intent();
    paramrt.putExtra("CMD", "RST");
    zzg.zzabU().zzf(paramContext, paramrt);
  }
  
  private void a(Bundle paramBundle)
  {
    paramBundle.putString("gmp_app_id", this.e.getOptions().getApplicationId());
  }
  
  static zze b()
  {
    return d;
  }
  
  static String b(Context paramContext)
  {
    try
    {
      paramContext = paramContext.getPackageManager().getPackageInfo(paramContext.getPackageName(), 0).versionName;
      return paramContext;
    }
    catch (PackageManager.NameNotFoundException paramContext)
    {
      paramContext = String.valueOf(paramContext);
      Log.w("FirebaseInstanceId", String.valueOf(paramContext).length() + 38 + "Never happens: can't find own package " + paramContext);
    }
    return null;
  }
  
  static void c(Context paramContext)
  {
    Intent localIntent = new Intent();
    localIntent.putExtra("CMD", "SYNC");
    zzg.zzabU().zzf(paramContext, localIntent);
  }
  
  public static FirebaseInstanceId getInstance()
  {
    return getInstance(FirebaseApp.getInstance());
  }
  
  @Keep
  public static FirebaseInstanceId getInstance(@NonNull FirebaseApp paramFirebaseApp)
  {
    try
    {
      FirebaseInstanceId localFirebaseInstanceId = (FirebaseInstanceId)c.get(paramFirebaseApp.getOptions().getApplicationId());
      Object localObject = localFirebaseInstanceId;
      if (localFirebaseInstanceId == null)
      {
        localObject = zzd.zzb(paramFirebaseApp.getApplicationContext(), null);
        if (d == null) {
          d = new zze(((zzd)localObject).zzabQ());
        }
        localObject = new FirebaseInstanceId(paramFirebaseApp, (zzd)localObject);
        c.put(paramFirebaseApp.getOptions().getApplicationId(), localObject);
      }
      return (FirebaseInstanceId)localObject;
    }
    finally {}
  }
  
  @Nullable
  final rt.a a()
  {
    return this.a.zzabQ().a("", this.b, "*");
  }
  
  public void deleteInstanceId()
    throws IOException
  {
    this.a.zzb("*", "*", null);
    this.a.zzHi();
  }
  
  @WorkerThread
  public void deleteToken(String paramString1, String paramString2)
    throws IOException
  {
    Bundle localBundle = new Bundle();
    a(localBundle);
    this.a.zzb(paramString1, paramString2, localBundle);
  }
  
  public long getCreationTime()
  {
    return this.a.getCreationTime();
  }
  
  public String getId()
  {
    return a(this.a.a());
  }
  
  @Nullable
  public String getToken()
  {
    rt.a locala = a();
    if ((locala == null) || (locala.b(zzd.e))) {
      FirebaseInstanceIdService.a(this.e.getApplicationContext());
    }
    if (locala != null) {
      return locala.a;
    }
    return null;
  }
  
  @WorkerThread
  public String getToken(String paramString1, String paramString2)
    throws IOException
  {
    Bundle localBundle = new Bundle();
    a(localBundle);
    return this.a.getToken(paramString1, paramString2, localBundle);
  }
  
  public String zzc(String paramString1, String paramString2, Bundle paramBundle)
    throws IOException
  {
    a(paramBundle);
    return this.a.zzc(paramString1, paramString2, paramBundle);
  }
  
  public void zzjt(String paramString)
  {
    zze localzze = d;
    synchronized (zze.a)
    {
      String str1 = localzze.b.a.getString("topic_operaion_queue", "");
      String str2 = String.valueOf(",");
      paramString = String.valueOf(str1).length() + String.valueOf(str2).length() + String.valueOf(paramString).length() + str1 + str2 + paramString;
      localzze.b.a.edit().putString("topic_operaion_queue", paramString).apply();
      FirebaseInstanceIdService.a(this.e.getApplicationContext());
      return;
    }
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/com/google/firebase/iid/FirebaseInstanceId.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */