summaryrefslogtreecommitdiffstats
path: root/src/com/android/messaging/datamodel/data/MediaPickerData.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/messaging/datamodel/data/MediaPickerData.java')
-rw-r--r--src/com/android/messaging/datamodel/data/MediaPickerData.java32
1 files changed, 27 insertions, 5 deletions
diff --git a/src/com/android/messaging/datamodel/data/MediaPickerData.java b/src/com/android/messaging/datamodel/data/MediaPickerData.java
index b0c8bf7..8de663a 100644
--- a/src/com/android/messaging/datamodel/data/MediaPickerData.java
+++ b/src/com/android/messaging/datamodel/data/MediaPickerData.java
@@ -23,10 +23,12 @@ import android.database.Cursor;
import android.os.Bundle;
import android.support.annotation.Nullable;
+import com.android.messaging.datamodel.AudioBoundCursorLoader;
import com.android.messaging.datamodel.BoundCursorLoader;
import com.android.messaging.datamodel.GalleryBoundCursorLoader;
import com.android.messaging.datamodel.binding.BindableData;
import com.android.messaging.datamodel.binding.BindingBase;
+import com.android.messaging.ui.mediapicker.MediaPicker;
import com.android.messaging.util.Assert;
import com.android.messaging.util.BuglePrefs;
import com.android.messaging.util.BuglePrefsKeys;
@@ -44,7 +46,9 @@ public class MediaPickerData extends BindableData {
private final Context mContext;
private LoaderManager mLoaderManager;
private final GalleryLoaderCallbacks mGalleryLoaderCallbacks;
- private MediaPickerDataListener mListener;
+ private MediaPickerDataListener mImageListener;
+ private MediaPickerDataListener mAudioListener;
+ private static final String TAG = MediaPickerData.class.getSimpleName();
public MediaPickerData(final Context context) {
mContext = context;
@@ -52,6 +56,7 @@ public class MediaPickerData extends BindableData {
}
public static final int GALLERY_IMAGE_LOADER = 1;
+ public static final int GALLERY_AUDIO_LOADER = 2;
/**
* A trampoline class so that we can inherit from LoaderManager.LoaderCallbacks multiple times.
@@ -66,6 +71,9 @@ public class MediaPickerData extends BindableData {
case GALLERY_IMAGE_LOADER:
return new GalleryBoundCursorLoader(bindingId, mContext);
+ case GALLERY_AUDIO_LOADER:
+ return new AudioBoundCursorLoader(bindingId, mContext);
+
default:
Assert.fail("Unknown loader id for gallery picker!");
break;
@@ -85,10 +93,15 @@ public class MediaPickerData extends BindableData {
if (isBound(cursorLoader.getBindingId())) {
switch (loader.getId()) {
case GALLERY_IMAGE_LOADER:
- mListener.onMediaPickerDataUpdated(MediaPickerData.this, data,
+ mImageListener.onMediaPickerDataUpdated(MediaPickerData.this, data,
GALLERY_IMAGE_LOADER);
break;
+ case GALLERY_AUDIO_LOADER:
+ mAudioListener.onMediaPickerDataUpdated(MediaPickerData.this, data,
+ GALLERY_AUDIO_LOADER);
+ break;
+
default:
Assert.fail("Unknown loader id for gallery picker!");
break;
@@ -107,10 +120,15 @@ public class MediaPickerData extends BindableData {
if (isBound(cursorLoader.getBindingId())) {
switch (loader.getId()) {
case GALLERY_IMAGE_LOADER:
- mListener.onMediaPickerDataUpdated(MediaPickerData.this, null,
+ mImageListener.onMediaPickerDataUpdated(MediaPickerData.this, null,
GALLERY_IMAGE_LOADER);
break;
+ case GALLERY_AUDIO_LOADER:
+ mAudioListener.onMediaPickerDataUpdated(MediaPickerData.this, null,
+ GALLERY_AUDIO_LOADER);
+ break;
+
default:
Assert.fail("Unknown loader id for media picker!");
break;
@@ -131,10 +149,13 @@ public class MediaPickerData extends BindableData {
args.putString(BINDING_ID, binding.getBindingId());
if (loaderId == GALLERY_IMAGE_LOADER) {
mLoaderManager.initLoader(loaderId, args, mGalleryLoaderCallbacks).forceLoad();
- } else {
+ mImageListener = listener;
+ } else if (loaderId == GALLERY_AUDIO_LOADER) {
+ mLoaderManager.initLoader(loaderId, args, mGalleryLoaderCallbacks).forceLoad();
+ mAudioListener = listener;
+ }else {
Assert.fail("Unsupported loader id for media picker!");
}
- mListener = listener;
}
public void destroyLoader(final int loaderId) {
@@ -150,6 +171,7 @@ public class MediaPickerData extends BindableData {
// This could be null if we bind but the caller doesn't init the BindableData
if (mLoaderManager != null) {
mLoaderManager.destroyLoader(GALLERY_IMAGE_LOADER);
+ mLoaderManager.destroyLoader(GALLERY_AUDIO_LOADER);
mLoaderManager = null;
}
}