summaryrefslogtreecommitdiffstats
path: root/src/com/android/photos/SelectionManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/photos/SelectionManager.java')
-rw-r--r--src/com/android/photos/SelectionManager.java184
1 files changed, 0 insertions, 184 deletions
diff --git a/src/com/android/photos/SelectionManager.java b/src/com/android/photos/SelectionManager.java
deleted file mode 100644
index 9bfb9be75..000000000
--- a/src/com/android/photos/SelectionManager.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.photos;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.net.Uri;
-import android.nfc.NfcAdapter;
-import android.nfc.NfcAdapter.CreateBeamUrisCallback;
-import android.nfc.NfcEvent;
-import android.provider.MediaStore.Files.FileColumns;
-import android.widget.ShareActionProvider;
-
-import com.android.gallery3d.common.ApiHelper;
-import com.android.gallery3d.data.MediaObject;
-import com.android.gallery3d.util.GalleryUtils;
-
-import java.util.ArrayList;
-
-public class SelectionManager {
- private Activity mActivity;
- private NfcAdapter mNfcAdapter;
- private SelectedUriSource mUriSource;
- private Intent mShareIntent = new Intent();
-
- public interface SelectedUriSource {
- public ArrayList<Uri> getSelectedShareableUris();
- }
-
- public SelectionManager(Activity activity) {
- mActivity = activity;
- if (ApiHelper.AT_LEAST_16) {
- mNfcAdapter = NfcAdapter.getDefaultAdapter(mActivity);
- mNfcAdapter.setBeamPushUrisCallback(new CreateBeamUrisCallback() {
- @Override
- public Uri[] createBeamUris(NfcEvent arg0) {
- // This will have been preceded by a call to onItemSelectedStateChange
- if (mCachedShareableUris == null) return null;
- return mCachedShareableUris.toArray(
- new Uri[mCachedShareableUris.size()]);
- }
- }, mActivity);
- }
- }
-
- public void setSelectedUriSource(SelectedUriSource source) {
- mUriSource = source;
- }
-
- private int mSelectedTotalCount = 0;
- private int mSelectedShareableCount = 0;
- private int mSelectedShareableImageCount = 0;
- private int mSelectedShareableVideoCount = 0;
- private int mSelectedDeletableCount = 0;
- private int mSelectedEditableCount = 0;
- private int mSelectedCroppableCount = 0;
- private int mSelectedSetableCount = 0;
- private int mSelectedTrimmableCount = 0;
- private int mSelectedMuteableCount = 0;
-
- private ArrayList<Uri> mCachedShareableUris = null;
-
- public void onItemSelectedStateChanged(ShareActionProvider share,
- int itemType, int itemSupportedOperations, boolean selected) {
- int increment = selected ? 1 : -1;
-
- mSelectedTotalCount += increment;
- mCachedShareableUris = null;
-
- if ((itemSupportedOperations & MediaObject.SUPPORT_DELETE) > 0) {
- mSelectedDeletableCount += increment;
- }
- if ((itemSupportedOperations & MediaObject.SUPPORT_EDIT) > 0) {
- mSelectedEditableCount += increment;
- }
- if ((itemSupportedOperations & MediaObject.SUPPORT_CROP) > 0) {
- mSelectedCroppableCount += increment;
- }
- if ((itemSupportedOperations & MediaObject.SUPPORT_SETAS) > 0) {
- mSelectedSetableCount += increment;
- }
- if ((itemSupportedOperations & MediaObject.SUPPORT_TRIM) > 0) {
- mSelectedTrimmableCount += increment;
- }
- if ((itemSupportedOperations & MediaObject.SUPPORT_MUTE) > 0) {
- mSelectedMuteableCount += increment;
- }
- if ((itemSupportedOperations & MediaObject.SUPPORT_SHARE) > 0) {
- mSelectedShareableCount += increment;
- if (itemType == FileColumns.MEDIA_TYPE_IMAGE) {
- mSelectedShareableImageCount += increment;
- } else if (itemType == FileColumns.MEDIA_TYPE_VIDEO) {
- mSelectedShareableVideoCount += increment;
- }
- }
-
- mShareIntent.removeExtra(Intent.EXTRA_STREAM);
- if (mSelectedShareableCount == 0) {
- mShareIntent.setAction(null).setType(null);
- } else if (mSelectedShareableCount >= 1) {
- mCachedShareableUris = mUriSource.getSelectedShareableUris();
- if (mCachedShareableUris.size() == 0) {
- mShareIntent.setAction(null).setType(null);
- } else {
- if (mSelectedShareableImageCount == mSelectedShareableCount) {
- mShareIntent.setType(GalleryUtils.MIME_TYPE_IMAGE);
- } else if (mSelectedShareableVideoCount == mSelectedShareableCount) {
- mShareIntent.setType(GalleryUtils.MIME_TYPE_VIDEO);
- } else {
- mShareIntent.setType(GalleryUtils.MIME_TYPE_ALL);
- }
- if (mCachedShareableUris.size() == 1) {
- mShareIntent.setAction(Intent.ACTION_SEND);
- mShareIntent.putExtra(Intent.EXTRA_STREAM, mCachedShareableUris.get(0));
- } else {
- mShareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
- mShareIntent.putExtra(Intent.EXTRA_STREAM, mCachedShareableUris);
- }
- }
- }
- share.setShareIntent(mShareIntent);
- }
-
- public int getSupportedOperations() {
- if (mSelectedTotalCount == 0) {
- return 0;
- }
- int supported = 0;
- if (mSelectedTotalCount == 1) {
- if (mSelectedCroppableCount == 1) {
- supported |= MediaObject.SUPPORT_CROP;
- }
- if (mSelectedEditableCount == 1) {
- supported |= MediaObject.SUPPORT_EDIT;
- }
- if (mSelectedSetableCount == 1) {
- supported |= MediaObject.SUPPORT_SETAS;
- }
- if (mSelectedTrimmableCount == 1) {
- supported |= MediaObject.SUPPORT_TRIM;
- }
- if (mSelectedMuteableCount == 1) {
- supported |= MediaObject.SUPPORT_MUTE;
- }
- }
- if (mSelectedDeletableCount == mSelectedTotalCount) {
- supported |= MediaObject.SUPPORT_DELETE;
- }
- if (mSelectedShareableCount > 0) {
- supported |= MediaObject.SUPPORT_SHARE;
- }
- return supported;
- }
-
- public void onClearSelection() {
- mSelectedTotalCount = 0;
- mSelectedShareableCount = 0;
- mSelectedShareableImageCount = 0;
- mSelectedShareableVideoCount = 0;
- mSelectedDeletableCount = 0;
- mSelectedEditableCount = 0;
- mSelectedCroppableCount = 0;
- mSelectedSetableCount = 0;
- mSelectedTrimmableCount = 0;
- mSelectedMuteableCount = 0;
- mCachedShareableUris = null;
- mShareIntent.removeExtra(Intent.EXTRA_STREAM);
- mShareIntent.setAction(null).setType(null);
- }
-}