pages.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. const chalk = require('chalk');
  2. const common = require('../lib/common');
  3. const inquirer = require('../lib/inquirer');
  4. const shellExec = require('shell-exec')
  5. const files = require('../lib/files')
  6. const fs = require('fs')
  7. module.exports = {
  8. removeApps: async () => {
  9. common.header('Remove Apps')
  10. const value = await inquirer.removeAppsList();
  11. for (let element of value.removeAppsList) {
  12. await shellExec('adb shell pm uninstall -k --user 0 ' + element).then(function (result) {
  13. console.log('Removing ' + element + ' - ' + result.stdout);
  14. });
  15. }
  16. console.log(chalk.green('Removal Complete'))
  17. await common.pause(2000)
  18. module.exports.mainMenu()
  19. },
  20. restoreApps: async () => {
  21. common.header('Remove Apps')
  22. const value = await inquirer.removeAppsList();
  23. for (let element of value.removeAppsList) {
  24. await shellExec('adb shell cmd package install-existing ' + element).then(function (result) {
  25. console.log('Removing ' + element + ' - ' + result.stdout);
  26. });
  27. }
  28. console.log(chalk.green('Restore Complete'))
  29. await common.pause(2000)
  30. module.exports.mainMenu()
  31. },
  32. connectWifi: async () => {
  33. const miwatchData = JSON.parse(fs.readFileSync('./data/MiWatch.json', 'utf8'));
  34. common.header('Connect Wifi')
  35. if (miwatchData.ipAddress !== "") {
  36. console.log('Trying to connect with stored ipAddress')
  37. shellExec('adb connect ' + miwatchData.ipAddress).then(async function (result) {
  38. if (result.stdout.includes('unable to connect')) {
  39. console.log(chalk.red('MiWatch not found'))
  40. await common.pause(2000)
  41. console.log(chalk.white('Try Again'))
  42. files.writeIpAddress('')
  43. await common.pause(1000)
  44. module.exports.connectWifi()
  45. } else if (result.stdout.includes('cannot connect')) {
  46. console.log(chalk.red('MiWatch not found'))
  47. await common.pause(2000)
  48. console.log(chalk.white('Try Again'))
  49. files.writeIpAddress('')
  50. await common.pause(1000)
  51. module.exports.connectWifi()
  52. } else if (result.stdout.includes('cannot resolve host')) {
  53. console.log(chalk.red('MiWatch not found'))
  54. await common.pause(2000)
  55. console.log(chalk.white('Try Again'))
  56. files.writeIpAddress('')
  57. await common.pause(1000)
  58. module.exports.connectWifi()
  59. } else {
  60. console.log(chalk.green('MiWatch Connected'))
  61. await common.pause(3000)
  62. module.exports.mainMenu()
  63. }
  64. }).catch()
  65. } else {
  66. const value = await inquirer.connectWifi();
  67. const miWatchIpaddress = value.connectWifi
  68. shellExec('adb connect ' + miWatchIpaddress).then(async function (result) {
  69. if (result.stdout.includes('unable to connect')) {
  70. console.log(chalk.red('MiWatch not found'))
  71. await common.pause(2000)
  72. console.log(chalk.white('Try Again'))
  73. await common.pause(1000)
  74. module.exports.connectWifi()
  75. } else if (result.stdout.includes('cannot connect')) {
  76. console.log(chalk.red('MiWatch not found'))
  77. await common.pause(2000)
  78. console.log(chalk.white('Try Again'))
  79. await common.pause(1000)
  80. module.exports.connectWifi()
  81. } else if (result.stdout.includes('cannot resolve host')) {
  82. console.log(chalk.red('MiWatch not found'))
  83. await common.pause(2000)
  84. console.log(chalk.white('Try Again'))
  85. await common.pause(1000)
  86. module.exports.connectWifi()
  87. } else {
  88. console.log(chalk.green('MiWatch Connected'))
  89. files.writeIpAddress(miWatchIpaddress)
  90. await common.pause(3000)
  91. module.exports.mainMenu()
  92. }
  93. }).catch()
  94. }
  95. },
  96. mainMenu: async () => {
  97. common.header('Main Menu')
  98. const mainMenuSelection = await inquirer.mainMenu();
  99. switch (mainMenuSelection.mainMenu) {
  100. case 'connect to miwatch via wifi':
  101. module.exports.connectWifi()
  102. break;
  103. case 'remove xiaomi apps':
  104. module.exports.removeApps()
  105. break;
  106. case 'restore xiaomi apps':
  107. module.exports.restoreApps()
  108. break;
  109. case 'quit':
  110. break;
  111. default:
  112. // code block
  113. }
  114. }
  115. };