summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaj Yengisetty <raj@cyngn.com>2015-01-19 18:41:13 +0800
committerRaj Yengisetty <raj@cyngn.com>2015-01-19 18:41:13 +0800
commit0f8b4f3831f924b154fa9f3987da4d42a342f561 (patch)
treedcc56248dc9acb50f28cb5232b36235191acb51e
parent94925a559d7ea9531657ef6a6207da0a3de85333 (diff)
downloadandroid_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.java3
-rw-r--r--src/com/android/deskclock/AlarmMultiPlayer.java3
-rwxr-xr-xsrc/com/android/deskclock/Utils.java5
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;
}