/* * Copyright (C) 2013 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.camera.data; import android.content.Context; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; import android.view.View; import com.android.camera.debug.Log; import com.android.camera.filmstrip.ImageData; import java.util.UUID; /** * A LocalData that does nothing but only shows a view. */ public class SimpleViewData implements LocalData { private static final Log.Tag TAG = new Log.Tag("SimpleViewData"); private static final String SIMPLE_VIEW_URI_SCHEME = "simple_view_data"; private final int mWidth; private final int mHeight; private final View mView; private final long mDateTaken; private final long mDateModified; private final Bundle mMetaData; private final Uri mUri; private final LocalDataViewType mItemViewType; public SimpleViewData( View v, LocalDataViewType viewType, int width, int height, int dateTaken, int dateModified) { mView = v; mItemViewType = viewType; mWidth = width; mHeight = height; mDateTaken = dateTaken; mDateModified = dateModified; mMetaData = new Bundle(); Uri.Builder builder = new Uri.Builder(); String uuid = UUID.randomUUID().toString(); builder.scheme(SIMPLE_VIEW_URI_SCHEME).appendPath(uuid); mUri = builder.build(); } @Override public long getDateTaken() { return mDateTaken; } @Override public long getDateModified() { return mDateModified; } @Override public String getTitle() { return ""; } @Override public int getWidth() { return mWidth; } @Override public int getHeight() { return mHeight; } @Override public int getRotation() { return 0; } @Override public int getViewType() { return ImageData.VIEW_TYPE_REMOVABLE; } @Override public LocalDataViewType getItemViewType() { return mItemViewType; } @Override public String getPath() { return ""; } @Override public Uri getUri() { return mUri; } @Override public int getLocalDataType() { return LOCAL_VIEW; } @Override public LocalData refresh(Context context) { return this; } @Override public boolean isUIActionSupported(int action) { return false; } @Override public boolean isDataActionSupported(int action) { return false; } @Override public boolean delete(Context c) { return false; } @Override public View getView(Context context, View recycled, int width, int height, int placeHolderResourceId, LocalDataAdapter adapter, boolean isInProgressSession) { return mView; } @Override public void loadFullImage(Context context, int w, int h, View view, LocalDataAdapter adapter) { // do nothing. } @Override public void prepare() { // do nothing. } @Override public void recycle(View view) { // Do nothing. } @Override public void onFullScreen(boolean fullScreen) { // do nothing. } @Override public boolean canSwipeInFullScreen() { return true; } @Override public MediaDetails getMediaDetails(Context context) { return null; } @Override public double[] getLatLong() { return null; } @Override public String getMimeType() { return null; } @Override public long getSizeInBytes() { return 0; } @Override public long getContentId() { return -1; } @Override public Bundle getMetadata() { return mMetaData; } @Override public String getSignature() { return ""; } @Override public boolean isMetadataUpdated() { return true; } }