Skip to content

Commit bb16b52

Browse files
committed
feat: added command "Copy Device Info" to copy info
1 parent 2379435 commit bb16b52

File tree

2 files changed

+77
-0
lines changed

2 files changed

+77
-0
lines changed

src/ace/commands.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,14 @@ const commands = [
295295
},
296296
readOnly: true,
297297
},
298+
{
299+
name: "copyDeviceInfo",
300+
description: "Copy Device info",
301+
exec() {
302+
acode.exec("copy-device-info");
303+
},
304+
readOnly: true,
305+
},
298306
];
299307

300308
export function setCommands(editor) {

src/lib/commands.js

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,4 +371,73 @@ export default {
371371
"open-log-file"() {
372372
openFile(Url.join(DATA_STORAGE, constants.LOG_FILE_NAME));
373373
},
374+
"copy-device-info"() {
375+
let webviewInfo = {};
376+
let appInfo = {};
377+
const getWebviewInfo = new Promise((resolve, reject) => {
378+
system.getWebviewInfo(
379+
(res) => {
380+
webviewInfo = res;
381+
resolve();
382+
},
383+
(error) => {
384+
console.error("Error getting WebView info:", error);
385+
reject(error);
386+
},
387+
);
388+
});
389+
const getAppInfo = new Promise((resolve, reject) => {
390+
system.getAppInfo(
391+
(res) => {
392+
appInfo = res;
393+
resolve();
394+
},
395+
(error) => {
396+
console.error("Error getting app info:", error);
397+
reject(error);
398+
},
399+
);
400+
});
401+
402+
Promise.all([getWebviewInfo, getAppInfo])
403+
.then(() => {
404+
let info = `Device Information:
405+
WebView Info:
406+
Package Name: ${webviewInfo?.packageName || "N/A"}
407+
Version: ${webviewInfo?.versionName || "N/A"}
408+
409+
App Info:
410+
Name: ${appInfo?.label || "N/A"}
411+
Package Name: ${appInfo?.packageName || "N/A"}
412+
Version: ${appInfo?.versionName || "N/A"}
413+
Version Code: ${appInfo?.versionCode || "N/A"}
414+
415+
Device Info:
416+
Android Version: ${device?.version || "N/A"}
417+
Manufacturer: ${device?.manufacturer || "N/A"}
418+
Model: ${device?.model || "N/A"}
419+
Platform: ${device?.platform || "N/A"}
420+
Cordova Version: ${device?.cordova || "N/A"}
421+
422+
Screen Info:
423+
Width: ${screen?.width || "N/A"}
424+
Height: ${screen?.height || "N/A"}
425+
Color Depth: ${screen?.colorDepth || "N/A"}
426+
427+
Additional Info:
428+
Language: ${navigator?.language || "N/A"}
429+
User Agent: ${navigator?.userAgent || "N/A"}
430+
`;
431+
432+
// Copy the info to clipboard
433+
if (cordova.plugins.clipboard) {
434+
cordova.plugins.clipboard.copy(info);
435+
toast(strings["copied to clipboard"]);
436+
}
437+
})
438+
.catch((error) => {
439+
console.error("Error getting device info:", error);
440+
toast("Failed to get device info");
441+
});
442+
},
374443
};

0 commit comments

Comments
 (0)