app.json 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. {
  2. "expo": {
  3. "name": "Control",
  4. "slug": "control",
  5. "version": "1.0.2",
  6. "orientation": "portrait",
  7. "icon": "./assets/new-control.png",
  8. "scheme": "mobilevoice",
  9. "userInterfaceStyle": "automatic",
  10. "ios": {
  11. "icon": "./assets/new-control.png",
  12. "bundleIdentifier": "com.anomalyco.mobilevoice",
  13. "config": {
  14. "usesNonExemptEncryption": false
  15. },
  16. "entitlements": {
  17. "com.apple.developer.kernel.extended-virtual-addressing": true
  18. },
  19. "infoPlist": {
  20. "NSMicrophoneUsageDescription": "Control uses the microphone while you hold Record to turn your speech into text for an OpenCode session.",
  21. "NSCameraUsageDescription": "Control uses the camera to scan the OpenCode pairing QR code shown on your computer.",
  22. "NSLocalNetworkUsageDescription": "Control uses your local network to discover and connect to OpenCode servers running on your computer.",
  23. "NSBonjourServices": ["_http._tcp."],
  24. "NSAppTransportSecurity": {
  25. "NSAllowsLocalNetworking": true,
  26. "NSExceptionDomains": {
  27. "100.64.0.0/10": {
  28. "NSExceptionAllowsInsecureHTTPLoads": true
  29. },
  30. "ts.net": {
  31. "NSIncludesSubdomains": true,
  32. "NSExceptionAllowsInsecureHTTPLoads": true
  33. }
  34. }
  35. }
  36. }
  37. },
  38. "android": {
  39. "adaptiveIcon": {
  40. "backgroundColor": "#1a1a1a",
  41. "foregroundImage": "./assets/images/android-icon-foreground.png",
  42. "backgroundImage": "./assets/images/android-icon-background.png",
  43. "monochromeImage": "./assets/images/android-icon-monochrome.png"
  44. },
  45. "permissions": [
  46. "RECORD_AUDIO",
  47. "POST_NOTIFICATIONS",
  48. "android.permission.FOREGROUND_SERVICE",
  49. "android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK",
  50. "android.permission.RECORD_AUDIO",
  51. "android.permission.MODIFY_AUDIO_SETTINGS",
  52. "android.permission.ACCESS_NETWORK_STATE",
  53. "android.permission.ACCESS_WIFI_STATE",
  54. "android.permission.CHANGE_WIFI_MULTICAST_STATE"
  55. ],
  56. "predictiveBackGestureEnabled": false
  57. },
  58. "web": {
  59. "output": "static",
  60. "favicon": "./assets/images/favicon.png"
  61. },
  62. "plugins": [
  63. "expo-router",
  64. [
  65. "expo-splash-screen",
  66. {
  67. "backgroundColor": "#121212",
  68. "android": {
  69. "image": "./assets/images/splash-icon.png",
  70. "imageWidth": 76
  71. }
  72. }
  73. ],
  74. "react-native-audio-api",
  75. "expo-asset",
  76. "expo-audio",
  77. [
  78. "expo-notifications",
  79. {
  80. "enableBackgroundRemoteNotifications": true,
  81. "sounds": ["./assets/sounds/alert.wav"]
  82. }
  83. ]
  84. ],
  85. "experiments": {
  86. "typedRoutes": true,
  87. "reactCompiler": true
  88. },
  89. "extra": {
  90. "router": {},
  91. "eas": {
  92. "projectId": "50b3dac3-8b5e-4142-b749-65ecf7b2904d"
  93. }
  94. },
  95. "owner": "anomaly-co",
  96. "runtimeVersion": "1.0.2",
  97. "updates": {
  98. "url": "https://u.expo.dev/50b3dac3-8b5e-4142-b749-65ecf7b2904d"
  99. }
  100. }
  101. }