UNPKG

3.72 kBSource Map (JSON)View Raw
1{"version":3,"file":"RootViewBackgroundColor.js","sourceRoot":"","sources":["../../src/android/RootViewBackgroundColor.ts"],"names":[],"mappings":";;AACA,qCAMkB;AAClB,qCAKkB;AAElB,MAAM,yBAAyB,GAAG,0BAA0B,CAAC;AAC7D,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAErD,SAAgB,0BAA0B,CAAC,MAAkB;IAC3D,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE;QACpD,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;KACvC;IACD,IAAI,MAAM,CAAC,eAAe,EAAE;QAC1B,OAAO,MAAM,CAAC,eAAe,CAAC;KAC/B;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AATD,gEASC;AAEM,KAAK,UAAU,0BAA0B,CAAC,MAAkB,EAAE,gBAAwB;IAC3F,IAAI,SAAS,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,KAAK,CAAC;KACd;IAED,MAAM,UAAU,GAAG,MAAM,qCAA4B,CAAC,gBAAgB,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,MAAM,qCAA4B,CAAC,gBAAgB,CAAC,CAAC;IACxE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE;QAC9B,OAAO,KAAK,CAAC;KACd;IAED,IAAI,UAAU,GAAG,MAAM,2BAAkB,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,UAAU,GAAG,MAAM,2BAAkB,CAAC,UAAU,CAAC,CAAC;IAEtD,IAAI,cAAc,GAAc,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,IAAI,cAAc,GAAc,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE7D,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAChC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,uBAAuB,CAAC;IAEnD,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,uBAAuB,EAAE,CAAC;IAC1D,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,yBAAyB,CAAC;IAErD,UAAU,GAAG,qBAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACtD,UAAU,GAAG,sBAAa,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAEvD,IAAI;QACF,MAAM,4BAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClD,MAAM,4BAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;KACnD;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CACb,oFAAoF,UAAU,GAAG,CAClG,CAAC;KACH;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AApCD,gEAoCC","sourcesContent":["import { ExpoConfig } from '../Config.types';\nimport {\n XMLItem,\n getProjectStylesXMLPathAsync,\n readStylesXMLAsync,\n setStylesItem,\n writeStylesXMLAsync,\n} from './Styles';\nimport {\n getProjectColorsXMLPathAsync,\n readColorsXMLAsync,\n setColorItem,\n writeColorsXMLAsync,\n} from './Colors';\n\nconst ANDROID_WINDOW_BACKGROUND = 'android:windowBackground';\nconst WINDOW_BACKGROUND_COLOR = 'activityBackground';\n\nexport function getRootViewBackgroundColor(config: ExpoConfig) {\n if (config.android && config.android.backgroundColor) {\n return config.android.backgroundColor;\n }\n if (config.backgroundColor) {\n return config.backgroundColor;\n }\n\n return null;\n}\n\nexport async function setRootViewBackgroundColor(config: ExpoConfig, projectDirectory: string) {\n let hexString = getRootViewBackgroundColor(config);\n if (!hexString) {\n return false;\n }\n\n const stylesPath = await getProjectStylesXMLPathAsync(projectDirectory);\n const colorsPath = await getProjectColorsXMLPathAsync(projectDirectory);\n if (!colorsPath || !stylesPath) {\n return false;\n }\n\n let stylesJSON = await readStylesXMLAsync(stylesPath);\n let colorsJSON = await readColorsXMLAsync(colorsPath);\n\n let colorItemToAdd: XMLItem[] = [{ _: '', $: { name: '' } }];\n let styleItemToAdd: XMLItem[] = [{ _: '', $: { name: '' } }];\n\n colorItemToAdd[0]._ = hexString;\n colorItemToAdd[0].$.name = WINDOW_BACKGROUND_COLOR;\n\n styleItemToAdd[0]._ = `@color/${WINDOW_BACKGROUND_COLOR}`;\n styleItemToAdd[0].$.name = ANDROID_WINDOW_BACKGROUND;\n\n colorsJSON = setColorItem(colorItemToAdd, colorsJSON);\n stylesJSON = setStylesItem(styleItemToAdd, stylesJSON);\n\n try {\n await writeColorsXMLAsync(colorsPath, colorsJSON);\n await writeStylesXMLAsync(stylesPath, stylesJSON);\n } catch (e) {\n throw new Error(\n `Error setting Android root view background color. Cannot write new styles.xml to ${stylesPath}.`\n );\n }\n return true;\n}\n"]}
\No newline at end of file