Add toast messages when toggling mic from keyboard

At the moment, the "microphone mute" key (KEYCODE_MUTE) will just
toggle the microphone sensor without any feedback to the user;
this change will add a toast message that will inform the user of
the state the microphone is in.

Test: tested on device
Bug: 258853916
Change-Id: I98e04a11395ba0fcb88081b80ffd0098e2e2498c
This commit is contained in:
Josep del Rio
2022-12-12 22:06:26 +00:00
parent 9adfd2be03
commit bdf6c8ce39
3 changed files with 23 additions and 0 deletions

View File

@@ -6435,4 +6435,8 @@ ul.</string>
<string name="permlab_startForegroundServicesFromBackground">Start foreground services from background</string>
<!-- Description of start foreground services from background permission [CHAR LIMIT=NONE] -->
<string name="permdesc_startForegroundServicesFromBackground">Allows a companion app to start foreground services from background.</string>
<!-- Toast message that is shown when the user unmutes the microphone from the keyboard. [CHAR LIMIT=TOAST] -->
<string name="mic_access_on_toast">Microphone is available</string>
<!-- Toast message that is shown when the user mutes the microphone from the keyboard. [CHAR LIMIT=TOAST] -->
<string name="mic_access_off_toast">Microphone is blocked</string>
</resources>

View File

@@ -836,6 +836,8 @@
<java-symbol type="string" name="lockscreen_emergency_call" />
<java-symbol type="string" name="lockscreen_return_to_call" />
<java-symbol type="string" name="low_memory" />
<java-symbol type="string" name="mic_access_off_toast" />
<java-symbol type="string" name="mic_access_on_toast" />
<java-symbol type="string" name="midnight" />
<java-symbol type="string" name="mismatchPin" />
<java-symbol type="string" name="mmiComplete" />

View File

@@ -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;
@@ -3220,8 +3222,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();
}
}