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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"}