diff options
| author | Martijn Coenen <maco@google.com> | 2012-03-26 18:25:50 -0700 |
|---|---|---|
| committer | Martijn Coenen <maco@google.com> | 2012-04-04 14:01:50 -0700 |
| commit | 33ef03776b7734717b16f6fc861b831fb1b1dfac (patch) | |
| tree | 482b964311a7a2300bb69af0e4e0395bba4e1c46 | |
| parent | d9e425f8c36d347d5e469997c633dcb7bf0544b6 (diff) | |
| download | android_packages_apps_Gallery2-33ef03776b7734717b16f6fc861b831fb1b1dfac.tar.gz android_packages_apps_Gallery2-33ef03776b7734717b16f6fc861b831fb1b1dfac.tar.bz2 android_packages_apps_Gallery2-33ef03776b7734717b16f6fc861b831fb1b1dfac.zip | |
Support for beaming a picture.
Change-Id: I73d69f164b455ffa90a495001190937025a56dc5
| -rw-r--r-- | AndroidManifest.xml | 1 | ||||
| -rw-r--r-- | src/com/android/gallery3d/app/PhotoPage.java | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 697c483cf..c907da177 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -16,6 +16,7 @@ <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> + <uses-permission android:name="android.permission.NFC" /> <uses-permission android:name="android.permission.READ_SMS" /> <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java index 32aba9308..9f12ffde8 100644 --- a/src/com/android/gallery3d/app/PhotoPage.java +++ b/src/com/android/gallery3d/app/PhotoPage.java @@ -24,6 +24,9 @@ import android.content.Context; import android.content.Intent; import android.graphics.Rect; import android.net.Uri; +import android.nfc.NdefMessage; +import android.nfc.NdefRecord; +import android.nfc.NfcAdapter; import android.os.Bundle; import android.os.Handler; import android.os.Message; @@ -110,6 +113,8 @@ public class PhotoPage extends ActivityState private ScreenNailHolder mScreenNailHolder; private ScreenNail mScreenNail; + private NfcAdapter mNfcAdapter; + public static interface Model extends PhotoView.Model { public void resume(); public void pause(); @@ -155,6 +160,7 @@ public class PhotoPage extends ActivityState mApplication = (GalleryApp)((Activity) mActivity).getApplication(); mSetPathString = data.getString(KEY_MEDIA_SET_PATH); + mNfcAdapter = NfcAdapter.getDefaultAdapter(mActivity.getAndroidContext()); Path itemPath = Path.fromString(data.getString(KEY_MEDIA_ITEM_PATH)); if (mSetPathString != null) { @@ -263,6 +269,10 @@ public class PhotoPage extends ActivityState intent.setType(MenuExecutor.getMimeType(type)); intent.putExtra(Intent.EXTRA_STREAM, manager.getContentUri(path)); mShareActionProvider.setShareIntent(intent); + if (mNfcAdapter != null) { + mNfcAdapter.setBeamPushUri(MenuExecutor.getMimeType(type), + manager.getContentUri(path), (Activity)mActivity); + } mPendingSharePath = null; } else { // This happens when ActionBar is not created yet. @@ -583,6 +593,7 @@ public class PhotoPage extends ActivityState mModel.pause(); mHandler.removeMessages(MSG_HIDE_BARS); mActionBar.removeOnMenuVisibilityListener(mMenuVisibilityListener); + mMenuExecutor.pause(); } @@ -599,6 +610,7 @@ public class PhotoPage extends ActivityState } mActionBar.setDisplayOptions(mSetPathString != null, true); mActionBar.addOnMenuVisibilityListener(mMenuVisibilityListener); + onUserInteraction(); } @@ -638,4 +650,5 @@ public class PhotoPage extends ActivityState return mIndex; } } + } |
