blob: 74f1073c3607d140546f4a069cf1f58306334f85 [file] [log] [blame]
/*
* 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;
}
}