diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 8106e247ae638..add7307bbda40 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -6435,4 +6435,8 @@ ul. Start foreground services from background Allows a companion app to start foreground services from background. + + Microphone is available + + Microphone is blocked diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 151530bcccfbf..14c751f58967c 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -836,6 +836,8 @@ + + diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index b5d4afe2cdf28..025348b92e726 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -181,6 +181,7 @@ import android.view.accessibility.AccessibilityManager; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.view.autofill.AutofillManagerInternal; +import android.widget.Toast; import com.android.internal.R; import com.android.internal.accessibility.AccessibilityShortcutController; @@ -204,6 +205,7 @@ import com.android.server.ExtconUEventObserver; import com.android.server.GestureLauncherService; import com.android.server.LocalServices; import com.android.server.SystemServiceManager; +import com.android.server.UiThread; import com.android.server.input.InputManagerInternal; import com.android.server.inputmethod.InputMethodManagerInternal; import com.android.server.policy.KeyCombinationManager.TwoKeysCombinationRule; @@ -3222,8 +3224,23 @@ public class PhoneWindowManager implements WindowManagerPolicy { boolean isEnabled = mSensorPrivacyManager.isSensorPrivacyEnabled( SensorPrivacyManager.TOGGLE_TYPE_SOFTWARE, SensorPrivacyManager.Sensors.MICROPHONE); + mSensorPrivacyManager.setSensorPrivacy(SensorPrivacyManager.Sensors.MICROPHONE, !isEnabled); + + int toastTextResId; + if (isEnabled) { + toastTextResId = R.string.mic_access_on_toast; + } else { + toastTextResId = R.string.mic_access_off_toast; + } + + Toast.makeText( + mContext, + UiThread.get().getLooper(), + mContext.getString(toastTextResId), + Toast.LENGTH_SHORT) + .show(); } }