packages/apps/Gallery2
修订版 | a4f0526dc8d993fb914d0e6505e22a1f30ad0e14 (tree) |
---|---|
时间 | 2011-08-26 22:15:07 |
作者 | Ray Chen <raychen@goog...> |
Commiter | Ray Chen |
Fix 5133608 [UI] Details should be displayed as a system dialog in phone UI
We need this to reset the grid drawer.
Change-Id: Iead6568db1903d7e722f0e8154388ccd8f1aee67
@@ -410,8 +410,9 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster | ||
410 | 410 | |
411 | 411 | private void hideDetails() { |
412 | 412 | mShowDetails = false; |
413 | - mAlbumView.setSelectionDrawer(mGridDrawer); | |
414 | 413 | mDetailsHelper.hide(); |
414 | + mAlbumView.setSelectionDrawer(mGridDrawer); | |
415 | + mAlbumView.invalidate(); | |
415 | 416 | } |
416 | 417 | |
417 | 418 | @Override |
@@ -514,8 +514,9 @@ public class AlbumSetPage extends ActivityState implements | ||
514 | 514 | |
515 | 515 | private void hideDetails() { |
516 | 516 | mShowDetails = false; |
517 | - mAlbumSetView.setSelectionDrawer(mGridDrawer); | |
518 | 517 | mDetailsHelper.hide(); |
518 | + mAlbumSetView.setSelectionDrawer(mGridDrawer); | |
519 | + mAlbumSetView.invalidate(); | |
519 | 520 | } |
520 | 521 | |
521 | 522 | private void showDetails() { |
@@ -42,6 +42,7 @@ import android.app.AlertDialog; | ||
42 | 42 | import android.app.Dialog; |
43 | 43 | import android.content.Context; |
44 | 44 | import android.content.DialogInterface; |
45 | +import android.content.DialogInterface.OnDismissListener; | |
45 | 46 | import android.database.DataSetObserver; |
46 | 47 | import android.graphics.Color; |
47 | 48 | import android.graphics.Rect; |
@@ -72,6 +73,7 @@ public class DialogDetailsView implements DetailsViewContainer { | ||
72 | 73 | private int mIndex; |
73 | 74 | private Dialog mDialog; |
74 | 75 | private int mLocationIndex; |
76 | + private CloseListener mListener; | |
75 | 77 | |
76 | 78 | public DialogDetailsView(GalleryActivity activity, DetailsSource source) { |
77 | 79 | mContext = activity; |
@@ -117,6 +119,14 @@ public class DialogDetailsView implements DetailsViewContainer { | ||
117 | 119 | } |
118 | 120 | }) |
119 | 121 | .create(); |
122 | + | |
123 | + mDialog.setOnDismissListener(new OnDismissListener() { | |
124 | + public void onDismiss(DialogInterface dialog) { | |
125 | + if (mListener != null) { | |
126 | + mListener.onClose(); | |
127 | + } | |
128 | + } | |
129 | + }); | |
120 | 130 | } |
121 | 131 | |
122 | 132 | private class DetailsAdapter extends BaseAdapter implements AddressResolvingListener { |
@@ -235,5 +245,6 @@ public class DialogDetailsView implements DetailsViewContainer { | ||
235 | 245 | } |
236 | 246 | |
237 | 247 | public void setCloseListener(CloseListener listener) { |
248 | + mListener = listener; | |
238 | 249 | } |
239 | 250 | } |