OSDN Git Service

Use config.xml parameters instead of System properties.
authorArunesh Mishra <arunesh@google.com>
Tue, 2 Jun 2015 20:23:41 +0000 (13:23 -0700)
committerArunesh Mishra <arunesh@google.com>
Tue, 2 Jun 2015 22:13:17 +0000 (15:13 -0700)
For 'near-ultrasound' support (mic/speaker). Refer b/21072209
for details.

Bug: 21072209
Change-Id: Id7131cd38288d74af8102487b2c6b03048b4ae3b

core/res/res/values/config.xml
core/res/res/values/symbols.xml
media/java/android/media/AudioManager.java

index 8066d9f..beda9f4 100755 (executable)
          Defaults to the older, deprecated config_windowIsRound already used in
          some existing device-specific resource overlays. -->
     <bool name="config_mainBuiltInDisplayIsRound">@bool/config_windowIsRound</bool>
+
+    <!-- Ultrasound support for Mic/speaker path -->
+    <!-- Whether the default microphone audio source supports near-ultrasound frequencies
+         (range of 18 - 21 kHz). -->
+    <bool name="config_supportMicNearUltrasound">true</bool>
+    <!-- Whether the default speaker audio output path supports near-ultrasound frequencies
+         (range of 18 - 21 kHz). -->
+    <bool name="config_supportSpeakerNearUltrasound">true</bool>
+
 </resources>
index 93fcb2f..50f97e3 100755 (executable)
   <java-symbol type="bool" name="config_wifi_only_link_same_credential_configurations" />
   <java-symbol type="bool" name="config_wifi_enable_disconnection_debounce" />
   <java-symbol type="bool" name="config_wifi_enable_5GHz_preference" />
+  <java-symbol type="bool" name="config_supportMicNearUltrasound" />
+  <java-symbol type="bool" name="config_supportSpeakerNearUltrasound" />
   <java-symbol type="integer" name="config_wifi_framework_5GHz_preference_boost_threshold" />
   <java-symbol type="integer" name="config_wifi_framework_5GHz_preference_boost_factor" />
   <java-symbol type="integer" name="config_wifi_framework_5GHz_preference_penalty_threshold" />
index 316ccf6..33db9cf 100644 (file)
@@ -38,7 +38,6 @@ import android.os.Looper;
 import android.os.Message;
 import android.os.Process;
 import android.os.RemoteException;
-import android.os.SystemProperties;
 import android.os.SystemClock;
 import android.os.ServiceManager;
 import android.provider.Settings;
@@ -69,16 +68,6 @@ public class AudioManager {
     private static final AudioPortEventHandler sAudioPortEventHandler = new AudioPortEventHandler();
 
     /**
-     * System properties for whether the default microphone and speaker paths support
-     * near-ultrasound frequencies (range of 18 - 21 kHz).
-     */
-    private static final String SYSTEM_PROPERTY_MIC_NEAR_ULTRASOUND =
-            "persist.audio.mic.ultrasound";
-    private static final String SYSTEM_PROPERTY_SPEAKER_NEAR_ULTRASOUND =
-            "persist.audio.spkr.ultrasound";
-    private static final String DEFAULT_RESULT_FALSE_STRING = "false";
-
-    /**
      * Broadcast intent, a hint for applications that audio is about to become
      * 'noisy' due to a change in audio outputs. For example, this intent may
      * be sent when a wired headset is unplugged, or when an A2DP audio
@@ -3213,11 +3202,13 @@ public class AudioManager {
             int outputFramesPerBuffer = AudioSystem.getPrimaryOutputFrameCount();
             return outputFramesPerBuffer > 0 ? Integer.toString(outputFramesPerBuffer) : null;
         } else if (PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND.equals(key)) {
-            return SystemProperties.get(SYSTEM_PROPERTY_MIC_NEAR_ULTRASOUND,
-                    DEFAULT_RESULT_FALSE_STRING);
+            // Will throw a RuntimeException Resources.NotFoundException if this config value is
+            // not found.
+            return String.valueOf(getContext().getResources().getBoolean(
+                    com.android.internal.R.bool.config_supportMicNearUltrasound));
         } else if (PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND.equals(key)) {
-            return SystemProperties.get(SYSTEM_PROPERTY_SPEAKER_NEAR_ULTRASOUND,
-                    DEFAULT_RESULT_FALSE_STRING);
+            return String.valueOf(getContext().getResources().getBoolean(
+                    com.android.internal.R.bool.config_supportSpeakerNearUltrasound));
         } else {
             // null or unknown key
             return null;