hunk.code_window:   inline fun onActivityEntersForeground(crossinline body: () -> Unit) {
       eventListeners[EventName.ACTIVITY_ENTERS_FOREGROUND] = BasicEventListener(EventName.ACTIVITY_ENTERS_FOREGROUND) { body() }
     }
     inline fun onActivityEntersBackground(crossinline body: () -> Unit) {
       eventListeners[EventName.ACTIVITY_ENTERS_BACKGROUND] = BasicEventListener(EventName.ACTIVITY_ENTERS_BACKGROUND) { body() }
     }
  
hunk.labels: keep keep keep add keep keep keep keep
hunk.after_edit:   /**
      * Creates module's lifecycle listener that is called right after the activity is paused.
      */
  
hunk.file_path: packages/expo-modules-core/android/src/main/java/expo/modules/kotlin/modules/ModuleDefinitionBuilder.kt
hunk.type: add
file: package abi42_0_0.expo.modules.notifications;
  
  import android.content.Context;
  
  import abi42_0_0.org.unimodules.core.BasePackage;
  import abi42_0_0.org.unimodules.core.ExportedModule;
  import abi42_0_0.org.unimodules.core.interfaces.InternalModule;
  import expo.modules.core.interfaces.SingletonModule;
  
  import java.util.Arrays;
  import java.util.List;
  
  import abi42_0_0.expo.modules.notifications.badge.BadgeModule;
  import abi42_0_0.expo.modules.notifications.badge.ExpoBadgeManager;
  import abi42_0_0.expo.modules.notifications.serverregistration.ServerRegistrationModule;
  import expo.modules.notifications.notifications.NotificationManager;
  import abi42_0_0.expo.modules.notifications.notifications.background.ExpoBackgroundNotificationTasksModule;
  import abi42_0_0.expo.modules.notifications.notifications.categories.ExpoNotificationCategoriesModule;
  import abi42_0_0.expo.modules.notifications.notifications.categories.serializers.ExpoNotificationsCategoriesSerializer;
  import abi42_0_0.expo.modules.notifications.notifications.channels.AndroidXNotificationsChannelsProvider;
  import abi42_0_0.expo.modules.notifications.notifications.channels.NotificationChannelGroupManagerModule;
  import abi42_0_0.expo.modules.notifications.notifications.channels.NotificationChannelManagerModule;
  import abi42_0_0.expo.modules.notifications.notifications.emitting.NotificationsEmitter;
  import abi42_0_0.expo.modules.notifications.notifications.handling.NotificationsHandler;
  import abi42_0_0.expo.modules.notifications.notifications.presentation.ExpoNotificationPresentationModule;
  import abi42_0_0.expo.modules.notifications.notifications.scheduling.NotificationScheduler;
  import abi42_0_0.expo.modules.notifications.permissions.NotificationPermissionsModule;
  import expo.modules.notifications.tokens.PushTokenManager;
  import abi42_0_0.expo.modules.notifications.tokens.PushTokenModule;
  
  public class NotificationsPackage extends BasePackage {
    @Override
    public List<ExportedModule> createExportedModules(Context context) {
      return Arrays.asList(
        new BadgeModule(context),
        new PushTokenModule(context),
        new NotificationsEmitter(context),
        new NotificationsHandler(context),
        new NotificationScheduler(context),
        new ServerRegistrationModule(context),
        new NotificationPermissionsModule(context),
        new NotificationChannelManagerModule(context),
        new ExpoNotificationPresentationModule(context),
        new NotificationChannelGroupManagerModule(context),
        new ExpoNotificationCategoriesModule(context),
        new ExpoBackgroundNotificationTasksModule(context)
      );
    }
  
    @Override
    public List<SingletonModule> createSingletonModules(Context context) {
      return Arrays.asList(
        new PushTokenManager(),
        new NotificationManager(),
        new ExpoBadgeManager(context)
      );
    }
  
    @Override
    public List<InternalModule> createInternalModules(Context context) {
      return Arrays.asList(
        new AndroidXNotificationsChannelsProvider(context),
        new ExpoNotificationsCategoriesSerializer()
      );
    }
  }
  