diff --git a/app/build.gradle b/app/build.gradle index 683c1f3..42d55b4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -302,9 +302,33 @@ android { v1SigningEnabled true v2SigningEnabled true } + + MT6789 { + storeFile file("keystore/MT6789.keystore") + storePassword "123456" + keyAlias "mt6789" + keyPassword "123456" + v1SigningEnabled true + v2SigningEnabled true + } + } buildTypes { + MT6789Debug.initWith(debug) + MT6789Debug { + buildConfigField "String", "platform", '"G12NL"' + versionNameSuffix "-debug" + debuggable true + signingConfig signingConfigs.MT6789 + } + + MT6789Release.initWith(release) + MT6789Release { + buildConfigField "String", "platform", '"G12NL"' + signingConfig signingConfigs.MT6789 + } + QZ15Debug.initWith(debug) QZ15Debug { buildConfigField "String", "platform", '"QZA15"' @@ -594,7 +618,8 @@ dependencies { /*加了会报错,暂时注释掉*/ // implementation fileTree(dir: "libs", include: ["*.jar"]) compileOnly files('libs/framework.jar') - compileOnly files('libs/qz_cubemdm_sdk_v1.0.0_1.8.jar') +// compileOnly files('libs/qz_cubemdm_sdk_v1.0.0_1.8.jar') + compileOnly files('libs/qz_cubemdm_sdk_v1.0.1_1.8.jar') implementation project(':viewlibrary') implementation project(path: ':niceimageview') diff --git a/app/keystore/MT6789.keystore b/app/keystore/MT6789.keystore new file mode 100644 index 0000000..33a16e4 Binary files /dev/null and b/app/keystore/MT6789.keystore differ diff --git a/app/libs/qz_cubemdm_sdk_v1.0.1_1.8.jar b/app/libs/qz_cubemdm_sdk_v1.0.1_1.8.jar new file mode 100644 index 0000000..a633af5 Binary files /dev/null and b/app/libs/qz_cubemdm_sdk_v1.0.1_1.8.jar differ diff --git a/app/src/main/java/com/ttstd/ttutils/activity/aoleyuntest/AoleyunTestActivity.java b/app/src/main/java/com/ttstd/ttutils/activity/aoleyuntest/AoleyunTestActivity.java index 4351970..71bba3c 100644 --- a/app/src/main/java/com/ttstd/ttutils/activity/aoleyuntest/AoleyunTestActivity.java +++ b/app/src/main/java/com/ttstd/ttutils/activity/aoleyuntest/AoleyunTestActivity.java @@ -4,6 +4,7 @@ import android.app.NotificationChannel; import android.app.NotificationManager; import android.app.PendingIntent; import android.app.StatusBarManager; +import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; @@ -17,8 +18,6 @@ import android.view.KeyEvent; import android.view.View; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodManager; -import android.widget.Button; -import android.widget.EditText; import androidx.core.app.NotificationCompat; import androidx.core.app.NotificationManagerCompat; @@ -31,15 +30,17 @@ import com.ttstd.ttutils.R; import com.ttstd.ttutils.activity.main.MainActivity; import com.ttstd.ttutils.base.mvvm.BaseMvvmActivity; import com.ttstd.ttutils.databinding.ActivityAoleyunTestBinding; +import com.ttstd.ttutils.manager.AllwinnerCubeMdmManager; import com.ttstd.ttutils.receiver.ShortcutReceiver; import com.ttstd.ttutils.utils.java.ApkUtils; import com.ttstd.ttutils.utils.java.JgyUtils; import com.ttstd.ttutils.utils.java.ToastUtil; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; - +import java.util.Random; public class AoleyunTestActivity extends BaseMvvmActivity { private static final String TAG = "AoleyunTestActivity"; @@ -270,6 +271,9 @@ public class AoleyunTestActivity extends BaseMvvmActivity appBlackNet = new ArrayList<>(); + appBlackNet.add("com.quark.browser"); + if (JgyUtils.isAllWinnerDevice()) { + AllwinnerCubeMdmManager.getInstance().setBlackNetApp(appBlackNet); + } + } + + public void setAppOnDuo(View view) { + Settings.System.putString(getContentResolver(), "aole_network_disallow", "com.quark.browser"); + List appBlackNet = new ArrayList<>(); + appBlackNet.add("com.quark.browser"); + appBlackNet.add("com.tencent.mtt"); + if (JgyUtils.isAllWinnerDevice()) { + AllwinnerCubeMdmManager.getInstance().setBlackNetApp(appBlackNet); + } } public void setAppOff(View view) { Settings.System.putString(getContentResolver(), "aole_network_disallow", ""); - + if (JgyUtils.isAllWinnerDevice()) { + AllwinnerCubeMdmManager.getInstance().setBlackNetApp(new ArrayList<>()); + } } + public void setNightOn(View view) { sendBroadcast(new Intent(NIGHT_DISPLAY_ENABLED)); } @@ -546,10 +674,25 @@ public class AoleyunTestActivity extends BaseMvvmActivity packageNames) { + Log.e(TAG, "setBlackNetApp: packageNames = " + packageNames); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setBlackNetApp(packageNames); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 应用白名单安装总开关 + * + * @param isEnale true:允许安装,false:禁止安转 + */ + public void setInstallPackageEnable(boolean isEnale) { + Log.e(TAG, "setInstallPackageEnable: isEnale = " + isEnale); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setInstallPackageEnable(isEnale); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 应用安装白名单 + * + * @param packageNames 允许安装的应用包名列表 + */ + public void setInstallPackageWhiteList(List packageNames) { + Log.e(TAG, "setInstallPackageWhiteList: packageNames = " + packageNames); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setInstallPackageWhiteList(packageNames); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 存储卡管控开关 + * + * @param isEnale true:允许读取SD,false:禁止读取SD + */ + public void setSDEnable(boolean isEnale) { + Log.e(TAG, "setSDEnable: isEnale = " + isEnale); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setSDEnable(isEnale); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 开发者模式管控开关 + * + * @param isEnale true:允许打开开发者模式,false:禁止打开开发者模式 + */ + public void setDeveloperEnable(boolean isEnale) { + Log.e(TAG, "setDeveloperEnable: isEnale = " + isEnale); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setDeveloperEnable(isEnale); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * WIFI热点管控开关 + * + * @param wifiStatus 0:打开,1:关闭 + */ + public void setWifiHotSpotStatus(int wifiStatus) { + Log.e(TAG, "setWifiHotSpotStatus: wifiStatus = " + wifiStatus); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setWifiHotSpotStatus(wifiStatus); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 蓝牙文件传输管控开关 + * + * @param isEnale true:开启蓝牙功能,false:禁止蓝牙功能 + */ + public void setBluetoothEnable(boolean isEnale) { + Log.e(TAG, "setBluetoothEnable: isEnale = " + isEnale); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setBluetoothEnable(isEnale); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 恢复出厂设置管控开关功能 + * + * @param isEnale true:允许回复出厂设置,false:禁止恢复出厂设置 + */ + public void setResetFactoryEnable(boolean isEnale) { + Log.e(TAG, "setResetFactoryEnable: isEnale = " + isEnale); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setResetFactoryEnable(isEnale); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 默认桌面管远程设置功能 + * + * @param packageName + */ + public void setDefaultLauncher(String packageName) { + Log.e(TAG, "setDefaultLauncher: packageName = " + packageName); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setDefaultLauncher(packageName); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 强制安装应用名单,包名列表不允许删除 + * + * @param packageNames + */ + public void setForbidUnInstallPackageList(List packageNames) { + Log.e(TAG, "setForbidUnInstallPackageList: packageNames = " + packageNames); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setForbidUnInstallPackageList(packageNames); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 系统通知栏管控开关 + * + * @param isEnale :true:允许下拉,false:禁止下拉 + */ + public void setStatusBarEnable(boolean isEnale) { + Log.e(TAG, "setStatusBarEnable: isEnale = " + isEnale); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setStatusBarEnable(isEnale); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 系统导航条管控开关 + * + * @param isShow :true:显示导航栏,false:隐藏导航栏 + */ + public void setNavigationStatus(boolean isShow) { + Log.e(TAG, "setNavigationStatus: isShow = " + isShow); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setNavigationStatus(isShow); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 系统默认应用设置管控 + * + * @param componentName:组件名(包名/类名) + */ + public void setDefaultInputMethod(String componentName) { + Log.e(TAG, "setDefaultInputMethod: componentName = " + componentName); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setDefaultInputMethod(componentName); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 系统默认应用设置管控 + * + * @param packageName + */ + public void setDefaultBrowser(String packageName) { + Log.e(TAG, "setDefaultBrowser: packageName = " + packageName); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setDefaultBrowser(packageName); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 启用/禁用 HOME键 + * + * @param isEnale :true:启用home键,false:禁用home键 + */ + public void setHomeEnable(boolean isEnale) { + Log.e(TAG, "setHomeEnable: isEnale = " + isEnale); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setHomeEnable(isEnale); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 启用/禁用 RECENT键 + * + * @param isEnale :true:启用RECENT键,false:禁用RECENT键 + */ + public void setRecentsEnable(boolean isEnale) { + Log.e(TAG, "setRecentsEnable: isEnale = " + isEnale); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setRecentsEnable(isEnale); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 电源键按钮的长按禁止和长按启用 + * + * @param isEnale:true:启用电源键长按,false:禁用电源键长按 + */ + public void setPowerKeyLongPressEnable(boolean isEnale) { + Log.e(TAG, "setPowerKeyLongPressEnable: isEnale = " + isEnale); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setPowerKeyLongPressEnable(isEnale); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 应用消息通知管控开关,关闭时所有应用都不能发送通知。 + * 打开时,不允许发出通知的包名列表不能发送通知,类似于黑名单 + * + * @param isEnale:true:允许显示通知,false:禁止所有通知显示 + */ + public void setNotificationEnable(boolean isEnale) { + Log.e(TAG, "setNotificationEnable: isEnale = " + isEnale); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setNotificationEnable(isEnale); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 指定应用消息通知栏管控开关 + * + * @param packageNames:不允许发出通知的包名列表 + */ + public void setDisallowNotification(List packageNames) { + Log.e(TAG, "setDisallowNotification: packageNames = " + packageNames); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setDisallowNotification(packageNames); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 应用动态权限 + * + * @param packageNames:需要默认权限的包名列表 + */ + public void setDefaultPermissions(List packageNames) { + Log.e(TAG, "setDefaultPermissions: packageNames = " + packageNames); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setDefaultPermissions(packageNames); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } + + /** + * 禁止设备打开指定页面 + * + * @param componentNames :package/class页面列表 + * @param disable :true:禁止打开页面,false:允许打开页面 + */ + public void setComponentDisable(List componentNames, boolean disable) { + Log.e(TAG, "setComponentDisable: componentNames = " + componentNames); + if (JgyUtils.isAllWinnerDevice()) { + if (mCubeMdmManager != null) { + mCubeMdmManager.setComponentDisable(componentNames, disable); + } + } else { + Log.e(TAG, "setUsbStatus: Not Allwinner Platform"); + } + } +} diff --git a/app/src/main/java/com/ttstd/ttutils/utils/java/JgyUtils.java b/app/src/main/java/com/ttstd/ttutils/utils/java/JgyUtils.java index bd73776..814b0fe 100644 --- a/app/src/main/java/com/ttstd/ttutils/utils/java/JgyUtils.java +++ b/app/src/main/java/com/ttstd/ttutils/utils/java/JgyUtils.java @@ -107,7 +107,10 @@ public class JgyUtils { } else if (AH6016Tag.equalsIgnoreCase(platform)) { Log.i(TAG, "checkAppPlatform: " + "AH6016"); return AH6016Platform; - } else { + }else if (allwinner_U1302.equalsIgnoreCase(platform)) { + Log.i(TAG, "checkAppPlatform: " + "QZA15"); + return U1302Platform; + } else { Log.i(TAG, "checkAppPlatform: " + "没有数据"); return UnknowPlatform; } diff --git a/app/src/main/res/layout/activity_aoleyun_test.xml b/app/src/main/res/layout/activity_aoleyun_test.xml index 407942d..5219c4e 100644 --- a/app/src/main/res/layout/activity_aoleyun_test.xml +++ b/app/src/main/res/layout/activity_aoleyun_test.xml @@ -352,6 +352,34 @@ android:onClick="@{click::hideStatusbarRecent}" android:singleLine="true" android:text="Recent" /> + + + + + + + +