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

Commit 3156bb00 authored by Patrick Scott's avatar Patrick Scott Committed by The Android Open Source Project
Browse files

AI 145870: Add a build property for the default alarm alert. Update the various

  framework classes to deal with the new property. Also update various
  documentation that mentions the default ringtones.
  Use the build property as the default alert when the user has not chosen
  an alert for an alarm. This is also used if the alarm alert is null when
  the alarm fires.
  BUG=1723684

Automated import of CL 145870
parent 9ae010a3
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -95141,6 +95141,17 @@
 visibility="public"
>
</field>
<field name="ALARM_ALERT"
 type="java.lang.String"
 transient="false"
 volatile="false"
 value="&quot;alarm_alert&quot;"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="ALWAYS_FINISH_ACTIVITIES"
 type="java.lang.String"
 transient="false"
@@ -95261,6 +95272,16 @@
 visibility="public"
>
</field>
<field name="DEFAULT_ALARM_ALERT_URI"
 type="android.net.Uri"
 transient="false"
 volatile="false"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="DEFAULT_NOTIFICATION_URI"
 type="android.net.Uri"
 transient="false"
+3 −2
Original line number Diff line number Diff line
@@ -31,8 +31,9 @@ import android.util.Log;
 * The chosen ringtone's URI will be persisted as a string.
 * <p>
 * If the user chooses the "Default" item, the saved string will be one of
 * {@link System#DEFAULT_RINGTONE_URI} or
 * {@link System#DEFAULT_NOTIFICATION_URI}. If the user chooses the "Silent"
 * {@link System#DEFAULT_RINGTONE_URI},
 * {@link System#DEFAULT_NOTIFICATION_URI}, or
 * {@link System#DEFAULT_ALARM_ALERT_URI}. If the user chooses the "Silent"
 * item, the saved string will be an empty string.
 * 
 * @attr ref android.R.styleable#RingtonePreference_ringtoneType
+11 −4
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.database.ContentObserver;
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.media.AudioManager;
import android.net.Uri;
import android.os.Handler;
import android.preference.PreferenceManager;
import android.provider.Settings;
@@ -147,10 +148,16 @@ public class VolumePreference extends SeekBarPreference implements
                    System.getUriFor(System.VOLUME_SETTINGS[mStreamType]),
                    false, mVolumeObserver);
    
            mRingtone = RingtoneManager.getRingtone(mContext,
                    mStreamType == AudioManager.STREAM_NOTIFICATION
                            ? Settings.System.DEFAULT_NOTIFICATION_URI
                            : Settings.System.DEFAULT_RINGTONE_URI);
            Uri defaultUri = null;
            if (mStreamType == AudioManager.STREAM_RING) {
                defaultUri = Settings.System.DEFAULT_RINGTONE_URI;
            } else if (mStreamType == AudioManager.STREAM_NOTIFICATION) {
                defaultUri = Settings.System.DEFAULT_NOTIFICATION_URI;
            } else {
                defaultUri = Settings.System.DEFAULT_ALARM_ALERT_URI;
            }

            mRingtone = RingtoneManager.getRingtone(mContext, defaultUri);
            mRingtone.setStreamType(mStreamType);
        }
        
+16 −0
Original line number Diff line number Diff line
@@ -1181,6 +1181,22 @@ public final class Settings {
         */
        public static final Uri DEFAULT_NOTIFICATION_URI = getUriFor(NOTIFICATION_SOUND);

        /**
         * Persistent store for the system-wide default alarm alert.
         *
         * @see #RINGTONE
         * @see #DEFAULT_ALARM_ALERT_URI
         */
        public static final String ALARM_ALERT = "alarm_alert";

        /**
         * A {@link Uri} that will point to the current default alarm alert at
         * any given time.
         *
         * @see #DEFAULT_ALARM_ALERT_URI
         */
        public static final Uri DEFAULT_ALARM_ALERT_URI = getUriFor(ALARM_ALERT);

        /**
         * Setting to enable Auto Replace (AutoText) in text editors. 1 = On, 0 = Off
         */
+12 −0
Original line number Diff line number Diff line
@@ -269,10 +269,14 @@ public class MediaScanner
    private boolean mDefaultRingtoneSet;
    /** Whether the scanner has set a default sound for the notification ringtone. */
    private boolean mDefaultNotificationSet;
    /** Whether the scanner has set a default sound for the alarm ringtone. */
    private boolean mDefaultAlarmSet;
    /** The filename for the default sound for the ringer ringtone. */
    private String mDefaultRingtoneFilename;
    /** The filename for the default sound for the notification ringtone. */
    private String mDefaultNotificationFilename;
    /** The filename for the default sound for the alarm ringtone. */
    private String mDefaultAlarmAlertFilename;
    /**
     * The prefix for system properties that define the default sound for
     * ringtones. Concatenate the name of the setting from Settings
@@ -331,6 +335,8 @@ public class MediaScanner
                + Settings.System.RINGTONE);
        mDefaultNotificationFilename = SystemProperties.get(DEFAULT_RINGTONE_PROPERTY_PREFIX
                + Settings.System.NOTIFICATION_SOUND);
        mDefaultAlarmAlertFilename = SystemProperties.get(DEFAULT_RINGTONE_PROPERTY_PREFIX
                + Settings.System.ALARM_ALERT);
    }
    
    private MyMediaScannerClient mClient = new MyMediaScannerClient();
@@ -709,6 +715,12 @@ public class MediaScanner
                    setSettingIfNotSet(Settings.System.RINGTONE, tableUri, rowId);
                    mDefaultRingtoneSet = true;
                }
            } else if (alarms && !mDefaultAlarmSet) {
                if (TextUtils.isEmpty(mDefaultAlarmAlertFilename) ||
                        doesPathHaveFilename(entry.mPath, mDefaultAlarmAlertFilename)) {
                    setSettingIfNotSet(Settings.System.ALARM_ALERT, tableUri, rowId);
                    mDefaultAlarmSet = true;
                }
            }
            
            return result;
Loading