diff --git a/lib/adb.js b/lib/adb.js index 0f3e4cd..5ae5675 100644 --- a/lib/adb.js +++ b/lib/adb.js @@ -7,6 +7,8 @@ const common = require('./common') const chalk = require('chalk'); const globalVariables = require('../lib/globalVars'); const extractNumber = require('extract-numbers') +const settings = require("settings-store"); + if (process.platform === 'win32' || process.platform === 'win64') { adbRun = 'adb' @@ -16,7 +18,7 @@ if (process.platform === 'win32' || process.platform === 'win64') { module.exports = { installApk: async (element) => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) result = await shellExec(adbRun + ' install -r ' + element).then(async function (result) { if (result.stderr != '') { common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red') @@ -46,7 +48,7 @@ module.exports = { }); }, removeApk: async (package) => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) result = await shellExec(adbRun + ' uninstall ' + package) if (result.stderr != '') { common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red') @@ -55,7 +57,7 @@ module.exports = { } }, removeXiaomiApk: async (package) => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) result = await shellExec(adbRun + ' shell pm uninstall -k --user 0 ' + package) if (result.stderr != '') { common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red') @@ -64,7 +66,7 @@ module.exports = { } }, restoreXiaomiApk: async (package) => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) result = await shellExec(adbRun + ' shell cmd package install-existing ' + package) if (result.stderr != '') { common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red') @@ -73,7 +75,7 @@ module.exports = { } }, restoreAnyApk: async (package) => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) result = await shellExec(adbRun + ' shell cmd package install-existing ' + package.removeAnyApp) if (result.stderr != '') { common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red') @@ -85,7 +87,7 @@ module.exports = { } }, removeAnyApk: async (package) => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) result = await shellExec(adbRun + ' shell pm uninstall -k --user 0 ' + package.removeAnyApp) if (result.stderr != '') { common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red') @@ -97,7 +99,7 @@ module.exports = { } }, getInstalledPacakges: async () => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) result = await shellExec(adbRun + ' shell pm list packages -3') logger.info(await Language.get('packages-recieved-from-watch')) if (result.stderr.includes('error')) { @@ -125,13 +127,13 @@ module.exports = { } }, killAdbServer: async () => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) let result = await shellExec(adbRun + ' kill-server') // common.log('') // common.dualLog('restarting-adb' + ' ' + result.stderr, 'red') }, getCurrentDPI: async () => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) let result = await shellExec(adbRun + ' shell wm density') if (result.stdout != "") { currentDPI = extractNumber(result.stdout) @@ -146,13 +148,13 @@ module.exports = { }, setDPI: async (setDPI) => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) let result = await shellExec(adbRun + ' shell wm density ' + setDPI) // currentDPI = extractNumber(result.stdout) // return currentDPI[0] }, watchConnection: async (value) => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) if (value.connection === "usb") { common.dualLog(await Language.get('usb-one-device', 'whiteBright')) await common.pause(2000) diff --git a/lib/common.js b/lib/common.js index 378eddb..aaaa8b8 100644 --- a/lib/common.js +++ b/lib/common.js @@ -37,7 +37,7 @@ module.exports = { await new Promise(resolve => setTimeout(resolve, time)); }, connectionCheck: async () => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) if (globalVariables.localUSB === "X") { console.log(chalk.white('MiWatch: ') + chalk.green(await Language.get('connected-via-usb'))) } @@ -49,7 +49,7 @@ module.exports = { } }, downloadFile: async (url, path) => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) const res = await fetch(url); // await module.exports.downloadSize(url) await new Promise(async (resolve, reject) => { @@ -82,7 +82,7 @@ module.exports = { logger.info(await Language.get(item, 'en')) }, print: async (item, colour) => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) switch (colour) { case 'green': console.log(chalk.green(await Language.get(item))) diff --git a/lib/files.js b/lib/files.js index 57c4d87..d525ce7 100644 --- a/lib/files.js +++ b/lib/files.js @@ -4,8 +4,10 @@ const tiny = require("@peterpanhihi/tiny"); const getFilesIn = require('get-files-in') const globalVariables = require('../lib/globalVars'); const Language = require("@shypes/language-translator"); +const settings = require("settings-store"); -Language.setActiveLang(globalVariables.language) + +Language.setActiveLang(settings.value("Lang")) module.exports = { diff --git a/lib/inquirer.js b/lib/inquirer.js index 2c8f70f..08cb5a1 100644 --- a/lib/inquirer.js +++ b/lib/inquirer.js @@ -3,10 +3,11 @@ const files = require("./files"); const common = require("./common"); const Language = require("@shypes/language-translator"); const globalVariables = require('../lib/globalVars'); +const settings = require("settings-store"); module.exports = { mainMenu: async () => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) const questions = [{ type: "list", name: "mainMenu", @@ -23,6 +24,7 @@ module.exports = { await Language.get('main-menu-item-8'), await Language.get('main-menu-item-10'), await Language.get('main-menu-item-9'), + "global" ], filter: function (val) { return val.toLowerCase(); @@ -45,7 +47,7 @@ module.exports = { return inquirer.prompt(questions); }, connectionType: async () => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) const questions = [{ type: "list", name: "connection", @@ -61,7 +63,7 @@ module.exports = { return inquirer.prompt(questions); }, connectWifi: async () => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) const questions = [{ type: "input", name: "connectWifi", @@ -70,7 +72,7 @@ module.exports = { return inquirer.prompt(questions); }, setDPI: async () => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) const questions = [{ type: "input", name: "setDPI", @@ -79,7 +81,7 @@ module.exports = { return inquirer.prompt(questions); }, xiaomiAppsList: async () => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) const packages = await files.loadPackageList(); let appList = [] packages.forEach(element => { @@ -95,7 +97,7 @@ module.exports = { return inquirer.prompt(questions); }, compatibleApps: async () => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) const compatibleApps = await common.getCompatibleAppsList() const appList = [] for (let element of compatibleApps) { @@ -110,7 +112,7 @@ module.exports = { return inquirer.prompt(questions); }, installedApps: async (installedApps) => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) const questions = [{ type: "checkbox", name: "removeAppsList", @@ -120,7 +122,7 @@ module.exports = { return inquirer.prompt(questions); }, restoreAnyApp: async () => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) const questions = [{ type: "input", name: "restoreAnyApp", @@ -129,7 +131,7 @@ module.exports = { return inquirer.prompt(questions); }, removeAnyApp: async () => { - Language.setActiveLang(globalVariables.language) + Language.setActiveLang(await settings.value("Lang")) const questions = [{ type: "input", name: "removeAnyApp", @@ -137,4 +139,20 @@ module.exports = { },]; return inquirer.prompt(questions); }, + globalMenu: async () => { + Language.setActiveLang(await settings.value("Lang")) + const questions = [{ + type: "list", + name: "globalSelection", + message: await Language.get('global selection'), + choices: [ + "Enable Global Theme", + "Disable Global Theme" + ], + filter: function (val) { + return val.toLowerCase(); + }, + },]; + return inquirer.prompt(questions); + }, }; \ No newline at end of file diff --git a/pages/pages.js b/pages/pages.js index bef3ba3..a81842c 100644 --- a/pages/pages.js +++ b/pages/pages.js @@ -29,7 +29,7 @@ module.exports = { common.print('remove-xiaomi-apps', 'whiteBright') const removalPackagesList = files.loadPackageList() for (let package of removalPackagesList) { - if (package.klean === "X") { + if (package.klean === "X" || package.global === "X") { await adb.removeXiaomiApk(package.name) } } @@ -73,7 +73,7 @@ module.exports = { common.header('main-menu-item-2') common.log('main-menu-item-2') const value = await inquirer.xiaomiAppsList(); - for (let package of value.removeAppsList) { + for (let package of value.appList) { await adb.removeXiaomiApk(package) } common.dualLog('removal-complete', 'green') @@ -85,7 +85,7 @@ module.exports = { common.header('main-menu-item-3') common.log('main-menu-item-3') const value = await inquirer.xiaomiAppsList(); - for (let package of value.removeAppsList) { + for (let package of value.appList) { await adb.restoreXiaomiApk(package) } common.dualLog('restoring-apps-complete', 'green') @@ -228,6 +228,42 @@ module.exports = { } }, + globalTheme: async () => { + const v = await inquirer.globalMenu() + console.log(v) + if (v.globalSelection === "enable global theme") { + common.log('main-menu-item-1') + common.header('main-menu-item-1') + common.print('remove-xiaomi-apps', 'whiteBright') + const removalPackagesList = files.loadPackageList() + for (let package of removalPackagesList) { + if (package.global === "X") { + await adb.removeXiaomiApk(package.name) + } + } + common.print('removal-complete', 'green') + await common.pause(2000) + common.log('removal-complete') + common.log('compatible-apps') + module.exports.mainMenu() + } else { + common.log('main-menu-item-1') + common.header('main-menu-item-1') + common.print('remove-xiaomi-apps', 'whiteBright') + const removalPackagesList = files.loadPackageList() + for (let package of removalPackagesList) { + if (package.global === "X") { + await adb.restoreXiaomiApk(package.name) + } + } + common.print('removal-complete', 'green') + await common.pause(2000) + common.log('removal-complete') + common.log('compatible-apps') + module.exports.mainMenu() + } + }, + mainMenu: async () => { common.header('Main Menu') const mainMenuSelection = await inquirer.mainMenu(); @@ -276,6 +312,9 @@ module.exports = { case menu_9.toLowerCase(): process.kill(process.pid) break; + case 'global': + module.exports.globalTheme(); + break; default: // code block }