diff options
author | Raj Yengisetty <raj@cyngn.com> | 2015-01-19 18:41:13 +0800 |
---|---|---|
committer | Raj Yengisetty <raj@cyngn.com> | 2015-01-19 18:41:13 +0800 |
commit | 0f8b4f3831f924b154fa9f3987da4d42a342f561 (patch) | |
tree | dcc56248dc9acb50f28cb5232b36235191acb51e | |
parent | 94925a559d7ea9531657ef6a6207da0a3de85333 (diff) | |
download | android_packages_apps_DeskClock-0f8b4f3831f924b154fa9f3987da4d42a342f561.tar.gz android_packages_apps_DeskClock-0f8b4f3831f924b154fa9f3987da4d42a342f561.tar.bz2 android_packages_apps_DeskClock-0f8b4f3831f924b154fa9f3987da4d42a342f561.zip |
DeskClock: Fix behavior when setting external media file for alarm tone
Repro:
1) Set an alarm
2) Click on sound
3) Select Ringtone then select Music and press OK
4) In DocumentsUI picker, go to overflow menu and select "Show internal storage"
5) Open drawer and select Internal storage
6) Navigate to and select a music file e.g. "/Downloads/test.mp3"
Observe that when the alarm rings, the music file selected isn't played, instead
alarm falls back to fallback ringtone
Change-Id: I6bf19c0e94fc5fe6415de9c291aa938f6043e380
-rw-r--r-- | src/com/android/deskclock/AlarmClockFragment.java | 3 | ||||
-rw-r--r-- | src/com/android/deskclock/AlarmMultiPlayer.java | 3 | ||||
-rwxr-xr-x | src/com/android/deskclock/Utils.java | 5 |
3 files changed, 9 insertions, 2 deletions
diff --git a/src/com/android/deskclock/AlarmClockFragment.java b/src/com/android/deskclock/AlarmClockFragment.java index 42a78e114..fb4009871 100644 --- a/src/com/android/deskclock/AlarmClockFragment.java +++ b/src/com/android/deskclock/AlarmClockFragment.java @@ -1433,7 +1433,8 @@ public class AlarmClockFragment extends DeskClockFragment implements } else { if (Utils.isRingToneUriValid(mContext, uri)) { if (uri.getAuthority().equals(Utils.DOC_AUTHORITY) - || uri.getAuthority().equals(Utils.DOC_DOWNLOAD)) { + || uri.getAuthority().equals(Utils.DOC_DOWNLOAD) + || uri.getAuthority().equals(Utils.DOC_EXTERNAL)) { title = getDisplayNameFromDatabase(mContext,uri); } else if (uri.isPathPrefixMatch(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI)) { Cursor c = getActivity().getContentResolver().query(uri, new String[] {MediaStore.Audio.Playlists.NAME}, null, null, null); diff --git a/src/com/android/deskclock/AlarmMultiPlayer.java b/src/com/android/deskclock/AlarmMultiPlayer.java index 940184b1b..f9ed41934 100644 --- a/src/com/android/deskclock/AlarmMultiPlayer.java +++ b/src/com/android/deskclock/AlarmMultiPlayer.java @@ -270,7 +270,8 @@ public class AlarmMultiPlayer implements MediaPlayer.OnCompletionListener { mRandom = true; return; } else if (uri.getAuthority().equals(Utils.DOC_DOWNLOAD) - || uri.getAuthority().equals(Utils.DOC_AUTHORITY)) { + || uri.getAuthority().equals(Utils.DOC_AUTHORITY) + || uri.getAuthority().equals(Utils.DOC_EXTERNAL)) { mUriTrack = uri; mSingle = true; return; diff --git a/src/com/android/deskclock/Utils.java b/src/com/android/deskclock/Utils.java index 5e4d48b9e..842475dbc 100755 --- a/src/com/android/deskclock/Utils.java +++ b/src/com/android/deskclock/Utils.java @@ -38,6 +38,7 @@ import android.os.Build; import android.os.Handler; import android.os.SystemClock; import android.preference.PreferenceManager; +import android.provider.DocumentsContract.Document; import android.provider.MediaStore; import android.text.Spannable; import android.text.SpannableString; @@ -97,6 +98,7 @@ public class Utils { /** Content provider paths that could be passed back from documents ui **/ public static final String DOC_AUTHORITY = "com.android.providers.media.documents"; public static final String DOC_DOWNLOAD = "com.android.providers.downloads.documents"; + public static final String DOC_EXTERNAL = "com.android.externalstorage.documents"; /** Types that may be used for clock displays. **/ public static final String CLOCK_TYPE_DIGITAL = "digital"; @@ -670,6 +672,9 @@ public class Utils { if (uri.isPathPrefixMatch(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI)) { return MediaStore.Audio.Playlists.NAME; } + if (DOC_EXTERNAL.equals(uri.getAuthority())) { + return Document.COLUMN_DISPLAY_NAME; + } return MediaStore.Audio.Media.TITLE; } |