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();
}
}