summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/app
diff options
context:
space:
mode:
authorOwen Lin <owenlin@google.com>2012-03-22 14:14:40 +0800
committerOwen Lin <owenlin@google.com>2012-03-26 11:56:53 +0800
commit83a036c52d6c157ca52bee67b9c6ec3018b4a47d (patch)
treebcf8c9a95df401920ecc7b7d192543fdf25c0cbe /src/com/android/gallery3d/app
parent0499bbe3ba2110ff964018042307a0a7441e3f19 (diff)
downloadandroid_packages_apps_Snap-83a036c52d6c157ca52bee67b9c6ec3018b4a47d.tar.gz
android_packages_apps_Snap-83a036c52d6c157ca52bee67b9c6ec3018b4a47d.tar.bz2
android_packages_apps_Snap-83a036c52d6c157ca52bee67b9c6ec3018b4a47d.zip
Refactor. Make the code simpler.
Change-Id: I2d3b7a1cfed17afcf6b7ee3e7bf1ca13ada8d9c3
Diffstat (limited to 'src/com/android/gallery3d/app')
-rw-r--r--src/com/android/gallery3d/app/AlbumPage.java49
-rw-r--r--src/com/android/gallery3d/app/AlbumSetPage.java45
-rw-r--r--src/com/android/gallery3d/app/ManageCachePage.java17
3 files changed, 62 insertions, 49 deletions
diff --git a/src/com/android/gallery3d/app/AlbumPage.java b/src/com/android/gallery3d/app/AlbumPage.java
index 818a2ff3d..8bd2badf8 100644
--- a/src/com/android/gallery3d/app/AlbumPage.java
+++ b/src/com/android/gallery3d/app/AlbumPage.java
@@ -82,6 +82,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
private AlbumView mAlbumView;
private Path mMediaSetPath;
private String mParentMediaSetString;
+ private SlotView mSlotView;
private AlbumDataAdapter mAlbumDataAdapter;
@@ -129,7 +130,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
mAlbumView.setSelectionDrawer(mGridDrawer);
}
- mAlbumView.layout(0, slotViewTop, slotViewRight, slotViewBottom);
+ mSlotView.layout(0, slotViewTop, slotViewRight, slotViewBottom);
GalleryUtils.setViewPointMatrix(mMatrix,
(right - left) / 2, (bottom - top) / 2, -mUserDistance);
// Reset position offset after the layout is changed.
@@ -153,7 +154,8 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
} else if (mSelectionManager.inSelectionMode()) {
mSelectionManager.leaveSelectionMode();
} else {
- mAlbumView.savePositions(PositionRepository.getInstance(mActivity));
+ // TODO: fix this regression
+ // mAlbumView.savePositions(PositionRepository.getInstance(mActivity));
super.onBackPressed();
}
}
@@ -162,12 +164,12 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
MediaItem item = mAlbumDataAdapter.get(index);
Path path = (item == null) ? null : item.getPath();
mSelectionManager.setPressedPath(path);
- mAlbumView.invalidate();
+ mSlotView.invalidate();
}
private void onUp() {
mSelectionManager.setPressedPath(null);
- mAlbumView.invalidate();
+ mSlotView.invalidate();
}
private void onSingleTapUp(int slotIndex) {
@@ -185,7 +187,8 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
} else {
// Get into the PhotoPage.
Bundle data = new Bundle();
- mAlbumView.savePositions(PositionRepository.getInstance(mActivity));
+
+ // mAlbumView.savePositions(PositionRepository.getInstance(mActivity));
data.putInt(PhotoPage.KEY_INDEX_HINT, slotIndex);
data.putParcelable(PhotoPage.KEY_OPEN_ANIMATION_RECT,
getSlotRect(slotIndex));
@@ -199,17 +202,17 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
} else {
mSelectionManager.toggle(item.getPath());
mDetailsSource.findIndex(slotIndex);
- mAlbumView.invalidate();
+ mSlotView.invalidate();
}
}
private Rect getSlotRect(int slotIndex) {
// Get slot rectangle relative to this root pane.
Rect offset = new Rect();
- mRootPane.getBoundsOf(mAlbumView, offset);
- Rect r = mAlbumView.getSlotRect(slotIndex);
- r.offset(offset.left - mAlbumView.getScrollX(),
- offset.top - mAlbumView.getScrollY());
+ mRootPane.getBoundsOf(mSlotView, offset);
+ Rect r = mSlotView.getSlotRect(slotIndex);
+ r.offset(offset.left - mSlotView.getScrollX(),
+ offset.top - mSlotView.getScrollY());
return r;
}
@@ -244,7 +247,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
mSelectionManager.setAutoLeaveSelectionMode(true);
mSelectionManager.toggle(item.getPath());
mDetailsSource.findIndex(slotIndex);
- mAlbumView.invalidate();
+ mSlotView.invalidate();
}
}
@@ -260,7 +263,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
GalleryActionBar.getClusterByTypeString(context, clusterType));
}
- mAlbumView.savePositions(PositionRepository.getInstance(mActivity));
+ // mAlbumView.savePositions(PositionRepository.getInstance(mActivity));
mActivity.getStateManager().startStateForResult(
AlbumSetPage.class, REQUEST_DO_ANIMATION, data);
}
@@ -287,7 +290,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
private void startTransition() {
final PositionRepository repository =
PositionRepository.getInstance(mActivity);
- mAlbumView.startTransition(new PositionProvider() {
+ mSlotView.startTransition(new PositionProvider() {
private final Position mTempPosition = new Position();
public Position getPosition(int identity, Position target) {
Position p = repository.get(identity);
@@ -306,7 +309,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
? null
: data.getIntArray(KEY_SET_CENTER);
final Random random = new Random();
- mAlbumView.startTransition(new PositionProvider() {
+ mSlotView.startTransition(new PositionProvider() {
private final Position mTempPosition = new Position();
public Position getPosition(int identity, Position target) {
Position p = repository.get(identity);
@@ -331,7 +334,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
setContentPane(mRootPane);
// Reset position offset for resuming.
PositionRepository.getInstance(mActivity).setOffset(
- mAlbumView.bounds().left, mAlbumView.bounds().top);
+ mSlotView.bounds().left, mSlotView.bounds().top);
Path path = mMediaSet.getPath();
boolean enableHomeButton = (mActivity.getStateManager().getStateCount() > 1) |
@@ -380,11 +383,13 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
mSelectionManager.setSelectionListener(this);
mGridDrawer = new GridDrawer((Context) mActivity, mSelectionManager);
Config.AlbumPage config = Config.AlbumPage.get((Context) mActivity);
- mAlbumView = new AlbumView(mActivity, config.slotViewSpec,
- 0 /* don't cache thumbnail */);
+ mSlotView = new SlotView((Context) mActivity, config.slotViewSpec);
+ mAlbumView = new AlbumView(
+ mActivity, mSlotView, 0/* don't cache thumbnail */);
+ mSlotView.setSlotRenderer(mAlbumView);
mAlbumView.setSelectionDrawer(mGridDrawer);
- mRootPane.addComponent(mAlbumView);
- mAlbumView.setListener(new SlotView.SimpleListener() {
+ mRootPane.addComponent(mSlotView);
+ mSlotView.setListener(new SlotView.SimpleListener() {
@Override
public void onDown(int index) {
AlbumPage.this.onDown(index);
@@ -446,7 +451,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
mShowDetails = false;
mDetailsHelper.hide();
mAlbumView.setSelectionDrawer(mGridDrawer);
- mAlbumView.invalidate();
+ mSlotView.invalidate();
}
@Override
@@ -540,13 +545,13 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
// data could be null, if there is no images in the album
if (data == null) return;
mFocusIndex = data.getIntExtra(SlideshowPage.KEY_PHOTO_INDEX, 0);
- mAlbumView.setCenterIndex(mFocusIndex);
+ mSlotView.setCenterIndex(mFocusIndex);
break;
}
case REQUEST_PHOTO: {
if (data == null) return;
mFocusIndex = data.getIntExtra(PhotoPage.KEY_INDEX_HINT, 0);
- mAlbumView.setCenterIndex(mFocusIndex);
+ mSlotView.setCenterIndex(mFocusIndex);
startTransition();
break;
}
diff --git a/src/com/android/gallery3d/app/AlbumSetPage.java b/src/com/android/gallery3d/app/AlbumSetPage.java
index d00c03c4f..d526b667c 100644
--- a/src/com/android/gallery3d/app/AlbumSetPage.java
+++ b/src/com/android/gallery3d/app/AlbumSetPage.java
@@ -73,6 +73,7 @@ public class AlbumSetPage extends ActivityState implements
private static final int BIT_LOADING_SYNC = 2;
private boolean mIsActive = false;
+ private SlotView mSlotView;
private AlbumSetView mAlbumSetView;
private MediaSet mMediaSet;
@@ -131,7 +132,8 @@ public class AlbumSetPage extends ActivityState implements
mAlbumSetView.setSelectionDrawer(mGridDrawer);
}
- mAlbumSetView.layout(0, slotViewTop, slotViewRight, slotViewBottom);
+ mSlotView.layout(0, slotViewTop, slotViewRight, slotViewBottom);
+
// Reset position offset after the layout is changed.
PositionRepository.getInstance(mActivity).setOffset(
0, slotViewTop);
@@ -165,19 +167,21 @@ public class AlbumSetPage extends ActivityState implements
} else if (mSelectionManager.inSelectionMode()) {
mSelectionManager.leaveSelectionMode();
} else {
- mAlbumSetView.savePositions(
- PositionRepository.getInstance(mActivity));
+ // TODO: fix this regression during refactoring
+ // mSlotView.savePositions(
+ // PositionRepository.getInstance(mActivity));
super.onBackPressed();
}
}
private void savePositions(int slotIndex, int center[]) {
Rect offset = new Rect();
- mRootPane.getBoundsOf(mAlbumSetView, offset);
- mAlbumSetView.savePositions(PositionRepository.getInstance(mActivity));
- Rect r = mAlbumSetView.getSlotRect(slotIndex);
- int scrollX = mAlbumSetView.getScrollX();
- int scrollY = mAlbumSetView.getScrollY();
+ mRootPane.getBoundsOf(mSlotView, offset);
+ // TODO: fix this regression during refactoring
+ // mSlotView.savePositions(PositionRepository.getInstance(mActivity));
+ Rect r = mSlotView.getSlotRect(slotIndex);
+ int scrollX = mSlotView.getScrollX();
+ int scrollY = mSlotView.getScrollY();
center[0] = offset.left + (r.left + r.right) / 2 - scrollX;
center[1] = offset.top + (r.top + r.bottom) / 2 - scrollY;
}
@@ -220,7 +224,7 @@ public class AlbumSetPage extends ActivityState implements
}
} else {
mSelectionManager.toggle(targetSet.getPath());
- mAlbumSetView.invalidate();
+ mSlotView.invalidate();
}
}
@@ -228,12 +232,12 @@ public class AlbumSetPage extends ActivityState implements
MediaSet set = mAlbumSetDataAdapter.getMediaSet(index);
Path path = (set == null) ? null : set.getPath();
mSelectionManager.setPressedPath(path);
- mAlbumSetView.invalidate();
+ mSlotView.invalidate();
}
private void onUp() {
mSelectionManager.setPressedPath(null);
- mAlbumSetView.invalidate();
+ mSlotView.invalidate();
}
public void onLongTap(int slotIndex) {
@@ -246,7 +250,7 @@ public class AlbumSetPage extends ActivityState implements
mSelectionManager.setAutoLeaveSelectionMode(true);
mSelectionManager.toggle(set.getPath());
mDetailsSource.findIndex(slotIndex);
- mAlbumSetView.invalidate();
+ mSlotView.invalidate();
}
}
@@ -256,7 +260,6 @@ public class AlbumSetPage extends ActivityState implements
Bundle data = new Bundle(getData());
data.putString(AlbumSetPage.KEY_MEDIA_PATH, newPath);
data.putInt(KEY_SELECTED_CLUSTER_TYPE, clusterType);
- mAlbumSetView.savePositions(PositionRepository.getInstance(mActivity));
mActivity.getStateManager().switchState(this, AlbumSetPage.class, data);
}
@@ -330,7 +333,7 @@ public class AlbumSetPage extends ActivityState implements
setContentPane(mRootPane);
// Reset position offset for resuming.
PositionRepository.getInstance(mActivity).setOffset(
- mAlbumSetView.bounds().left, mAlbumSetView.bounds().top);
+ mSlotView.bounds().left, mSlotView.bounds().top);
// Set the reload bit here to prevent it exit this page in clearLoadingBit().
setLoadingBit(BIT_LOADING_RELOAD);
@@ -364,9 +367,11 @@ public class AlbumSetPage extends ActivityState implements
mGridDrawer = new GridDrawer((Context) mActivity, mSelectionManager);
Config.AlbumSetPage config = Config.AlbumSetPage.get((Context) mActivity);
- mAlbumSetView = new AlbumSetView(mActivity, mGridDrawer,
- config.slotViewSpec, config.labelSpec);
- mAlbumSetView.setListener(new SlotView.SimpleListener() {
+ mSlotView = new SlotView((Context) mActivity, config.slotViewSpec);
+ mAlbumSetView = new AlbumSetView(
+ mActivity, mGridDrawer, mSlotView, config.labelSpec);
+ mSlotView.setSlotRenderer(mAlbumSetView);
+ mSlotView.setListener(new SlotView.SimpleListener() {
@Override
public void onDown(int index) {
AlbumSetPage.this.onDown(index);
@@ -394,7 +399,7 @@ public class AlbumSetPage extends ActivityState implements
return onItemSelected(item);
}
});
- mRootPane.addComponent(mAlbumSetView);
+ mRootPane.addComponent(mSlotView);
}
@Override
@@ -511,7 +516,7 @@ public class AlbumSetPage extends ActivityState implements
private void startTransition() {
final PositionRepository repository =
PositionRepository.getInstance(mActivity);
- mAlbumSetView.startTransition(new PositionProvider() {
+ mSlotView.startTransition(new PositionProvider() {
private final Position mTempPosition = new Position();
public Position getPosition(int identity, Position target) {
Position p = repository.get(identity);
@@ -569,7 +574,7 @@ public class AlbumSetPage extends ActivityState implements
mShowDetails = false;
mDetailsHelper.hide();
mAlbumSetView.setSelectionDrawer(mGridDrawer);
- mAlbumSetView.invalidate();
+ mSlotView.invalidate();
}
private void showDetails() {
diff --git a/src/com/android/gallery3d/app/ManageCachePage.java b/src/com/android/gallery3d/app/ManageCachePage.java
index 124eb7bf0..718c59fbf 100644
--- a/src/com/android/gallery3d/app/ManageCachePage.java
+++ b/src/com/android/gallery3d/app/ManageCachePage.java
@@ -66,6 +66,7 @@ public class ManageCachePage extends ActivityState implements
private static final int MSG_REQUEST_LAYOUT = 2;
private static final int PROGRESS_BAR_MAX = 10000;
+ private SlotView mSlotView;
private AlbumSetView mAlbumSetView;
private MediaSet mMediaSet;
@@ -122,7 +123,7 @@ public class ManageCachePage extends ActivityState implements
slotViewBottom = location[1];
}
- mAlbumSetView.layout(0, slotViewTop, right - left, slotViewBottom);
+ mSlotView.layout(0, slotViewTop, right - left, slotViewBottom);
}
@Override
@@ -149,12 +150,12 @@ public class ManageCachePage extends ActivityState implements
MediaSet set = mAlbumSetDataAdapter.getMediaSet(index);
Path path = (set == null) ? null : set.getPath();
mSelectionManager.setPressedPath(path);
- mAlbumSetView.invalidate();
+ mSlotView.invalidate();
}
private void onUp() {
mSelectionManager.setPressedPath(null);
- mAlbumSetView.invalidate();
+ mSlotView.invalidate();
}
public void onSingleTapUp(int slotIndex) {
@@ -190,7 +191,7 @@ public class ManageCachePage extends ActivityState implements
refreshCacheStorageInfo();
mSelectionManager.toggle(path);
- mAlbumSetView.invalidate();
+ mSlotView.invalidate();
}
@Override
@@ -294,9 +295,11 @@ public class ManageCachePage extends ActivityState implements
Config.ManageCachePage config = Config.ManageCachePage.get(activity);
mSelectionDrawer = new ManageCacheDrawer((Context) mActivity,
mSelectionManager, config.cachePinSize, config.cachePinMargin);
+ mSlotView = new SlotView((Context) mActivity, config.slotViewSpec);
mAlbumSetView = new AlbumSetView(mActivity, mSelectionDrawer,
- config.slotViewSpec, config.labelSpec);
- mAlbumSetView.setListener(new SlotView.SimpleListener() {
+ mSlotView, config.labelSpec);
+ mSlotView.setSlotRenderer(mAlbumSetView);
+ mSlotView.setListener(new SlotView.SimpleListener() {
@Override
public void onDown(int index) {
ManageCachePage.this.onDown(index);
@@ -312,7 +315,7 @@ public class ManageCachePage extends ActivityState implements
ManageCachePage.this.onSingleTapUp(slotIndex);
}
});
- mRootPane.addComponent(mAlbumSetView);
+ mRootPane.addComponent(mSlotView);
initializeFooterViews();
}