0. 目的
CTS应用,不能进行省电操作,否则会无法通过
1. cts 判断接口
package com.android.lava.powersave.util;
public class CtsUtils {
// This white list is used for CTS & GTS
private final static String[] mCtsWhiteAppList = new String[] {
"android.app.cts",
"com.android.cts",
"android.icu.dev.test.util",
"android.largeapk.app",
"android.abioverride.app",
"com.google.android.ar.svc",
"com.android.tradefed.utils.wifi",
"com.drawelements.deqp",
"android.theme.app",
"android.libcore.runner",
"android.taskswitching.appa",
"android.cpptools.app",
"android.externalservice.service",
"android.os.app",
"android.assist.service",
"android.assist.testapp",
"android.leanbackjank.app",
"android.voiceinteraction.service",
"android.voiceinteraction.testapp",
"android.backup.app",
"android.trustedvoice.app",
"com.android.gputest",
"android.test.app",
"android.voicesettings.service",
"android.app.usage.app",
"android.admin.app",
"android.app.stubs",
"android.server.app",
"android.displaysize.app",
"com.replica.replicaisland",
"android.taskswitching.appb",
"android.cpptools.app",
"android.alarmclock.service"
};
public static boolean isCts(String pkgName) {
if (pkgName == null) return false;
/*check if in internal white app list, like CTS app*/
for(String s : mCtsWhiteAppList) {
if(pkgName.contains(s)) {
return true;
}
}
// is cts app
if ((pkgName.startsWith("android.") && pkgName.contains(".cts."))
|| (pkgName.startsWith("android.") && pkgName.endsWith(".cts"))
|| (pkgName.startsWith("com.android.") && pkgName.contains(".cts."))
|| (pkgName.startsWith("com.android.") && pkgName.endsWith(".cts"))) {
return true;
}
// is gts app
if ((pkgName.startsWith("com.google.") && pkgName.contains(".gts."))
|| (pkgName.startsWith("com.google.") && pkgName.endsWith(".gts"))
|| (pkgName.startsWith("com.android.") && pkgName.contains(".gts."))
|| (pkgName.startsWith("com.android.") && pkgName.endsWith(".gts"))
|| (pkgName.startsWith("com.android.compatibility.") )
) {
return true;
}
return false;
}
}