blob: 0d2d8d352bcccb4f6c2ff5c4fc7d7eba77dd32b7 [file] [log] [blame]
package com.android.ex.photo;
import android.database.Cursor;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.loader.content.Loader;
import com.android.ex.photo.adapters.PhotoPagerAdapter;
import com.android.ex.photo.fragments.PhotoViewFragment;
import com.android.ex.photo.loaders.PhotoBitmapLoaderInterface.BitmapResult;
public interface PhotoViewCallbacks {
public static final int BITMAP_LOADER_AVATAR = 1;
public static final int BITMAP_LOADER_THUMBNAIL = 2;
public static final int BITMAP_LOADER_PHOTO = 3;
/**
* Listener to be invoked for screen events.
*/
public static interface OnScreenListener {
/**
* The full screen state has changed.
*/
public void onFullScreenChanged(boolean fullScreen);
/**
* A new view has been activated and the previous view de-activated.
*/
public void onViewActivated();
/**
* This view is a candidate for being the next view.
*
* This will be called when the view is focused completely on the view immediately before
* or after this one, so that this view can reset itself if nessecary.
*/
public void onViewUpNext();
/**
* Called when a right-to-left touch move intercept is about to occur.
*
* @param origX the raw x coordinate of the initial touch
* @param origY the raw y coordinate of the initial touch
* @return {@code true} if the touch should be intercepted.
*/
public boolean onInterceptMoveLeft(float origX, float origY);
/**
* Called when a left-to-right touch move intercept is about to occur.
*
* @param origX the raw x coordinate of the initial touch
* @param origY the raw y coordinate of the initial touch
* @return {@code true} if the touch should be intercepted.
*/
public boolean onInterceptMoveRight(float origX, float origY);
}
public static interface CursorChangedListener {
/**
* Called when the cursor that contains the photo list data
* is updated. Note that there is no guarantee that the cursor
* will be at the proper position.
* @param cursor the cursor containing the photo list data
*/
public void onCursorChanged(Cursor cursor);
}
public void addScreenListener(int position, OnScreenListener listener);
public void removeScreenListener(int position);
public void addCursorListener(CursorChangedListener listener);
public void removeCursorListener(CursorChangedListener listener);
public void setViewActivated(int position);
public void onNewPhotoLoaded(int position);
public void onFragmentPhotoLoadComplete(PhotoViewFragment fragment,
boolean success);
public void toggleFullScreen();
public boolean isFragmentActive(Fragment fragment);
public void onFragmentVisible(PhotoViewFragment fragment);
public boolean isFragmentFullScreen(Fragment fragment);
public void onCursorChanged(PhotoViewFragment fragment, Cursor cursor);
public Loader<BitmapResult> onCreateBitmapLoader(int id, Bundle args, String uri);
/**
* Returns the adapter associated with this activity.
*/
public PhotoPagerAdapter getAdapter();
}