ExceptionReporter.java 3.06 KB
package com.google.android.gms.analytics;

import android.content.Context;
import com.google.android.gms.internal.zzry;
import com.google.android.gms.internal.zzsc;
import com.google.android.gms.internal.zztc;
import java.util.ArrayList;

public class ExceptionReporter
  implements Thread.UncaughtExceptionHandler
{
  final Thread.UncaughtExceptionHandler a;
  private final Tracker b;
  private final Context c;
  private ExceptionParser d;
  private GoogleAnalytics e;
  
  public ExceptionReporter(Tracker paramTracker, Thread.UncaughtExceptionHandler paramUncaughtExceptionHandler, Context paramContext)
  {
    if (paramTracker == null) {
      throw new NullPointerException("tracker cannot be null");
    }
    if (paramContext == null) {
      throw new NullPointerException("context cannot be null");
    }
    this.a = paramUncaughtExceptionHandler;
    this.b = paramTracker;
    this.d = new StandardExceptionParser(paramContext, new ArrayList());
    this.c = paramContext.getApplicationContext();
    if (paramUncaughtExceptionHandler == null)
    {
      paramTracker = "null";
      paramTracker = String.valueOf(paramTracker);
      if (paramTracker.length() == 0) {
        break label111;
      }
    }
    label111:
    for (paramTracker = "ExceptionReporter created, original handler is ".concat(paramTracker);; paramTracker = new String("ExceptionReporter created, original handler is "))
    {
      zztc.v(paramTracker);
      return;
      paramTracker = paramUncaughtExceptionHandler.getClass().getName();
      break;
    }
  }
  
  public ExceptionParser getExceptionParser()
  {
    return this.d;
  }
  
  public void setExceptionParser(ExceptionParser paramExceptionParser)
  {
    this.d = paramExceptionParser;
  }
  
  public void uncaughtException(Thread paramThread, Throwable paramThrowable)
  {
    Object localObject = "UncaughtException";
    if (this.d != null)
    {
      if (paramThread != null)
      {
        localObject = paramThread.getName();
        localObject = this.d.getDescription((String)localObject, paramThrowable);
      }
    }
    else
    {
      str = String.valueOf(localObject);
      if (str.length() == 0) {
        break label151;
      }
    }
    label151:
    for (String str = "Reporting uncaught exception: ".concat(str);; str = new String("Reporting uncaught exception: "))
    {
      zztc.v(str);
      this.b.send(new HitBuilders.ExceptionBuilder().setDescription((String)localObject).setFatal(true).build());
      if (this.e == null) {
        this.e = GoogleAnalytics.getInstance(this.c);
      }
      localObject = this.e;
      ((GoogleAnalytics)localObject).dispatchLocalHits();
      ((zza)localObject).b.zzmA().zznM();
      if (this.a != null)
      {
        zztc.v("Passing exception to the original handler");
        this.a.uncaughtException(paramThread, paramThrowable);
      }
      return;
      localObject = null;
      break;
    }
  }
}


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