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

Commit 4c1efe09 authored by Dung Nguyen's avatar Dung Nguyen
Browse files

Display headset icon in notification bar

parent 768292c7
Loading
Loading
Loading
Loading
+525 B (1.16 KiB)
Loading image diff...
+205 B (613 B)
Loading image diff...
+1 −0
Original line number Diff line number Diff line
@@ -133,6 +133,7 @@
        <item><xliff:g id="id">bluetooth</xliff:g></item>
        <item><xliff:g id="id">tty</xliff:g></item>
        <item><xliff:g id="id">volume</xliff:g></item>
        <item><xliff:g id="id">headset</xliff:g></item>
        <item><xliff:g id="id">mute</xliff:g></item>
        <item><xliff:g id="id">speakerphone</xliff:g></item>
        <item><xliff:g id="id">tty</xliff:g></item>
+19 −0
Original line number Diff line number Diff line
@@ -298,6 +298,10 @@ public class StatusBarPolicy {
    private IconData mVolumeData;
    private boolean mVolumeVisible;

    // headset
    private IBinder mHeadsetIcon;
    private IconData mHeadsetData;

    // bluetooth device status
    private IBinder mBluetoothIcon;
    private IconData mBluetoothData;
@@ -405,6 +409,9 @@ public class StatusBarPolicy {
                    action.equals(AudioManager.VIBRATE_SETTING_CHANGED_ACTION)) {
                updateVolume();
            }
            else if (action.equals(Intent.ACTION_HEADSET_PLUG)) {
                updateHeadset(intent);
            }
            else if (action.equals(TelephonyIntents.ACTION_SIM_STATE_CHANGED)) {
                updateSimState(intent);
            }
@@ -531,6 +538,12 @@ public class StatusBarPolicy {
        service.setIconVisibility(mVolumeIcon, false);
        updateVolume();

        // headset
        mHeadsetData = IconData.makeIcon("headset",
                null, com.android.internal.R.drawable.stat_sys_headset, 0, 0);
        mHeadsetIcon = service.addIcon(mHeadsetData, null);
        service.setIconVisibility(mHeadsetIcon, false);

        IntentFilter filter = new IntentFilter();

        // Register for Intent broadcasts for...
@@ -544,6 +557,7 @@ public class StatusBarPolicy {
        filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
        filter.addAction(Intent.ACTION_ALARM_CHANGED);
        filter.addAction(Intent.ACTION_SYNC_STATE_CHANGED);
        filter.addAction(Intent.ACTION_HEADSET_PLUG);
        filter.addAction(AudioManager.RINGER_MODE_CHANGED_ACTION);
        filter.addAction(AudioManager.VIBRATE_SETTING_CHANGED_ACTION);
        filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
@@ -1238,6 +1252,11 @@ public class StatusBarPolicy {
        }
    }

    private final void updateHeadset(Intent intent) {
        int state = intent.getIntExtra("state", 0);
        mService.setIconVisibility(mHeadsetIcon, (state == 1));
    }

    private final void updateBluetooth(Intent intent) {
        int iconId = com.android.internal.R.drawable.stat_sys_data_bluetooth;
        String action = intent.getAction();