Commit 4c53c236 authored by liuyang's avatar liuyang

APK图片抓取识别及轮播流地址抓取,客户端上报修改

#BYLSERVER-1438
parent c7c79049
......@@ -81,11 +81,12 @@ class MainActivity : AppCompatActivity(), IAppBaseCallback {
}
private fun getLocalAppList() {
ThreadProxy.getInstance().execute(object : Runnable {
override fun run() {
ThreadProxy.getInstance().execute {
apkPackageInfo = ApkPackageInfo.getAppInfos(applicationContext)
runOnUiThread {
appInfoAdapter.notifyDataSetChanged()
}
}
})
}
private fun initRefreshTimer() {
......@@ -143,7 +144,7 @@ class MainActivity : AppCompatActivity(), IAppBaseCallback {
}
}
private fun getAppIcon(packageName: String): Drawable? {
fun getAppIcon(packageName: String): Drawable? {
var drawable:Drawable ?= null
apkPackageInfo?.run {
val targetPackage = this.find {
......@@ -158,7 +159,7 @@ class MainActivity : AppCompatActivity(), IAppBaseCallback {
return drawable
}
class AppConfigAdapter: BaseAdapter() {
inner class AppConfigAdapter: BaseAdapter() {
private val dataList = ArrayList<ApkInfo>()
......@@ -176,6 +177,10 @@ class MainActivity : AppCompatActivity(), IAppBaseCallback {
itemView = convertView as AppConfigListItem
itemView.setData(dataList[position])
val drawable = getAppIcon(dataList[position].packageName)
drawable?.run {
itemView.setIcon(this)
}
return itemView
}
......
package com.duolebo.blyrobot.data
import android.content.Context
import android.os.Build
import android.os.Environment
import android.util.Log
import android.widget.Toast
......@@ -14,6 +15,7 @@ import com.duolebo.blyrobot.util.Config
import net.gotev.uploadservice.*
import net.gotev.uploadservice.ftp.FTPUploadRequest
import net.gotev.uploadservice.ftp.UnixPermissions
import org.json.JSONArray
import org.json.JSONObject
import java.io.File
import java.text.SimpleDateFormat
......@@ -71,9 +73,18 @@ class Task : IAppBaseCallback {
dir.mkdirs()
}
// 准备上传报告信息
private fun prepareReport() {
this.reportJson = JSONObject()
reportJson.putOpt(ApkInfo.NAME, this.apkInfo.name)
reportJson.putOpt(ApkInfo.PACKAGE_NAME, this.apkInfo.packageName)
reportJson.putOpt("device", Build.BRAND + "|" + Build.HARDWARE + "|" + Build.VERSION.RELEASE)
reportJson.putOpt("channels", JSONArray())
}
fun start() {
this.status = "1"
this.reportJson = JSONObject()
this.prepareReport()
// 启动应用
this.launchApp()
// 频道轮询处理
......@@ -144,6 +155,21 @@ class Task : IAppBaseCallback {
if (screenShots.size > 0)
uploadImages.addAll(screenShots)
val playUrlItems = analysisCapture()
val channels = this.reportJson.optJSONArray("channels")
val channelJson = JSONObject()
channelJson.putOpt("channelImage", screenShots[0])
channelJson.putOpt("channelEpgImage", screenShots[1])
channelJson.putOpt("channelId", this.channelIndex)
val playUrls = JSONArray()
for (playUrl in playUrlItems) {
playUrls.put(playUrl.url)
}
channelJson.putOpt("playUrls", playUrls)
channels.put(channelJson)
}
// 抓包处理
......
package com.duolebo.blyrobot.ui
import android.content.Context
import android.graphics.drawable.Drawable
import android.view.LayoutInflater
import android.widget.RelativeLayout
import com.duolebo.blyrobot.R
......@@ -17,4 +18,8 @@ class AppConfigListItem(context: Context?) : RelativeLayout(context) {
this.appName.text = apkInfo.name
this.packageName.text = apkInfo.packageName
}
fun setIcon(drawable: Drawable) {
this.appIcon.setImageDrawable(drawable)
}
}
\ No newline at end of file
......@@ -3,7 +3,7 @@ package com.duolebo.blyrobot.util
import com.duolebo.appbase.prj.bmtv.protocol.IProtocolConfig
class Config: IProtocolConfig {
private val isDebug = false
private val isDebug = true
override fun getProtocolUrl(): String {
if (isDebug)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment