|
@@ -3,21 +3,16 @@ package cn.org.bjca.trust.push.provider |
|
|
import android.content.ContentProvider |
|
|
import android.content.ContentProvider |
|
|
import android.content.ContentValues |
|
|
import android.content.ContentValues |
|
|
import android.content.UriMatcher |
|
|
import android.content.UriMatcher |
|
|
import android.content.pm.PackageManager |
|
|
|
|
|
import android.database.Cursor |
|
|
import android.database.Cursor |
|
|
import android.net.Uri |
|
|
import android.net.Uri |
|
|
import android.text.TextUtils |
|
|
|
|
|
import android.util.Log |
|
|
|
|
|
|
|
|
import android.os.Build |
|
|
import androidx.sqlite.db.SupportSQLiteQueryBuilder |
|
|
import androidx.sqlite.db.SupportSQLiteQueryBuilder |
|
|
import cn.org.bjca.trust.push.CrashHandler |
|
|
import cn.org.bjca.trust.push.CrashHandler |
|
|
import cn.org.bjca.trust.push.common.CommonHelper |
|
|
import cn.org.bjca.trust.push.common.CommonHelper |
|
|
import cn.org.bjca.trust.push.common.LogHelper |
|
|
import cn.org.bjca.trust.push.common.LogHelper |
|
|
import cn.org.bjca.trust.push.db.DbHelper |
|
|
import cn.org.bjca.trust.push.db.DbHelper |
|
|
import cn.org.bjca.trust.push.db.device.Device |
|
|
import cn.org.bjca.trust.push.db.device.Device |
|
|
import com.huawei.hms.aaid.HmsInstanceId |
|
|
|
|
|
import com.huawei.hms.common.ApiException |
|
|
|
|
|
import com.huawei.hms.push.HmsMessaging |
|
|
import com.huawei.hms.push.HmsMessaging |
|
|
import com.xiaomi.push.it |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PushProvider : ContentProvider() { |
|
|
class PushProvider : ContentProvider() { |
|
@@ -39,7 +34,8 @@ class PushProvider : ContentProvider() { |
|
|
CrashHandler.init() |
|
|
CrashHandler.init() |
|
|
// 初始化唯一码 |
|
|
// 初始化唯一码 |
|
|
initDevice() |
|
|
initDevice() |
|
|
//getHwToken() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 华为推送 |
|
|
HmsMessaging.getInstance(context).isAutoInitEnabled = true |
|
|
HmsMessaging.getInstance(context).isAutoInitEnabled = true |
|
|
|
|
|
|
|
|
// MiPushClient.registerPush(this, APP_ID, APP_KEY); |
|
|
// MiPushClient.registerPush(this, APP_ID, APP_KEY); |
|
@@ -50,9 +46,34 @@ class PushProvider : ContentProvider() { |
|
|
private fun initDevice() { |
|
|
private fun initDevice() { |
|
|
val device = DbHelper.getDataBase().deviceDao().getAll() |
|
|
val device = DbHelper.getDataBase().deviceDao().getAll() |
|
|
if (device.isEmpty()) { |
|
|
if (device.isEmpty()) { |
|
|
DbHelper.getDataBase().deviceDao().insertAll(Device(1, "ryctvbnml;feakbfveugavhb ")) |
|
|
|
|
|
|
|
|
val d = Device() |
|
|
|
|
|
d.p_id = 1 |
|
|
|
|
|
val fields = Build::class.java.declaredFields |
|
|
|
|
|
for (field in fields) { |
|
|
|
|
|
try { |
|
|
|
|
|
field.isAccessible = true |
|
|
|
|
|
when (field.name) { |
|
|
|
|
|
"MANUFACTURER" -> d.manufacturer = CommonHelper.anyToString(field[null]) |
|
|
|
|
|
"BRAND" -> d.brand = CommonHelper.anyToString(field[null]) |
|
|
|
|
|
"MODEL" -> d.model = CommonHelper.anyToString(field[null]) |
|
|
|
|
|
"CPU_ABI" -> d.cpuAbi = CommonHelper.anyToString(field[null]) |
|
|
|
|
|
"FINGERPRINT" -> { |
|
|
|
|
|
d.fingerprint = CommonHelper.anyToString(field[null]) |
|
|
|
|
|
d.device = CommonHelper.anyToString(field[null]) |
|
|
|
|
|
} |
|
|
|
|
|
"SUPPORTED_32_BIT_ABIS" -> d.supported32BitAbis = |
|
|
|
|
|
CommonHelper.anyToString(field[null]) |
|
|
|
|
|
"SUPPORTED_64_BIT_ABIS" -> d.supported64BitAbis = |
|
|
|
|
|
CommonHelper.anyToString(field[null]) |
|
|
|
|
|
"SUPPORTED_ABIS" -> d.supportedAbis = CommonHelper.anyToString(field[null]) |
|
|
|
|
|
} |
|
|
|
|
|
} catch (e: Exception) { |
|
|
|
|
|
LogHelper.e("an error occured when collect crash info", e) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
DbHelper.getDataBase().deviceDao().insertAll(d) |
|
|
} |
|
|
} |
|
|
LogHelper.e(CommonHelper.anyToString(device)) |
|
|
|
|
|
|
|
|
LogHelper.e(CommonHelper.anyToString(DbHelper.getDataBase().deviceDao().getAll())) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private fun initDb() { |
|
|
private fun initDb() { |
|
@@ -112,33 +133,4 @@ class PushProvider : ContentProvider() { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 华为相关 |
|
|
|
|
|
private fun getHwToken() { |
|
|
|
|
|
// 创建一个新线程 |
|
|
|
|
|
object : Thread() { |
|
|
|
|
|
override fun run() { |
|
|
|
|
|
try { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val appId = context!!.packageManager.getApplicationInfo( |
|
|
|
|
|
context!!.packageName, |
|
|
|
|
|
PackageManager.GET_META_DATA |
|
|
|
|
|
).metaData.getString("HUAWEI_APP_ID")?.substring(1) |
|
|
|
|
|
LogHelper.e("appId:$appId") |
|
|
|
|
|
|
|
|
|
|
|
// 输入token标识"HCM" |
|
|
|
|
|
val tokenScope = "HCM" |
|
|
|
|
|
val token = HmsInstanceId.getInstance(context).getToken(appId, tokenScope) |
|
|
|
|
|
LogHelper.e("get token:$token") |
|
|
|
|
|
|
|
|
|
|
|
// 判断token是否为空 |
|
|
|
|
|
// if (!TextUtils.isEmpty(token)) { |
|
|
|
|
|
//// sendRegTokenToServer(token) |
|
|
|
|
|
// } |
|
|
|
|
|
} catch (e: ApiException) { |
|
|
|
|
|
LogHelper.e("get token failed, $e") |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}.start() |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |