From 0a900942636defb185f40a49aa4f6b0615c8b4d6 Mon Sep 17 00:00:00 2001 From: yssk22 Date: Sat, 4 Jan 2025 15:06:50 +0000 Subject: [PATCH] [expo] adjust Android **Summary** - update app.config.js to use adaptive icon for Android. - specifcy white background for login screen. - use __DEV__ flag instead of `Constants.executionEnvironment` as the production build does not have the expected value as `standalone`, but have 'bare'. **Test** - expo **Issue** - #155 --- expo/app.config.js | 6 ++++++ expo/config/dev/icon-adaptive.png | Bin 0 -> 7055 bytes expo/config/dev/icon.png | Bin 6358 -> 14240 bytes expo/config/prod/icon-adaptive.png | Bin 0 -> 7606 bytes expo/config/prod/icon.png | Bin 6441 -> 7232 bytes expo/features/app/internals/AppRootGuest.tsx | 1 + .../app/internals/AppUpdateBanner.tsx | 6 +++--- expo/package.json | 2 +- expo/system/firebase/index.ts | 3 +-- 9 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 expo/config/dev/icon-adaptive.png create mode 100644 expo/config/prod/icon-adaptive.png diff --git a/expo/app.config.js b/expo/app.config.js index d6cc25af..eeb6cf5c 100644 --- a/expo/app.config.js +++ b/expo/app.config.js @@ -1,3 +1,4 @@ +const fs = require('fs'); const path = require('path'); const config = require('./app.config.default').expo; @@ -11,6 +12,11 @@ module.exports = (_) => { // set resources located in config/{name}/ directory config.icon = path.join('config', cfgName, 'icon.png'); config.splash.image = path.join('config', cfgName, 'splash.png'); + const adaptiveIcon = path.join('config', cfgName, 'icon-adaptive.png'); + if (fs.existsSync(adaptiveIcon)) { + config.android.adaptiveIcon.foregroundImage = adaptiveIcon; + } + config.ios.googleServicesFile = path.join('config', cfgName, 'GoogleService-Info.plist'); config.android.googleServicesFile = path.join('config', cfgName, 'google-services.json'); diff --git a/expo/config/dev/icon-adaptive.png b/expo/config/dev/icon-adaptive.png new file mode 100644 index 0000000000000000000000000000000000000000..43271d71da99266bad01c10eaeb9b77d5e9e9976 GIT binary patch literal 7055 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 literal 6358 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 diff --git a/expo/config/prod/icon-adaptive.png b/expo/config/prod/icon-adaptive.png new file mode 100644 index 0000000000000000000000000000000000000000..0e1eee207f2d3abcd0be2e56ba69a815e3e1f909 GIT binary patch literal 7606 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 T$0YZa;^V^kiStg!sXqG)?29Hx literal 6441 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