Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a5886b18 authored by Christian Frank's avatar Christian Frank
Browse files

Add attribution context for MusicRecognitionManager attribution.

In addition:
  1) Use attribution tag specified in the MusicRecognitionService's manifest.
  2) Explicitly check for RECORD_AUDIO permission of receiving service.

Example audio attribution from dumpsys:
  RECORD_AUDIO (allow):
    MusicRecognitionDoneByServiceX=[
      Access: [fg-tpd] 2021-02-23 18:21:01.753 (-14s877ms) duration=+8s250ms proxy[uid=1000, pkg=android, attributionTag=MusicRecognitionManagerService]
    ]

Test: atest and manual inspection of attributions with dumpsys.
Change-Id: Ie415104580a1814b0b74f2d5b489bf8247d9238d
parent e96bf23b
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -5578,6 +5578,10 @@
    <!-- Attribution for Gnss Time Update service. -->
    <attribution android:tag="GnssTimeUpdateService"
                 android:label="@string/gnss_time_update_service"/>
    <!-- Attribution for MusicRecognitionManagerService.
         <p>Not for use by third-party applications.</p> -->
    <attribution android:tag="MusicRecognitionManagerService"
        android:label="@string/music_recognition_manager_service"/>

    <application android:process="system"
                 android:persistent="true"
+3 −0
Original line number Diff line number Diff line
@@ -453,6 +453,9 @@
    <!-- Attribution for Gnss Time Update service. [CHAR LIMIT=NONE]-->
    <string name="gnss_time_update_service">GNSS Time Update Service</string>

    <!-- Attribution for MusicRecognitionManagerService. [CHAR LIMIT=NONE]-->
    <string name="music_recognition_manager_service">Music Recognition Manager Service</string>

    <!-- Factory reset warning dialog strings--> <skip />
    <!-- Shows up in the dialog's title to warn about an impeding factory reset. [CHAR LIMIT=NONE] -->
    <string name="factory_reset_warning">Your device will be erased</string>
+10 −0
Original line number Diff line number Diff line
package android.media.musicrecognition;

/**
 * Interface from {@link MusicRecognitionService} to system to pass attribution tag.
 *
 * @hide
 */
oneway interface IMusicRecognitionAttributionTagCallback {
  void onAttributionTag(in String attributionTag);
}
 No newline at end of file
+3 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ import android.media.AudioFormat;
import android.os.ParcelFileDescriptor;
import android.os.IBinder;
import android.media.musicrecognition.IMusicRecognitionServiceCallback;
import android.media.musicrecognition.IMusicRecognitionAttributionTagCallback;

/**
 * Interface from the system to a {@link MusicRecognitionService}.
@@ -15,4 +16,6 @@ oneway interface IMusicRecognitionService {
      in ParcelFileDescriptor fd,
      in AudioFormat audioFormat,
      in IMusicRecognitionServiceCallback callback);

  void getAttributionTag(in IMusicRecognitionAttributionTagCallback callback);
}
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ import android.os.Bundle;
import android.media.MediaMetadata;

/**
 * Interface from a {@MusicRecognitionService} the system.
 * Interface from a {@MusicRecognitionService} to the system.
 *
 * @hide
 */
Loading