diff options
author | Owen Lin <owenlin@google.com> | 2012-03-22 14:14:40 +0800 |
---|---|---|
committer | Owen Lin <owenlin@google.com> | 2012-03-26 11:56:53 +0800 |
commit | 83a036c52d6c157ca52bee67b9c6ec3018b4a47d (patch) | |
tree | bcf8c9a95df401920ecc7b7d192543fdf25c0cbe /src/com/android/gallery3d/app | |
parent | 0499bbe3ba2110ff964018042307a0a7441e3f19 (diff) | |
download | android_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.java | 49 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/AlbumSetPage.java | 45 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/ManageCachePage.java | 17 |
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(); } |