From 55657365819baeccf67d68ba1265cae5362c4805 Mon Sep 17 00:00:00 2001 From: Hinix Date: Tue, 5 Nov 2024 15:46:15 +0800 Subject: [PATCH] update v4.5.0 --- README.md | 2 ++ .../frameworks/base/cmds/screencap/Android.bp | 4 +++ .../base/cmds/screencap/screencap.cpp | 4 ++- .../services/surfaceflinger/DisplayDevice.cpp | 3 +- .../providers/MediaProvider/Android.bp | 1 + .../android/providers/media/MediaService.java | 4 +++ .../frameworks/base/native/cmds/Android.bp | 19 ++++++++++- .../base/native/cmds/include/HwScreencap.h | 5 +++ .../cmds/lib/libscreencap_vendor_impl.a | Bin 0 -> 38634 bytes .../cmds/lib64/libscreencap_vendor_impl.a | Bin 0 -> 42306 bytes .../com/android/providers/media/Android.bp | 11 ++++++ .../media/MediaProvider-vendor-impl.jar | Bin 0 -> 1155 bytes .../media/audio_policy_configuration.xml | 8 +++++ .../primary_audio_policy_configuration.xml | 31 +++++++++++++++++ .../r_submix_audio_policy_configuration.xml | 32 ++++++++++++++++++ aosp/vendor/common/products/product_common.mk | 9 +++-- 16 files changed, 127 insertions(+), 6 deletions(-) create mode 100644 aosp/vendor/common/android/cph/frameworks/base/native/cmds/include/HwScreencap.h create mode 100644 aosp/vendor/common/android/cph/frameworks/base/native/cmds/lib/libscreencap_vendor_impl.a create mode 100644 aosp/vendor/common/android/cph/frameworks/base/native/cmds/lib64/libscreencap_vendor_impl.a create mode 100644 aosp/vendor/common/android/cph/packages/providers/MediaProvider/src/com/android/providers/media/Android.bp create mode 100644 aosp/vendor/common/android/cph/packages/providers/MediaProvider/src/com/android/providers/media/MediaProvider-vendor-impl.jar create mode 100644 aosp/vendor/common/android/media/audio_policy_configuration.xml create mode 100644 aosp/vendor/common/android/media/primary_audio_policy_configuration.xml create mode 100644 aosp/vendor/common/android/media/r_submix_audio_policy_configuration.xml diff --git a/README.md b/README.md index c21197708..f06f4640c 100644 --- a/README.md +++ b/README.md @@ -285,3 +285,5 @@ PRODUCT_PACKAGES += \ 支持镜像查询以及同region不同账号镜像共享 https://support.huaweicloud.com/api-cph/cph_api_0559.html + +注意:同一个账号在同一个region下最多支持创建200个镜像文件 diff --git a/aosp/frameworks/base/cmds/screencap/Android.bp b/aosp/frameworks/base/cmds/screencap/Android.bp index 248c67589..635ca1867 100644 --- a/aosp/frameworks/base/cmds/screencap/Android.bp +++ b/aosp/frameworks/base/cmds/screencap/Android.bp @@ -12,6 +12,10 @@ cc_binary { "libgui", ], + static_libs: [ + "libscreencap_vendor", + ], + cflags: [ "-Wall", "-Werror", diff --git a/aosp/frameworks/base/cmds/screencap/screencap.cpp b/aosp/frameworks/base/cmds/screencap/screencap.cpp index bb32dd2fa..48a4a69cf 100644 --- a/aosp/frameworks/base/cmds/screencap/screencap.cpp +++ b/aosp/frameworks/base/cmds/screencap/screencap.cpp @@ -36,6 +36,7 @@ #include #include +#include "HwScreencap.h" // TODO: Fix Skia. #pragma GCC diagnostic push @@ -100,8 +101,9 @@ static uint32_t dataSpaceToInt(ui::Dataspace d) } static status_t notifyMediaScanner(const char* fileName) { + std::string inputFilePath = getCmdPath(fileName); std::string filePath("file://"); - filePath.append(fileName); + filePath.append(inputFilePath); char *cmd[] = { (char*) "am", (char*) "broadcast", diff --git a/aosp/frameworks/native/services/surfaceflinger/DisplayDevice.cpp b/aosp/frameworks/native/services/surfaceflinger/DisplayDevice.cpp index 9ff603a5c..d0e226185 100644 --- a/aosp/frameworks/native/services/surfaceflinger/DisplayDevice.cpp +++ b/aosp/frameworks/native/services/surfaceflinger/DisplayDevice.cpp @@ -236,8 +236,7 @@ void DisplayDevice::setProjection(ui::Rotation orientation, Rect viewport, Rect if (sPrimaryDisplayRotationFlags != ui::Transform::toRotationFlags(orientation)) { // 通知hwConposer屏幕发生旋转 const auto displayId = getId(); - int32_t transformFlag = ui::Transform::toRotationFlags(orientation) > 0 ? 1 : 0; - mFlinger->getHwComposer().eventControl(*displayId, HWC_EVENT_ORIENTATION_CHANGED, transformFlag); + mFlinger->getHwComposer().eventControl(*displayId, HWC_EVENT_ORIENTATION_CHANGED, ui::toRotationInt(orientation)); } sPrimaryDisplayRotationFlags = ui::Transform::toRotationFlags(orientation); transformOrientation = ui::Transform::toRotationFlags(orientation + mPhysicalOrientation); diff --git a/aosp/packages/providers/MediaProvider/Android.bp b/aosp/packages/providers/MediaProvider/Android.bp index e1ac31ded..c78b5189c 100644 --- a/aosp/packages/providers/MediaProvider/Android.bp +++ b/aosp/packages/providers/MediaProvider/Android.bp @@ -7,6 +7,7 @@ android_app { "androidx.appcompat_appcompat", "androidx.core_core", "guava", + "MediaProvider-vendor", ], libs: [ diff --git a/aosp/packages/providers/MediaProvider/src/com/android/providers/media/MediaService.java b/aosp/packages/providers/MediaProvider/src/com/android/providers/media/MediaService.java index d7c6babdf..2ef3b7983 100644 --- a/aosp/packages/providers/MediaProvider/src/com/android/providers/media/MediaService.java +++ b/aosp/packages/providers/MediaProvider/src/com/android/providers/media/MediaService.java @@ -160,6 +160,10 @@ public class MediaService extends JobIntentService { private static Uri onScanFile(Context context, Uri uri) throws IOException { final File file = new File(uri.getPath()).getCanonicalFile(); + HwMediaService hwMediaService = new HwMediaService(); + if (!hwMediaService.checkFile(file)) { + throw new IOException("Invalid path " + file.getPath()); + } try (ContentProviderClient cpc = context.getContentResolver() .acquireContentProviderClient(MediaStore.AUTHORITY)) { final MediaProvider provider = ((MediaProvider) cpc.getLocalContentProvider()); diff --git a/aosp/vendor/common/android/cph/frameworks/base/native/cmds/Android.bp b/aosp/vendor/common/android/cph/frameworks/base/native/cmds/Android.bp index ddce2ef2a..9cc349d2b 100644 --- a/aosp/vendor/common/android/cph/frameworks/base/native/cmds/Android.bp +++ b/aosp/vendor/common/android/cph/frameworks/base/native/cmds/Android.bp @@ -32,4 +32,21 @@ cc_prebuilt_library_static { strip : { none: true, }, -} \ No newline at end of file +} + +cc_prebuilt_library_static { + name: "libscreencap_vendor", + compile_multilib: "both", + export_include_dirs: ["./include"], + multilib: { + lib64: { + srcs: ["lib64/libscreencap_vendor_impl.a"], + }, + lib32: { + srcs: ["lib/libscreencap_vendor_impl.a"], + }, + }, + strip : { + none: true, + }, +} diff --git a/aosp/vendor/common/android/cph/frameworks/base/native/cmds/include/HwScreencap.h b/aosp/vendor/common/android/cph/frameworks/base/native/cmds/include/HwScreencap.h new file mode 100644 index 000000000..01e34eed9 --- /dev/null +++ b/aosp/vendor/common/android/cph/frameworks/base/native/cmds/include/HwScreencap.h @@ -0,0 +1,5 @@ +#pragma once + +#include + +std::string getCmdPath(const char *filePath); diff --git a/aosp/vendor/common/android/cph/frameworks/base/native/cmds/lib/libscreencap_vendor_impl.a b/aosp/vendor/common/android/cph/frameworks/base/native/cmds/lib/libscreencap_vendor_impl.a new file mode 100644 index 0000000000000000000000000000000000000000..761ec87ee3dd4bda76e999ac80723588e79c764d GIT binary patch literal 38634 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 literal 0 HcmV?d00001 diff --git a/aosp/vendor/common/android/cph/frameworks/base/native/cmds/lib64/libscreencap_vendor_impl.a b/aosp/vendor/common/android/cph/frameworks/base/native/cmds/lib64/libscreencap_vendor_impl.a new file mode 100644 index 0000000000000000000000000000000000000000..b011b786765350b7a33e947fea08efc99fef9083 GIT binary patch literal 42306 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 auZMy|vh6U>y{mN2UYv-2<0~$*{Qn0{XGLlN literal 0 HcmV?d00001 diff --git a/aosp/vendor/common/android/cph/packages/providers/MediaProvider/src/com/android/providers/media/Android.bp b/aosp/vendor/common/android/cph/packages/providers/MediaProvider/src/com/android/providers/media/Android.bp new file mode 100644 index 000000000..038002e92 --- /dev/null +++ b/aosp/vendor/common/android/cph/packages/providers/MediaProvider/src/com/android/providers/media/Android.bp @@ -0,0 +1,11 @@ +java_import { + name: "MediaProvider-vendor", + installable: false, + required: ["MediaProvider-vendor-impl"], + jars: ["MediaProvider-vendor-impl.jar"], + + apex_available: [ + "//apex_available:platform", + "//apex_available:anyapex", + ], +} diff --git a/aosp/vendor/common/android/cph/packages/providers/MediaProvider/src/com/android/providers/media/MediaProvider-vendor-impl.jar b/aosp/vendor/common/android/cph/packages/providers/MediaProvider/src/com/android/providers/media/MediaProvider-vendor-impl.jar new file mode 100644 index 0000000000000000000000000000000000000000..44b743347aea318c970f211e5ac8acaa3f2a6d51 GIT binary patch literal 1155 zcmWIWW@Zs#;Nak3NZcF~$$$hn8CV#6T|*poJ^kGD|D9rBU}gyLX6FE@V1gZqn zl%o916#ast{IblH)S_bj+|-oJM17BPUl1LfT2z*qoT`_clUQ8b8({0thcCweoBfv2!lm<{7ym-_=^QVay6g=7PH<=+F5j@-=ib7Iv)wBK z*N9g(#5%dvtT&i1IBm}H>c3Cdq@IggC+0WZ^uigjZARDrF@n-Sz2CfTDvS&aKY$o_ z3>XrK0Z(jE5Zil@@1TQ3%k%YFS38e53v~W}@ + + + + + + + \ No newline at end of file diff --git a/aosp/vendor/common/android/media/primary_audio_policy_configuration.xml b/aosp/vendor/common/android/media/primary_audio_policy_configuration.xml new file mode 100644 index 000000000..0b4c2cd48 --- /dev/null +++ b/aosp/vendor/common/android/media/primary_audio_policy_configuration.xml @@ -0,0 +1,31 @@ + + + + Speaker + Built-In Mic + + Speaker + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aosp/vendor/common/android/media/r_submix_audio_policy_configuration.xml b/aosp/vendor/common/android/media/r_submix_audio_policy_configuration.xml new file mode 100644 index 000000000..2f5fa8d32 --- /dev/null +++ b/aosp/vendor/common/android/media/r_submix_audio_policy_configuration.xml @@ -0,0 +1,32 @@ + + + + Remote Submix In + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aosp/vendor/common/products/product_common.mk b/aosp/vendor/common/products/product_common.mk index 90313a9de..cad57dbb2 100644 --- a/aosp/vendor/common/products/product_common.mk +++ b/aosp/vendor/common/products/product_common.mk @@ -50,7 +50,8 @@ PRODUCT_PACKAGES += \ libGLESv2_slow_binding \ libGLESv3_slow_binding \ ni_rsrc_mon \ - ni_rsrc_list + ni_rsrc_list \ + audio.primary.defaul PRODUCT_PROPERTY_OVERRIDES += \ ro.hardware.gralloc=$(BUILD_HARDWARE) \ @@ -116,7 +117,11 @@ PRODUCT_COPY_FILES += \ vendor/common/android/media/audio_policy_engine_configuration.xml:system/vendor/etc/audio_policy_engine_configuration.xml \ vendor/common/android/media/audio_policy_engine_default_stream_volumes.xml:system/vendor/etc/audio_policy_engine_default_stream_volumes.xml \ vendor/common/android/media/audio_policy_engine_product_strategies.xml:system/vendor/etc/audio_policy_engine_product_strategies.xml \ - vendor/common/android/media/audio_policy_engine_stream_volumes.xml:system/vendor/etc/audio_policy_engine_stream_volumes.xml + vendor/common/android/media/audio_policy_engine_stream_volumes.xml:system/vendor/etc/audio_policy_engine_stream_volumes.xml \ + vendor/common/android/media/audio_policy_engine_stream_volumes.xml:system/vendor/etc/audio_policy_engine_stream_volumes.xml \ + vendor/common/android/media/audio_policy_configuration.xml:system/vendor/etc/audio_policy_configuration.xml \ + vendor/common/android/media/primary_audio_policy_configuration.xml:system/vendor/etc/primary_audio_policy_configuration.xml \ + vendor/common/android/media/r_submix_audio_policy_configuration.xml:system/vendor/etc/r_submix_audio_policy_configuration.xml DEVICE_PACKAGE_OVERLAYS += \ vendor/common/android/overlay -- Gitee