Resolve setVolume hidden API usage

Resolves the use of the  MediaPlayer#setVolume hidden API with the
public API instead as part of mainline cleanup.

Bug: 307816808
Flag: com.android.server.telecom.flags.resolve_hidden_dependencies_two
Test: m Telecom
Change-Id: Ib39fc2bccc74b22baba9969e4c61a629a1b27c6f
diff --git a/src/com/android/server/telecom/CallRecordingTonePlayer.java b/src/com/android/server/telecom/CallRecordingTonePlayer.java
index 1b522bc..aa33d3b 100644
--- a/src/com/android/server/telecom/CallRecordingTonePlayer.java
+++ b/src/com/android/server/telecom/CallRecordingTonePlayer.java
@@ -29,6 +29,7 @@
 import android.telecom.Log;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.server.telecom.flags.FeatureFlags;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -91,7 +92,11 @@
             if (telephonyDevice != null) {
                 mRecordingTonePlayer = MediaPlayer.create(mContext, R.raw.record);
                 mRecordingTonePlayer.setPreferredDevice(telephonyDevice);
-                mRecordingTonePlayer.setVolume(0.1f);
+                if (mFeatureFlags.resolveHiddenDependenciesTwo()) {
+                    mRecordingTonePlayer.setVolume(0.1f, 0.1f);
+                } else {
+                    mRecordingTonePlayer.setVolume(0.1f);
+                }
                 AudioAttributes audioAttributes = new AudioAttributes.Builder()
                         .setUsage(AudioAttributes.USAGE_VOICE_COMMUNICATION).build();
                 mRecordingTonePlayer.setAudioAttributes(audioAttributes);
@@ -117,16 +122,18 @@
     private final long mRepeatInterval;
     private boolean mIsRecording = false;
     private LoopingTonePlayer mLoopingTonePlayer;
+    private FeatureFlags mFeatureFlags;
     private List<Call> mCalls = new ArrayList<>();
 
     public CallRecordingTonePlayer(Context context, AudioManager audioManager,
             Timeouts.Adapter timeouts,
-            TelecomSystem.SyncRoot lock) {
+            TelecomSystem.SyncRoot lock, FeatureFlags featureFlags) {
         mContext = context;
         mAudioManager = audioManager;
         mLock = lock;
         mRepeatInterval = timeouts.getCallRecordingToneRepeatIntervalMillis(
                 context.getContentResolver());
+        mFeatureFlags = featureFlags;
     }
 
     @Override
diff --git a/src/com/android/server/telecom/CallsManager.java b/src/com/android/server/telecom/CallsManager.java
index 8b9b3d8..d518ecc 100644
--- a/src/com/android/server/telecom/CallsManager.java
+++ b/src/com/android/server/telecom/CallsManager.java
@@ -758,7 +758,7 @@
             mCallRecordingTonePlayer = null;
         } else {
             mCallRecordingTonePlayer = new CallRecordingTonePlayer(mContext, audioManager,
-                    mTimeoutsAdapter, mLock);
+                    mTimeoutsAdapter, mLock, featureFlags);
         }
         mCallAudioManager = new CallAudioManager(mCallAudioRouteAdapter,
                 this, callAudioModeStateMachineFactory.create(systemStateHelper,
diff --git a/tests/src/com/android/server/telecom/tests/CallRecordingTonePlayerTest.java b/tests/src/com/android/server/telecom/tests/CallRecordingTonePlayerTest.java
index 5ccb2fe..2bdb589 100644
--- a/tests/src/com/android/server/telecom/tests/CallRecordingTonePlayerTest.java
+++ b/tests/src/com/android/server/telecom/tests/CallRecordingTonePlayerTest.java
@@ -102,7 +102,7 @@
                 .thenReturn(500L);
         mCallRecordingTonePlayer = new CallRecordingTonePlayer(
                 mComponentContextFixture.getTestDouble().getApplicationContext(),
-                mAudioManager, mTimeouts, mSyncRoot);
+                mAudioManager, mTimeouts, mSyncRoot, mFeatureFlags);
         when(mAudioManager.getActiveRecordingConfigurations()).thenReturn(null);
     }