Skip to content
Snippets Groups Projects
  1. Apr 23, 2024
    • Iván Budnik's avatar
      Fix cancelScanRequest() scanning state update logic · 21d08b50
      Iván Budnik authored
      Before this change, the method would not turn off scanning in
      system_server when a screen-on scan request was released. As a result,
      proxy routers would unknowingly keep scanning forever even after having cancelled
      their scan requests.
      
      Bug: 331202666
      Test: atest MediaRouter2HostSideTest ProxyMediaRouter2HostSideTest
      Change-Id: I63563f38b7d53e608782e651150242519a55f5ce
      Flag: com.android.media.flags.enable_screen_off_scanning
      21d08b50
  2. Apr 15, 2024
  3. Apr 12, 2024
  4. Apr 10, 2024
    • Bishoy Gendy's avatar
      Implement Paused state logic for FGS · e60a53a8
      Bishoy Gendy authored
      - This also handling the missing permssion exception in b/333370745
      which caused the initial CL to be reverted.
      
      Bug: 295518668
      Bug: 333370745
      Test: atest cts/tests/app/src/android/app/cts/ActivityManagerFgsDelegateTest.java
      Test: atest PlatformScenarioTests:android.platform.test.scenario.sysui.media.QSMediaControllerPlayAndPause#testPlayAndPause
      Test: Using MediaRouter SampleApp
      Change-Id: I19b832d53550935c56e52e5e35c10d8c10c57a4c
      e60a53a8
  5. Apr 08, 2024
    • Yu Liu's avatar
      Revert "Set container to system for aconfig_declarations in AconfigFlags.bp" · 02287dc9
      Yu Liu authored
      This reverts commit f6293f71.
      
      Reason for revert: potentially causing boot time regression
      
      Change-Id: If744c038f0ef00178a8b3fc73cc5d674d15bed25
      02287dc9
    • Chaitanya Cheemala's avatar
      Revert "Implement Paused state logic for FGS" · 8b96e849
      Chaitanya Cheemala authored
      This reverts commit f11b5016.
      
      Reason for revert: Likely culprit for b/333370745  - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
      
      Change-Id: Ib2fb1ee00703587dfdb31ef3b5e568e3bf2dfc81
      8b96e849
    • Iván Budnik's avatar
      Extract and simplify RoutingController book-keeping operations · 48bbf3a1
      Iván Budnik authored
      This change deduplicates code and extracts some methods as pre-work for
      proxy routers keeping a local copy of non-system routing controllers.
      
      This is a non-functional change.
      
      Bug: 330300516
      Test: atest CtsMediaBetterTogetherTestCases
      Change-Id: Idcdf68e56913059683626575ed9e189e7b871ebe
      48bbf3a1
    • dakinola's avatar
      PSS Override · d0cc94af
      dakinola authored
      Add new override to force users of MediaProjection API to show Partial Screenshare as an option
      
      Bug: 316897322
      Flag: None
      Test: atest CompatChangesValidConfigTest
      Test: atest MediaProjectionPermissionDialogDelegateTest
      Test: atest ScreenRecordPermissionDialogDelegateTest
      Test: atest CtsMediaProjectionTestCases:MediaProjectionCompatChangeTests
      Test: atest PlatformScenarioTests:MediaProjectionPermissionTest
      Change-Id: I81c2ad3c0e253834676f561a9033ff54dafaa0ea
      d0cc94af
    • Bishoy Gendy's avatar
      Implement Paused state logic for FGS · f11b5016
      Bishoy Gendy authored
      Bug: 295518668
      Test: attest cts/tests/app/src/android/app/cts/ActivityManagerFgsDelegateTest.java
      Change-Id: I6bc80f92220569ad4c20866947e6fabe889412c9
      f11b5016
  6. Apr 05, 2024
  7. Apr 04, 2024
    • Santiago Seifert's avatar
      Remove flag to disable the screen off broadcast receiver · 2e763c28
      Santiago Seifert authored
      It was originally added to prototype the watch-to-phone output switcher,
      in ag/24993347. We now have a proper API for this, so this flag is no
      longer useful.
      
      Bug: b/304234628
      Test: N/A.
      Change-Id: I928f5ec3b8532a134f269d03a75e0b82cac1ca30
      2e763c28
    • Santiago Seifert's avatar
      Move MediaRouterService work out of main thread · 2df07852
      Santiago Seifert authored
      Bug: b/310145678
      Test: atest CtsMediaHostTestCases CtsMediaBetterTogetherTestCases AudioManagerRouteControllerTest
      Change-Id: I0a73bcfd7c0c5a7780dd587dbd45fe6ba6e286e9
      2df07852
    • Satish Yalla's avatar
      Revert "PSS opt-out override: move logic to MediaProjectionManager" · 8dc048b5
      Satish Yalla authored
      Revert submission 26596106-pss-opt-out-override
      
      Reason for revert: <Reason for revert: Potential culprit for b/332779806- verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.>
      
      Reverted changes: /q/submissionid:26596106-pss-opt-out-override
      
      Change-Id: Ide32e23e0f48370bc762d15b2add3eccc70ba69a
      8dc048b5
  8. Apr 03, 2024
    • Santiago Seifert's avatar
      Avoid binding to providers if no apps are scanning · e793c641
      Santiago Seifert authored
      Regardless of manager scans (example: scans coming from sys ui or
      settings). Concretely, this change will prevent apps that don't
      integrate with MediaRouter2 from having remote volume control in
      Settings (this is described in detail in linked bugs).
      
      Bug: b/319604673
      Test: Manually by casting using popular app that doesn't integrate MR2.
      Test: atest CtsMediaHostTestCases CtsMediaBetterTogetherTestCases
      Change-Id: I61f8a2de2fa617517527e775eccf38506a1b9a18
      e793c641
    • Chris Göllner's avatar
      PSS opt-out override: move logic to MediaProjectionManager · cd7ae441
      Chris Göllner authored
      Relanding PSS opt-out override from ag/25896593. Initial implementation defined the ChangeId on SysUI side, but SysUI tests seemed to not recognise it being disabled by default, leading to SysUI test failures. Now instead defining the ChangeId in MediaaProjectionmanager, SysUI is able to properly to read the override as disabled by default, so shouldn't break existing SysUI E2Es.
      
      Bug: 316897322
      Flag: None
      Test: atest packages/SystemUI/tests/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionDialogDelegateTest.kt
      Test: atest packages/SystemUI/tests/src/com/android/systemui/screenrecord/ScreenRecordPermissionDialogDelegateTest.kt
      Test: atest CtsMediaProjectionTestCases:MediaProjectionCompatChangeTests
      Test: atest PlatformScenarioTests:android.platform.test.scenario.sysui.mediaprojection.MediaProjectionPermissionTest
      Change-Id: Ibb9ec963a094ab384980bcbd58c68a39d6094ef2
      cd7ae441
  9. Apr 02, 2024
  10. Mar 30, 2024
  11. Mar 28, 2024
    • Chungro Lee's avatar
      Revert "Revert "Revert "Workaround build breakage from full LTO ..." · 5b249369
      Chungro Lee authored
      Revert submission 3009938-revert-3002586-revert-2988057-default-full-lto-DWADZBGWJG-UPWNCWKHFI
      
      Reason for revert:  b/331528903
      
      Reverted changes: /q/submissionid:3009938-revert-3002586-revert-2988057-default-full-lto-DWADZBGWJG-UPWNCWKHFI
      
      Change-Id: Id71726b1e4d96b60ade2fba49d99b776ef7834ea
      5b249369
  12. Mar 27, 2024
    • Raj Goparaju's avatar
      Fix deep copy of fade manager config when using copy cosntructor · 5ca82769
      Raj Goparaju authored
      SparseArray clone is not effective when deep copying. Add a
      custom copier to iterate through the sparse array and manually
      copy each entry.
      
      Bug: 307354764
      Test: m gts && atest -c com.google.android.gts.audio.AudioHostTest
      Change-Id: Ia899be2b7a5c1ef2fe7d9f4cde5f36b5e65d3462
      5ca82769
    • Lajos Molnar's avatar
      media: protect around all codec_fwk aconfig flag access · 6a4bef0f
      Lajos Molnar authored
      This is hopefully a temporary workaround until this functionality
      is added to the generated stubs.
      
      Related-Bug: 325389296
      Bug: 331666510
      Change-Id: Ie08c9241f61e44c8e9857c2cf761fc43ac7fe35f
      6a4bef0f
    • Lajos Molnar's avatar
      media: protect around aconfig flag access in MediaCodec::configure · 03eb2ee1
      Lajos Molnar authored
      This API is known to be used from contexts where aconfig flag accessors
      fail.
      
      Bug: 325389296
      Change-Id: I5164b528c3b852bef9a757d9b2399b0af51feeb0
      03eb2ee1
    • Biswarup Pal's avatar
      VDM and camera framework changes for camera device awareness · 96141040
      Biswarup Pal authored
      - For any camera, CameraManager (API layer) now receives the
      device id (i.e., the id of the device owning the camera, for
      virtual camera this would be the id of the virtual device, and
      for real cameras this would be Context#DEVICE_ID_DEFAULT) and
      the mapped camera id (for virtual devices, the back and
      front virtual cameras of that device would have 0 and 1
      respectively as their mapped camera id, and for real cameras
      this would be their actual camera id) from ICameraServiceListener.
      It skips the callbacks if the received device id doesn't match
      the one in the current context (except for external cameras of
      the default device). As a result, real cameras are available
      only to contexts associated with the default device or any
      virtual device with default camera policy. Virtual cameras are
      available only to contexts associated with a virtual device with
      custom camera policy. Note that externally connected real cameras
      are available to all contexts. For binder calls to cameraserver,
      the API layers pass the device id of the current context and the
      device camera policy.
      
      - VDM passes the id of the virtual device to virtual camera HAL
      service so that it can be reported to cameraserver. VDM also
      exposes the camera policy of a virtual device to cameraserver.
      
      - This change adds device-awareness to both camera2 and legacy
      camera API's.
      
      Test: atest CtsVirtualDevicesTestCases
      Test: atest VirtualCameraControllerTest
      Bug: 291736219
      Change-Id: Ic696b0499cfbb9bfbc3c9156ca6ffd93dc42bcc3
      96141040
  13. Mar 25, 2024
  14. Mar 22, 2024
    • Alex Dadukin's avatar
      Check if getSystemSessionInfo requested by a Proxy Router · 5f0bca14
      Alex Dadukin authored
      ProxyRouter (inside MediaRouter2) calls getSystemSessionInfoForPackage
      to request the initial RoutingSessionInfo. The method was designed for
      LocalRouter and does not take into account calls from proxy routers,
      therefore returns DEFAULT_ROUTE when requested by system router but
      without bluetooth or modify audio routing permissions.
      
      Bug: b/325755852
      Test: N/A
      Change-Id: I9fa38fb731c17e06927e1a927d6acc030ebb2135
      5f0bca14
    • Yi Kong's avatar
      Revert "Revert "Workaround build breakage from full LTO optimiza..." · 93dd787a
      Yi Kong authored
      Revert submission 3002586-revert-2988057-default-full-lto-DWADZBGWJG
      
      Reland with fix.
      
      Reverted changes: /q/submissionid:3002586-revert-2988057-default-full-lto-DWADZBGWJG
      
      Change-Id: I82598e6bb06138fb10b47f4b8d37d792f84e0cc7
      93dd787a
    • Yi Kong's avatar
      Revert "Workaround build breakage from full LTO optimization" · 59bcc533
      Yi Kong authored
      Revert submission 2988057-default-full-lto
      
      Reason for revert: broken test
      
      Reverted changes: /q/submissionid:2988057-default-full-lto
      Bug: 330811070
      
      Change-Id: I67aa5d2c88e38914164d9aee8c852c52e80f8a61
      59bcc533
  15. Mar 21, 2024
    • Iván Budnik's avatar
      Fix NPE in MediaRoute2ProviderServiceProxy#notifyProviderUpdated · d5fd33b1
      Iván Budnik authored
      The NPE was being swallowed by the Binder framework and logging a
      warning.
      
      Bug: 205124386
      Test: Manual.
      Change-Id: I0dcacddda3a5eeb1756869d85afedcbc9e56b415
      d5fd33b1
    • Oriol Prieto Gasco's avatar
      Export flags used in FlaggedApi annotations · 8f557865
      Oriol Prieto Gasco authored
      Before calling a flagged API, client code must check the value of the flag
      which gates it. Those flags must be exported in order to be accessible from
      containers other than the container where the flag and the API are hosted.
      
      Bug: 320984775
      Bug: 322839671
      
      Test: m all_aconfig_declarations
      Test: printflags --format='{fully_qualified_name}:{is_exported}' | grep true
      
      Ignore-AOSP-First: LSC
      Change-Id: I8c2d111fd4ffb23f3f52c9d00bf6bbd2456d7f05
      8f557865
  16. Mar 20, 2024
    • Yi Kong's avatar
      Workaround build breakage from full LTO optimization · b39da328
      Yi Kong authored
      fragment covers entire variable
      !4105 = !DIGlobalVariableExpression(var: !3061, expr: !DIExpression(DW_OP_LLVM_fragment, 0, 64))
      !3061 = distinct !DIGlobalVariable(name: "gFields", linkageName: "_ZN7androidL7gFieldsE", scope: !32, file: !2, line: 88, type: !3062, isLocal: true, isDefinition: true)
      fragment is larger than or outside of variable
      
      Test: presubmit
      Bug: 328163089
      Bug: 330503129
      Change-Id: Iaf4f31392a57589f63c49baea58ca74d452edc5e
      b39da328
  17. Mar 19, 2024
  18. Mar 18, 2024
  19. Mar 15, 2024
    • Iván Budnik's avatar
      Handle MEDIA_ROUTING_CONTROL runtime revocation · 0ab3623e
      Iván Budnik authored
      When the app op permission is revoked, MR2SI must unregister the
      relevant manager records and invalidate the matching proxy router
      instances.
      
      We need to add a new listener so that apps get notified of a proxy
      router invalidation and know when to stop using it. The alternative
      approach of listening directly to app-op permission changes from
      AppOpsManager would create a race condition between the permission
      change and the invalidation + cleanup of the instance, leading to
      undefined behaviour.
      
      getInstance(Context, String) was promoted from system to public API for
      Android V ag/25997373, but the promotion becomes unnecessary with the new
      getInstance() overload. Reverting getInstance(Context, String) back to
      SystemAPI.
      
      Bug: 326387864
      Test: atest CtsMediaBetterTogetherTestCases
      Change-Id: I417eb09cd08a3b61388c69f1a33a4116b399d61d
      0ab3623e
    • Marvin Ramin's avatar
      Flag equals/hashCode changes in AudioMix · dd4535d8
      Marvin Ramin authored
      Bug: 328173922
      Test: atest AudioMixTest
      Change-Id: Ifba8672a61e7ee456365bfce66379e2de5031f43
      (cherry picked from commit a96eaff7)
      dd4535d8
    • Venkatarama Avadhani's avatar
      MediaCas: Reinit the HIDL CAS service if killed · c0a8f05d
      Venkatarama Avadhani authored
      When the HIDL MediaCasService is killed or dies, allow for it to be
      re-initialized with the new instance of the service.
      
      Test: atest android.media.misc.cts.MediaCasTestMediaCas:
      Bug: 314885711
      Change-Id: I0ebeca9f433f3d8ee2b140ee0d2de9dc06ace021
      c0a8f05d
    • Venkatarama Avadhani's avatar
      MediaCas: Reinit the CAS service if killed · ee38ec4e
      Venkatarama Avadhani authored
      When the MediaCasService is killed or dies, allow for it to be
      re-initialized with the new instance of the service. The service is
      restarted by the system, this code just re-initializes a pointer to this
      new service.
      
      Test: atest android.media.misc.cts.MediaCasTest
      Bug: 327332440
      Change-Id: I9d98c4e200adc4ee987dc8d1e472dfe5ac8f8da2
      ee38ec4e
  20. Mar 14, 2024
Loading