diff --git a/lang/en.json b/lang/en.json index 43ce9ef..132d0a8 100644 --- a/lang/en.json +++ b/lang/en.json @@ -42,5 +42,12 @@ "connect-to-watch": "Connect to watch", "connected-via-usb": "Connected via USB", "connected-via-wifi": "Connected via Wifi", - "not-connected": "Not Connected" + "connected": "Connected", + "not-connected": "Not Connected", + "error-device-not-authorised": "Error - Device not authorised", + "not-found": "Not Found", + "try-again": "Try Again", + "connect-wifi-complete": "Connect Wifi Complete", + "not-authenticated": "Not Authenticated", + "error": "Error" } \ No newline at end of file diff --git a/lang/es.json b/lang/es.json index d46e379..48eb097 100644 --- a/lang/es.json +++ b/lang/es.json @@ -42,5 +42,11 @@ "connect-to-watch": "Conectarse al reloj", "connected-via-usb": "Conectado mediante USB", "connected-via-wifi": "Conectado a través de Wifi", - "not-connected": "No conectado" + "not-connected": "No conectado", + "error-device-not-authorised": "Error - Dispositivo no autorizado", + "not-found": "No encontrado", + "try-again": "Inténtalo de nuevo", + "connect-wifi-complete": "Conectar Wifi Completo", + "not-authenticated": "No autenticado", + "error": "Error" } \ No newline at end of file diff --git a/lib/adb.js b/lib/adb.js index 56ac8a9..b2efc84 100644 --- a/lib/adb.js +++ b/lib/adb.js @@ -6,6 +6,7 @@ const inquirer = require('../lib/inquirer'); const common = require('./common') const chalk = require('chalk'); const globalVariables = require('../lib/globalVars'); +const { dualLog } = require('./common'); if (process.platform === 'win32' || process.platform === 'win64') { adbRun = 'adb' @@ -18,32 +19,28 @@ module.exports = { Language.setActiveLang(globalVariables.language) result = await shellExec(adbRun + ' install -r ' + element).then(async function (result) { if (result.stderr != '') { - logger.info(await Language.get('device-not-authorised')); - console.log(chalk.redBright(await Language.get('device-not-authorised'))); + common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red') } - console.log(element + ' - ' + result.stdout); - logger.info(element + ' - ' + result.stdout); + common.dualLog(element + ' - ' + result.stdout) if (element === "data\\apps\\simpleweather_base.apk") { await common.downloadFile('http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Others/simpleweather_split_config.armeabi_v7a.apk', './data/apps/simpleweather_split_config.armeabi_v7a.apk') await common.downloadFile('http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/Others/simpleweather_split_config.xhdpi.apk', './data/apps/simpleweather_split_config.xhdpi.apk') await shellExec(adbRun + ' install-multiple "data\\apps\\simpleweather_base.apk" "data\\apps\\simpleweather_split_config.armeabi_v7a.apk" "data\\apps\\simpleweather_split_config.xhdpi.apk"').then(async function (result) { - console.log(result) - console.log(await Language.get('simple-weather-activated-on-watch')); - logger.info(await Language.get('simple-weather-activated-on-watch')); + common.log(result) + common.dualLog('simple-weather-activated-on-watch') }) } if (element === "data\\apps\\MoreLocale.apk") { await shellExec(adbRun + ' shell pm grant jp.co.c_lis.ccl.morelocale android.permission.CHANGE_CONFIGURATION').then(async function (result) { - console.log(await Language.get('morelocale-activated-on-watch')); - logger.info(await Language.get('morelocale-activated-on-watch')); + common.log(result) + common.dualLog('morelocale-activated-on-watch') }) } if (element === "data\\apps\\AlbertoLocale.apk") { await shellExec(adbRun + ' shell pm grant com.alberto.locale android.permission.CHANGE_CONFIGURATION && ' + adbRun + ' shell am start -n com.alberto.locale/com.alberto.locale.MainActivity && ' + adbRun + ' shell pm grant com.alberto.locale android.permission.CHANGE_CONFIGURATION').then(async function (result) { - console.log(result.stdout) - console.log(await Language.get('alberto-locale-activated-on-watch')); - logger.info(await Language.get('alberto-locale-activated-on-watch')); + common.log(result) + common.dualLog('alberto-locale-activated-on-watch') }); } }); @@ -52,47 +49,39 @@ module.exports = { Language.setActiveLang(globalVariables.language) result = await shellExec(adbRun + ' uninstall ' + package) if (result.stderr != '') { - logger.info('Error ' + result.stderr); - console.log(chalk.redBright('Error - Device not authorised')); + common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red') } else { - logger.info('Removing ' + package + ' - ' + result.stdout); - console.log('Removing ' + package + ' - ' + result.stdout); + common.dualLog(await Language.get('removing') + ' ' + package + ' - ' + result.stdout) } }, removeXiaomiApk: async (package) => { Language.setActiveLang(globalVariables.language) result = await shellExec(adbRun + ' shell pm uninstall -k --user 0 ' + package) if (result.stderr != '') { - logger.info('Error ' + result.stderr); - console.log(chalk.redBright('Error - Device not authorised')); + common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red') } else { - logger.info('Removing ' + package + ' - ' + result.stdout); - console.log('Removing ' + package + ' - ' + result.stdout); + common.dualLog(await Language.get('removing') + ' ' + package + ' - ' + result.stdout) } }, restoreXiaomiApk: async (package) => { Language.setActiveLang(globalVariables.language) result = await shellExec(adbRun + ' shell cmd package install-existing ' + package) if (result.stderr != '') { - logger.info('Error ' + result.stderr); - console.log(chalk.redBright('Error - Device not authorised')); + common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red') } else { - logger.info('Removing ' + package + ' - ' + result.stdout); - console.log('Removing ' + package + ' - ' + result.stdout); + common.dualLog(await Language.get('removing') + ' ' + package + ' - ' + result.stdout) } }, restoreAnyApk: async (package) => { Language.setActiveLang(globalVariables.language) result = await shellExec(adbRun + ' shell cmd package install-existing ' + package.restoreAnyApp) if (result.stderr != '') { - logger.info('Error ' + result.stderr); - console.log(chalk.redBright('Error - Device not authorised')); + common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red') } else if (result.stdout.includes('doesn\'t exist')) { logger.info(result.stdout); console.log(chalk.redBright(result.stdout)); } else { - logger.info('Restoring ' + package.restoreAnyApp + ' - ' + result.stdout); - console.log('Restoring ' + package.restoreAnyApp + ' - ' + result.stdout); + common.dualLog(await Language.get('restoring') + ' ' + package + ' - ' + result.stdout) } }, getInstalledPacakges: async () => { @@ -126,8 +115,8 @@ module.exports = { killAdbServer: async () => { Language.setActiveLang(globalVariables.language) let result = await shellExec(adbRun + ' kill-server') - logger.info('Restarting ADB') - logger.info(result.stdout) + // common.log('') + // common.dualLog('restarting-adb' + ' ' + result.stderr, 'red') }, watchConnection: async (value) => { Language.setActiveLang(globalVariables.language) @@ -136,16 +125,14 @@ module.exports = { result = await shellExec(adbRun + ' devices') console.log(result.stdout) if (result.stdout.includes('device', 15)) { - console.log(chalk.green('MiWatch Connected via USB')) + common.dualLog(await Language.get('connected-via-usb', 'green')) await common.pause(3000) - logger.info("MiWatch connected") globalVariables.localUSB = "X" return true } else { - console.log(chalk.red('MiWatch not found')) - logger.info("MiWatch not found") + common.dualLog(await Language.get('not-found', 'red')) await common.pause(2000) - console.log(chalk.white('Try Again')) + common.dualLog(await Language.get('try-again', 'white')) await common.pause(1000) return false } @@ -156,23 +143,21 @@ module.exports = { result = await shellExec(adbRun + ' connect ' + value.connectWifi) logger.info("Connect Wifi Result " + result.stdout) if (result.stdout.includes('already connected') || result.stdout.includes('connected to ')) { - console.log(chalk.green('MiWatch Connected')) + common.dualLog(await Language.get('connected', 'green')) globalVariables.localUSB = "" globalVariables.miWatchIpaddress = value.connectWifi await common.pause(3000) - logger.info("Connect Wifi Complete") + common.dualLog(await Language.get('connect-wifi-complete', 'green')) return true } else { if (result.stdout.includes('failed to authenticate')) { - console.log(chalk.redBright('MiWatch not authenticated')) - logger.info('MiWatch not authenticated') + common.dualLog(await Language.get('not-authenticated', 'red')) return false } else { - console.log(chalk.red(result.stdout)) - logger.info(result.stdout) + common.dualLog(result.stdout, 'red') } await common.pause(2000) - console.log(chalk.white('Try Again')) + common.dualLog('try-again', '') await common.pause(1000) return false } diff --git a/package-lock.json b/package-lock.json index 47a1279..f9e0bc4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -111,6 +111,11 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, + "async": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.1.0.tgz", + "integrity": "sha512-4vx/aaY6j/j3Lw3fbCHNWP0pPaTCew3F6F3hYyl/tHs/ndmV1q7NW9T5yuJ2XAGwdQrP+6Wu20x06U4APo/iQQ==" + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -664,6 +669,60 @@ "slash": "^3.0.0" } }, + "google-translate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/google-translate/-/google-translate-3.0.0.tgz", + "integrity": "sha512-NQrP9gnFBO9LpEAN7Ia4kiyycbubqG+vdmxhQE5hjhAeU6U2n1vM7Kb1wtI3YU7Ghk3+bdfiRiAr6Zhox/UV2w==", + "requires": { + "async": "3.1.0", + "he": "1.2.0", + "request": "2.88.0", + "underscore": "1.9.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + } + } + }, "graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", @@ -703,6 +762,11 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, "help": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/help/-/help-3.0.2.tgz", @@ -1540,6 +1604,11 @@ "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=" }, + "underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" + }, "unique-temp-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz", diff --git a/package.json b/package.json index cb9b1f2..1612351 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "clui": "^0.3.6", "figlet": "^1.3.0", "get-files-in": "^1.2.0", + "google-translate": "^3.0.0", "inquirer": "^7.1.0", "node-fetch": "^2.6.0", "perfect-logger": "^2.0.1",