Open-source alternative Instagram client on Android. More maintainers needed!
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package awaisomereport;
import android.app.Application;
import androidx.annotation.NonNull;
import awais.instagrabber.BuildConfig; import awais.instagrabber.fragments.settings.PreferenceKeys; import io.sentry.SentryLevel; import io.sentry.android.core.SentryAndroid; import io.sentry.protocol.Contexts; import io.sentry.protocol.Device;
import static awais.instagrabber.utils.Utils.settingsHelper;
public class CrashHandler implements ICrashHandler { private static final String TAG = CrashHandler.class.getSimpleName();
private final Application application; private final boolean enabled;
public CrashHandler(@NonNull final Application application) { this.application = application; if (!settingsHelper.hasPreference(PreferenceKeys.PREF_ENABLE_SENTRY)) { // disabled by default (change to true if we need enabled by default)
enabled = false; } else { enabled = settingsHelper.getBoolean(PreferenceKeys.PREF_ENABLE_SENTRY); } if (!enabled) return; SentryAndroid.init(application, options -> { options.setDsn(BuildConfig.dsn); options.setDiagnosticLevel(SentryLevel.ERROR); options.setBeforeSend((event, hint) -> { // Removing unneeded info from event
final Contexts contexts = event.getContexts(); final Device device = contexts.getDevice(); device.setName(null); device.setTimezone(null); device.setCharging(null); device.setBootTime(null); device.setFreeStorage(null); device.setBatteryTemperature(null); return event; }); }); }
@Override public void uncaughtException(@NonNull final Thread t, @NonNull final Throwable exception, @NonNull final Thread.UncaughtExceptionHandler defaultEH) { // When enabled, Sentry auto captures unhandled exceptions
if (!enabled) { CrashReporterHelper.startErrorReporterActivity(application, exception); } defaultEH.uncaughtException(t, exception); } }
|