blob: 4dc88bff8af0a3571330aaf731a890466b1ab119 [file] [log] [blame]
package com.android.gallery3d.data;
import android.content.ContentResolver;
import android.content.Context;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Process;
import com.android.gallery3d.ui.Util;
public class MediaDbAccessor {
private static final String TAG = "MediaDbAccessor";
private static MediaDbAccessor sInstance;
private final HandlerThread mThread =
new HandlerThread(TAG, Process.THREAD_PRIORITY_BACKGROUND);
private final RootMediaSet mRootMediaSet;
private final Context mContext;
private final Looper mMainLooper;
private final Object mUiMonitor;
public MediaDbAccessor(Context context, Object uiMonitor) {
mThread.start();
mMainLooper = Looper.getMainLooper();
mContext = context;
mUiMonitor = Util.checkNotNull(uiMonitor);
mRootMediaSet = new RootMediaSet(this);
}
public static void initialize(Context context, Object uiMonitor) {
sInstance = new MediaDbAccessor(context, uiMonitor);
}
public static MediaDbAccessor getInstance() {
if (sInstance == null) throw new IllegalStateException();
return sInstance;
}
public MediaSet getRootMediaSets() {
return mRootMediaSet;
}
public ContentResolver getContentResolver() {
return mContext.getContentResolver();
}
public Looper getLooper() {
return mThread.getLooper();
}
public Looper getMainLooper() {
return mMainLooper;
}
public Object getUiMonitor() {
return mUiMonitor;
}
}