| /* |
| * Copyright (C) 2012 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.app; |
| |
| import android.graphics.Rect; |
| import android.os.Parcel; |
| import android.os.Parcelable; |
| |
| import com.android.gallery3d.ui.ScreenNail; |
| |
| // This is the bridge to connect a PhotoPage to the external environment. |
| public abstract class AppBridge implements Parcelable { |
| @Override |
| public int describeContents() { |
| return 0; |
| } |
| |
| @Override |
| public void writeToParcel(Parcel dest, int flags) { |
| } |
| |
| ////////////////////////////////////////////////////////////////////////// |
| // These are requests sent from PhotoPage to the app |
| ////////////////////////////////////////////////////////////////////////// |
| |
| public abstract boolean isPanorama(); |
| public abstract boolean isStaticCamera(); |
| public abstract ScreenNail attachScreenNail(); |
| public abstract void detachScreenNail(); |
| |
| // Return true if the tap is consumed. |
| public abstract boolean onSingleTapUp(int x, int y); |
| |
| // This is used to notify that the screen nail will be drawn in full screen |
| // or not in next draw() call. |
| public abstract void onFullScreenChanged(boolean full); |
| |
| ////////////////////////////////////////////////////////////////////////// |
| // These are requests send from app to PhotoPage |
| ////////////////////////////////////////////////////////////////////////// |
| |
| public interface Server { |
| // Set the camera frame relative to GLRootView. |
| public void setCameraRelativeFrame(Rect frame); |
| // Switch to the previous or next picture using the capture animation. |
| // The offset is -1 to switch to the previous picture, 1 to switch to |
| // the next picture. |
| public boolean switchWithCaptureAnimation(int offset); |
| // Enable or disable the swiping gestures (the default is enabled). |
| public void setSwipingEnabled(boolean enabled); |
| // Notify that the ScreenNail is changed. |
| public void notifyScreenNailChanged(); |
| // Add a new media item to the secure album. |
| public void addSecureAlbumItem(boolean isVideo, int id); |
| } |
| |
| // If server is null, the services are not available. |
| public abstract void setServer(Server server); |
| } |