Java源码示例:com.bugsnag.android.Bugsnag

示例1
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    }
    Bugsnag.init(this);
    EventBus.getDefault().registerSticky(this);

    SharedPreferences preferences = getSharedPreferences(getString(R.string.app_name), Context.MODE_PRIVATE);
    mUserName = preferences.getString(Config.USER_NAME, "");
    if (mUserName.equals("")) {
        Intent intent = new Intent(this, UserConfigActivity.class);
        startActivityForResult(intent, USERNAME_REQUEST_CODE);
    } else {
        initView();
        checkUpdate();
    }
}
 
示例2
@Override public void onCreate() {
  DaggerTelecineComponent.builder().application(this).build().inject(this);
  super.onCreate();

  if (BuildConfig.DEBUG) {
    Timber.plant(new Timber.DebugTree());
  } else {
    Bugsnag.init(this, BuildConfig.BUGSNAG_KEY);
    Bugsnag.setReleaseStage(BuildConfig.BUILD_TYPE);
    Bugsnag.setProjectPackages("com.jakewharton.telecine");

    final BugsnagTree tree = new BugsnagTree();
    Bugsnag.getClient().beforeNotify(new BeforeNotify() {
      @Override public boolean run(Error error) {
        tree.update(error);
        return true;
      }
    });

    Timber.plant(tree);
  }
}
 
示例3
public static int w(Throwable ex) {
    if (BuildConfig.BETA_RELEASE)
        try {
            Bugsnag.notify(ex, new OnErrorCallback() {
                @Override
                public boolean onError(@NonNull Event event) {
                    event.setSeverity(Severity.INFO);
                    return true;
                }
            });
        } catch (Throwable ex1) {
            ex1.printStackTrace();
        }
    return android.util.Log.w(TAG, ex + "\n" + android.util.Log.getStackTraceString(ex));
}
 
示例4
public static int e(Throwable ex) {
    if (BuildConfig.BETA_RELEASE)
        try {
            Bugsnag.notify(ex, new OnErrorCallback() {
                @Override
                public boolean onError(@NonNull Event event) {
                    event.setSeverity(Severity.WARNING);
                    return true;
                }
            });
        } catch (Throwable ex1) {
            ex1.printStackTrace();
        }
    return android.util.Log.e(TAG, ex + "\n" + android.util.Log.getStackTraceString(ex));
}
 
示例5
public static int w(String prefix, Throwable ex) {
    if (BuildConfig.BETA_RELEASE)
        try {
            Bugsnag.notify(ex, new OnErrorCallback() {
                @Override
                public boolean onError(@NonNull Event event) {
                    event.setSeverity(Severity.INFO);
                    return true;
                }
            });
        } catch (Throwable ex1) {
            ex1.printStackTrace();
        }
    return android.util.Log.w(TAG, prefix + " " + ex + "\n" + android.util.Log.getStackTraceString(ex));
}
 
示例6
public static int e(String prefix, Throwable ex) {
    if (BuildConfig.BETA_RELEASE)
        try {
            Bugsnag.notify(ex, new OnErrorCallback() {
                @Override
                public boolean onError(@NonNull Event event) {
                    event.setSeverity(Severity.WARNING);
                    return true;
                }
            });
        } catch (Throwable ex1) {
            ex1.printStackTrace();
        }
    return android.util.Log.e(TAG, prefix + " " + ex + "\n" + android.util.Log.getStackTraceString(ex));
}
 
示例7
static void setCrashReporting(boolean enabled) {
    try {
        if (enabled)
            Bugsnag.startSession();
    } catch (Throwable ex) {
        ex.printStackTrace();
    }
}
 
示例8
static void breadcrumb(String name, Map<String, String> crumb) {
    try {
        Map<String, Object> ocrumb = new HashMap<>();
        for (String key : crumb.keySet())
            ocrumb.put(key, crumb.get(key));
        Bugsnag.leaveBreadcrumb(name, ocrumb, BreadcrumbType.LOG);
    } catch (Throwable ex) {
        ex.printStackTrace();
    }
}
 
示例9
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Bugsnag.init(this);

//        Bugsnag.notify(new RuntimeException("Non-fatal"));

//        testJavaCrash();
        testNativeCrash();

    }
 
示例10
@Override
public void onCreate() {
    super.onCreate();
    if (BuildConfig.DEBUG) Timber.plant(new Timber.DebugTree());
    DaggerAppComponent.builder()
            .androidModule(new AndroidModule(this))
            .build()
            .injectMembers(this);

    Timber.plant(bugsnagTree);
    Client bugsnagClient = Bugsnag.init(this);
    bugsnagClient.beforeNotify(errorHandler);

    Timber.d("Bugsnag setup done!");
}
 
示例11
@Override
protected void log(int priority, String tag, String message, Throwable t) {
  message = System.currentTimeMillis() + " " + priorityToString(priority) + " " + message;
  synchronized (buffer) {
    buffer.addLast(message);
    if (buffer.size() > BUFFER_SIZE) {
      buffer.removeFirst();
    }
  }
  if (t != null && priority == Log.ERROR) {
    Bugsnag.notify(t);
  }
}
 
示例12
@Override
public void onCreate() {
    super.onCreate();
    if (sInstance == null) {
        sInstance = this;
    }

    if("release".equals(BuildConfig.BUILD_TYPE)){
        Bugsnag.init(this);
    }

    mContext = getApplicationContext();
    Stetho.initialize(
            Stetho.newInitializerBuilder(this)
                  .enableDumpapp(
                          Stetho.defaultDumperPluginsProvider(this))
                  .enableWebKitInspector(
                          Stetho.defaultInspectorModulesProvider(this))
                  .build());

    sAppModule = new AppModule(this);
    sAppComponent = DaggerAppComponent.builder()
                                      .appModule(sAppModule)
                                      .build();
    sAppComponent.inject(this);

    LocalDataManager.initialize(mContext);
}