summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/app
diff options
context:
space:
mode:
authorOwen Lin <owenlin@google.com>2011-08-28 10:50:21 +0800
committerOwen Lin <owenlin@google.com>2011-08-30 10:56:43 +0800
commit44aac4bcb6ddd0b6553a198db4adb479d3437c8e (patch)
tree034376bdd3cb6c5cc14945a6b1e1832af5a80a46 /src/com/android/gallery3d/app
parentb60402ba7551478d324fb777bb5f45b11dffe37c (diff)
downloadandroid_packages_apps_Snap-44aac4bcb6ddd0b6553a198db4adb479d3437c8e.tar.gz
android_packages_apps_Snap-44aac4bcb6ddd0b6553a198db4adb479d3437c8e.tar.bz2
android_packages_apps_Snap-44aac4bcb6ddd0b6553a198db4adb479d3437c8e.zip
Fix several issues in Gallery2.
fix: 5189318 - use transparent background for tabs fix: 5174277 - menu mailfunctioned after slideshow (a hack): fix: 5153387 - wrong tab is selected in album set page Change-Id: I68092039e566b5f7409ae509f65b227b06da16bb
Diffstat (limited to 'src/com/android/gallery3d/app')
-rw-r--r--src/com/android/gallery3d/app/ActivityState.java8
-rw-r--r--src/com/android/gallery3d/app/AlbumPage.java1
-rw-r--r--src/com/android/gallery3d/app/AlbumSetPage.java29
-rw-r--r--src/com/android/gallery3d/app/GalleryActionBar.java17
-rw-r--r--src/com/android/gallery3d/app/PhotoPage.java11
5 files changed, 37 insertions, 29 deletions
diff --git a/src/com/android/gallery3d/app/ActivityState.java b/src/com/android/gallery3d/app/ActivityState.java
index c8aa2150e..9f90d7b3c 100644
--- a/src/com/android/gallery3d/app/ActivityState.java
+++ b/src/com/android/gallery3d/app/ActivityState.java
@@ -104,11 +104,11 @@ abstract public class ActivityState {
if ((mFlags & FLAG_HIDE_STATUS_BAR) != 0) {
WindowManager.LayoutParams params = ((Activity) mActivity).getWindow().getAttributes();
- params.systemUiVisibility = View.STATUS_BAR_HIDDEN;
+ params.systemUiVisibility = View.SYSTEM_UI_FLAG_LOW_PROFILE;
((Activity) mActivity).getWindow().setAttributes(params);
} else {
WindowManager.LayoutParams params = ((Activity) mActivity).getWindow().getAttributes();
- params.systemUiVisibility = View.STATUS_BAR_VISIBLE;
+ params.systemUiVisibility = View.SYSTEM_UI_FLAG_VISIBLE;
((Activity) mActivity).getWindow().setAttributes(params);
}
@@ -125,7 +125,9 @@ abstract public class ActivityState {
}
protected boolean onCreateActionBar(Menu menu) {
- return false;
+ // TODO: we should return false if there is no menu to show
+ // this is a workaround for a bug in system
+ return true;
}
protected boolean onItemSelected(MenuItem item) {
diff --git a/src/com/android/gallery3d/app/AlbumPage.java b/src/com/android/gallery3d/app/AlbumPage.java
index 8bd1eacb9..672c0da99 100644
--- a/src/com/android/gallery3d/app/AlbumPage.java
+++ b/src/com/android/gallery3d/app/AlbumPage.java
@@ -54,7 +54,6 @@ import android.view.ActionMode;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
-import android.view.View.MeasureSpec;
import android.widget.Toast;
import java.util.Random;
diff --git a/src/com/android/gallery3d/app/AlbumSetPage.java b/src/com/android/gallery3d/app/AlbumSetPage.java
index 72eae55db..6542be1d2 100644
--- a/src/com/android/gallery3d/app/AlbumSetPage.java
+++ b/src/com/android/gallery3d/app/AlbumSetPage.java
@@ -40,7 +40,6 @@ import com.android.gallery3d.ui.PositionRepository.Position;
import com.android.gallery3d.ui.SelectionManager;
import com.android.gallery3d.ui.SlotView;
import com.android.gallery3d.ui.StaticBackground;
-import com.android.gallery3d.ui.SynchronizedHandler;
import com.android.gallery3d.util.GalleryUtils;
import android.app.Activity;
@@ -48,13 +47,11 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.Rect;
import android.os.Bundle;
-import android.os.Message;
import android.provider.MediaStore;
import android.view.ActionMode;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
-import android.view.View.MeasureSpec;
import android.widget.Toast;
public class AlbumSetPage extends ActivityState implements
@@ -66,6 +63,8 @@ public class AlbumSetPage extends ActivityState implements
public static final String KEY_MEDIA_PATH = "media-path";
public static final String KEY_SET_TITLE = "set-title";
public static final String KEY_SET_SUBTITLE = "set-subtitle";
+ public static final String KEY_SELECTED_TAB_TYPE = "selected-tab";
+
private static final int DATA_CACHE_SIZE = 256;
private static final int REQUEST_DO_ANIMATION = 1;
private static final int MSG_GOTO_MANAGE_CACHE_PAGE = 1;
@@ -99,8 +98,6 @@ public class AlbumSetPage extends ActivityState implements
private float mY;
private float mZ;
- private SynchronizedHandler mHandler;
-
private GLView mRootPane = new GLView() {
private float mMatrix[] = new float[16];
@@ -231,6 +228,7 @@ public class AlbumSetPage extends ActivityState implements
String newPath = FilterUtils.switchClusterPath(basePath, clusterType);
Bundle data = new Bundle(getData());
data.putString(AlbumSetPage.KEY_MEDIA_PATH, newPath);
+ data.putInt(KEY_SELECTED_TAB_TYPE, clusterType);
mAlbumSetView.savePositions(PositionRepository.getInstance(mActivity));
mActivity.getStateManager().switchState(this, AlbumSetPage.class, data);
}
@@ -251,18 +249,6 @@ public class AlbumSetPage extends ActivityState implements
@Override
public void onCreate(Bundle data, Bundle restoreState) {
- mHandler = new SynchronizedHandler(mActivity.getGLRoot()) {
- @Override
- public void handleMessage(Message message) {
- Utils.assertTrue(message.what == MSG_GOTO_MANAGE_CACHE_PAGE);
- Bundle data = new Bundle();
- String mediaPath = mActivity.getDataManager().getTopSetPath(
- DataManager.INCLUDE_ALL);
- data.putString(AlbumSetPage.KEY_MEDIA_PATH, mediaPath);
- mActivity.getStateManager().startState(ManageCachePage.class, data);
- }
- };
-
initializeViews();
initializeData(data);
mGetContent = data.getBoolean(Gallery.KEY_GET_CONTENT, false);
@@ -271,7 +257,8 @@ public class AlbumSetPage extends ActivityState implements
mSubtitle = data.getString(AlbumSetPage.KEY_SET_SUBTITLE);
mEyePosition = new EyePosition(mActivity.getAndroidContext(), this);
mDetailsSource = new MyDetailsSource();
-
+ mActivity.getGalleryActionBar().setSelectedTab(data.getInt(
+ AlbumSetPage.KEY_SELECTED_TAB_TYPE, FilterUtils.CLUSTER_BY_ALBUM));
startTransition();
}
@@ -432,7 +419,11 @@ public class AlbumSetPage extends ActivityState implements
return true;
}
case R.id.action_manage_offline: {
- mHandler.sendEmptyMessage(MSG_GOTO_MANAGE_CACHE_PAGE);
+ Bundle data = new Bundle();
+ String mediaPath = mActivity.getDataManager().getTopSetPath(
+ DataManager.INCLUDE_ALL);
+ data.putString(AlbumSetPage.KEY_MEDIA_PATH, mediaPath);
+ mActivity.getStateManager().startState(ManageCachePage.class, data);
return true;
}
case R.id.action_sync_picasa_albums: {
diff --git a/src/com/android/gallery3d/app/GalleryActionBar.java b/src/com/android/gallery3d/app/GalleryActionBar.java
index db64828da..03621a60a 100644
--- a/src/com/android/gallery3d/app/GalleryActionBar.java
+++ b/src/com/android/gallery3d/app/GalleryActionBar.java
@@ -16,8 +16,6 @@
package com.android.gallery3d.app;
-import java.util.ArrayList;
-
import com.android.gallery3d.R;
import android.app.ActionBar;
@@ -27,11 +25,11 @@ import android.app.AlertDialog;
import android.app.FragmentTransaction;
import android.content.Context;
import android.content.DialogInterface;
-import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ShareActionProvider;
-import android.widget.ShareActionProvider.OnShareTargetSelectedListener;
+
+import java.util.ArrayList;
public class GalleryActionBar implements ActionBar.TabListener {
private static final String TAG = "GalleryActionBar";
@@ -215,4 +213,15 @@ public class GalleryActionBar implements ActionBar.TabListener {
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}
+
+ public boolean setSelectedTab(int type) {
+ for (int i = 0, n = sClusterItems.length; i < n; ++i) {
+ ActionItem item = sClusterItems[i];
+ if (item.visible && item.action == type) {
+ mActionBar.selectTab(mActionBar.getTabAt(i));
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java
index 4fbffb55a..421f15ca1 100644
--- a/src/com/android/gallery3d/app/PhotoPage.java
+++ b/src/com/android/gallery3d/app/PhotoPage.java
@@ -66,6 +66,7 @@ public class PhotoPage extends ActivityState
private static final String TAG = "PhotoPage";
private static final int MSG_HIDE_BARS = 1;
+
private static final int HIDE_BARS_TIMEOUT = 3500;
private static final int REQUEST_SLIDESHOW = 1;
@@ -388,8 +389,7 @@ public class PhotoPage extends ActivityState
switch (action) {
case R.id.action_slideshow: {
Bundle data = new Bundle();
- data.putString(SlideshowPage.KEY_SET_PATH,
- mMediaSet.getPath().toString());
+ data.putString(SlideshowPage.KEY_SET_PATH, mMediaSet.getPath().toString());
data.putInt(SlideshowPage.KEY_PHOTO_INDEX, currentIndex);
data.putBoolean(SlideshowPage.KEY_REPEAT, true);
mActivity.getStateManager().startStateForResult(
@@ -562,17 +562,24 @@ public class PhotoPage extends ActivityState
private class MyDetailsSource implements DetailsSource {
private int mIndex;
+
+ @Override
public MediaDetails getDetails() {
return mModel.getCurrentMediaItem().getDetails();
}
+
+ @Override
public int size() {
return mMediaSet != null ? mMediaSet.getMediaItemCount() : 1;
}
+
+ @Override
public int findIndex(int indexHint) {
mIndex = indexHint;
return indexHint;
}
+ @Override
public int getIndex() {
return mIndex;
}