summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/data/MtpImage.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/data/MtpImage.java')
-rw-r--r--src/com/android/gallery3d/data/MtpImage.java171
1 files changed, 0 insertions, 171 deletions
diff --git a/src/com/android/gallery3d/data/MtpImage.java b/src/com/android/gallery3d/data/MtpImage.java
deleted file mode 100644
index 0abb1985d..000000000
--- a/src/com/android/gallery3d/data/MtpImage.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.gallery3d.data;
-
-import android.annotation.TargetApi;
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.BitmapRegionDecoder;
-import android.hardware.usb.UsbDevice;
-import android.mtp.MtpObjectInfo;
-import android.net.Uri;
-import android.util.Log;
-
-import com.android.gallery3d.app.GalleryApp;
-import com.android.gallery3d.common.ApiHelper;
-import com.android.gallery3d.provider.GalleryProvider;
-import com.android.gallery3d.util.ThreadPool.Job;
-import com.android.gallery3d.util.ThreadPool.JobContext;
-
-import java.text.DateFormat;
-import java.util.Date;
-
-@TargetApi(ApiHelper.VERSION_CODES.HONEYCOMB_MR1)
-public class MtpImage extends MediaItem {
- private static final String TAG = "MtpImage";
-
- private final int mDeviceId;
- private int mObjectId;
- private int mObjectSize;
- private long mDateTaken;
- private String mFileName;
- private final MtpContext mMtpContext;
- private final MtpObjectInfo mObjInfo;
- private final int mImageWidth;
- private final int mImageHeight;
- private final Context mContext;
-
- MtpImage(Path path, GalleryApp application, int deviceId,
- MtpObjectInfo objInfo, MtpContext mtpContext) {
- super(path, nextVersionNumber());
- mContext = application.getAndroidContext();
- mDeviceId = deviceId;
- mObjInfo = objInfo;
- mObjectId = objInfo.getObjectHandle();
- mObjectSize = objInfo.getCompressedSize();
- mDateTaken = objInfo.getDateCreated();
- mFileName = objInfo.getName();
- mImageWidth = objInfo.getImagePixWidth();
- mImageHeight = objInfo.getImagePixHeight();
- mMtpContext = mtpContext;
- }
-
- MtpImage(Path path, GalleryApp app, int deviceId, int objectId, MtpContext mtpContext) {
- this(path, app, deviceId, MtpDevice.getObjectInfo(mtpContext, deviceId, objectId),
- mtpContext);
- }
-
- @Override
- public long getDateInMs() {
- return mDateTaken;
- }
-
- @Override
- public Job<Bitmap> requestImage(int type) {
- return new Job<Bitmap>() {
- @Override
- public Bitmap run(JobContext jc) {
- byte[] thumbnail = mMtpContext.getMtpClient().getThumbnail(
- UsbDevice.getDeviceName(mDeviceId), mObjectId);
- if (thumbnail == null) {
- Log.w(TAG, "decoding thumbnail failed");
- return null;
- }
- return DecodeUtils.decode(jc, thumbnail, null);
- }
- };
- }
-
- @Override
- public Job<BitmapRegionDecoder> requestLargeImage() {
- return new Job<BitmapRegionDecoder>() {
- @Override
- public BitmapRegionDecoder run(JobContext jc) {
- byte[] bytes = mMtpContext.getMtpClient().getObject(
- UsbDevice.getDeviceName(mDeviceId), mObjectId, mObjectSize);
- return DecodeUtils.createBitmapRegionDecoder(
- jc, bytes, 0, bytes.length, false);
- }
- };
- }
-
- public byte[] getImageData() {
- return mMtpContext.getMtpClient().getObject(
- UsbDevice.getDeviceName(mDeviceId), mObjectId, mObjectSize);
- }
-
- @Override
- public boolean Import() {
- return mMtpContext.copyFile(UsbDevice.getDeviceName(mDeviceId), mObjInfo);
- }
-
- @Override
- public int getSupportedOperations() {
- return SUPPORT_FULL_IMAGE | SUPPORT_IMPORT;
- }
-
- public void updateContent(MtpObjectInfo info) {
- if (mObjectId != info.getObjectHandle() || mDateTaken != info.getDateCreated()) {
- mObjectId = info.getObjectHandle();
- mDateTaken = info.getDateCreated();
- mDataVersion = nextVersionNumber();
- }
- }
-
- @Override
- public String getMimeType() {
- // Currently only JPEG is supported in MTP.
- return "image/jpeg";
- }
-
- @Override
- public int getMediaType() {
- return MEDIA_TYPE_IMAGE;
- }
-
- @Override
- public long getSize() {
- return mObjectSize;
- }
-
- @Override
- public Uri getContentUri() {
- return GalleryProvider.getUriFor(mContext, mPath);
- }
-
- @Override
- public MediaDetails getDetails() {
- MediaDetails details = super.getDetails();
- DateFormat formater = DateFormat.getDateTimeInstance();
- details.addDetail(MediaDetails.INDEX_TITLE, mFileName);
- details.addDetail(MediaDetails.INDEX_DATETIME, formater.format(new Date(mDateTaken)));
- details.addDetail(MediaDetails.INDEX_WIDTH, mImageWidth);
- details.addDetail(MediaDetails.INDEX_HEIGHT, mImageHeight);
- details.addDetail(MediaDetails.INDEX_SIZE, Long.valueOf(mObjectSize));
- return details;
- }
-
- @Override
- public int getWidth() {
- return mImageWidth;
- }
-
- @Override
- public int getHeight() {
- return mImageHeight;
- }
-}