Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
BYLAppRobot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liuyang
BYLAppRobot
Commits
a159a984
Commit
a159a984
authored
Oct 12, 2018
by
liuyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
APK图片抓取识别及轮播流地址抓取,客户端上报完善
#BYLSERVER-1438
parent
f8d8b53f
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
44 additions
and
62 deletions
+44
-62
Task.kt
app/src/main/java/com/duolebo/blyrobot/data/Task.kt
+15
-16
ApkReportProtocol.kt
...n/java/com/duolebo/blyrobot/protocol/ApkReportProtocol.kt
+9
-1
BylRobotService.kt
...main/java/com/duolebo/blyrobot/service/BylRobotService.kt
+0
-38
TaskManager.kt
app/src/main/java/com/duolebo/blyrobot/tools/TaskManager.kt
+17
-5
Config.kt
app/src/main/java/com/duolebo/blyrobot/util/Config.kt
+3
-2
No files found.
app/src/main/java/com/duolebo/blyrobot/data/Task.kt
View file @
a159a984
...
...
@@ -4,7 +4,6 @@ import android.content.Context
import
android.os.Build
import
android.os.Environment
import
android.util.Log
import
android.widget.Toast
import
com.duolebo.appbase.AppBaseHandler
import
com.duolebo.appbase.IAppBaseCallback
import
com.duolebo.appbase.IProtocol
...
...
@@ -54,7 +53,7 @@ class Task : IAppBaseCallback {
private
lateinit
var
reportJson
:
JSONObject
private
var
context
:
Context
private
val
imageDateFormat
=
SimpleDateFormat
(
"yyyy
_MM_dd_HH_mm_
ss"
,
Locale
.
CHINA
)
private
val
imageDateFormat
=
SimpleDateFormat
(
"yyyy
-MM-dd-HH-mm-
ss"
,
Locale
.
CHINA
)
var
proc
:
Process
?
=
null
constructor
(
context
:
Context
)
{
...
...
@@ -170,8 +169,12 @@ class Task : IAppBaseCallback {
val
channels
=
this
.
reportJson
.
optJSONArray
(
"channels"
)
val
channelJson
=
JSONObject
()
channelJson
.
putOpt
(
"channelImage"
,
screenShots
[
0
])
channelJson
.
putOpt
(
"channelEpgImage"
,
screenShots
[
1
])
val
channelImageFile
=
File
(
screenShots
[
0
])
channelJson
.
putOpt
(
"channelImage"
,
channelImageFile
.
name
)
val
channelEpgImageFile
=
File
(
screenShots
[
1
])
channelJson
.
putOpt
(
"channelEpgImage"
,
channelEpgImageFile
.
name
)
channelJson
.
putOpt
(
"channelId"
,
this
.
channelIndex
)
val
playUrls
=
JSONArray
()
...
...
@@ -296,7 +299,6 @@ class Task : IAppBaseCallback {
private
fun
uploadImageCallback
():
UploadStatusDelegate
{
val
totalUpload
=
this
.
uploadImages
.
size
Log
.
i
(
TAG
,
"total upload count : $totalUpload"
)
var
uploadCount
=
0
return
object
:
UploadStatusDelegate
{
override
fun
onCancelled
(
context
:
Context
?,
uploadInfo
:
UploadInfo
?)
{
...
...
@@ -306,19 +308,12 @@ class Task : IAppBaseCallback {
}
override
fun
onError
(
context
:
Context
?,
uploadInfo
:
UploadInfo
?,
serverResponse
:
ServerResponse
?,
exception
:
java
.
lang
.
Exception
?)
{
Log
.
i
(
TAG
,
"upload error uploadCount: $uploadCount "
+
uploadInfo
?.
toString
())
uploadCount
++
if
(
uploadCount
==
totalUpload
-
1
)
{
uploadComplete
(
uploadCount
-
uploadInfo
?.
successfullyUploadedFiles
!!
.
size
)
}
}
override
fun
onCompleted
(
context
:
Context
?,
uploadInfo
:
UploadInfo
?,
serverResponse
:
ServerResponse
?)
{
Log
.
i
(
TAG
,
"onCompleted...uploadCount: $uploadCount"
)
uploadCount
++
if
(
uploadCount
==
totalUpload
-
1
)
{
uploadComplete
(
uploadCount
-
uploadInfo
?.
successfullyUploadedFiles
!!
.
size
)
}
val
uploadSize
=
uploadInfo
?.
successfullyUploadedFiles
!!
.
size
Log
.
i
(
TAG
,
"onCompleted...uploadCount: $uploadSize"
)
uploadComplete
(
totalUpload
-
uploadSize
)
}
}
}
...
...
@@ -350,7 +345,11 @@ class Task : IAppBaseCallback {
}
private
fun
report
()
{
reportProtocol
.
withBody
(
reportJson
.
toString
()).
execute
(
dataHandler
)
val
postJson
=
JSONObject
()
val
reportArray
=
JSONArray
()
reportArray
.
put
(
this
.
reportJson
)
postJson
.
putOpt
(
"data"
,
reportArray
)
reportProtocol
.
withBody
(
postJson
.
toString
()).
execute
(
dataHandler
)
}
override
fun
onProtocolFailed
(
p0
:
IProtocol
?)
{
...
...
app/src/main/java/com/duolebo/blyrobot/protocol/ApkReportProtocol.kt
View file @
a159a984
...
...
@@ -25,12 +25,20 @@ class ApkReportProtocol(context: Context?, config: IProtocolConfig?) : ProtocolB
return
body
.
toByteArray
()
}
override
fun
prepareProtocolRequestKey
():
String
{
return
""
}
override
fun
getData
():
IModel
{
return
model
}
override
fun
prepare
ProtocolRequestKey
():
String
{
override
fun
prepare
HttpRequestUrl
():
String
{
return
Config
.
instance
.
getReportProtocolUrl
()
}
override
fun
getBodyContentType
():
String
{
return
"application/json; charset=utf-8"
}
}
\ No newline at end of file
app/src/main/java/com/duolebo/blyrobot/service/BylRobotService.kt
View file @
a159a984
...
...
@@ -23,7 +23,6 @@ import java.util.*
class
BylRobotService
:
Service
()
{
private
val
TAG
=
"BylRobotService"
private
var
timer
:
Timer
?
=
null
private
var
count
=
0
private
val
broadcastReceiver
=
object
:
BroadcastReceiver
()
{
...
...
@@ -41,20 +40,6 @@ class BylRobotService: Service() {
override
fun
onCreate
()
{
super
.
onCreate
()
initBroadcast
()
timer
=
Timer
()
timer
!!
.
schedule
(
object
:
TimerTask
()
{
override
fun
run
()
{
// testKey()
// testCapture()
// screenShot()
count
++
if
(
count
>
2
)
{
cancelTimer
()
// proc?.destroy()
}
}
},
2000
,
180
*
1000
)
}
private
fun
initBroadcast
()
{
...
...
@@ -82,28 +67,6 @@ class BylRobotService: Service() {
TaskManager
.
instance
.
stop
()
}
private
fun
testKey
()
{
Thread
(
Runnable
{
AdbUtil
.
sendMultiKey
(
"down/up/right"
)
}).
start
()
}
var
proc
:
Process
?=
null
private
fun
testCapture
()
{
proc
?.
destroy
()
Thread
(
Runnable
{
AdbUtil
.
killTcpdump
()
}).
start
()
Thread
.
sleep
(
3000
)
Thread
(
Runnable
{
proc
=
AdbUtil
.
tcpCapture
(
""
)
}).
start
()
}
private
fun
cancelTimer
()
{
timer
?.
cancel
()
timer
=
null
}
override
fun
onBind
(
p0
:
Intent
?):
IBinder
{
TODO
(
"not implemented"
)
//To change body of created functions use File | Settings | File Templates.
...
...
@@ -113,6 +76,5 @@ class BylRobotService: Service() {
Log
.
i
(
TAG
,
"destroy..."
)
super
.
onDestroy
()
LocalBroadcastManager
.
getInstance
(
this
).
unregisterReceiver
(
broadcastReceiver
)
cancelTimer
()
}
}
\ No newline at end of file
app/src/main/java/com/duolebo/blyrobot/tools/TaskManager.kt
View file @
a159a984
...
...
@@ -8,23 +8,29 @@ class TaskManager {
private
val
TAG
=
"TaskManager"
private
val
RUN_TASK_PERIOD
=
6
*
60
*
60
*
1000
val
tasks
=
ArrayList
<
Task
>()
private
val
overTasks
=
ArrayList
<
Task
>()
var
isRunning
=
false
private
var
status
=
IDLE
private
var
currentTask
:
Task
?=
null
// 处理时间
private
var
updateTime
=
0L
private
val
runnable
=
Runnable
{
while
(
isRunning
)
{
if
(
this
.
status
==
IDLE
)
{
val
interval
=
System
.
currentTimeMillis
()
-
this
.
updateTime
if
(
this
.
status
==
IDLE
&&
interval
>
RUN_TASK_PERIOD
)
{
this
.
updateTime
=
System
.
currentTimeMillis
()
this
.
status
=
RUNNING
for
(
task
in
tasks
)
{
task
.
reset
()
currentTask
=
task
currentTask
!!
.
start
()
}
this
.
status
=
COMPLETE
}
else
{
Log
.
i
(
TAG
,
"no task running"
)
...
...
@@ -38,6 +44,11 @@ class TaskManager {
task
.
taskListener
=
object
:
Task
.
OnTaskListener
{
override
fun
onComplete
(
result
:
Boolean
)
{
Log
.
i
(
TAG
,
"task ${task.apkInfo.name} complete with result: $result"
)
overTasks
.
add
(
task
)
if
(
overTasks
.
size
==
tasks
.
size
)
{
status
=
IDLE
}
}
}
this
.
tasks
.
add
(
task
)
...
...
@@ -73,7 +84,7 @@ class TaskManager {
}
this
.
isRunning
=
true
this
.
status
=
0
this
.
status
=
IDLE
val
t
=
Thread
(
runnable
)
t
.
start
()
}
...
...
@@ -83,12 +94,13 @@ class TaskManager {
it
.
destroy
()
}
this
.
overTasks
.
clear
()
this
.
isRunning
=
false
}
companion
object
{
val
instance
=
TaskManager
()
const
val
IDLE
=
0
const
val
COMPLETE
=
1
const
val
RUNNING
=
1
}
}
\ No newline at end of file
app/src/main/java/com/duolebo/blyrobot/util/Config.kt
View file @
a159a984
...
...
@@ -3,7 +3,7 @@ package com.duolebo.blyrobot.util
import
com.duolebo.appbase.prj.bmtv.protocol.IProtocolConfig
class
Config
:
IProtocolConfig
{
val
isDebug
=
tru
e
val
isDebug
=
fals
e
override
fun
getProtocolUrl
():
String
{
if
(
isDebug
)
...
...
@@ -19,9 +19,10 @@ class Config: IProtocolConfig {
return
""
}
fun
getReportProtocolUrl
():
String
{
if
(
isDebug
)
return
"http://192.168.2.42:8080/manage/apk
Info
/report.do"
return
"http://192.168.2.42:8080/manage/apk
Report
/report.do"
return
"http://test.duolebo.com/staging/apkReport/report.do"
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment