Skip to content

Commit

Permalink
修改拼写错误,修复已知问题
Browse files Browse the repository at this point in the history
  • Loading branch information
TonyJiangWJ committed May 5, 2020
1 parent c2dae15 commit 5301e27
Show file tree
Hide file tree
Showing 24 changed files with 336 additions and 74 deletions.
23 changes: 17 additions & 6 deletions config.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,6 @@
let currentEngine = engines.myEngine().getSource() + ''
let isRunningMode = currentEngine.endsWith('/config.js') && typeof module === 'undefined'

importClass(android.text.TextWatcher)
importClass(android.view.View)
importClass(android.view.MotionEvent)
importClass(java.util.concurrent.LinkedBlockingQueue)
importClass(java.util.concurrent.ThreadPoolExecutor)
importClass(java.util.concurrent.TimeUnit)

let default_config = {
password: '',
Expand Down Expand Up @@ -83,6 +77,14 @@ if (!isRunningMode) {
}
} else {


importClass(android.text.TextWatcher)
importClass(android.widget.AdapterView)
importClass(android.view.View)
importClass(android.view.MotionEvent)
importClass(java.util.concurrent.LinkedBlockingQueue)
importClass(java.util.concurrent.ThreadPoolExecutor)
importClass(java.util.concurrent.TimeUnit)
let loadingDialog = null

let _hasRootPermission = files.exists("/sbin/su") || files.exists("/system/xbin/su") || files.exists("/system/bin/su")
Expand Down Expand Up @@ -198,6 +200,15 @@ if (!isRunningMode) {
})
}

let SpinnerItemSelectedListenerBuilder = function (selectedCallback) {
return new AdapterView.OnItemSelectedListener({
onItemSelected: function (parentView, selectedItemView, position, id) {
selectedCallback(position)
},
onNothingSelected: function (parentView) {}
})
}

setTimeout(function () {
let start = new Date().getTime()
ui.layout(
Expand Down
51 changes: 49 additions & 2 deletions lib/SingletonRequirer.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @Author: TonyJiangWJ
* @Date: 2020-04-25 20:25:10
* @Last Modified by: TonyJiangWJ
* @Last Modified time: 2020-04-25 20:34:17
* @Last Modified time: 2020-05-03 10:03:15
* @Description: 导入单例模式的工具类
*/
module.exports = function (_runtime_, scope) {
Expand All @@ -17,9 +17,11 @@ module.exports = function (_runtime_, scope) {
// console.verbose('准备导入模块[' + moduleName + ']')
if (typeof scope[moduleName] === 'undefined') {
// console.verbose(moduleName + '暂时不存在,需要require导入')
let prototypes = require('./prototype/' + moduleName + '.js')
let prototypes = checkAndRequireRealModule(moduleName)
if (!prototypes) {
console.error('导入模块:[' + moduleName + ']失败,请检查代码')
toast('导入模块:[' + moduleName + ']失败,请检查代码')
exit()
}
scope[moduleName] = prototypes
scope.singletonRequirerInfo.moduleMap[moduleName] = {
Expand All @@ -41,4 +43,49 @@ module.exports = function (_runtime_, scope) {
}
scope.singletonRequirerInfo.useCount += 1
return scope.singletonRequirer
}

function tryRequire (filePath) {
try {
return require(filePath)
} catch (e) { }
return null
}

function checkAndRequireRealModule(moduleName) {
// console.verbose('准备导入模块:' + moduleName)
let fileName = './prototype/' + moduleName + '.js'
// 模块名称匹配
let tryRequired = tryRequire(fileName)
if (tryRequired) {
return tryRequired
} else {
console.verbose('[' + fileName + ']不存在')
}
// 不小心输入了.js结尾
fileName = './prototype/' + moduleName
tryRequired = tryRequire(fileName)
if (tryRequired) {
return tryRequired
} else {
console.verbose('[' + fileName + ']不存在')
}
// lib下查找 模块名称匹配的
fileName = './' + moduleName + '.js'
tryRequired = tryRequire(fileName)
if (tryRequired) {
return tryRequired
} else {
console.verbose('[' + fileName + ']不存在')
}
// lib下查找 文件名称匹配的
fileName = './' + moduleName
tryRequired = tryRequire(fileName)
if (tryRequired) {
return tryRequired
} else {
console.verbose('[' + fileName + ']不存在')
}
// 都无匹配
return null
}
8 changes: 4 additions & 4 deletions lib/Unlock.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
* @Description:
*/
let { config: _config } = require('../config.js')(runtime, this)
let singletoneRequire = require('./SingletonRequirer.js')(runtime, this)
let automator = singletoneRequire('Automator')
let FileUtils = singletoneRequire('FileUtils')
let _commonFunctions = singletoneRequire('CommonFunction')
let singletonRequire = require('./SingletonRequirer.js')(runtime, this)
let automator = singletonRequire('Automator')
let FileUtils = singletonRequire('FileUtils')
let _commonFunctions = singletonRequire('CommonFunction')
let ExternalUnlockDevice = files.exists(FileUtils.getCurrentWorkPath() + '/extends/ExternalUnlockDevice.js') ? require('../extends/ExternalUnlockDevice.js') : null

if (ExternalUnlockDevice) {
Expand Down
6 changes: 3 additions & 3 deletions lib/prototype/AlipayUnlocker.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
let { config: _config } = require('../../config.js')(runtime, this)
let singletoneRequire = require('../SingletonRequirer.js')(runtime, this)
let WidgetUtils = singletoneRequire('WidgetUtils')
let automator = singletoneRequire('Automator')
let singletonRequire = require('../SingletonRequirer.js')(runtime, this)
let WidgetUtils = singletonRequire('WidgetUtils')
let automator = singletonRequire('Automator')

const AlipayUnlocker = function () {
}
Expand Down
6 changes: 3 additions & 3 deletions lib/prototype/Automator.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
* @Description:
*/
let { config: _config } = require('../../config.js')(runtime, this)
let singletoneRequire = require('../SingletonRequirer.js')(runtime, this)
let _logUtils = singletoneRequire('LogUtils')
let FileUtils = singletoneRequire('FileUtils')
let singletonRequire = require('../SingletonRequirer.js')(runtime, this)
let _logUtils = singletonRequire('LogUtils')
let FileUtils = singletonRequire('FileUtils')
let customLockScreen = files.exists(FileUtils.getCurrentWorkPath() + '/extends/LockScreen.js') ? require('../../extends/LockScreen.js') : null


Expand Down
14 changes: 7 additions & 7 deletions lib/prototype/CommonFunction.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ importClass(android.content.Context)
importClass(android.provider.Settings)

let { config: _config, storage_name: _storage_name, project_name } = require('../../config.js')(runtime, this)
let singletoneRequire = require('../SingletonRequirer.js')(runtime, this)
let Timers = singletoneRequire('Timers')
let _runningQueueDispatcher = singletoneRequire('RunningQueueDispatcher')
let _FloatyInstance = singletoneRequire('FloatyUtil')
let automator = singletoneRequire('Automator')
let FileUtils = singletoneRequire('FileUtils')
let _logUtils = singletoneRequire('LogUtils')
let singletonRequire = require('../SingletonRequirer.js')(runtime, this)
let Timers = singletonRequire('Timers')
let _runningQueueDispatcher = singletonRequire('RunningQueueDispatcher')
let _FloatyInstance = singletonRequire('FloatyUtil')
let automator = singletonRequire('Automator')
let FileUtils = singletonRequire('FileUtils')
let _logUtils = singletonRequire('LogUtils')
let formatDate = require('../DateUtil.js')
let RUNTIME_STORAGE = _storage_name + "_runtime"
let DISMISS_AWAIT_DIALOG = 'dismissAwaitDialog'
Expand Down
4 changes: 2 additions & 2 deletions lib/prototype/LogUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
*/

let { config: _config, storage_name: _storage_name } = require('../../config.js')(runtime, this)
let singletoneRequire = require('../SingletonRequirer.js')(runtime, this)
let singletonRequire = require('../SingletonRequirer.js')(runtime, this)
let formatDate = require('../DateUtil.js')
let FileUtils = singletoneRequire('FileUtils')
let FileUtils = singletonRequire('FileUtils')
let storage = storages.create(_storage_name + 'run_log_file')

const ENGINE_ID = engines.myEngine().id
Expand Down
19 changes: 13 additions & 6 deletions lib/prototype/RunningQueueDispatcher.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ let STORAGE_KEY = "autojs_dispatch_queue_storage"
let RUNNING_KEY = "qunningTask"
let WAITING_QUEUE_KEY = "waitingQueue"
let WRITE_LOCK_KEY = "writeLock"
let singletoneRequire = require('../SingletonRequirer.js')(runtime, this)
let lockableStorages = singletoneRequire('LockableStorage')
let Timers = singletoneRequire('Timers')
let _logUtils = singletoneRequire('LogUtils')
let singletonRequire = require('../SingletonRequirer.js')(runtime, this)
let lockableStorages = singletonRequire('LockableStorage')
let Timers = singletonRequire('Timers')
let _logUtils = singletonRequire('LogUtils')

function RunningQueueDispatcher () {

Expand Down Expand Up @@ -278,7 +278,7 @@ function RunningQueueDispatcher () {
_logUtils.debugInfo('无任务等待中')
}
this.unlock()
}
}

} else {
_logUtils.warnInfo('运行中任务:' + JSON.stringify(runningTask) + '和当前任务:' + JSON.stringify(taskInfo) + '不同,不可移除')
Expand Down Expand Up @@ -308,6 +308,13 @@ function RunningQueueDispatcher () {
if (runningTask.engineId !== taskInfo.engineId) {
// 避免重复运行,如果挂了则继续
this.checkDuplicateRunning()
if (this.lock(3)) {
// 更新运行中任务信息
this.doAddRunningTask(taskInfo)
this.unlock()
} else {
_logUtils.warnInfo('更新运行中任务信息失败')
}
}
_logUtils.debugInfo('运行状态校验成功,执行后续功能')
return
Expand Down Expand Up @@ -447,7 +454,7 @@ function RunningQueueDispatcher () {
/**
* 判断任务是否已经加入到了等待队列
*/
this.isTaskInQueue = function(taskInfo) {
this.isTaskInQueue = function (taskInfo) {
this.distinctAwaitTasks()
let storedArrayStr = this.getStorage().get(WAITING_QUEUE_KEY)
let storedArray = null
Expand Down
4 changes: 2 additions & 2 deletions lib/prototype/WidgetUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
* @Description:
*/
let { config: _config } = require('../../config.js')(runtime, this)
let singletoneRequire = require('../SingletonRequirer.js')(runtime, this)
let singletonRequire = require('../SingletonRequirer.js')(runtime, this)
let {
debugInfo, debugForDev, logInfo, infoLog, warnInfo, errorInfo
} = singletoneRequire('LogUtils')
} = singletonRequire('LogUtils')

/**
* 校验控件是否存在,并打印相应日志
Expand Down
12 changes: 6 additions & 6 deletions main.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
* @Description:
*/
let { config } = require('./config.js')(runtime, this)
let singletoneRequire = require('./lib/SingletonRequirer.js')(runtime, this)
let runningQueueDispatcher = singletoneRequire('RunningQueueDispatcher')
let { logInfo, errorInfo, warnInfo, debugInfo, infoLog } = singletoneRequire('LogUtils')
let FloatyInstance = singletoneRequire('FloatyUtil')
let commonFunctions = singletoneRequire('CommonFunction')
let tryRequestScreenCapture = singletoneRequire('TryRequestScreenCapture')
let singletonRequire = require('./lib/SingletonRequirer.js')(runtime, this)
let runningQueueDispatcher = singletonRequire('RunningQueueDispatcher')
let { logInfo, errorInfo, warnInfo, debugInfo, infoLog } = singletonRequire('LogUtils')
let FloatyInstance = singletonRequire('FloatyUtil')
let commonFunctions = singletonRequire('CommonFunction')
let tryRequestScreenCapture = singletonRequire('TryRequestScreenCapture')
let unlocker = require('./lib/Unlock.js')
// 不管其他脚本是否在运行 清除任务队列 适合只使用蚂蚁森林的用户
if (config.single_script) {
Expand Down
4 changes: 2 additions & 2 deletions test/AES_Test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
let singletoneRequire = require('../../lib/SingletonRequirer.js')(runtime, this)
let singletonRequire = require('../../lib/SingletonRequirer.js')(runtime, this)
let AesUtil = require('../lib/AesUtil.js')
let Base64 = require('../lib/Base64.js')
let FileUtils = singletoneRequire('FileUtils')
let FileUtils = singletonRequire('FileUtils')
let CryptoJS = require('../lib/crypto-js.js')
var key = device.getAndroidId() //秘钥必须为:8/16/32位
var message = "123456";
Expand Down
4 changes: 2 additions & 2 deletions test/GestureLockTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
let config = {
alipay_lock_password: ''
}
let singletoneRequire = require('../lib/SingletonRequirer.js')(runtime, this)
let alipayUnlocker = singletoneRequire('AlipayUnlocker')
let singletonRequire = require('../lib/SingletonRequirer.js')(runtime, this)
let alipayUnlocker = singletonRequire('AlipayUnlocker')

alipayUnlocker.drawGestureByPassword({
left: 270,
Expand Down
4 changes: 2 additions & 2 deletions test/TestLockScreen.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@
* @Description: 测试锁屏功能
*/

let singletoneRequire = require('../lib/SingletonRequirer.js')(runtime, this)
let automator = singletoneRequire('Automator')
let singletonRequire = require('../lib/SingletonRequirer.js')(runtime, this)
let automator = singletonRequire('Automator')
automator.lockScreen()
8 changes: 4 additions & 4 deletions test/TestLockStorage.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
* @Description:
*/

let singletoneRequire = require('../lib/SingletonRequirer.js')(runtime, this)
let lockableStorages = singletoneRequire('LockableStorage')
let runningQueueDispatcher = singletoneRequire('RunningQueueDispatcher')
let singletonRequire = require('../lib/SingletonRequirer.js')(runtime, this)
let lockableStorages = singletonRequire('LockableStorage')
let runningQueueDispatcher = singletonRequire('RunningQueueDispatcher')

let storge = lockableStorages.create('test_storage')
log(storge.put('yes', 'yesyes'))
log(storge.get('yes'))
runningQueueDispatcher.addRunningTask()
runningQueueDispatcher.removeRunningTask()
log('调用次数:' + singletoneRequire('LockableStorage', true))
log('调用次数:' + singletonRequire('LockableStorage', true))
8 changes: 4 additions & 4 deletions test/queueTest/Task1.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
let singletoneRequire = require('../../lib/SingletonRequirer.js')(runtime, this)
let runningQueueDispatcher = singletoneRequire('RunningQueueDispatcher')
let commonFunctions = singletoneRequire('CommonFunction')
let { logInfo } = singletoneRequire('LogUtils')
let singletonRequire = require('../../lib/SingletonRequirer.js')(runtime, this)
let runningQueueDispatcher = singletonRequire('RunningQueueDispatcher')
let commonFunctions = singletonRequire('CommonFunction')
let { logInfo } = singletonRequire('LogUtils')

runningQueueDispatcher.addRunningTask()
runningQueueDispatcher.showDispatchStatus()
Expand Down
8 changes: 4 additions & 4 deletions test/queueTest/Task2.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
let singletoneRequire = require('../../lib/SingletonRequirer.js')(runtime, this)
let runningQueueDispatcher = singletoneRequire('RunningQueueDispatcher')
let commonFunctions = singletoneRequire('CommonFunction')
let { logInfo } = singletoneRequire('LogUtils')
let singletonRequire = require('../../lib/SingletonRequirer.js')(runtime, this)
let runningQueueDispatcher = singletonRequire('RunningQueueDispatcher')
let commonFunctions = singletonRequire('CommonFunction')
let { logInfo } = singletonRequire('LogUtils')

runningQueueDispatcher.addRunningTask()
runningQueueDispatcher.showDispatchStatus()
Expand Down
8 changes: 4 additions & 4 deletions test/queueTest/Task3.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
let singletoneRequire = require('../../lib/SingletonRequirer.js')(runtime, this)
let runningQueueDispatcher = singletoneRequire('RunningQueueDispatcher')
let commonFunctions = singletoneRequire('CommonFunction')
let { logInfo } = singletoneRequire('LogUtils')
let singletonRequire = require('../../lib/SingletonRequirer.js')(runtime, this)
let runningQueueDispatcher = singletonRequire('RunningQueueDispatcher')
let commonFunctions = singletonRequire('CommonFunction')
let { logInfo } = singletonRequire('LogUtils')

runningQueueDispatcher.addRunningTask()
runningQueueDispatcher.showDispatchStatus()
Expand Down
6 changes: 3 additions & 3 deletions test/queueTest/TaskTestManager.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
let singletoneRequire = require('../../lib/SingletonRequirer.js')(runtime, this)
let runningQueueDispatcher = singletoneRequire('RunningQueueDispatcher')
let { clearLogFile } = singletoneRequire('LogUtils')
let singletonRequire = require('../../lib/SingletonRequirer.js')(runtime, this)
let runningQueueDispatcher = singletonRequire('RunningQueueDispatcher')
let { clearLogFile } = singletonRequire('LogUtils')

clearLogFile('verbose')
let pwd = files.cwd()
Expand Down
Loading

0 comments on commit 5301e27

Please sign in to comment.