18ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde/*
28ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde * Copyright (C) 2015 The Android Open Source Project
38ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde *
48ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde * Licensed under the Apache License, Version 2.0 (the "License");
58ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde * you may not use this file except in compliance with the License.
68ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde * You may obtain a copy of the License at
78ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde *
88ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde *      http://www.apache.org/licenses/LICENSE-2.0
98ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde *
108ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde * Unless required by applicable law or agreed to in writing, software
118ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde * distributed under the License is distributed on an "AS IS" BASIS,
128ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
138ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde * See the License for the specific language governing permissions and
148ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde * limitations under the License.
158ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde */
168ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
178ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohdepackage com.android.camera.data;
188ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
198ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde/**
208ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde * Settable metadata class that is deferred loaded in other ways that
218ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde * may be slow or non-standard.
228ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde *
238ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde * TODO: Replace this with implementation specific values and code.
248ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde */
258ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohdepublic class Metadata {
268ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    // TODO: Consider replacing these with orientation manager values
278ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    // (Or having a central place to deal with the standard rotations)
288ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    private static final String ROTATE_90 = "90";
298ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    private static final String ROTATE_270 = "270";
308ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
318ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    private boolean mIsLoaded = false;
328ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
338ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    private String mVideoOrientation = "";
348ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    private int mVideoWidth = -1;
358ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    private int mVideoHeight = -1;
368ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
378ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    private boolean mIsPanorama = false;
388ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    private boolean mIsPanorama360 = false;
398ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    private boolean mUsePanoramaViewer = false;
408ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
418ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    private boolean mHasRgbzData = false;
428ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
438ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public boolean isLoaded() {
448ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        return mIsLoaded;
458ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
468ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
478ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public void setLoaded(boolean isLoaded) {
488ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        mIsLoaded = isLoaded;
498ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
508ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
518ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public String getVideoOrientation() {
528ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        return mVideoOrientation;
538ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
548ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
558ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public void setVideoOrientation(String videoOrientation) {
568ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        mVideoOrientation = videoOrientation;
578ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
588ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
598ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public boolean isVideoRotated() {
608ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        return ROTATE_90.equals(mVideoOrientation) || ROTATE_270.equals(mVideoOrientation);
618ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
628ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
638ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public int getVideoWidth() {
648ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        return mVideoWidth;
658ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
668ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
678ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public void setVideoWidth(int videoWidth) {
688ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        mVideoWidth = videoWidth;
698ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
708ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
718ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public int getVideoHeight() {
728ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        return mVideoHeight;
738ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
748ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
758ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public void setVideoHeight(int videoHeight) {
768ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        mVideoHeight = videoHeight;
778ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
788ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
798ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public boolean isPanorama() {
808ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        return mIsPanorama;
818ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
828ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
838ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public void setPanorama(boolean isPanorama) {
848ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        mIsPanorama = isPanorama;
858ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
868ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
878ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public boolean isPanorama360() {
888ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        return mIsPanorama360;
898ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
908ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
918ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public void setPanorama360(boolean isPanorama360) {
928ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        mIsPanorama360 = isPanorama360;
938ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
948ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
958ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public boolean isUsePanoramaViewer() {
968ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        return mUsePanoramaViewer;
978ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
988ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
998ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public void setUsePanoramaViewer(boolean usePanoramaViewer) {
1008ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        mUsePanoramaViewer = usePanoramaViewer;
1018ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
1028ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
1038ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public boolean isHasRgbzData() {
1048ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        return mHasRgbzData;
1058ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
1068ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde
1078ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    public void setHasRgbzData(boolean hasRgbzData) {
1088ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde        mHasRgbzData = hasRgbzData;
1098ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde    }
1108ee16b8a323ffa20e6fb1270d498ec445f64defcPaul Rohde}