CtsBluetoothTestCases

android.bluetooth.cts.BluetoothLeScanTest#testBasicBleScan

android.bluetooth.cts.BluetoothLeScanTest#testOpportunisticScan

android.bluetooth.cts.BluetoothLeScanTest#testScanFilter

分析: 由于蓝牙信标定位失败引起

检查定位(Location)是否开启

测试设备周围存在多个蓝牙设备

安装 TxEddystone-UID-release.apk至辅助机,并开启,测试通过

CtsDevicePolicyManagerTestCases

com.android.cts.devicepolicy.DeviceOwnerTest#testCreateAndManageUser_SwitchUser

解决方法:配置好ADB环境,让CTS创建新用户时连接不会断开

CtsPermissionTestCases

android.permission.cts.NoSystemFunctionPermissionTest#testSendSms

android.permission.cts.SmsManagerPermissionTest#testSendMultipartTextMessage

android.permission.cts.SmsManagerPermissionTest#testSendDataMessage

android.permission.cts.SmsManagerPermissionTest#testSendTextMessage

解决方法:插上可以正常使用的手机SIM卡测试即可通过

CtsAppSecurityHostTestCases

android.appsecurity.cts.AdoptableHostTest#testEjected

需要打入补丁ALPS04929698

diff --git a/arch/arm/boot/dts/mt6771.dts b/arch/arm/boot/dts/mt6771.dtsindex 1e4d4a1..1dfa9b9 100644--- a/arch/arm/boot/dts/mt6771.dts+++ b/arch/arm/boot/dts/mt6771.dts@@ -37,7 +37,7 @@cgroup.memory=nosocket,nokmem \androidboot.hardware=mt6771 \firmware_class.path=/vendor/firmware \-                           page_owner=on";+                          page_owner=on loop.max_part=7";};cpus {diff --git a/arch/arm64/boot/dts/mediatek/mt6771.dts b/arch/arm64/boot/dts/mediatek/mt6771.dtsindex 8e84093..24684b1 100644--- a/arch/arm64/boot/dts/mediatek/mt6771.dts+++ b/arch/arm64/boot/dts/mediatek/mt6771.dts@@ -36,7 +36,7 @@vmalloc=400M slub_debug=OFZPU swiotlb=noforce page_owner=on \cgroup.memory=nosocket,nokmem \androidboot.hardware=mt6771 \-firmware_class.path=/vendor/firmware";+firmware_class.path=/vendor/firmware loop.max_part=7";kaslr-seed = <0 0>;};

CtsAppTestCases

android.app.cts.SystemFeaturesTest#testSensorFeatures
java.lang.AssertionError: PackageManager#hasSystemFeature(android.hardware.sensor.barometer) returns true but SensorManager#getSensorList(6) shows sensors [] expected:&lt;true&gt; but was:&lt;false&gt;

解决方法:找到对应的ProjectConfig.mk将控制android.hardware.sensor.barometer.xml的宏CUSTOM_KERNEL_BAROMETER设置为no重新编译测试可通过.

CtsOmapiTestCases

android.omapi.cts.OmapiTest#testOpenBasicChannelNullAid    
java.lang.AssertionError: Unexpected Exception java.io.IOException: Secure Element is not present.
android.omapi.cts.OmapiTest#testATR    
java.lang.AssertionError: Could not open session
android.omapi.cts.OmapiTest#testSecurityExceptionInTransmit    
java.lang.AssertionError
android.omapi.cts.OmapiTest#testWrongAid    
java.lang.AssertionError
android.omapi.cts.OmapiTest#testOpenBasicChannelNonNullAid    
java.lang.AssertionError: Unexpected Exception java.io.IOException: Secure Element is not present.
android.omapi.cts.OmapiTest#testSegmentedResponseTransmit    
java.lang.AssertionError
android.omapi.cts.OmapiTest#testSelectableAid    
java.lang.AssertionError
android.omapi.cts.OmapiTest#testStatusWordTransmit    
java.lang.AssertionError
android.omapi.cts.OmapiTest#testTransmitApdu    
java.lang.AssertionError
android.omapi.cts.OmapiTest#testGetReaders    
java.lang.AssertionError
android.omapi.cts.OmapiTest#testP2Value    
java.lang.AssertionError
android.omapi.cts.OmapiTest#testLongSelectResponse

解决办法: 找到对应的ProjectConfig.mk将MTK_OMAPI_SUPPORT=yes改为no

CtsSecurityTestCases

android.security.cts.PackageSignatureTest#testPackageSignatures

解决办法:将build/make/target/product/security下的所有google公用签名文件替换为自己生成 的私有化签名文件,生成规则参考build/make/target/product/security/README.

CtsCameraTestCase

android.hardware.camera2.cts.StaticMetadataTest#testCapabilities

解决办法:修改对应相机的metadata文件

vendor/mediatek/proprietary/custom/mt6771/hal/imgsensor_metadata/ov13853_mipi_raw/config_static_metadata_project.h
index 77fb2c9..c68e8c9 100755
@@ -43,6 +43,7 @@ STATIC_METADATA2_BEGIN(PLATFORM, PROJECT, SENSOR_DRVNAME_OV13853_MIPI_RAW)//==========================================================================CONFIG_METADATA_BEGIN(MTK_REQUEST_AVAILABLE_CAPABILITIES)//newCONFIG_ENTRY_VALUE(MTK_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE, MUINT8)
+   CONFIG_ENTRY_VALUE(MTK_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR, MUINT8)CONFIG_ENTRY_VALUE(MTK_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING, MUINT8)CONFIG_ENTRY_VALUE(MTK_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS, MUINT8)CONFIG_METADATA_END()

android.hardware.camera2.cts.BurstCaptureTest#testYuvBurst

解决办法:修改对应相机的metadata文件

vendor/mediatek/proprietary/custom/mt6771/hal/imgsensor_metadata/gc5035_mipi_raw/config_static_metadata.tuning_3a.gc5035mipiraw.h
index 269d0f1..4fea200 100644
@@ -95,8 +95,12 @@ STATIC_METADATA2_BEGIN(DEVICE, TUNING_3A, SENSOR_DRVNAME_GC5035_MIPI_RAW)CONFIG_METADATA_END()//==========================================================================CONFIG_METADATA_BEGIN(MTK_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES)
+        CONFIG_ENTRY_VALUE(10, MINT32)
+        CONFIG_ENTRY_VALUE(10, MINT32)CONFIG_ENTRY_VALUE(15, MINT32)CONFIG_ENTRY_VALUE(15, MINT32)
+        CONFIG_ENTRY_VALUE(15, MINT32)
+        CONFIG_ENTRY_VALUE(20, MINT32)CONFIG_ENTRY_VALUE(20, MINT32)CONFIG_ENTRY_VALUE(20, MINT32)CONFIG_ENTRY_VALUE(5, MINT32)

android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#testAvailableStreamConfigs

vendor/mediatek/proprietary/custom/mt6771/hal/imgsensor_metadata/ov13853_mipi_raw/config_static_metadata_project.h
index bf33368..0d0ffc6 100755
@@ -142,7 +142,7 @@ STATIC_METADATA2_BEGIN(PLATFORM, PROJECT, SENSOR_DRVNAME_OV13853_MIPI_RAW)CONFIG_ENTRY_VALUE(4208, MINT64)//CONFIG_ENTRY_VALUE(4096, MINT64)        // widthCONFIG_ENTRY_VALUE(3120, MINT64)//CONFIG_ENTRY_VALUE(3072, MINT64)        // heightCONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)   // output
-        CONFIG_ENTRY_VALUE(100000000, MINT64)   // frame duration
+        CONFIG_ENTRY_VALUE(50000000, MINT64)   // frame durationCONFIG_ENTRY_VALUE(0, MINT64)           // stall duration/*CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT64) //9mp 16:9

android.hardware.cts.CameraTest#testJpegThumbnailSize

vendor/mediatek/proprietary/custom/mt6771/hal/imgsensor_metadata/ov13853_mipi_raw/config_static_metadata_project.h
index 0d0ffc6..e8a70b0 100755
@@ -55,8 +55,8 @@ STATIC_METADATA2_BEGIN(PLATFORM, PROJECT, SENSOR_DRVNAME_OV13853_MIPI_RAW)CONFIG_METADATA_BEGIN(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_WITH_DURATIONS)CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_BLOB, MINT64) //13mp 4:3
-        CONFIG_ENTRY_VALUE(4208, MINT64)//CONFIG_ENTRY_VALUE(4096, MINT64)        // width
-        CONFIG_ENTRY_VALUE(3120, MINT64)//CONFIG_ENTRY_VALUE(3072, MINT64)        // height
+        CONFIG_ENTRY_VALUE(4096, MINT64)        // width
+        CONFIG_ENTRY_VALUE(3072, MINT64)        // heightCONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)   // outputCONFIG_ENTRY_VALUE(50000000, MINT64)    // frame durationCONFIG_ENTRY_VALUE(33333333, MINT64)    // stall duration
@@ -139,8 +139,8 @@ STATIC_METADATA2_BEGIN(PLATFORM, PROJECT, SENSOR_DRVNAME_OV13853_MIPI_RAW)CONFIG_ENTRY_VALUE(33333333, MINT64)    // stall durationCONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_YCbCr_420_888, MINT64) //13mp 4:3
-        CONFIG_ENTRY_VALUE(4208, MINT64)//CONFIG_ENTRY_VALUE(4096, MINT64)        // width
-        CONFIG_ENTRY_VALUE(3120, MINT64)//CONFIG_ENTRY_VALUE(3072, MINT64)        // height
+        CONFIG_ENTRY_VALUE(4096, MINT64)        // width
+        CONFIG_ENTRY_VALUE(3072, MINT64)        // heightCONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64)   // outputCONFIG_ENTRY_VALUE(50000000, MINT64)   // frame durationCONFIG_ENTRY_VALUE(0, MINT64)           // stall duration

CtsProviderUiTestCase

android.providerui.cts.MediaStoreUiTest#testImageCaptureWithInadequeteLocationPermissions

android.providerui.cts.MediaStoreUiTest#testGetDocumentUri

android.providerui.cts.MediaStoreUiTest#testGetDocumentUri_ThrowsWithoutPermission

android.providerui.cts.MediaStoreUiTest#testGetDocumentUri_Symmetry

解决办法:申请patch:ALPS05016434

CtsMediaTestCases

android.media.cts.NativeImageReaderTest#testTakePictures

------------- device/mediatek/mt6771/media_codecs_performance.xml -------------
index 731ed92..9cacb15 100755
@@ -137,10 +137,10 @@ Only the three quirks included above are recognized at this point:<Limit name="measured-frame-rate-352x288" range="590-1299" /></MediaCodec><MediaCodec name="OMX.MTK.VIDEO.DECODER.AVC" type="video/avc" update="true">
-            <Limit name="measured-frame-rate-320x240" range="180-360" />
-            <Limit name="measured-frame-rate-720x480" range="640-1280" />
-            <Limit name="measured-frame-rate-1280x720" range="720-1440" />
-            <Limit name="measured-frame-rate-1920x1080" range="980-2040" />
+            <Limit name="measured-frame-rate-320x240" range="833-1833" />
+            <Limit name="measured-frame-rate-720x480" range="324-713" />
+            <Limit name="measured-frame-rate-1280x720" range="186-409" />
+            <Limit name="measured-frame-rate-1920x1080" range="113-248" /></MediaCodec><MediaCodec name="OMX.MTK.VIDEO.DECODER.HEVC" type="video/hevc" update="true"><Limit name="measured-frame-rate-352x288" range="812-1786" />vendor/mediatek/proprietary/hardware/mtkcam/include/mtkcam/utils/metastore/CaptureSessionParameters.h
new file mode 100644
index 00000000..5cea9e9
@@ -0,0 +1,65 @@
+/* Copyright Statement:
+ *
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein is
+ * confidential and proprietary to MediaTek Inc. and/or its licensors. Without
+ * the prior written permission of MediaTek inc. and/or its licensors, any
+ * reproduction, modification, use or disclosure of MediaTek Software, and
+ * information contained herein, in whole or in part, shall be strictly
+ * prohibited.
+ *
+ * MediaTek Inc. (C) 2019. All rights reserved.
+ *
+ * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+ * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+ * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
+ * ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL
+ * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
+ * NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
+ * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
+ * INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES
+ * TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
+ * RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
+ * OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
+ * SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
+ * RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
+ * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
+ * ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE
+ * RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE
+ * MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
+ * CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+ *
+ * The following software/firmware and/or related documentation ("MediaTek
+ * Software") have been modified by MediaTek Inc. All revisions are subject to
+ * any receiver's applicable license agreements with MediaTek Inc.
+ */
+
+#ifndef _MTK_HARDWARE_MTKCAM_INCLUDE_MTKCAM_UTILS_METASTORE_CAPTURESESSIONPARAMETERS_H
+#define _MTK_HARDWARE_MTKCAM_INCLUDE_MTKCAM_UTILS_METASTORE_CAPTURESESSIONPARAMETERS_H
+
+#include <mtkcam/utils/metadata/IMetadata.h>
+
+namespace NSCam {
+
+class CaptureSessionParameters final
+{
+public:
+    /**
+     * \fn static bool CaptureSessionParameters::isReconfigurationRequired()
+     * const IMetadata &oldSessionParams, const IMetadata &newSessionParams)
+     * \brief Check whether complete stream reconfiguration is required
+     *
+     * Given the previous and the new session values, returns stream
+     * reconfiguration is required or not.
+     *
+     * \param[in] oldSessionParams the previous session parameters
+     * \param[in] newSessionParams the new session parameters
+     */
+    static bool isReconfigurationRequired(
+        const IMetadata& oldSessionParams, const IMetadata& newSessionParams);
+}; // class CaptureSessionParameters
+
+} // namespace NSCam
+
+#endif // _MTK_HARDWARE_MTKCAM_INCLUDE_MTKCAM_UTILS_METASTORE_CAPTURESESSIONPARAMETERS_H---- vendor/mediatek/proprietary/hardware/mtkcam/utils/metastore/Android.mk ----
index 5f6e8d4..c070b2e 100644
@@ -56,6 +56,7 @@ ifeq ($(MTKCAM_IP_BASE),1)#-----------------------------------------------------------LOCAL_WHOLE_STATIC_LIBRARIES += libmtkcam_metastore.staticLOCAL_WHOLE_STATIC_LIBRARIES += libmtkcam_metastore.request
+LOCAL_WHOLE_STATIC_LIBRARIES += libmtkcam_metastore.session##-----------------------------------------------------------vendor/mediatek/proprietary/hardware/mtkcam/utils/metastore/sessionParameters/Android.mk
new file mode 100644
index 00000000..88a5f3c
@@ -0,0 +1,17 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libmtkcam_metastore.session
+LOCAL_PROPRIETARY_MODULE := true
+LOCAL_MODULE_OWNER := mtk
+
+LOCAL_SRC_FILES := CaptureSessionParameters.cpp
+
+LOCAL_HEADER_LIBRARIES := libmtkcam_headers
+
+LOCAL_SHARED_LIBRARIES := \
+   libmtkcam_ulog \
+   libmtkcam_metadata
+
+include $(MTK_STATIC_LIBRARY)vendor/mediatek/proprietary/hardware/mtkcam/utils/metastore/sessionParameters/CaptureSessionParameters.cpp
new file mode 100644
index 00000000..fc7bbd8
@@ -0,0 +1,78 @@
+/* Copyright Statement:
+ *
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein is
+ * confidential and proprietary to MediaTek Inc. and/or its licensors. Without
+ * the prior written permission of MediaTek inc. and/or its licensors, any
+ * reproduction, modification, use or disclosure of MediaTek Software, and
+ * information contained herein, in whole or in part, shall be strictly
+ * prohibited.
+ *
+ * MediaTek Inc. (C) 2019. All rights reserved.
+ *
+ * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+ * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+ * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
+ * ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL
+ * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
+ * NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
+ * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
+ * INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES
+ * TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
+ * RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
+ * OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
+ * SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
+ * RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
+ * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
+ * ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE
+ * RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE
+ * MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
+ * CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+ *
+ * The following software/firmware and/or related documentation ("MediaTek
+ * Software") have been modified by MediaTek Inc. All revisions are subject to
+ * any receiver's applicable license agreements with MediaTek Inc.
+ */
+
+#define LOG_TAG "CaptureSessionParams"
+
+#include <mtkcam/utils/std/ULog.h>
+#include <mtkcam/utils/metastore/CaptureSessionParameters.h>
+#include <mtkcam/utils/metadata/client/mtk_metadata_tag.h>
+
+CAM_ULOG_DECLARE_MODULE_ID(MOD_UTILITY);
+
+namespace NSCam {
+
+bool CaptureSessionParameters::isReconfigurationRequired(
+    const IMetadata& oldSessionParams, const IMetadata& newSessionParams)
+{
+    bool needReconfig = true;
+
+    // NOTE: Please define your state machine
+    //       and put your implementations under the custom parts, which
+    //       receive the old and the new session parameters and
+    //       return the corresponding result per state transition.
+
+    // Check EIS metadata
+    {
+        const IMetadata::IEntry oldEISEntry =
+            oldSessionParams.entryFor(MTK_CONTROL_VIDEO_STABILIZATION_MODE);
+        const IMetadata::IEntry newEISEntry =
+            newSessionParams.entryFor(MTK_CONTROL_VIDEO_STABILIZATION_MODE);
+
+        if (oldEISEntry.isEmpty() && !newEISEntry.isEmpty())
+        {
+            if (newEISEntry.itemAt(0, Type2Type<MUINT8>()) ==
+                MTK_CONTROL_VIDEO_STABILIZATION_MODE_OFF)
+            {
+                needReconfig = false;
+            }
+        }
+    }
+
+    return needReconfig;
+}
+
+} // namespace NSCamvendor/mediatek/proprietary/hardware/mtkcam3/main/hal/device/3.x/device/CameraDevice3SessionImpl.cpp
index ae7937e..89f75f7 100644
@@ -40,6 +40,7 @@#include <cutils/properties.h>#include <mtkcam/utils/std/ULog.h> // will include <log/log.h> if LOG_TAG was defined#include <mtkcam/utils/metadata/client/mtk_metadata_tag.h>
+#include <mtkcam/utils/metastore/CaptureSessionParameters.h>CAM_ULOG_DECLARE_MODULE_ID(MOD_CAMERA_DEVICE);//
@@ -1305,7 +1306,17 @@ Return<void>ThisNamespace::isReconfigurationRequired(const hidl_vec<uint8_t>& oldSessionParams, const hidl_vec<uint8_t>& newSessionParams, isReconfigurationRequired_cb _hidl_cb){
-    _hidl_cb(Status::METHOD_NOT_SUPPORTED, true);
+    IMetadata oldMetadata;
+    IMetadata newMetadata;
+    mStaticInfo.mMetadataConverter->convertFromHidl((void*)(&oldSessionParams), oldMetadata);
+    mStaticInfo.mMetadataConverter->convertFromHidl((void*)(&newSessionParams), newMetadata);
+    bool needReconfig = true;
+
+    if (!CaptureSessionParameters::isReconfigurationRequired(oldMetadata, newMetadata)) {
+        needReconfig = false;
+    }
+
+    _hidl_cb(Status::OK, needReconfig);return Void();}

CtsViewTestCases

android.view.cts.DisplayRefreshRateTest#testRefreshRate

屏的刷新率不够,将屏驱动dsi.PLL_CLOCK值改大一点,注意这个值最好+5逐步验证,一次加太大了可能GSI测试的时候又报错了

CtsHiddenApiBlacklistDebugClassTestCases

android.signature.cts.api.current.HiddenApiTest#testSignatureMethodsThroughJni

repackaged.junit.framework.AssertionFailedError:  
extra_method:    java.util.List android.nfc.NfcAdapter.getSupportedOffHostSecureElements()    Error: Hidden method accessible through JNI
extra_method:    void android.nfc.cardemulation.ApduServiceInfo.setOffHostSecureElement(java.lang.String)    Error: Hidden method accessible through JNI
extra_method:    void android.nfc.cardemulation.ApduServiceInfo.unsetOffHostSecureElement()    Error: Hidden method accessible through JNI
ClassLoader hierarchy

----------------------- frameworks/base/api/current.txt -----------------------
index 337322b..f654295 100644
@@ -30643,7 +30643,6 @@ package android.nfc {method @Deprecated public void enableForegroundNdefPush(android.app.Activity, android.nfc.NdefMessage);method public void enableReaderMode(android.app.Activity, android.nfc.NfcAdapter.ReaderCallback, int, android.os.Bundle);method public static android.nfc.NfcAdapter getDefaultAdapter(android.content.Context);
-    method @NonNull public java.util.List<java.lang.String> getSupportedOffHostSecureElements();method public boolean ignore(android.nfc.Tag, int, android.nfc.NfcAdapter.OnTagRemovedListener, android.os.Handler);method @Deprecated public boolean invokeBeam(android.app.Activity);method public boolean isEnabled();
@@ -30737,10 +30736,10 @@ package android.nfc.cardemulation {method public boolean isDefaultServiceForCategory(android.content.ComponentName, String);method public boolean registerAidsForService(android.content.ComponentName, String, java.util.List<java.lang.String>);method public boolean removeAidsForService(android.content.ComponentName, String);
-    method public boolean setOffHostForService(@NonNull android.content.ComponentName, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.NFC) @NonNull public boolean setOffHostForService(@NonNull android.content.ComponentName, @NonNull String);method public boolean setPreferredService(android.app.Activity, android.content.ComponentName);method public boolean supportsAidPrefixRegistration();
-    method public boolean unsetOffHostForService(@NonNull android.content.ComponentName);
+    method @RequiresPermission(android.Manifest.permission.NFC) @NonNull public boolean unsetOffHostForService(@NonNull android.content.ComponentName);method public boolean unsetPreferredService(android.app.Activity);field public static final String ACTION_CHANGE_DEFAULT = "android.nfc.cardemulation.action.ACTION_CHANGE_DEFAULT";field public static final String CATEGORY_OTHER = "other";------------ frameworks/base/core/java/android/nfc/NfcAdapter.java ------------
index 1be6c4b..bc698f9 100644
@@ -526,6 +526,7 @@ public final class NfcAdapter {* @return List<String> containing secure elements on the device which supports*                      off host card emulation. eSE for Embedded secure element,*                      SIM for UICC and so on.
+     * @hide*/public @NonNull List<String> getSupportedOffHostSecureElements() {List<String> offHostSE = new ArrayList<String>();--- frameworks/base/core/java/android/nfc/cardemulation/ApduServiceInfo.java ---
index ec77fcf..2c85a68 100644
@@ -452,7 +452,7 @@ public class ApduServiceInfo implements Parcelable {mDynamicAidGroups.put(aidGroup.getCategory(), aidGroup);}-    @UnsupportedAppUsage
+public void setOffHostSecureElement(String offHost) {mOffHostName = offHost;}
@@ -461,7 +461,7 @@ public class ApduServiceInfo implements Parcelable {* Resets the off host Secure Element to statically defined* by the service in the manifest file.*/
-    @UnsupportedAppUsage
+public void unsetOffHostSecureElement() {mOffHostName = mStaticOffHostName;}---- frameworks/base/core/java/android/nfc/cardemulation/CardEmulation.java ----
index 1c2c33f..c6b9c39 100644
@@ -31,6 +31,7 @@ import android.os.RemoteException;import android.provider.Settings;import android.provider.Settings.SettingNotFoundException;import android.util.Log;
+import android.annotation.RequiresPermission;import java.util.HashMap;import java.util.List;
@@ -362,6 +363,8 @@ public final class CardEmulation {* @param service The component name of the service* @return whether the registration was successful.*/
+    @RequiresPermission(android.Manifest.permission.NFC)
+    @NonNullpublic boolean unsetOffHostForService(@NonNull ComponentName service) {NfcAdapter adapter = NfcAdapter.getDefaultAdapter(mContext);if (adapter == null) {
@@ -408,6 +411,8 @@ public final class CardEmulation {* @param offHostSecureElement Secure Element to register the AID to* @return whether the registration was successful.*/
+    @RequiresPermission(android.Manifest.permission.NFC)
+    @NonNullpublic boolean setOffHostForService(@NonNull ComponentName service,@NonNull String offHostSecureElement) {boolean validSecureElement = false;

Android Q CTS记录(MTK)相关推荐

  1. android backtrace,高通android q 通过backtrace使用addr2ine工具定位crash问题记录

    高通android q 通过backtrace使用addr2ine工具定位crash问题记录 高通android q 通过backtrace,使用addr2ine工具,定位crash问题记录 cras ...

  2. Android Q MTK平台开关机铃声

    google 默认开机动画代码在framework/base/cmds/bootanimation MTK 开机动画代码在vendor/mediatek/proprietary/operator/fr ...

  3. LMKD浅析(四)——Android Q新特性(QCOM篇)

    前言 在lmkd这个文件上,除了MTK,QCOM也大刀阔斧的在改,导致这两家的基线和AOSP都有一定差异,本篇着重讨论QCOM平台的一些差异的地方,AOSP的晚点再说吧-- 关于MTK平台的介绍,可以 ...

  4. 快手百度 4.34 亿美元投资知乎;腾讯回应“push团队全部被开”;Android Q Beta 6 发布!...

    公众号 | CSDN 整理 | 胡巍巍 责编 | 屠敏 快讯速知 腾讯视频回应"push线团队全部被开":不是真的 快手百度4.34亿美元投资知乎,后者将接入百度小程序 2018美 ...

  5. android oppo 权限,OPPO Reno可尝鲜Android Q:教程如下

    原标题:OPPO Reno可尝鲜Android Q:教程如下 5月8日凌晨,Android Q在谷歌I/O开发者大会上正式亮相.在I/O大会现场,谷歌公布了首批Android Q升级名单,其中OPPO ...

  6. android Q HIDL(小屏显示)

    android Q HIDL(小屏显示) 手机设备上添加了一个小的lcd屏,需求是可以显示文字与图片.且可以在每个应用里面使用,过CTS,那么可供选择的实现方式也就没几种了. (a)过cts的话最好是 ...

  7. Android Q 开机启动流程

    https://www.it610.com/article/1304931662924124160.htm Android Q 开机启动流程 开机启动概述: step 1: 上电开机 长按power键 ...

  8. Android Q 获取设备唯一ID(UDID\GUID\UUID\SSAID\GAID)

    Android Q获取设备唯一ID(UDID\GUID\UUID\SSAID\GAID) 一.简介 1.1 问题背景 1.2 关键技术 二.解决方案 2.1 谷歌官方推荐方案 (4种) 2.2 实现方 ...

  9. 适配Android Q指南

    一 .行为变更:所有应用 Android Q 平台包含一些行为变更,这些变更可能会影响您的应用.以下行为变更将影响在 Android Q 上运行的所有应用,无论其采用哪种 targetSdkVersi ...

最新文章

  1. SSH远程管理(用户登录控制及密码验证)
  2. centos6上虚拟主机的实现
  3. best tips for databases for graduate research
  4. mysql高级笔记_MySQL高级部分笔记
  5. 假定某一个数据列表是一个班级的计算机课程,若需要利用形参直接访问实参,则应把形参变量说明为()参数。A.指针B.引用C.传值D.常值...
  6. springboot怎么杀进程_全新Steam在线游戏 Among us太空狼人杀攻略
  7. MyCms自媒体内容管理系统 v1.6.0.1
  8. java开发汉字显示不全_求java转码ISO-8859-1转UTF-8汉字显示不全补救方案?
  9. 无法删除所有指定的值_SQL-插入、更新、删除、创建
  10. Servlet Request
  11. Asp.net发布网站
  12. 按键精灵和python功能对比_AutoIt3和按键精灵的功能对比第2/2页
  13. curl测试post请求
  14. 为什么你写了一万小时的代码,却没能成为架构师?| 程序员有话说
  15. 前端安装项目报错1.gyp info it worked if it ends with ok
  16. 【HTML】HTML网页设计-----游戏网页设计
  17. 漫画:博弈论系列 之 红眼睛和蓝眼睛(附:旅客的挽回)
  18. Gbase XDM API接口--打开xdm连接
  19. 大型电商架构亿级流量电商详情页系统--实战 服务降级
  20. 埃森哲:技术展望2023

热门文章

  1. python刷视频薅羊毛攻略一
  2. win10安装jdk12并配置环境
  3. 数领科技|Solidworks运行所需要的配置需求建议
  4. 证件照怎么制作?分享几种证件照生成器
  5. 预产期计算器在线计算生男生女计算机,预产期计算器生男生女准吗
  6. 那些年我们追过的拳皇
  7. golang结构体方法和“以接口为参数的函数”的调用规则尝试
  8. 项目实战——配置MySQL与Spring Security模块
  9. 在线漫画app开发,更好地保证用户的个性化体验
  10. 浅谈工业设计和机械设计的联系