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

Commit 16148d2c authored by Evan Laird's avatar Evan Laird
Browse files

Add setting for showing the vibrate icon in status bar

Test: manual
Bug: 220144337
Change-Id: I2d389d71dd9402353b058039464495a1d33ef0e9
Merged-In: I2d389d71dd9402353b058039464495a1d33ef0e9
parent 35b818e4
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -8497,6 +8497,9 @@
    <!-- Sound: Other sounds: Title for the option enabling touch sounds. [CHAR LIMIT=30] -->
    <string name="touch_sounds_title">Touch sounds</string>
    <!-- Sound: Other sounds: Title for the option enabling the vibrate icon. [CHAR LIMIT=50] -->
    <string name="vibrate_icon_title">Always show icon when in vibrate mode</string>
    <!-- Sound: Other sounds: Title for the option enabling haptic feedback on touch. [CHAR LIMIT=30] -->
    <string name="vibrate_on_touch_title">Touch vibration</string>
+5 −0
Original line number Diff line number Diff line
@@ -44,6 +44,11 @@
            android:key="touch_sounds"
            android:title="@string/touch_sounds_title" />

    <!-- Vibrate icon in status bar -->
    <SwitchPreference
            android:key="vibrate_icon"
            android:title="@string/vibrate_icon_title" />

    <!-- Vibrate on touch -->
    <SwitchPreference
            android:key="vibrate_on_touch"
+6 −0
Original line number Diff line number Diff line
@@ -191,6 +191,12 @@
        android:title="@string/touch_sounds_title"
        android:order="-30"/>

    <!-- Show vibrate icon in status bar -->
    <SwitchPreference
        android:key="vibrate_icon"
        android:title="@string/vibrate_icon_title"
        android:order="-27"/>

    <!-- Vibrate on touch -->
    <SwitchPreference
        android:key="vibrate_on_touch"
+4 −0
Original line number Diff line number Diff line
@@ -264,12 +264,15 @@ public class SoundSettings extends DashboardFragment implements OnActivityResult
                new BootSoundPreferenceController(context);
        final EmergencyTonePreferenceController emergencyTonePreferenceController =
                new EmergencyTonePreferenceController(context, fragment, lifecycle);
        final VibrateIconPreferenceController vibrateIconPreferenceController =
                new VibrateIconPreferenceController(context, fragment, lifecycle);

        controllers.add(dialPadTonePreferenceController);
        controllers.add(screenLockSoundPreferenceController);
        controllers.add(chargingSoundPreferenceController);
        controllers.add(dockingSoundPreferenceController);
        controllers.add(touchSoundPreferenceController);
        controllers.add(vibrateIconPreferenceController);
        controllers.add(vibrateOnTouchPreferenceController);
        controllers.add(dockAudioMediaPreferenceController);
        controllers.add(bootSoundPreferenceController);
@@ -281,6 +284,7 @@ public class SoundSettings extends DashboardFragment implements OnActivityResult
                        chargingSoundPreferenceController,
                        dockingSoundPreferenceController,
                        touchSoundPreferenceController,
                        vibrateIconPreferenceController,
                        vibrateOnTouchPreferenceController,
                        dockAudioMediaPreferenceController,
                        bootSoundPreferenceController,
+42 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2021 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.settings.notification;

import static com.android.settings.notification.SettingPref.TYPE_SECURE;

import android.content.Context;
import android.provider.Settings.Secure;

import com.android.settings.SettingsPreferenceFragment;
import com.android.settingslib.core.lifecycle.Lifecycle;

public class VibrateIconPreferenceController extends SettingPrefController {

    private static final String KEY_VIBRATE_ICON = "vibrate_icon";

    public VibrateIconPreferenceController(Context context, SettingsPreferenceFragment parent,
            Lifecycle lifecycle) {
        super(context, parent, lifecycle);
        mPreference = new SettingPref(
            TYPE_SECURE, KEY_VIBRATE_ICON, Secure.STATUS_BAR_SHOW_VIBRATE_ICON, 0 /*default off*/);
    }

    @Override
    public boolean isAvailable() {
        return true;
    }
}