content: package de.danoeh.antennapod;
  
  import android.app.Application;
  import android.os.StrictMode;
  import android.util.Log;
  
  import com.google.android.material.color.DynamicColors;
  
  import org.greenrobot.eventbus.EventBus;
  import org.greenrobot.eventbus.EventBusException;
  
  /** Main application class. */
  public class PodcastApp extends Application {
      private static final String TAG = "PodcastApp";
  
      @Override
      public void onCreate() {
          super.onCreate();
          Thread.setDefaultUncaughtExceptionHandler(new CrashReportWriter());
          RxJavaErrorHandlerSetup.setupRxJavaErrorHandler();
  
          if (BuildConfig.DEBUG) {
              StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder()
                      .detectLeakedSqlLiteObjects()
                      .penaltyLog()
                      .penaltyDropBox()
                      .detectActivityLeaks()
                      .detectLeakedClosableObjects()
                      .detectLeakedRegistrationObjects();
              StrictMode.setVmPolicy(builder.build());
          }
  
          try {
              // Robolectric calls onCreate for every test, which causes problems with static members
              EventBus.builder()
                      .addIndex(new ApEventBusIndex())
                      .logNoSubscriberMessages(false)
                      .sendNoSubscriberEvent(false)
                      .installDefaultEventBus();
          } catch (EventBusException e) {
              Log.d(TAG, e.getMessage());
          }
  
          DynamicColors.applyToActivitiesIfAvailable(this);
          ClientConfigurator.initialize(this);
          PreferenceUpgrader.checkUpgrades(this);
      }
  }
  