diff options
author | Yuli Huang <yuli@google.com> | 2012-07-01 19:50:22 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-07-01 19:50:22 -0700 |
commit | fdbf964798ea6d8a55295ddef49be005f076cfde (patch) | |
tree | 74435bb9ed2883d9fb617eb4a745129273ddeadb | |
parent | 7c8efb6d525bc1d3865d059816d1bdbe4caad3ff (diff) | |
parent | 1c74ba27ea9187de2272f294b663c13d43bb7436 (diff) | |
download | android_packages_apps_Snap-fdbf964798ea6d8a55295ddef49be005f076cfde.tar.gz android_packages_apps_Snap-fdbf964798ea6d8a55295ddef49be005f076cfde.tar.bz2 android_packages_apps_Snap-fdbf964798ea6d8a55295ddef49be005f076cfde.zip |
Merge "Do not use NfcAdapter API in old platforms."
-rw-r--r-- | src/com/android/gallery3d/app/PhotoPage.java | 19 | ||||
-rw-r--r-- | src/com/android/gallery3d/ui/ActionModeHandler.java | 24 |
2 files changed, 28 insertions, 15 deletions
diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java index 17f57c204..22b01637e 100644 --- a/src/com/android/gallery3d/app/PhotoPage.java +++ b/src/com/android/gallery3d/app/PhotoPage.java @@ -16,6 +16,7 @@ package com.android.gallery3d.app; +import android.annotation.TargetApi; import android.app.ActionBar.OnMenuVisibilityListener; import android.app.Activity; import android.content.ActivityNotFoundException; @@ -25,6 +26,7 @@ import android.content.Intent; import android.graphics.Rect; import android.net.Uri; import android.nfc.NfcAdapter; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Message; @@ -37,6 +39,7 @@ import android.widget.ShareActionProvider; import android.widget.Toast; import com.android.gallery3d.R; +import com.android.gallery3d.common.ApiHelper; import com.android.gallery3d.common.Utils; import com.android.gallery3d.data.DataManager; import com.android.gallery3d.data.FilterDeleteSet; @@ -318,18 +321,24 @@ public class PhotoPage extends ActivityState implements } } + @TargetApi(Build.VERSION_CODES.JELLY_BEAN) + private void setNfcBeamPushUris(Uri[] uris) { + if (mNfcAdapter != null && + Build.VERSION.SDK_INT >= ApiHelper.VERSION_CODES.JELLY_BEAN) { + mNfcAdapter.setBeamPushUris(uris, (Activity)mActivity); + } + } + private void updateShareURI(Path path) { if (mShareActionProvider != null) { DataManager manager = mActivity.getDataManager(); int type = manager.getMediaType(path); Intent intent = new Intent(Intent.ACTION_SEND); intent.setType(MenuExecutor.getMimeType(type)); - intent.putExtra(Intent.EXTRA_STREAM, manager.getContentUri(path)); + Uri uri = manager.getContentUri(path); + intent.putExtra(Intent.EXTRA_STREAM, uri); mShareActionProvider.setShareIntent(intent); - if (mNfcAdapter != null) { - mNfcAdapter.setBeamPushUris(new Uri[]{manager.getContentUri(path)}, - (Activity)mActivity); - } + setNfcBeamPushUris(new Uri[]{uri}); mPendingSharePath = null; } else { // This happens when ActionBar is not created yet. diff --git a/src/com/android/gallery3d/ui/ActionModeHandler.java b/src/com/android/gallery3d/ui/ActionModeHandler.java index 746d41d4b..2a0157a4b 100644 --- a/src/com/android/gallery3d/ui/ActionModeHandler.java +++ b/src/com/android/gallery3d/ui/ActionModeHandler.java @@ -16,11 +16,13 @@ package com.android.gallery3d.ui; +import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.nfc.NfcAdapter; +import android.os.Build; import android.os.Handler; import android.view.ActionMode; import android.view.LayoutInflater; @@ -36,6 +38,7 @@ import android.widget.ShareActionProvider.OnShareTargetSelectedListener; import com.android.gallery3d.R; import com.android.gallery3d.app.GalleryActionBar; import com.android.gallery3d.app.GalleryActivity; +import com.android.gallery3d.common.ApiHelper; import com.android.gallery3d.common.Utils; import com.android.gallery3d.data.DataManager; import com.android.gallery3d.data.MediaObject; @@ -224,14 +227,20 @@ public class ActionModeHandler implements ActionMode.Callback { return operation; } + @TargetApi(Build.VERSION_CODES.JELLY_BEAN) + private void setNfcBeamPushUris(Uri[] uris) { + if (mNfcAdapter != null && + Build.VERSION.SDK_INT >= ApiHelper.VERSION_CODES.JELLY_BEAN) { + mNfcAdapter.setBeamPushUris(uris, (Activity)mActivity); + } + } + // Share intent needs to expand the selection set so we can get URI of // each media item private Intent computeSharingIntent(JobContext jc) { ArrayList<Path> expandedPaths = mSelectionManager.getSelected(true); if (expandedPaths.size() == 0) { - if (mNfcAdapter != null) { - mNfcAdapter.setBeamPushUris(null, (Activity)mActivity); - } + setNfcBeamPushUris(null); return null; } final ArrayList<Uri> uris = new ArrayList<Uri>(); @@ -259,14 +268,9 @@ public class ActionModeHandler implements ActionMode.Callback { intent.putExtra(Intent.EXTRA_STREAM, uris.get(0)); } intent.setType(mimeType); - if (mNfcAdapter != null) { - mNfcAdapter.setBeamPushUris(uris.toArray(new Uri[uris.size()]), - (Activity)mActivity); - } + setNfcBeamPushUris(uris.toArray(new Uri[uris.size()])); } else { - if (mNfcAdapter != null) { - mNfcAdapter.setBeamPushUris(null, (Activity)mActivity); - } + setNfcBeamPushUris(null); } return intent; |