package au.com.museumvictoria.fieldguide.bunurong.provider;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.res.AssetFileDescriptor;
import android.content.res.AssetManager;
import android.database.Cursor;
import android.net.Uri;
import android.os.ParcelFileDescriptor;
import android.util.Log;
import au.com.museumvictoria.fieldguide.bunurong.util.Utilities;
public class AssetsProvider extends ContentProvider {
private AssetManager assetManager;
public static final Uri CONTENT_URI = Uri.parse("content://au.com.museumvictoria.fieldguide.bunurong.FieldGuideAssestsProvider");
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getType(Uri uri) {
// TODO Auto-generated method stub
return null;
}
@Override
public Uri insert(Uri uri, ContentValues values) {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean onCreate() {
assetManager = getContext().getAssets();
return true;
}
@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
// TODO Auto-generated method stub
return null;
}
@Override
public int update(Uri uri, ContentValues values, String selection,
String[] selectionArgs) {
// TODO Auto-generated method stub
return 0;
}
@Override
public ParcelFileDescriptor openFile(Uri uri, String mode)
throws FileNotFoundException {
String path = Utilities.SPECIES_IMAGES_THUMBNAILS_PATH + uri.getPath().substring(1);
path = Utilities.getFullExternalDataPath(getContext(), path);
try {
Log.d("AssetProvider", "ParcelFileDescriptor icon path: " + path);
File iconfile = new File(path);
return ParcelFileDescriptor.open(iconfile, ParcelFileDescriptor.MODE_READ_ONLY);
} catch (IOException e) {
throw new FileNotFoundException("No asset found: " + uri);
}
}
// @Override
// public AssetFileDescriptor openAssetFile(Uri uri, String mode)
// throws FileNotFoundException {
//
// String path = "data/images/species/thumbnails/" + uri.getPath().substring(1);
// path = Utilities.getFullExternalDataPath(getContext(), path);
//
// try {
// Log.d("AssetProvider", "icon path: " + path);
// AssetFileDescriptor afd = assetManager.openNonAssetFd(path);
// //AssetFileDescriptor afd = Utilities.getAssetsFileDescriptor(getContext(), path);
// return afd;
// } catch (IOException e) {
// throw new FileNotFoundException("No asset found: " + uri);
// }
// }
}