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

Commit b0e7c48c authored by Alexey Kuzmin's avatar Alexey Kuzmin Committed by Android (Google) Code Review
Browse files

Merge "Split ring and notification vibration settings"

parents 79c9232c ccdaebb5
Loading
Loading
Loading
Loading
+20 −7
Original line number Diff line number Diff line
@@ -74,10 +74,13 @@ public abstract class Vibrator {
    private final String mPackageName;
    // The default vibration intensity level for haptic feedback.
    @VibrationIntensity
    private final int mDefaultHapticFeedbackIntensity;
    private int mDefaultHapticFeedbackIntensity;
    // The default vibration intensity level for notifications.
    @VibrationIntensity
    private final int mDefaultNotificationVibrationIntensity;
    private int mDefaultNotificationVibrationIntensity;
    // The default vibration intensity level for ringtones.
    @VibrationIntensity
    private int mDefaultRingVibrationIntensity;

    /**
     * @hide to prevent subclassing from outside of the framework
@@ -85,10 +88,7 @@ public abstract class Vibrator {
    public Vibrator() {
        mPackageName = ActivityThread.currentPackageName();
        final Context ctx = ActivityThread.currentActivityThread().getSystemContext();
        mDefaultHapticFeedbackIntensity = loadDefaultIntensity(ctx,
                com.android.internal.R.integer.config_defaultHapticFeedbackIntensity);
        mDefaultNotificationVibrationIntensity = loadDefaultIntensity(ctx,
                com.android.internal.R.integer.config_defaultNotificationVibrationIntensity);
        loadVibrationIntensities(ctx);
    }

    /**
@@ -96,10 +96,16 @@ public abstract class Vibrator {
     */
    protected Vibrator(Context context) {
        mPackageName = context.getOpPackageName();
        loadVibrationIntensities(context);
    }

    private void loadVibrationIntensities(Context context) {
        mDefaultHapticFeedbackIntensity = loadDefaultIntensity(context,
                com.android.internal.R.integer.config_defaultHapticFeedbackIntensity);
        mDefaultNotificationVibrationIntensity = loadDefaultIntensity(context,
                com.android.internal.R.integer.config_defaultNotificationVibrationIntensity);
        mDefaultRingVibrationIntensity = loadDefaultIntensity(context,
                com.android.internal.R.integer.config_defaultRingVibrationIntensity);
    }

    private int loadDefaultIntensity(Context ctx, int resId) {
@@ -115,13 +121,20 @@ public abstract class Vibrator {
    }

    /**
     * Get the default vibration intensity for notifications and ringtones.
     * Get the default vibration intensity for notifications.
     * @hide
     */
    public int getDefaultNotificationVibrationIntensity() {
        return mDefaultNotificationVibrationIntensity;
    }

    /** Get the default vibration intensity for ringtones.
     * @hide
     */
    public int getDefaultRingVibrationIntensity() {
        return mDefaultRingVibrationIntensity;
    }

    /**
     * Check whether the hardware has a vibrator.
     *
+18 −0
Original line number Diff line number Diff line
@@ -3377,6 +3377,22 @@ public final class Settings {
         */
        public static final String NOTIFICATION_VIBRATION_INTENSITY =
                "notification_vibration_intensity";
        /**
         * The intensity of ringtone vibrations, if configurable.
         *
         * Not all devices are capable of changing their vibration intensity; on these devices
         * there will likely be no difference between the various vibration intensities except for
         * intensity 0 (off) and the rest.
         *
         * <b>Values:</b><br/>
         * 0 - Vibration is disabled<br/>
         * 1 - Weak vibrations<br/>
         * 2 - Medium vibrations<br/>
         * 3 - Strong vibrations
         * @hide
         */
        public static final String RING_VIBRATION_INTENSITY =
                "ring_vibration_intensity";
        /**
         * The intensity of haptic feedback vibrations, if configurable.
@@ -4246,6 +4262,7 @@ public final class Settings {
            ACCELEROMETER_ROTATION,
            SHOW_BATTERY_PERCENT,
            NOTIFICATION_VIBRATION_INTENSITY,
            RING_VIBRATION_INTENSITY,
            HAPTIC_FEEDBACK_INTENSITY,
            DISPLAY_COLOR_MODE,
            ALARM_ALERT,
@@ -4397,6 +4414,7 @@ public final class Settings {
            VALIDATORS.put(MUTE_STREAMS_AFFECTED, MUTE_STREAMS_AFFECTED_VALIDATOR);
            VALIDATORS.put(VIBRATE_ON, VIBRATE_ON_VALIDATOR);
            VALIDATORS.put(NOTIFICATION_VIBRATION_INTENSITY, VIBRATION_INTENSITY_VALIDATOR);
            VALIDATORS.put(RING_VIBRATION_INTENSITY, VIBRATION_INTENSITY_VALIDATOR);
            VALIDATORS.put(HAPTIC_FEEDBACK_INTENSITY, VIBRATION_INTENSITY_VALIDATOR);
            VALIDATORS.put(RINGTONE, RINGTONE_VALIDATOR);
            VALIDATORS.put(NOTIFICATION_SOUND, NOTIFICATION_SOUND_VALIDATOR);
+4 −0
Original line number Diff line number Diff line
@@ -1152,6 +1152,10 @@
         Settings.System.NOTIFICATION_VIBRATION_INTENSITY more details on the constant values and
         meanings. -->
    <integer name="config_defaultNotificationVibrationIntensity">2</integer>
    <!-- The default intensity level for ring vibrations. See
         Settings.System.RING_VIBRATION_INTENSITY more details on the constant values and
         meanings. -->
    <integer name="config_defaultRingVibrationIntensity">2</integer>

    <bool name="config_use_strict_phone_number_comparation">false</bool>

+1 −0
Original line number Diff line number Diff line
@@ -3489,6 +3489,7 @@

  <java-symbol type="integer" name="config_defaultHapticFeedbackIntensity" />
  <java-symbol type="integer" name="config_defaultNotificationVibrationIntensity" />
  <java-symbol type="integer" name="config_defaultRingVibrationIntensity" />

  <java-symbol type="bool" name="config_maskMainBuiltInDisplayCutout" />

+6 −1
Original line number Diff line number Diff line
@@ -5325,7 +5325,7 @@ message MetricsEvent {
    // OS: P
    ACCESSIBILITY_VIBRATION = 1292;

    // OPEN: Settings > Accessibility > Vibration > Ring & notification vibration
    // OPEN: Settings > Accessibility > Vibration > Notification vibration
    // CATEGORY: SETTINGS
    // OS: P
    ACCESSIBILITY_VIBRATION_NOTIFICATION = 1293;
@@ -6763,6 +6763,11 @@ message MetricsEvent {
    // OS: Q
    ACTION_TEXT_CLASSIFIER_ACTIONS_GENERATED = 1619;

    // OPEN: Settings > Accessibility > Vibration > Ring vibration
    // CATEGORY: SETTINGS
    // OS: Q
    ACCESSIBILITY_VIBRATION_RING = 1620;

    // ---- End Q Constants, all Q constants go above this line ----

    // Add new aosp constants above this line.
Loading