limitations under the License.
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:id="@+id/action_camera"
+ android:icon="@drawable/ic_menu_camera_holo_light"
+ android:title="@string/switch_to_camera"
+ android:showAsAction="ifRoom" />
<item android:id="@+id/action_slideshow"
android:icon="@drawable/ic_menu_slideshow_holo_light"
android:title="@string/slideshow"
import com.android.gallery3d.ui.SynchronizedHandler;
import com.android.gallery3d.util.Future;
import com.android.gallery3d.util.GalleryUtils;
+import com.android.gallery3d.util.MediaSetUtils;
public class AlbumPage extends ActivityState implements GalleryActionBar.ClusterRunner,
SelectionManager.SelectionListener, MediaSet.SyncListener {
menu.findItem(R.id.action_slideshow).setVisible(true);
}
- MenuItem groupBy = menu.findItem(R.id.action_group_by);
FilterUtils.setupMenuItems(actionBar, mMediaSetPath, true);
+ MenuItem groupBy = menu.findItem(R.id.action_group_by);
if (groupBy != null) {
groupBy.setVisible(mShowClusterMenu);
}
+ MenuItem switchCamera = menu.findItem(R.id.action_camera);
+ if (switchCamera != null) {
+ switchCamera.setVisible(
+ MediaSetUtils.isCameraSource(mMediaSetPath)
+ && GalleryUtils.isCameraAvailable(activity));
+ }
+
actionBar.setTitle(mMediaSet.getName());
}
actionBar.setSubtitle(null);
}
return true;
}
+ case R.id.action_camera: {
+ GalleryUtils.startCameraActivity((Activity) mActivity);
+ return true;
+ }
default:
return false;
}
}
return true;
case R.id.action_camera: {
- Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA)
- .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
- | Intent.FLAG_ACTIVITY_NEW_TASK);
- activity.startActivity(intent);
+ GalleryUtils.startCameraActivity(activity);
return true;
}
case R.id.action_manage_offline: {
return prefs.getBoolean(KEY_HAS_CAMERA, true);
}
+ public static void startCameraActivity(Context context) {
+ Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA)
+ .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
+ | Intent.FLAG_ACTIVITY_NEW_TASK);
+ context.startActivity(intent);
+ }
+
public static boolean isValidLocation(double latitude, double longitude) {
// TODO: change || to && after we fix the default location issue
return (latitude != MediaItem.INVALID_LATLNG || longitude != MediaItem.INVALID_LATLNG);