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

Commit 56aa7785 authored by Geoffrey Pitsch's avatar Geoffrey Pitsch Committed by android-build-merger
Browse files

Boot Sounds setting in OtherSoundSettings

am: 7f6d27b1

Change-Id: Iae8f014dc240202a7347daa4f8c22754662d9ea2
parents 691af0ff 7f6d27b1
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -5998,6 +5998,9 @@
    <!-- Sound: Other sounds: Value for the emergency tone option with value 2: vibrate. [CHAR LIMIT=30] -->
    <string name="emergency_tone_vibrate">Vibrate</string>
    <!-- Sound: Other sounds: Title for the option enabling boot sounds. [CHAR LIMIT=30] -->
    <string name="boot_sounds_title">Power on sounds</string>
    <!-- Sound: Title for the Do not Disturb option and associated settings page. [CHAR LIMIT=30] -->
    <string name="zen_mode_settings_title">Do not disturb</string>
+5 −0
Original line number Diff line number Diff line
@@ -55,6 +55,11 @@
            android:title="@string/dock_audio_media_title"
            android:summary="%s" />

    <!-- Boot sounds -->
    <SwitchPreference
            android:key="boot_sounds"
            android:title="@string/boot_sounds_title" />

    <!-- Emergency tone -->
    <DropDownPreference
            android:key="emergency_tone"
+22 −0
Original line number Diff line number Diff line
@@ -25,10 +25,13 @@ import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemProperties;
import android.os.Vibrator;
import android.provider.SearchIndexableResource;
import android.provider.Settings.Global;
import android.provider.Settings.System;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.telephony.TelephonyManager;

import com.android.internal.logging.MetricsProto.MetricsEvent;
@@ -68,6 +71,10 @@ public class OtherSoundSettings extends SettingsPreferenceFragment implements In
    private static final String KEY_DOCK_AUDIO_MEDIA = "dock_audio_media";
    private static final String KEY_EMERGENCY_TONE = "emergency_tone";

    // Boot Sounds needs to be a system property so it can be accessed during boot.
    private static final String KEY_BOOT_SOUNDS = "boot_sounds";
    private static final String PROPERTY_BOOT_SOUNDS = "persist.sys.bootanim.play_sound";

    private static final SettingPref PREF_DIAL_PAD_TONES = new SettingPref(
            TYPE_SYSTEM, KEY_DIAL_PAD_TONES, System.DTMF_TONE_WHEN_DIALING, DEFAULT_ON) {
        @Override
@@ -174,6 +181,8 @@ public class OtherSoundSettings extends SettingsPreferenceFragment implements In
        PREF_EMERGENCY_TONE,
    };

    private SwitchPreference mBootSounds;

    private final SettingsObserver mSettingsObserver = new SettingsObserver();

    private Context mContext;
@@ -199,6 +208,9 @@ public class OtherSoundSettings extends SettingsPreferenceFragment implements In
        for (SettingPref pref : PREFS) {
            pref.init(this);
        }

        mBootSounds = (SwitchPreference) findPreference(KEY_BOOT_SOUNDS);
        mBootSounds.setChecked(SystemProperties.getBoolean(PROPERTY_BOOT_SOUNDS, true));
    }

    @Override
@@ -213,6 +225,16 @@ public class OtherSoundSettings extends SettingsPreferenceFragment implements In
        mSettingsObserver.register(false);
    }

    @Override
    public boolean onPreferenceTreeClick(Preference preference) {
        if (preference == mBootSounds) {
            SystemProperties.set(PROPERTY_BOOT_SOUNDS, mBootSounds.isChecked() ? "1" : "0");
            return false;
        } else {
            return super.onPreferenceTreeClick(preference);
        }
    }

    private static boolean hasDockSettings(Context context) {
        return context.getResources().getBoolean(R.bool.has_dock_settings);
    }