This commit is contained in:
karl.hudgell 2020-08-27 18:16:39 +01:00
parent 42138024a9
commit 15c0320faa
6 changed files with 76 additions and 7 deletions

View File

@ -1,5 +1,7 @@
const fs = require('fs');
const path = require('path');
const tiny = require("@peterpanhihi/tiny");
const { resolve } = require('path');
module.exports = {
getCurrentDirectoryBase: () => {
@ -27,4 +29,15 @@ module.exports = {
console.log(err)
}
},
renameLocalApk: async (apkList) => {
return new Promise(function (resolve, reject) {
for (let e of apkList) {
a = tiny(e)
fs.rename(e, a, function (err) {
if (err) console.log('ERROR: ' + err);
});
}
resolve(x / y);
}).catch(err => NaN)
}
}

View File

@ -16,8 +16,9 @@ module.exports = {
"Remove Xiaomi Apps",
"Restore Xiaomi Apps",
"Install Compatible Apps",
"Remove Installed Apps",
"Restore ANY app",
"Batch Install APKs",
"Batch Remove Installed Apps",
"Quit"
],
filter: function (val) {

0
my_apk/.gitkeep Normal file
View File

30
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "miwatchkleaner2.0",
"version": "2.0.8",
"name": "miwatchkleaner",
"version": "3.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -40,6 +40,11 @@
"fastq": "^1.6.0"
}
},
"@peterpanhihi/tiny": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@peterpanhihi/tiny/-/tiny-2.0.0.tgz",
"integrity": "sha512-usAoksj49559JLAsQXmrE5wOV6A055icErp8jpJDCicfojwEVPaSLk5EZ1EXhcgIuqjSNkzCOXu0gSdm3Std+w=="
},
"@types/color-name": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
@ -249,6 +254,14 @@
"assert-plus": "^1.0.0"
}
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
}
},
"deep-is": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
@ -867,6 +880,11 @@
"minimist": "^1.2.5"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"multistream": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/multistream/-/multistream-2.1.1.tgz",
@ -1082,6 +1100,14 @@
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
"integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew=="
},
"rename": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/rename/-/rename-1.0.4.tgz",
"integrity": "sha1-oPJQePpBleZQ9zBQx8Esz2ifQws=",
"requires": {
"debug": "^2.5.2"
}
},
"request": {
"version": "2.88.2",
"resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",

View File

@ -15,6 +15,7 @@
"author": "Karl Hudgell",
"license": "ISC",
"dependencies": {
"@peterpanhihi/tiny": "^2.0.0",
"chalk": "^4.0.0",
"clear": "^0.1.0",
"clui": "^0.3.6",

View File

@ -3,9 +3,7 @@ const common = require('../lib/common');
const inquirer = require('../lib/inquirer');
const shellExec = require('shell-exec')
const files = require('../lib/files')
const fs = require('fs')
const getFilesIn = require('get-files-in')
var shell = require('shelljs');
let logger = require('perfect-logger');
const globalVariables = require('../lib/globalVars');
@ -301,6 +299,33 @@ module.exports = {
logger.info("App Restore Complete")
module.exports.mainMenu()
},
batchInstallApks: async () => {
logger.info("Batch Install Apks")
common.header('Batch Install Apks')
let apkList = await getFilesIn('./my_apk/', matchFiletypes = ['apk'], checkSubDirectories = false)
await files.renameLocalApk(apkList)
apkList = await getFilesIn('./my_apk/', matchFiletypes = ['apk'], checkSubDirectories = false)
for (let element of apkList) {
console.log('Installing ' + element)
logger.info('Installing ' + element)
await shellExec(adbRun + ' install -r ' + element).then(async function (result) {
if (result.stderr != '') {
logger.info('Error ' + result.stderr);
console.log(chalk.redBright(result.stderr));
}
console.log(element + ' - ' + result.stdout);
logger.info(element + ' - ' + result.stdout);
});
}
console.log(chalk.green('Batch Install Apks Completed'))
logger.info('Batch Install Apks Completed')
await common.pause(2000)
module.exports.mainMenu()
},
mainMenu: async () => {
common.header('Main Menu')
const mainMenuSelection = await inquirer.mainMenu();
@ -320,12 +345,15 @@ module.exports = {
case 'install compatible apps':
module.exports.compatibleApps()
break;
case 'remove installed apps':
case 'batch remove installed apps':
module.exports.removeCompatibleApps()
break;
case 'restore any app':
module.exports.restoreAnyApp()
break;
case 'batch install apks':
module.exports.batchInstallApks()
break;
case 'quit':
break;
default: