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

Commit 8116e72b authored by David van Tonder's avatar David van Tonder Committed by Gerrit Code Review
Browse files

Merge "Quiet Hours: allow disabling of system sounds (1 of 2)" into cm-10.2

parents dd3cf356 33012458
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -3001,6 +3001,12 @@ public final class Settings {
         */
        public static final String QUIET_HOURS_HAPTIC = "quiet_hours_haptic";

        /**
         * Whether to remove the system sounds during quiet hours.
         * @hide
         */
        public static final String QUIET_HOURS_SYSTEM = "quiet_hours_system";

        /**
         * Whether to remove the vibration from outgoing notifications during quiet hours.
         * @hide
@@ -3383,6 +3389,7 @@ public final class Settings {
            QUIET_HOURS_START,
            QUIET_HOURS_END,
            QUIET_HOURS_MUTE,
            QUIET_HOURS_SYSTEM,
            QUIET_HOURS_STILL,
            QUIET_HOURS_DIM,
            SYSTEM_PROFILES_ENABLED,
+29 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import android.util.Log;
import android.view.KeyEvent;
import android.view.VolumePanel;

import java.util.Calendar;
import java.util.HashMap;

/**
@@ -1771,6 +1772,10 @@ public class AudioManager {
            return;
        }

        if (inQuietHours()) {
            return;
        }

        if (!querySoundEffectsEnabled()) {
            return;
        }
@@ -1814,6 +1819,30 @@ public class AudioManager {
        }
    }

    public boolean inQuietHours() {
        boolean quietHoursEnabled = Settings.System.getInt(mContext.getContentResolver(),
                Settings.System.QUIET_HOURS_ENABLED, 0) != 0;
        int quietHoursStart = Settings.System.getInt(mContext.getContentResolver(),
                Settings.System.QUIET_HOURS_START, 0);
        int quietHoursEnd = Settings.System.getInt(mContext.getContentResolver(),
                Settings.System.QUIET_HOURS_END, 0);
        boolean quietHoursSystem = Settings.System.getInt(mContext.getContentResolver(),
                Settings.System.QUIET_HOURS_SYSTEM, 0) != 0;
        if (quietHoursEnabled && quietHoursSystem && (quietHoursStart != quietHoursEnd)) {
            // Get the date in "quiet hours" format.
            Calendar calendar = Calendar.getInstance();
            int minutes = calendar.get(Calendar.HOUR_OF_DAY) * 60 + calendar.get(Calendar.MINUTE);
            if (quietHoursEnd < quietHoursStart) {
                // Starts at night, ends in the morning.
                return (minutes > quietHoursStart) || (minutes < quietHoursEnd);
            } else {
                return (minutes > quietHoursStart) && (minutes < quietHoursEnd);
            }
        }
        return false;
    }


    /**
     * Settings has an in memory cache, so this is fast.
     */
+28 −0
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ import android.view.WindowManagerPolicy;
import com.android.internal.telephony.IccCardConstants;
import com.android.internal.widget.LockPatternUtils;

import java.util.Calendar;

/**
 * Mediates requests related to the keyguard.  This includes queries about the
@@ -1258,6 +1259,10 @@ public class KeyguardViewMediator {
            return;
        }

        if (inQuietHours()) {
            return;
        }

        final ContentResolver cr = mContext.getContentResolver();
        if (Settings.System.getInt(cr, Settings.System.LOCKSCREEN_SOUNDS_ENABLED, 1) == 1) {
            final int whichSound = locked
@@ -1286,6 +1291,29 @@ public class KeyguardViewMediator {
        }
    }

    public boolean inQuietHours() {
        boolean quietHoursEnabled = Settings.System.getInt(mContext.getContentResolver(),
                Settings.System.QUIET_HOURS_ENABLED, 0) != 0;
        int quietHoursStart = Settings.System.getInt(mContext.getContentResolver(),
                Settings.System.QUIET_HOURS_START, 0);
        int quietHoursEnd = Settings.System.getInt(mContext.getContentResolver(),
                Settings.System.QUIET_HOURS_END, 0);
        boolean quietHoursSystem = Settings.System.getInt(mContext.getContentResolver(),
                Settings.System.QUIET_HOURS_SYSTEM, 0) != 0;
        if (quietHoursEnabled && quietHoursSystem && (quietHoursStart != quietHoursEnd)) {
            // Get the date in "quiet hours" format.
            Calendar calendar = Calendar.getInstance();
            int minutes = calendar.get(Calendar.HOUR_OF_DAY) * 60 + calendar.get(Calendar.MINUTE);
            if (quietHoursEnd < quietHoursStart) {
                // Starts at night, ends in the morning.
                return (minutes > quietHoursStart) || (minutes < quietHoursEnd);
            } else {
                return (minutes > quietHoursStart) && (minutes < quietHoursEnd);
            }
        }
        return false;
    }

    /**
     * Handle message sent by {@link #showLocked}.
     * @see #SHOW