working spanish 100%

This commit is contained in:
karl.hudgell 2020-08-29 20:48:57 +01:00
parent f020e27f8c
commit f89d883564
5 changed files with 112 additions and 44 deletions

View File

@ -42,5 +42,12 @@
"connect-to-watch": "Connect to watch", "connect-to-watch": "Connect to watch",
"connected-via-usb": "Connected via USB", "connected-via-usb": "Connected via USB",
"connected-via-wifi": "Connected via Wifi", "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"
} }

View File

@ -42,5 +42,11 @@
"connect-to-watch": "Conectarse al reloj", "connect-to-watch": "Conectarse al reloj",
"connected-via-usb": "Conectado mediante USB", "connected-via-usb": "Conectado mediante USB",
"connected-via-wifi": "Conectado a través de Wifi", "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"
} }

View File

@ -6,6 +6,7 @@ const inquirer = require('../lib/inquirer');
const common = require('./common') const common = require('./common')
const chalk = require('chalk'); const chalk = require('chalk');
const globalVariables = require('../lib/globalVars'); const globalVariables = require('../lib/globalVars');
const { dualLog } = require('./common');
if (process.platform === 'win32' || process.platform === 'win64') { if (process.platform === 'win32' || process.platform === 'win64') {
adbRun = 'adb' adbRun = 'adb'
@ -18,32 +19,28 @@ module.exports = {
Language.setActiveLang(globalVariables.language) Language.setActiveLang(globalVariables.language)
result = await shellExec(adbRun + ' install -r ' + element).then(async function (result) { result = await shellExec(adbRun + ' install -r ' + element).then(async function (result) {
if (result.stderr != '') { if (result.stderr != '') {
logger.info(await Language.get('device-not-authorised')); common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red')
console.log(chalk.redBright(await Language.get('device-not-authorised')));
} }
console.log(element + ' - ' + result.stdout); common.dualLog(element + ' - ' + result.stdout)
logger.info(element + ' - ' + result.stdout);
if (element === "data\\apps\\simpleweather_base.apk") { 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.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 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) { 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) common.log(result)
console.log(await Language.get('simple-weather-activated-on-watch')); common.dualLog('simple-weather-activated-on-watch')
logger.info(await Language.get('simple-weather-activated-on-watch'));
}) })
} }
if (element === "data\\apps\\MoreLocale.apk") { 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) { 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')); common.log(result)
logger.info(await Language.get('morelocale-activated-on-watch')); common.dualLog('morelocale-activated-on-watch')
}) })
} }
if (element === "data\\apps\\AlbertoLocale.apk") { 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) { 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) common.log(result)
console.log(await Language.get('alberto-locale-activated-on-watch')); common.dualLog('alberto-locale-activated-on-watch')
logger.info(await Language.get('alberto-locale-activated-on-watch'));
}); });
} }
}); });
@ -52,47 +49,39 @@ module.exports = {
Language.setActiveLang(globalVariables.language) Language.setActiveLang(globalVariables.language)
result = await shellExec(adbRun + ' uninstall ' + package) result = await shellExec(adbRun + ' uninstall ' + package)
if (result.stderr != '') { if (result.stderr != '') {
logger.info('Error ' + result.stderr); common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red')
console.log(chalk.redBright('Error - Device not authorised'));
} else { } else {
logger.info('Removing ' + package + ' - ' + result.stdout); common.dualLog(await Language.get('removing') + ' ' + package + ' - ' + result.stdout)
console.log('Removing ' + package + ' - ' + result.stdout);
} }
}, },
removeXiaomiApk: async (package) => { removeXiaomiApk: async (package) => {
Language.setActiveLang(globalVariables.language) Language.setActiveLang(globalVariables.language)
result = await shellExec(adbRun + ' shell pm uninstall -k --user 0 ' + package) result = await shellExec(adbRun + ' shell pm uninstall -k --user 0 ' + package)
if (result.stderr != '') { if (result.stderr != '') {
logger.info('Error ' + result.stderr); common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red')
console.log(chalk.redBright('Error - Device not authorised'));
} else { } else {
logger.info('Removing ' + package + ' - ' + result.stdout); common.dualLog(await Language.get('removing') + ' ' + package + ' - ' + result.stdout)
console.log('Removing ' + package + ' - ' + result.stdout);
} }
}, },
restoreXiaomiApk: async (package) => { restoreXiaomiApk: async (package) => {
Language.setActiveLang(globalVariables.language) Language.setActiveLang(globalVariables.language)
result = await shellExec(adbRun + ' shell cmd package install-existing ' + package) result = await shellExec(adbRun + ' shell cmd package install-existing ' + package)
if (result.stderr != '') { if (result.stderr != '') {
logger.info('Error ' + result.stderr); common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red')
console.log(chalk.redBright('Error - Device not authorised'));
} else { } else {
logger.info('Removing ' + package + ' - ' + result.stdout); common.dualLog(await Language.get('removing') + ' ' + package + ' - ' + result.stdout)
console.log('Removing ' + package + ' - ' + result.stdout);
} }
}, },
restoreAnyApk: async (package) => { restoreAnyApk: async (package) => {
Language.setActiveLang(globalVariables.language) Language.setActiveLang(globalVariables.language)
result = await shellExec(adbRun + ' shell cmd package install-existing ' + package.restoreAnyApp) result = await shellExec(adbRun + ' shell cmd package install-existing ' + package.restoreAnyApp)
if (result.stderr != '') { if (result.stderr != '') {
logger.info('Error ' + result.stderr); common.dualLog('device-not-authorised' + ' ' + result.stderr, 'red')
console.log(chalk.redBright('Error - Device not authorised'));
} else if (result.stdout.includes('doesn\'t exist')) { } else if (result.stdout.includes('doesn\'t exist')) {
logger.info(result.stdout); logger.info(result.stdout);
console.log(chalk.redBright(result.stdout)); console.log(chalk.redBright(result.stdout));
} else { } else {
logger.info('Restoring ' + package.restoreAnyApp + ' - ' + result.stdout); common.dualLog(await Language.get('restoring') + ' ' + package + ' - ' + result.stdout)
console.log('Restoring ' + package.restoreAnyApp + ' - ' + result.stdout);
} }
}, },
getInstalledPacakges: async () => { getInstalledPacakges: async () => {
@ -126,8 +115,8 @@ module.exports = {
killAdbServer: async () => { killAdbServer: async () => {
Language.setActiveLang(globalVariables.language) Language.setActiveLang(globalVariables.language)
let result = await shellExec(adbRun + ' kill-server') let result = await shellExec(adbRun + ' kill-server')
logger.info('Restarting ADB') // common.log('')
logger.info(result.stdout) // common.dualLog('restarting-adb' + ' ' + result.stderr, 'red')
}, },
watchConnection: async (value) => { watchConnection: async (value) => {
Language.setActiveLang(globalVariables.language) Language.setActiveLang(globalVariables.language)
@ -136,16 +125,14 @@ module.exports = {
result = await shellExec(adbRun + ' devices') result = await shellExec(adbRun + ' devices')
console.log(result.stdout) console.log(result.stdout)
if (result.stdout.includes('device', 15)) { 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) await common.pause(3000)
logger.info("MiWatch connected")
globalVariables.localUSB = "X" globalVariables.localUSB = "X"
return true return true
} else { } else {
console.log(chalk.red('MiWatch not found')) common.dualLog(await Language.get('not-found', 'red'))
logger.info("MiWatch not found")
await common.pause(2000) await common.pause(2000)
console.log(chalk.white('Try Again')) common.dualLog(await Language.get('try-again', 'white'))
await common.pause(1000) await common.pause(1000)
return false return false
} }
@ -156,23 +143,21 @@ module.exports = {
result = await shellExec(adbRun + ' connect ' + value.connectWifi) result = await shellExec(adbRun + ' connect ' + value.connectWifi)
logger.info("Connect Wifi Result " + result.stdout) logger.info("Connect Wifi Result " + result.stdout)
if (result.stdout.includes('already connected') || result.stdout.includes('connected to ')) { 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.localUSB = ""
globalVariables.miWatchIpaddress = value.connectWifi globalVariables.miWatchIpaddress = value.connectWifi
await common.pause(3000) await common.pause(3000)
logger.info("Connect Wifi Complete") common.dualLog(await Language.get('connect-wifi-complete', 'green'))
return true return true
} else { } else {
if (result.stdout.includes('failed to authenticate')) { if (result.stdout.includes('failed to authenticate')) {
console.log(chalk.redBright('MiWatch not authenticated')) common.dualLog(await Language.get('not-authenticated', 'red'))
logger.info('MiWatch not authenticated')
return false return false
} else { } else {
console.log(chalk.red(result.stdout)) common.dualLog(result.stdout, 'red')
logger.info(result.stdout)
} }
await common.pause(2000) await common.pause(2000)
console.log(chalk.white('Try Again')) common.dualLog('try-again', '')
await common.pause(1000) await common.pause(1000)
return false return false
} }

69
package-lock.json generated
View File

@ -111,6 +111,11 @@
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" "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": { "asynckit": {
"version": "0.4.0", "version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@ -664,6 +669,60 @@
"slash": "^3.0.0" "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": { "graceful-fs": {
"version": "4.2.4", "version": "4.2.4",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", "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", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" "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": { "help": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/help/-/help-3.0.2.tgz", "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", "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz",
"integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=" "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": { "unique-temp-dir": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz", "resolved": "https://registry.npmjs.org/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz",

View File

@ -23,6 +23,7 @@
"clui": "^0.3.6", "clui": "^0.3.6",
"figlet": "^1.3.0", "figlet": "^1.3.0",
"get-files-in": "^1.2.0", "get-files-in": "^1.2.0",
"google-translate": "^3.0.0",
"inquirer": "^7.1.0", "inquirer": "^7.1.0",
"node-fetch": "^2.6.0", "node-fetch": "^2.6.0",
"perfect-logger": "^2.0.1", "perfect-logger": "^2.0.1",