version:1.0.6

bugfixes:
update:切换到联想csdk,增加检查更新页面,增加密码登录
This commit is contained in:
2026-02-04 18:07:20 +08:00
parent 2332829fb1
commit fb3d2553b3
50 changed files with 1297 additions and 203 deletions

View File

@@ -0,0 +1,137 @@
package com.hainaos.vc.utils;
import android.annotation.SuppressLint;
import android.app.csdk.CSDKManager;
import android.content.Context;
import android.util.Log;
import com.hainaos.vc.BuildConfig;
import com.hainaos.vc.config.CommonConfig;
import com.tencent.mmkv.MMKV;
import java.io.File;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class LenovoCsdkUtil {
private static final String TAG = "LenovoCsdkUtil";
@SuppressLint("StaticFieldLeak")
private static LenovoCsdkUtil sInstance;
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
private Context mContext;
private CSDKManager mCSDKManager;
private LenovoCsdkUtil(Context context) {
if (context == null) {
throw new RuntimeException("Context is NULL");
}
this.mContext = context;
try {
this.mCSDKManager = new CSDKManager(context);
} catch (Exception e) {
Log.e(TAG, "LenovoCsdkUtil: " + e.getMessage());
}
if (mCSDKManager.isLicenseKeyEnabled(BuildConfig.APPLICATION_ID)) {
Log.e(TAG, "LenovoCsdkUtil: devices activated");
} else {
Log.e(TAG, "LenovoCsdkUtil: devices not activated");
}
List<String> packages = mCSDKManager.getRuntimePermissionWhiteList();
if (!packages.contains(BuildConfig.APPLICATION_ID)) {
packages.add(BuildConfig.APPLICATION_ID);
}
mCSDKManager.addRuntimePermissionWhiteList(packages);
Log.e(TAG, "setDefaultSetting: getRuntimePermissionWhiteList = " + mCSDKManager.getRuntimePermissionWhiteList());
}
public static void init(Context context) {
if (sInstance == null) {
Log.e(TAG, "init: ");
sInstance = new LenovoCsdkUtil(context);
}
}
public static LenovoCsdkUtil getInstance() {
if (sInstance == null) {
throw new IllegalStateException("You must be init LenovoCsdkUtil first");
}
return sInstance;
}
/**
* int: 1 MAC
* int 2 SN
* int: 3 Model
* int: 4 IMEI
*/
public String getDeviceMac() {
String mac = mCSDKManager.getDeviceInfo(1);
return mac;
}
public String getSerial() {
if (BuildConfig.DEBUG) {
return "T98005H1024GB32GB";
}
String sn = mCSDKManager.getDeviceInfo(2);
return sn;
}
public String getDeviceModel() {
String model = mCSDKManager.getDeviceInfo(3);
return model;
}
public String getDeviceIMEI() {
String imei = mCSDKManager.getDeviceInfo(4);
return imei;
}
public void setCustomLauncher(String launcherPackageName, String launcherActivity) {
Log.e(TAG, "setDefaultLauncher: " + launcherPackageName);
mCSDKManager.setCustomLauncher(launcherPackageName, launcherActivity);
}
public void addInstallPackageWhiteList(String pkg) {
List<String> pkgList = mCSDKManager.getInstallPackageWhiteList();
Set<String> pkgSet;
if (pkgList == null) {
pkgSet = new HashSet<>();
} else {
pkgSet = new HashSet<>(pkgList);
}
pkgSet.add(pkg);
// pkgSet.addAll(ApkUtils.aoleyunAPP);
Log.e(TAG, "addInstallPackageWhiteList: " + pkgSet);
mCSDKManager.addInstallPackageWhiteList(new ArrayList<>(pkgSet));
}
public void installPackage(String path) {
String pkg = ApkUtils.getPackageName(mContext, path);
addInstallPackageWhiteList(pkg);
Log.e(TAG, "installPackage: " + path);
mCSDKManager.setPersistValue("persist.sys.csdk.installpackage.verification", "true");
mCSDKManager.installPackage(path);
}
public void installPackage(File file) {
String path = file.getAbsolutePath();
String pkg = ApkUtils.getPackageName(mContext, path);
addInstallPackageWhiteList(pkg);
Log.e(TAG, "installPackage: " + path);
mCSDKManager.setPersistValue("persist.sys.csdk.installpackage.verification", "true");
mCSDKManager.installPackage(path);
}
public void killApplicationProcess(String packageName) {
Log.e(TAG, "killApplicationProcess: " + packageName);
mCSDKManager.killApplicationProcess(packageName);
}
}