xref: /expo/packages/expo-dev-client/plugin/src/withGeneratedAndroidScheme.ts (revision 2fd75d6d)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import {
2  AndroidConfig,
3  AndroidManifest,
4  ConfigPlugin,
5  withAndroidManifest,
6} from '@expo/config-plugins';
7import { ExpoConfig } from '@expo/config-types';
8
9import getDefaultScheme from './getDefaultScheme';
10
11export const withGeneratedAndroidScheme: ConfigPlugin = (config) => {
12  return withAndroidManifest(config, (config) => {
13    config.modResults = setGeneratedAndroidScheme(config, config.modResults);
14    return config;
15  });
16};
17
18export function setGeneratedAndroidScheme(
19  config: Pick<ExpoConfig, 'scheme' | 'slug'>,
20  androidManifest: AndroidManifest
21): AndroidManifest {
22  // Generate a cross-platform scheme used to launch the dev client.
23  const scheme = getDefaultScheme(config);
24  if (!AndroidConfig.Scheme.hasScheme(scheme, androidManifest)) {
25    androidManifest = AndroidConfig.Scheme.appendScheme(scheme, androidManifest);
26  }
27  return androidManifest;
28}
29

served by {OpenGrok

Last Index Update: Tue Oct 21 18:42:31 GMT 2025