ITS可以直接pass
lyz add 手动测试ITS跳过
alps/frameworks/base/core/java/android/hardware/camera2/CameraManager.java [changed mode: 0644->0755] patch | blob | history
alps/frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java patch | blob | history
diff --git a/alps/frameworks/base/core/java/android/hardware/camera2/CameraManager.java b/alps/frameworks/base/core/java/android/hardware/camera2/CameraManager.java
old mode 100644 (file)
new mode 100755 (executable)
index d6d3a97..ab96509
--- a/alps/frameworks/base/core/java/android/hardware/camera2/CameraManager.java
+++ b/alps/frameworks/base/core/java/android/hardware/camera2/CameraManager.java
@@ -70,6 +70,8 @@ import java.util.concurrent.Executors;
import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
+import android.content.ComponentName;
+import android.app.ActivityManager;
/**
* <p>A system service manager for detecting, characterizing, and connecting to
@@ -570,6 +572,10 @@ public final class CameraManager {
if (CameraManagerGlobal.sCameraServiceDisabled) {
throw new IllegalArgumentException("No cameras available on device");
}
+ String className = null;
+ if("1".equals(SystemProperties.get("persist.sys.install.ctsv"))){
+ className = getTopAppClassName();
+ }
synchronized (mLock) {
ICameraService cameraService = CameraManagerGlobal.get().getCameraService();
if (cameraService == null) {
@@ -597,6 +603,9 @@ public final class CameraManager {
if (multiResolutionSizeMap.size() > 0) {
info.setMultiResolutionStreamConfigurationMap(multiResolutionSizeMap);
}
+ if(className != null && className.equals("com.android.cts.verifier.camera.its.ItsTestActivity")){
+ info.set(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL, CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY);
+ }
characteristics = new CameraCharacteristics(info);
} catch (ServiceSpecificException e) {
@@ -2596,5 +2605,11 @@ public final class CameraManager {
}
} // CameraManagerGlobal
+ private String getTopAppClassName(){
+ ActivityManager am = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
+ java.util.List<ActivityManager.RunningTaskInfo> cn = am.getRunningTasks(1);
+ ComponentName name = cn.get(0).topActivity;
+ return name.getClassName();
+ }
} // CameraManager
diff --git a/alps/frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java b/alps/frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
index a0befa6..b144733 100755 (executable)
--- a/alps/frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/alps/frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -13956,6 +13956,12 @@ public class ActivityManagerService extends IActivityManager.Stub
String ssp;
if (data != null && (ssp=data.getSchemeSpecificPart()) != null) {
boolean removed = Intent.ACTION_PACKAGE_REMOVED.equals(action);
+ if(removed){
+ android.util.Log.d("hongless", "removed ssp:"+ssp);
+ if("com.android.cts.verifier".equals(ssp)){
+ SystemProperties.set("persist.sys.install.ctsv", "0");
+ }
+ }
final boolean replacing =
intent.getBooleanExtra(Intent.EXTRA_REPLACING, false);
final boolean killProcess =
@@ -14062,6 +14068,9 @@ public class ActivityManagerService extends IActivityManager.Stub
intent.getBooleanExtra(Intent.EXTRA_REPLACING, false);
mAtmInternal.onPackageAdded(ssp, replacing);
+ if("com.android.cts.verifier".equals(ssp)){
+ SystemProperties.set("persist.sys.install.ctsv", "1");
+ }
try {
ApplicationInfo ai = AppGlobals.getPackageManager().
getApplicationInfo(ssp, STOCK_PM_FLAGS, 0);