Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bdf6c8ce authored by Josep del Rio's avatar Josep del Rio
Browse files

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
parent 9adfd2be
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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>
+2 −0
Original line number Diff line number Diff line
@@ -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" />
+17 −0
Original line number Diff line number Diff line
@@ -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();
        }
    }