diff options
author | Mike Lockwood <lockwood@android.com> | 2010-07-27 18:46:57 -0400 |
---|---|---|
committer | Mike Lockwood <lockwood@android.com> | 2010-07-27 19:20:31 -0400 |
commit | 725552a0df76ee3b2d45650a25224f46597ad589 (patch) | |
tree | da05ab6298f26ebfb11da99784c17c5a98dd75f5 /media | |
parent | da39f0e87814c5acb8b6319a1877b93197fb910e (diff) | |
download | frameworks_base-725552a0df76ee3b2d45650a25224f46597ad589.zip frameworks_base-725552a0df76ee3b2d45650a25224f46597ad589.tar.gz frameworks_base-725552a0df76ee3b2d45650a25224f46597ad589.tar.bz2 |
CameraBrowser: Launch itself when a camera is attached to USB.
Change-Id: I00d6980a1f8e6607c1368cbf78d8e824514c666b
Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'media')
-rw-r--r-- | media/tests/CameraBrowser/AndroidManifest.xml | 8 | ||||
-rw-r--r-- | media/tests/CameraBrowser/src/com/android/camerabrowser/UsbReceiver.java | 47 |
2 files changed, 55 insertions, 0 deletions
diff --git a/media/tests/CameraBrowser/AndroidManifest.xml b/media/tests/CameraBrowser/AndroidManifest.xml index 5a71179..eae0b01 100644 --- a/media/tests/CameraBrowser/AndroidManifest.xml +++ b/media/tests/CameraBrowser/AndroidManifest.xml @@ -14,6 +14,14 @@ <activity android:name="StorageBrowser" /> <activity android:name="ObjectBrowser" /> <activity android:name="ObjectViewer" /> + + <receiver android:name="UsbReceiver"> + <intent-filter> + <action android:name="android.hardware.action.USB_CAMERA_ATTACHED" /> + <data android:scheme="content"/> + </intent-filter> + </receiver> + </application> diff --git a/media/tests/CameraBrowser/src/com/android/camerabrowser/UsbReceiver.java b/media/tests/CameraBrowser/src/com/android/camerabrowser/UsbReceiver.java new file mode 100644 index 0000000..c05b239 --- /dev/null +++ b/media/tests/CameraBrowser/src/com/android/camerabrowser/UsbReceiver.java @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2010 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.camerabrowser; + +import android.content.Context; +import android.content.Intent; +import android.content.BroadcastReceiver; +import android.hardware.Usb; +import android.net.Uri; +import android.util.Log; + +public class UsbReceiver extends BroadcastReceiver +{ + private static final String TAG = "UsbReceiver"; + + @Override + public void onReceive(Context context, Intent intent) { + Log.d(TAG, "onReceive " + intent); + if (Usb.ACTION_USB_CAMERA_ATTACHED.equals(intent.getAction())) { + Uri uri = intent.getData(); + intent = new Intent(context, StorageBrowser.class); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + try { + // TODO - add a wrapper to Mtp.Device for this + int id = Integer.parseInt(uri.getPathSegments().get(1)); + intent.putExtra("device", id); + context.startActivity(intent); + } catch (NumberFormatException e) { + Log.e(TAG, "bad device Uri " + uri); + } + } + } +} |