Android Q CTS记录(MTK)
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:<true> but was:<false>
解决方法:找到对应的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)相关推荐
- android backtrace,高通android q 通过backtrace使用addr2ine工具定位crash问题记录
高通android q 通过backtrace使用addr2ine工具定位crash问题记录 高通android q 通过backtrace,使用addr2ine工具,定位crash问题记录 cras ...
- Android Q MTK平台开关机铃声
google 默认开机动画代码在framework/base/cmds/bootanimation MTK 开机动画代码在vendor/mediatek/proprietary/operator/fr ...
- LMKD浅析(四)——Android Q新特性(QCOM篇)
前言 在lmkd这个文件上,除了MTK,QCOM也大刀阔斧的在改,导致这两家的基线和AOSP都有一定差异,本篇着重讨论QCOM平台的一些差异的地方,AOSP的晚点再说吧-- 关于MTK平台的介绍,可以 ...
- 快手百度 4.34 亿美元投资知乎;腾讯回应“push团队全部被开”;Android Q Beta 6 发布!...
公众号 | CSDN 整理 | 胡巍巍 责编 | 屠敏 快讯速知 腾讯视频回应"push线团队全部被开":不是真的 快手百度4.34亿美元投资知乎,后者将接入百度小程序 2018美 ...
- android oppo 权限,OPPO Reno可尝鲜Android Q:教程如下
原标题:OPPO Reno可尝鲜Android Q:教程如下 5月8日凌晨,Android Q在谷歌I/O开发者大会上正式亮相.在I/O大会现场,谷歌公布了首批Android Q升级名单,其中OPPO ...
- android Q HIDL(小屏显示)
android Q HIDL(小屏显示) 手机设备上添加了一个小的lcd屏,需求是可以显示文字与图片.且可以在每个应用里面使用,过CTS,那么可供选择的实现方式也就没几种了. (a)过cts的话最好是 ...
- Android Q 开机启动流程
https://www.it610.com/article/1304931662924124160.htm Android Q 开机启动流程 开机启动概述: step 1: 上电开机 长按power键 ...
- 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 实现方 ...
- 适配Android Q指南
一 .行为变更:所有应用 Android Q 平台包含一些行为变更,这些变更可能会影响您的应用.以下行为变更将影响在 Android Q 上运行的所有应用,无论其采用哪种 targetSdkVersi ...
最新文章
- SSH远程管理(用户登录控制及密码验证)
- centos6上虚拟主机的实现
- best tips for databases for graduate research
- mysql高级笔记_MySQL高级部分笔记
- 假定某一个数据列表是一个班级的计算机课程,若需要利用形参直接访问实参,则应把形参变量说明为()参数。A.指针B.引用C.传值D.常值...
- springboot怎么杀进程_全新Steam在线游戏 Among us太空狼人杀攻略
- MyCms自媒体内容管理系统 v1.6.0.1
- java开发汉字显示不全_求java转码ISO-8859-1转UTF-8汉字显示不全补救方案?
- 无法删除所有指定的值_SQL-插入、更新、删除、创建
- Servlet Request
- Asp.net发布网站
- 按键精灵和python功能对比_AutoIt3和按键精灵的功能对比第2/2页
- curl测试post请求
- 为什么你写了一万小时的代码,却没能成为架构师?| 程序员有话说
- 前端安装项目报错1.gyp info it worked if it ends with ok
- 【HTML】HTML网页设计-----游戏网页设计
- 漫画:博弈论系列 之 红眼睛和蓝眼睛(附:旅客的挽回)
- Gbase XDM API接口--打开xdm连接
- 大型电商架构亿级流量电商详情页系统--实战 服务降级
- 埃森哲:技术展望2023