1{"version":3,"file":"withAndroidSplashLegacyMainActivity.js","names":["debug","Debug","SHOW_SPLASH_ID","withAndroidSplashLegacyMainActivity","config","withMainActivity","modResults","contents","setSplashScreenLegacyMainActivity","language","mainActivity","splashConfig","getAndroidSplashConfig","mod","removeContents","src","tag","didClear","statusBarTranslucent","androidStatusBar","translucent","resizeMode","isJava","LE","addImports","match","onCreateBlock","mergeContents","anchor","offset","comment","newSrc","join","split","filter","line","test","toUpperCase"],"sources":["../../../../src/plugins/unversioned/expo-splash-screen/withAndroidSplashLegacyMainActivity.ts"],"sourcesContent":["import { ConfigPlugin, withMainActivity } from '@expo/config-plugins';\nimport { addImports } from '@expo/config-plugins/build/android/codeMod';\nimport { mergeContents, removeContents } from '@expo/config-plugins/build/utils/generateCode';\nimport { ExpoConfig } from '@expo/config-types';\nimport Debug from 'debug';\n\nimport { getAndroidSplashConfig } from './getAndroidSplashConfig';\n\nconst debug = Debug('expo:prebuild-config:expo-splash-screen:android:mainActivity');\n\n// DO NOT CHANGE\nconst SHOW_SPLASH_ID = 'expo-splash-screen-mainActivity-onCreate-show-splash';\n\nexport const withAndroidSplashLegacyMainActivity: ConfigPlugin = (config) => {\n  return withMainActivity(config, (config) => {\n    config.modResults.contents = setSplashScreenLegacyMainActivity(\n      config,\n      config.modResults.contents,\n      config.modResults.language\n    );\n    return config;\n  });\n};\n\nexport function setSplashScreenLegacyMainActivity(\n  config: Pick<ExpoConfig, 'android' | 'androidStatusBar' | 'userInterfaceStyle'>,\n  mainActivity: string,\n  language: 'java' | 'kt'\n): string {\n  debug(`Modify with language: \"${language}\"`);\n  const splashConfig = getAndroidSplashConfig(config);\n\n  if (!splashConfig) {\n    // Remove our generated code safely...\n    const mod = removeContents({\n      src: mainActivity,\n      tag: SHOW_SPLASH_ID,\n    });\n\n    mainActivity = mod.contents;\n    if (mod.didClear) {\n      debug('Removed SplashScreen.show()');\n    }\n    return mainActivity;\n  }\n  // TODO: Translucent is weird\n  const statusBarTranslucent = !!config.androidStatusBar?.translucent;\n\n  const { resizeMode } = splashConfig;\n  const isJava = language === 'java';\n  const LE = isJava ? ';' : '';\n\n  mainActivity = addImports(\n    mainActivity,\n    [\n      'expo.modules.splashscreen.SplashScreen',\n      'expo.modules.splashscreen.SplashScreenImageResizeMode',\n      'android.os.Bundle',\n    ],\n    isJava\n  );\n\n  if (!mainActivity.match(/(?<=^.*super\\.onCreate.*$)/m)) {\n    const onCreateBlock = isJava\n      ? [\n          '    @Override',\n          '    protected void onCreate(Bundle savedInstanceState) {',\n          '      super.onCreate(savedInstanceState);',\n          '    }',\n        ]\n      : [\n          '    override fun onCreate(savedInstanceState: Bundle?) {',\n          '      super.onCreate(savedInstanceState)',\n          '    }',\n        ];\n\n    mainActivity = mergeContents({\n      src: mainActivity,\n      // insert just below super.onCreate\n      anchor: isJava\n        ? /(?<=public\\s+class\\s+.*\\s+extends\\s+.*\\s+{.*$)/m\n        : /(?<=class\\s+.*\\s+:\\s+.*\\s+{.*$)/m,\n      offset: 1,\n      comment: '//',\n      tag: 'expo-splash-screen-mainActivity-onCreate',\n      newSrc: onCreateBlock.join('\\n'),\n    }).contents;\n  }\n\n  // Remove our generated code safely...\n  mainActivity = removeContents({\n    src: mainActivity,\n    tag: SHOW_SPLASH_ID,\n  }).contents;\n\n  // Remove code from `@expo/configure-splash-screen`\n  mainActivity = mainActivity\n    .split('\\n')\n    .filter((line) => {\n      return !/SplashScreen\\.show\\(this,\\s?SplashScreenImageResizeMode\\./.test(line);\n    })\n    .join('\\n');\n\n  // Reapply generated code.\n  mainActivity = mergeContents({\n    src: mainActivity,\n    // insert just below super.onCreate\n    anchor: /(?<=^.*super\\.onCreate.*$)/m,\n    offset: 1,\n    comment: '//',\n    tag: SHOW_SPLASH_ID,\n    newSrc: `    SplashScreen.show(this, SplashScreenImageResizeMode.${resizeMode.toUpperCase()}, ReactRootView${\n      isJava ? '.class' : '::class.java'\n    }, ${statusBarTranslucent})${LE}`,\n  }).contents;\n\n  // TODO: Remove old `SplashScreen.show`\n\n  return mainActivity;\n}\n"],"mappings":"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"}