Constants.java 7.11 KB
package net.hockeyapp.android;

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Build;
import android.os.Build.VERSION;
import android.os.Bundle;
import android.os.Environment;
import android.provider.Settings.Secure;
import android.text.TextUtils;
import java.io.File;
import java.lang.reflect.Field;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.UUID;
import net.hockeyapp.android.utils.HockeyLog;

public class Constants
{
  public static String ANDROID_BUILD;
  public static String ANDROID_VERSION;
  public static String APP_PACKAGE;
  public static String APP_VERSION;
  public static String APP_VERSION_NAME;
  public static final String BASE_URL = "https://sdk.hockeyapp.net/";
  public static String CRASH_IDENTIFIER = null;
  public static String DEVICE_IDENTIFIER = null;
  public static final String FILES_DIRECTORY_NAME = "HockeyApp";
  public static String FILES_PATH = null;
  public static String PHONE_MANUFACTURER;
  public static String PHONE_MODEL;
  public static final String SDK_NAME = "HockeySDK";
  public static final int UPDATE_PERMISSIONS_REQUEST = 1;
  
  static
  {
    APP_VERSION = null;
    APP_VERSION_NAME = null;
    APP_PACKAGE = null;
    ANDROID_VERSION = null;
    ANDROID_BUILD = null;
    PHONE_MODEL = null;
    PHONE_MANUFACTURER = null;
  }
  
  private static int a(Context paramContext, PackageManager paramPackageManager)
  {
    int i = 0;
    try
    {
      paramContext = paramPackageManager.getApplicationInfo(paramContext.getPackageName(), 128).metaData;
      if (paramContext != null) {
        i = paramContext.getInt("buildNumber", 0);
      }
      return i;
    }
    catch (PackageManager.NameNotFoundException paramContext)
    {
      HockeyLog.error("Exception thrown when accessing the application info:");
      paramContext.printStackTrace();
    }
    return 0;
  }
  
  @SuppressLint({"InlinedApi"})
  private static String a()
  {
    if (Build.VERSION.SDK_INT >= 21) {}
    for (Object localObject = Build.SUPPORTED_ABIS[0];; localObject = Build.CPU_ABI)
    {
      String str2 = "HA" + Build.BOARD.length() % 10 + Build.BRAND.length() % 10 + ((String)localObject).length() % 10 + Build.PRODUCT.length() % 10;
      localObject = "";
      try
      {
        String str1 = Build.class.getField("SERIAL").get(null).toString();
        localObject = str1;
      }
      catch (Throwable localThrowable)
      {
        for (;;) {}
      }
      return str2 + ":" + (String)localObject;
    }
  }
  
  private static String a(String paramString)
  {
    String str = a();
    try
    {
      MessageDigest localMessageDigest = MessageDigest.getInstance("SHA-256");
      localMessageDigest.reset();
      localMessageDigest.update(paramString.getBytes());
      localMessageDigest.update(str.getBytes());
      paramString = a(localMessageDigest.digest());
      return paramString;
    }
    catch (NoSuchAlgorithmException paramString) {}
    return null;
  }
  
  private static String a(byte[] paramArrayOfByte)
  {
    char[] arrayOfChar1 = "0123456789ABCDEF".toCharArray();
    char[] arrayOfChar2 = new char[paramArrayOfByte.length * 2];
    int i = 0;
    while (i < paramArrayOfByte.length)
    {
      int j = paramArrayOfByte[i] & 0xFF;
      arrayOfChar2[(i * 2)] = arrayOfChar1[(j >>> 4)];
      arrayOfChar2[(i * 2 + 1)] = arrayOfChar1[(j & 0xF)];
      i += 1;
    }
    return new String(arrayOfChar2).replaceAll("(\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})", "$1-$2-$3-$4-$5");
  }
  
  public static File getHockeyAppStorageDir()
  {
    File localFile = Environment.getExternalStorageDirectory();
    localFile = new File(localFile.getAbsolutePath() + "/HockeyApp");
    if ((localFile.exists()) || (localFile.mkdirs())) {}
    for (int i = 1;; i = 0)
    {
      if (i == 0) {
        HockeyLog.warn("Couldn't create HockeyApp Storage dir");
      }
      return localFile;
    }
  }
  
  public static void loadFromContext(Context paramContext)
  {
    ANDROID_VERSION = Build.VERSION.RELEASE;
    ANDROID_BUILD = Build.DISPLAY;
    PHONE_MODEL = Build.MODEL;
    PHONE_MANUFACTURER = Build.MANUFACTURER;
    if (paramContext != null) {}
    try
    {
      localObject1 = paramContext.getFilesDir();
      if (localObject1 != null) {
        FILES_PATH = ((File)localObject1).getAbsolutePath();
      }
    }
    catch (Exception localNameNotFoundException)
    {
      try
      {
        localObject1 = paramContext.getPackageManager();
        localObject2 = ((PackageManager)localObject1).getPackageInfo(paramContext.getPackageName(), 0);
        APP_PACKAGE = ((PackageInfo)localObject2).packageName;
        APP_VERSION = ((PackageInfo)localObject2).versionCode;
        APP_VERSION_NAME = ((PackageInfo)localObject2).versionName;
        int i = a(paramContext, (PackageManager)localObject1);
        if ((i == 0) || (i <= ((PackageInfo)localObject2).versionCode)) {
          break label122;
        }
        APP_VERSION = String.valueOf(i);
        localObject1 = Settings.Secure.getString(paramContext.getContentResolver(), "android_id");
        if ((TextUtils.isEmpty(APP_PACKAGE)) || (TextUtils.isEmpty((CharSequence)localObject1))) {
          break label219;
        }
        localObject2 = APP_PACKAGE + ":" + (String)localObject1 + ":" + a();
      }
      catch (PackageManager.NameNotFoundException localNameNotFoundException)
      {
        try
        {
          for (;;)
          {
            Object localObject1 = MessageDigest.getInstance("SHA-1");
            Object localObject2 = ((String)localObject2).getBytes("UTF-8");
            ((MessageDigest)localObject1).update((byte[])localObject2, 0, localObject2.length);
            CRASH_IDENTIFIER = a(((MessageDigest)localObject1).digest());
            paramContext = Settings.Secure.getString(paramContext.getContentResolver(), "android_id");
            if (paramContext != null)
            {
              paramContext = a(paramContext);
              if (paramContext == null) {
                break;
              }
              DEVICE_IDENTIFIER = paramContext;
            }
            return;
            localException = localException;
            HockeyLog.error("Exception thrown when accessing the files dir:");
            localException.printStackTrace();
          }
          localNameNotFoundException = localNameNotFoundException;
          HockeyLog.error("Exception thrown when accessing the package info:");
          localNameNotFoundException.printStackTrace();
        }
        catch (Throwable localThrowable)
        {
          for (;;)
          {
            HockeyLog.error("Couldn't create CrashIdentifier with Exception:" + localThrowable.toString());
            continue;
            paramContext = UUID.randomUUID().toString();
          }
        }
      }
    }
    if (paramContext == null) {}
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/net/hockeyapp/android/Constants.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */