@kccd/expo-http-server 0.1.14 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ declare const _default: any;
2
+ export default _default;
3
+ //# sourceMappingURL=ExpoHttpServerModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpoHttpServerModule.d.ts","sourceRoot":"","sources":["../src/ExpoHttpServerModule.ts"],"names":[],"mappings":";AAEA,wBAAqD"}
@@ -0,0 +1,3 @@
1
+ import { requireNativeModule } from "expo-modules-core";
2
+ export default requireNativeModule("ExpoHttpServer");
3
+ //# sourceMappingURL=ExpoHttpServerModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpoHttpServerModule.js","sourceRoot":"","sources":["../src/ExpoHttpServerModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,eAAe,mBAAmB,CAAC,gBAAgB,CAAC,CAAC","sourcesContent":["import { requireNativeModule } from \"expo-modules-core\";\n\nexport default requireNativeModule(\"ExpoHttpServer\");\n"]}
@@ -0,0 +1,37 @@
1
+ export type HttpMethod = "GET" | "POST" | "PUT" | "DELETE" | "OPTIONS";
2
+ /**
3
+ * PAUSED AND RESUMED are iOS only
4
+ */
5
+ export type Status = "STARTED" | "PAUSED" | "RESUMED" | "STOPPED" | "ERROR";
6
+ export interface StatusEvent {
7
+ status: Status;
8
+ message: string;
9
+ }
10
+ export interface RequestEvent {
11
+ uuid: string;
12
+ requestId: string;
13
+ method: string;
14
+ path: string;
15
+ body: string;
16
+ headersJson: string;
17
+ paramsJson: string;
18
+ cookiesJson: string;
19
+ }
20
+ export interface Response {
21
+ statusCode?: number;
22
+ statusDescription?: string;
23
+ contentType?: string;
24
+ headers?: Record<string, string>;
25
+ body?: string;
26
+ }
27
+ export interface Callback {
28
+ method: string;
29
+ path: string;
30
+ uuid: string;
31
+ callback: (request: RequestEvent) => Promise<Response>;
32
+ }
33
+ export declare const start: () => void;
34
+ export declare const route: (path: string, method: HttpMethod, callback: (request: RequestEvent) => Promise<Response>) => void;
35
+ export declare const setup: (port: number, onStatusUpdate?: ((event: StatusEvent) => void) | undefined) => void;
36
+ export declare const stop: () => any;
37
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AACvE;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE5E,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACxD;AAED,eAAO,MAAM,KAAK,YAyBjB,CAAC;AAEF,eAAO,MAAM,KAAK,SACV,MAAM,UACJ,UAAU,sBACE,YAAY,KAAK,QAAQ,QAAQ,CAAC,SAUvD,CAAC;AAEF,eAAO,MAAM,KAAK,SACV,MAAM,4BACa,WAAW,KAAK,IAAI,sBAQ9C,CAAC;AAEF,eAAO,MAAM,IAAI,WAAoC,CAAC"}
package/build/index.js ADDED
@@ -0,0 +1,36 @@
1
+ import { EventEmitter } from "expo-modules-core";
2
+ import ExpoHttpServerModule from "./ExpoHttpServerModule";
3
+ const emitter = new EventEmitter(ExpoHttpServerModule);
4
+ const requestCallbacks = [];
5
+ export const start = () => {
6
+ emitter.addListener("onRequest", async (event) => {
7
+ const responseHandler = requestCallbacks.find((c) => c.uuid === event.uuid);
8
+ if (!responseHandler) {
9
+ ExpoHttpServerModule.respond(event.requestId, 404, "Not Found", "application/json", {}, JSON.stringify({ error: "Handler not found" }));
10
+ return;
11
+ }
12
+ const response = await responseHandler.callback(event);
13
+ ExpoHttpServerModule.respond(event.requestId, response.statusCode || 200, response.statusDescription || "OK", response.contentType || "application/json", response.headers || {}, response.body || "{}");
14
+ });
15
+ ExpoHttpServerModule.start();
16
+ };
17
+ export const route = (path, method, callback) => {
18
+ const uuid = Math.random().toString(16).slice(2);
19
+ requestCallbacks.push({
20
+ method,
21
+ path,
22
+ uuid,
23
+ callback,
24
+ });
25
+ ExpoHttpServerModule.route(path, method, uuid);
26
+ };
27
+ export const setup = (port, onStatusUpdate) => {
28
+ if (onStatusUpdate) {
29
+ emitter.addListener("onStatusUpdate", async (event) => {
30
+ onStatusUpdate(event);
31
+ });
32
+ }
33
+ ExpoHttpServerModule.setup(port);
34
+ };
35
+ export const stop = () => ExpoHttpServerModule.stop();
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,oBAAoB,CAAC,CAAC;AACvD,MAAM,gBAAgB,GAAe,EAAE,CAAC;AAuCxC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE;IACxB,OAAO,CAAC,WAAW,CAAe,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7D,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,oBAAoB,CAAC,OAAO,CAC1B,KAAK,CAAC,SAAS,EACf,GAAG,EACH,WAAW,EACX,kBAAkB,EAClB,EAAE,EACF,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAC/C,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvD,oBAAoB,CAAC,OAAO,CAC1B,KAAK,CAAC,SAAS,EACf,QAAQ,CAAC,UAAU,IAAI,GAAG,EAC1B,QAAQ,CAAC,iBAAiB,IAAI,IAAI,EAClC,QAAQ,CAAC,WAAW,IAAI,kBAAkB,EAC1C,QAAQ,CAAC,OAAO,IAAI,EAAE,EACtB,QAAQ,CAAC,IAAI,IAAI,IAAI,CACtB,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,oBAAoB,CAAC,KAAK,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,IAAY,EACZ,MAAkB,EAClB,QAAsD,EACtD,EAAE;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjD,gBAAgB,CAAC,IAAI,CAAC;QACpB,MAAM;QACN,IAAI;QACJ,IAAI;QACJ,QAAQ;KACT,CAAC,CAAC;IACH,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,IAAY,EACZ,cAA6C,EAC7C,EAAE;IACF,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,WAAW,CAAc,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACjE,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC","sourcesContent":["import { EventEmitter } from \"expo-modules-core\";\n\nimport ExpoHttpServerModule from \"./ExpoHttpServerModule\";\n\nconst emitter = new EventEmitter(ExpoHttpServerModule);\nconst requestCallbacks: Callback[] = [];\n\nexport type HttpMethod = \"GET\" | \"POST\" | \"PUT\" | \"DELETE\" | \"OPTIONS\";\n/**\n * PAUSED AND RESUMED are iOS only\n */\nexport type Status = \"STARTED\" | \"PAUSED\" | \"RESUMED\" | \"STOPPED\" | \"ERROR\";\n\nexport interface StatusEvent {\n status: Status;\n message: string;\n}\n\nexport interface RequestEvent {\n uuid: string;\n requestId: string;\n method: string;\n path: string;\n body: string;\n headersJson: string;\n paramsJson: string;\n cookiesJson: string;\n}\n\nexport interface Response {\n statusCode?: number;\n statusDescription?: string;\n contentType?: string;\n headers?: Record<string, string>;\n body?: string;\n}\n\nexport interface Callback {\n method: string;\n path: string;\n uuid: string;\n callback: (request: RequestEvent) => Promise<Response>;\n}\n\nexport const start = () => {\n emitter.addListener<RequestEvent>(\"onRequest\", async (event) => {\n const responseHandler = requestCallbacks.find((c) => c.uuid === event.uuid);\n if (!responseHandler) {\n ExpoHttpServerModule.respond(\n event.requestId,\n 404,\n \"Not Found\",\n \"application/json\",\n {},\n JSON.stringify({ error: \"Handler not found\" }),\n );\n return;\n }\n const response = await responseHandler.callback(event);\n ExpoHttpServerModule.respond(\n event.requestId,\n response.statusCode || 200,\n response.statusDescription || \"OK\",\n response.contentType || \"application/json\",\n response.headers || {},\n response.body || \"{}\",\n );\n });\n ExpoHttpServerModule.start();\n};\n\nexport const route = (\n path: string,\n method: HttpMethod,\n callback: (request: RequestEvent) => Promise<Response>,\n) => {\n const uuid = Math.random().toString(16).slice(2);\n requestCallbacks.push({\n method,\n path,\n uuid,\n callback,\n });\n ExpoHttpServerModule.route(path, method, uuid);\n};\n\nexport const setup = (\n port: number,\n onStatusUpdate?: (event: StatusEvent) => void,\n) => {\n if (onStatusUpdate) {\n emitter.addListener<StatusEvent>(\"onStatusUpdate\", async (event) => {\n onStatusUpdate(event);\n });\n }\n ExpoHttpServerModule.setup(port);\n};\n\nexport const stop = () => ExpoHttpServerModule.stop();\n"]}
@@ -12,11 +12,11 @@ Pod::Spec.new do |s|
12
12
  s.homepage = package['homepage']
13
13
  s.platform = :ios, '13.4'
14
14
  s.swift_version = '5.4'
15
- s.source = { git: 'https://github.com/simonsturge/expo-http-server' }
15
+ s.source = { git: 'https://github.com/kccd/expo-http-server' }
16
16
  s.static_framework = true
17
17
 
18
18
  s.dependency 'ExpoModulesCore'
19
- s.dependency 'Criollo'
19
+ s.dependency 'Criollo', :git => 'https://github.com/pxgo/criollo.git', :tag => 'v0.0.1'
20
20
  s.dependency 'CocoaAsyncSocket'
21
21
 
22
22
  # Swift/Objective-C compatibility
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kccd/expo-http-server",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "description": "A simple HTTP server expo module (iOS/Android)",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -9,6 +9,9 @@
9
9
  "clean": "expo-module clean",
10
10
  "lint": "expo-module lint",
11
11
  "test": "expo-module test",
12
+ "prepare": "expo-module prepare",
13
+ "prepublishOnly": "expo-module prepublishOnly",
14
+ "expo-module": "expo-module",
12
15
  "open:ios": "open -a \"Xcode\" example/ios",
13
16
  "open:android": "open -a \"Android Studio\" example/android"
14
17
  },
File without changes
@@ -1,2 +0,0 @@
1
- #Wed Jul 17 17:56:56 CST 2024
2
- java.home=/home/pxgo/Applications/android-studio/jbr
File without changes
@@ -1,12 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="GradleSettings">
4
- <option name="linkedExternalProjectsSettings">
5
- <GradleProjectSettings>
6
- <option name="externalProjectPath" value="$PROJECT_DIR$" />
7
- <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
8
- <option name="resolveExternalAnnotations" value="false" />
9
- </GradleProjectSettings>
10
- </option>
11
- </component>
12
- </project>
@@ -1,10 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectMigrations">
4
- <option name="MigrateToGradleLocalJavaHome">
5
- <set>
6
- <option value="$PROJECT_DIR$" />
7
- </set>
8
- </option>
9
- </component>
10
- </project>
@@ -1,10 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ExternalStorageConfigurationManager" enabled="true" />
4
- <component name="ProjectRootManager">
5
- <output url="file://$PROJECT_DIR$/build/classes" />
6
- </component>
7
- <component name="ProjectType">
8
- <option name="id" value="Android" />
9
- </component>
10
- </project>
@@ -1,263 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="direct_access_persist.xml">
4
- <option name="deviceSelectionList">
5
- <list>
6
- <PersistentDeviceSelectionData>
7
- <option name="api" value="27" />
8
- <option name="brand" value="DOCOMO" />
9
- <option name="codename" value="F01L" />
10
- <option name="id" value="F01L" />
11
- <option name="manufacturer" value="FUJITSU" />
12
- <option name="name" value="F-01L" />
13
- <option name="screenDensity" value="360" />
14
- <option name="screenX" value="720" />
15
- <option name="screenY" value="1280" />
16
- </PersistentDeviceSelectionData>
17
- <PersistentDeviceSelectionData>
18
- <option name="api" value="28" />
19
- <option name="brand" value="DOCOMO" />
20
- <option name="codename" value="SH-01L" />
21
- <option name="id" value="SH-01L" />
22
- <option name="manufacturer" value="SHARP" />
23
- <option name="name" value="AQUOS sense2 SH-01L" />
24
- <option name="screenDensity" value="480" />
25
- <option name="screenX" value="1080" />
26
- <option name="screenY" value="2160" />
27
- </PersistentDeviceSelectionData>
28
- <PersistentDeviceSelectionData>
29
- <option name="api" value="31" />
30
- <option name="brand" value="samsung" />
31
- <option name="codename" value="a51" />
32
- <option name="id" value="a51" />
33
- <option name="manufacturer" value="Samsung" />
34
- <option name="name" value="Galaxy A51" />
35
- <option name="screenDensity" value="420" />
36
- <option name="screenX" value="1080" />
37
- <option name="screenY" value="2400" />
38
- </PersistentDeviceSelectionData>
39
- <PersistentDeviceSelectionData>
40
- <option name="api" value="34" />
41
- <option name="brand" value="google" />
42
- <option name="codename" value="akita" />
43
- <option name="id" value="akita" />
44
- <option name="manufacturer" value="Google" />
45
- <option name="name" value="Pixel 8a" />
46
- <option name="screenDensity" value="420" />
47
- <option name="screenX" value="1080" />
48
- <option name="screenY" value="2400" />
49
- </PersistentDeviceSelectionData>
50
- <PersistentDeviceSelectionData>
51
- <option name="api" value="33" />
52
- <option name="brand" value="samsung" />
53
- <option name="codename" value="b0q" />
54
- <option name="id" value="b0q" />
55
- <option name="manufacturer" value="Samsung" />
56
- <option name="name" value="Galaxy S22 Ultra" />
57
- <option name="screenDensity" value="600" />
58
- <option name="screenX" value="1440" />
59
- <option name="screenY" value="3088" />
60
- </PersistentDeviceSelectionData>
61
- <PersistentDeviceSelectionData>
62
- <option name="api" value="32" />
63
- <option name="brand" value="google" />
64
- <option name="codename" value="bluejay" />
65
- <option name="id" value="bluejay" />
66
- <option name="manufacturer" value="Google" />
67
- <option name="name" value="Pixel 6a" />
68
- <option name="screenDensity" value="420" />
69
- <option name="screenX" value="1080" />
70
- <option name="screenY" value="2400" />
71
- </PersistentDeviceSelectionData>
72
- <PersistentDeviceSelectionData>
73
- <option name="api" value="29" />
74
- <option name="brand" value="samsung" />
75
- <option name="codename" value="crownqlteue" />
76
- <option name="id" value="crownqlteue" />
77
- <option name="manufacturer" value="Samsung" />
78
- <option name="name" value="Galaxy Note9" />
79
- <option name="screenDensity" value="420" />
80
- <option name="screenX" value="2220" />
81
- <option name="screenY" value="1080" />
82
- </PersistentDeviceSelectionData>
83
- <PersistentDeviceSelectionData>
84
- <option name="api" value="34" />
85
- <option name="brand" value="samsung" />
86
- <option name="codename" value="dm3q" />
87
- <option name="id" value="dm3q" />
88
- <option name="manufacturer" value="Samsung" />
89
- <option name="name" value="Galaxy S23 Ultra" />
90
- <option name="screenDensity" value="600" />
91
- <option name="screenX" value="1440" />
92
- <option name="screenY" value="3088" />
93
- </PersistentDeviceSelectionData>
94
- <PersistentDeviceSelectionData>
95
- <option name="api" value="33" />
96
- <option name="brand" value="google" />
97
- <option name="codename" value="felix" />
98
- <option name="id" value="felix" />
99
- <option name="manufacturer" value="Google" />
100
- <option name="name" value="Pixel Fold" />
101
- <option name="screenDensity" value="420" />
102
- <option name="screenX" value="2208" />
103
- <option name="screenY" value="1840" />
104
- </PersistentDeviceSelectionData>
105
- <PersistentDeviceSelectionData>
106
- <option name="api" value="33" />
107
- <option name="brand" value="google" />
108
- <option name="codename" value="felix_camera" />
109
- <option name="id" value="felix_camera" />
110
- <option name="manufacturer" value="Google" />
111
- <option name="name" value="Pixel Fold (Camera-enabled)" />
112
- <option name="screenDensity" value="420" />
113
- <option name="screenX" value="2208" />
114
- <option name="screenY" value="1840" />
115
- </PersistentDeviceSelectionData>
116
- <PersistentDeviceSelectionData>
117
- <option name="api" value="33" />
118
- <option name="brand" value="samsung" />
119
- <option name="codename" value="gts8uwifi" />
120
- <option name="id" value="gts8uwifi" />
121
- <option name="manufacturer" value="Samsung" />
122
- <option name="name" value="Galaxy Tab S8 Ultra" />
123
- <option name="screenDensity" value="320" />
124
- <option name="screenX" value="1848" />
125
- <option name="screenY" value="2960" />
126
- </PersistentDeviceSelectionData>
127
- <PersistentDeviceSelectionData>
128
- <option name="api" value="34" />
129
- <option name="brand" value="google" />
130
- <option name="codename" value="husky" />
131
- <option name="id" value="husky" />
132
- <option name="manufacturer" value="Google" />
133
- <option name="name" value="Pixel 8 Pro" />
134
- <option name="screenDensity" value="390" />
135
- <option name="screenX" value="1008" />
136
- <option name="screenY" value="2244" />
137
- </PersistentDeviceSelectionData>
138
- <PersistentDeviceSelectionData>
139
- <option name="api" value="30" />
140
- <option name="brand" value="motorola" />
141
- <option name="codename" value="java" />
142
- <option name="id" value="java" />
143
- <option name="manufacturer" value="Motorola" />
144
- <option name="name" value="G20" />
145
- <option name="screenDensity" value="280" />
146
- <option name="screenX" value="720" />
147
- <option name="screenY" value="1600" />
148
- </PersistentDeviceSelectionData>
149
- <PersistentDeviceSelectionData>
150
- <option name="api" value="33" />
151
- <option name="brand" value="google" />
152
- <option name="codename" value="lynx" />
153
- <option name="id" value="lynx" />
154
- <option name="manufacturer" value="Google" />
155
- <option name="name" value="Pixel 7a" />
156
- <option name="screenDensity" value="420" />
157
- <option name="screenX" value="1080" />
158
- <option name="screenY" value="2400" />
159
- </PersistentDeviceSelectionData>
160
- <PersistentDeviceSelectionData>
161
- <option name="api" value="31" />
162
- <option name="brand" value="google" />
163
- <option name="codename" value="oriole" />
164
- <option name="id" value="oriole" />
165
- <option name="manufacturer" value="Google" />
166
- <option name="name" value="Pixel 6" />
167
- <option name="screenDensity" value="420" />
168
- <option name="screenX" value="1080" />
169
- <option name="screenY" value="2400" />
170
- </PersistentDeviceSelectionData>
171
- <PersistentDeviceSelectionData>
172
- <option name="api" value="33" />
173
- <option name="brand" value="google" />
174
- <option name="codename" value="panther" />
175
- <option name="id" value="panther" />
176
- <option name="manufacturer" value="Google" />
177
- <option name="name" value="Pixel 7" />
178
- <option name="screenDensity" value="420" />
179
- <option name="screenX" value="1080" />
180
- <option name="screenY" value="2400" />
181
- </PersistentDeviceSelectionData>
182
- <PersistentDeviceSelectionData>
183
- <option name="api" value="31" />
184
- <option name="brand" value="samsung" />
185
- <option name="codename" value="q2q" />
186
- <option name="id" value="q2q" />
187
- <option name="manufacturer" value="Samsung" />
188
- <option name="name" value="Galaxy Z Fold3" />
189
- <option name="screenDensity" value="420" />
190
- <option name="screenX" value="1768" />
191
- <option name="screenY" value="2208" />
192
- </PersistentDeviceSelectionData>
193
- <PersistentDeviceSelectionData>
194
- <option name="api" value="34" />
195
- <option name="brand" value="samsung" />
196
- <option name="codename" value="q5q" />
197
- <option name="id" value="q5q" />
198
- <option name="manufacturer" value="Samsung" />
199
- <option name="name" value="Galaxy Z Fold5" />
200
- <option name="screenDensity" value="420" />
201
- <option name="screenX" value="1812" />
202
- <option name="screenY" value="2176" />
203
- </PersistentDeviceSelectionData>
204
- <PersistentDeviceSelectionData>
205
- <option name="api" value="30" />
206
- <option name="brand" value="google" />
207
- <option name="codename" value="r11" />
208
- <option name="id" value="r11" />
209
- <option name="manufacturer" value="Google" />
210
- <option name="name" value="Pixel Watch" />
211
- <option name="screenDensity" value="320" />
212
- <option name="screenX" value="384" />
213
- <option name="screenY" value="384" />
214
- <option name="type" value="WEAR_OS" />
215
- </PersistentDeviceSelectionData>
216
- <PersistentDeviceSelectionData>
217
- <option name="api" value="30" />
218
- <option name="brand" value="google" />
219
- <option name="codename" value="redfin" />
220
- <option name="id" value="redfin" />
221
- <option name="manufacturer" value="Google" />
222
- <option name="name" value="Pixel 5" />
223
- <option name="screenDensity" value="440" />
224
- <option name="screenX" value="1080" />
225
- <option name="screenY" value="2340" />
226
- </PersistentDeviceSelectionData>
227
- <PersistentDeviceSelectionData>
228
- <option name="api" value="34" />
229
- <option name="brand" value="google" />
230
- <option name="codename" value="shiba" />
231
- <option name="id" value="shiba" />
232
- <option name="manufacturer" value="Google" />
233
- <option name="name" value="Pixel 8" />
234
- <option name="screenDensity" value="420" />
235
- <option name="screenX" value="1080" />
236
- <option name="screenY" value="2400" />
237
- </PersistentDeviceSelectionData>
238
- <PersistentDeviceSelectionData>
239
- <option name="api" value="33" />
240
- <option name="brand" value="google" />
241
- <option name="codename" value="tangorpro" />
242
- <option name="id" value="tangorpro" />
243
- <option name="manufacturer" value="Google" />
244
- <option name="name" value="Pixel Tablet" />
245
- <option name="screenDensity" value="320" />
246
- <option name="screenX" value="1600" />
247
- <option name="screenY" value="2560" />
248
- </PersistentDeviceSelectionData>
249
- <PersistentDeviceSelectionData>
250
- <option name="api" value="29" />
251
- <option name="brand" value="samsung" />
252
- <option name="codename" value="x1q" />
253
- <option name="id" value="x1q" />
254
- <option name="manufacturer" value="Samsung" />
255
- <option name="name" value="Galaxy S20" />
256
- <option name="screenDensity" value="480" />
257
- <option name="screenX" value="1440" />
258
- <option name="screenY" value="3200" />
259
- </PersistentDeviceSelectionData>
260
- </list>
261
- </option>
262
- </component>
263
- </project>
@@ -1,8 +0,0 @@
1
- ## This file must *NOT* be checked into Version Control Systems,
2
- # as it contains information specific to your local configuration.
3
- #
4
- # Location of the SDK. This is only used by Gradle.
5
- # For customization when using a Version Control System, please read the
6
- # header note.
7
- #Wed Jul 17 17:56:56 CST 2024
8
- sdk.dir=/home/pxgo/Android/Sdk