From 5a3baec45567f08577556fd768809045199a4380 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Sun, 12 May 2013 12:40:14 +0200 Subject: Add basic Android host application to the Android Accessory Host class driver demo. --- .../AndroidAccessoryHost/AndroidAccessoryHost.c | 15 +++-- .../AndroidAccessoryHost/AndroidHostApp/.classpath | 8 +++ .../AndroidAccessoryHost/AndroidHostApp/.project | 33 ++++++++++ .../.settings/org.eclipse.jdt.core.prefs | 4 ++ .../AndroidHostApp/AndroidManifest.xml | 33 ++++++++++ .../AndroidHostApp/bin/AndroidManifest.xml | 33 ++++++++++ .../com/example/lufa_aoa_test/BuildConfig.class | Bin 0 -> 359 bytes .../com/example/lufa_aoa_test/MainActivity.class | Bin 0 -> 2516 bytes .../classes/com/example/lufa_aoa_test/R$attr.class | Bin 0 -> 361 bytes .../com/example/lufa_aoa_test/R$dimen.class | Bin 0 -> 482 bytes .../com/example/lufa_aoa_test/R$drawable.class | Bin 0 -> 428 bytes .../classes/com/example/lufa_aoa_test/R$id.class | Bin 0 -> 451 bytes .../com/example/lufa_aoa_test/R$layout.class | Bin 0 -> 424 bytes .../classes/com/example/lufa_aoa_test/R$menu.class | Bin 0 -> 409 bytes .../com/example/lufa_aoa_test/R$string.class | Bin 0 -> 458 bytes .../com/example/lufa_aoa_test/R$style.class | Bin 0 -> 452 bytes .../classes/com/example/lufa_aoa_test/R$xml.class | Bin 0 -> 418 bytes .../bin/classes/com/example/lufa_aoa_test/R.class | Bin 0 -> 794 bytes .../AndroidHostApp/bin/jarlist.cache | 3 + .../gen/com/example/lufa_aoa_test/BuildConfig.java | 6 ++ .../gen/com/example/lufa_aoa_test/R.java | 71 +++++++++++++++++++++ .../AndroidHostApp/ic_launcher-web.png | Bin 0 -> 70239 bytes .../AndroidHostApp/libs/android-support-v4.jar | Bin 0 -> 393154 bytes .../AndroidHostApp/project.properties | 14 ++++ .../res/drawable-hdpi/ic_launcher.png | Bin 0 -> 4121 bytes .../res/drawable-mdpi/ic_launcher.png | Bin 0 -> 2199 bytes .../res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 6288 bytes .../res/drawable-xxhdpi/ic_launcher.png | Bin 0 -> 12285 bytes .../AndroidHostApp/res/layout/activity_main.xml | 20 ++++++ .../AndroidHostApp/res/menu/main.xml | 9 +++ .../AndroidHostApp/res/values-sw600dp/dimens.xml | 8 +++ .../res/values-sw720dp-land/dimens.xml | 9 +++ .../AndroidHostApp/res/values-v11/styles.xml | 11 ++++ .../AndroidHostApp/res/values-v14/styles.xml | 12 ++++ .../AndroidHostApp/res/values/dimens.xml | 7 ++ .../AndroidHostApp/res/values/strings.xml | 7 ++ .../AndroidHostApp/res/values/styles.xml | 20 ++++++ .../AndroidHostApp/res/xml/accessory_filter.xml | 5 ++ .../com/example/lufa_aoa_test/MainActivity.java | 68 ++++++++++++++++++++ 39 files changed, 391 insertions(+), 5 deletions(-) create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/.classpath create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/.project create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/.settings/org.eclipse.jdt.core.prefs create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/AndroidManifest.xml create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/AndroidManifest.xml create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/BuildConfig.class create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/MainActivity.class create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$attr.class create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$dimen.class create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$drawable.class create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$id.class create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$layout.class create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$menu.class create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$string.class create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$style.class create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$xml.class create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R.class create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/jarlist.cache create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/gen/com/example/lufa_aoa_test/BuildConfig.java create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/gen/com/example/lufa_aoa_test/R.java create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/ic_launcher-web.png create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/libs/android-support-v4.jar create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/project.properties create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-hdpi/ic_launcher.png create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-mdpi/ic_launcher.png create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-xhdpi/ic_launcher.png create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-xxhdpi/ic_launcher.png create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/layout/activity_main.xml create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/menu/main.xml create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-sw600dp/dimens.xml create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-sw720dp-land/dimens.xml create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-v11/styles.xml create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-v14/styles.xml create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values/dimens.xml create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values/strings.xml create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values/styles.xml create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/xml/accessory_filter.xml create mode 100644 Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/src/com/example/lufa_aoa_test/MainActivity.java (limited to 'Demos') diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidAccessoryHost.c b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidAccessoryHost.c index b7ae77528..d103b5d33 100644 --- a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidAccessoryHost.c +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidAccessoryHost.c @@ -53,7 +53,7 @@ USB_ClassInfo_AOA_Host_t AndroidDevice_AOA_Interface = { .Address = (PIPE_DIR_OUT | 2), .Banks = 1, - }, + }, .PropertyStrings = { [AOA_STRING_Manufacturer] = "Dean Camera", @@ -73,7 +73,7 @@ USB_ClassInfo_AOA_Host_t AndroidDevice_AOA_Interface = int main(void) { SetupHardware(); - + puts_P(PSTR(ESC_FG_CYAN "Android Accessory Host Demo running.\r\n" ESC_FG_WHITE)); LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY); @@ -120,7 +120,12 @@ void AOAHost_Task(void) /* Echo received bytes from the attached device through the USART */ int16_t ReceivedByte = AOA_Host_ReceiveByte(&AndroidDevice_AOA_Interface); if (!(ReceivedByte < 0)) - putchar(ReceivedByte); + { + /* Turn on and off LED1 based on the bytes received */ + LEDs_ChangeLEDs(LEDS_LED1, ReceivedByte ? LEDS_LED1 : LEDS_NO_LEDS); + + putchar(ReceivedByte); + } } } @@ -155,7 +160,7 @@ void EVENT_USB_Host_DeviceEnumerationComplete(void) { puts_P(PSTR("Error Retrieving Device Descriptor.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); - return; + return; } bool NeedModeSwitch; @@ -165,7 +170,7 @@ void EVENT_USB_Host_DeviceEnumerationComplete(void) LEDs_SetAllLEDs(LEDMASK_USB_ERROR); return; } - + if (NeedModeSwitch) { puts_P(PSTR("Not in Accessory mode, switching...\r\n")); diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/.classpath b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/.classpath new file mode 100644 index 000000000..3f9691c5d --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/.project b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/.project new file mode 100644 index 000000000..09388ba60 --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/.project @@ -0,0 +1,33 @@ + + + LUFA_AOA_Test + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + + diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/.settings/org.eclipse.jdt.core.prefs b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..b080d2ddc --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/AndroidManifest.xml b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/AndroidManifest.xml new file mode 100644 index 000000000..ab5767451 --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/AndroidManifest.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/AndroidManifest.xml b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/AndroidManifest.xml new file mode 100644 index 000000000..ab5767451 --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/AndroidManifest.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/BuildConfig.class b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/BuildConfig.class new file mode 100644 index 000000000..ae1212efb Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/BuildConfig.class differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/MainActivity.class b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/MainActivity.class new file mode 100644 index 000000000..c1cb18fc7 Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/MainActivity.class differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$attr.class b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$attr.class new file mode 100644 index 000000000..1f85cf87e Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$attr.class differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$dimen.class b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$dimen.class new file mode 100644 index 000000000..17323ef31 Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$dimen.class differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$drawable.class b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$drawable.class new file mode 100644 index 000000000..fd2277578 Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$drawable.class differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$id.class b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$id.class new file mode 100644 index 000000000..2ec18315b Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$id.class differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$layout.class b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$layout.class new file mode 100644 index 000000000..77835f24c Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$layout.class differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$menu.class b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$menu.class new file mode 100644 index 000000000..695d0a809 Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$menu.class differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$string.class b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$string.class new file mode 100644 index 000000000..73a2d25db Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$string.class differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$style.class b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$style.class new file mode 100644 index 000000000..ca51233b5 Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$style.class differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$xml.class b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$xml.class new file mode 100644 index 000000000..3671c1449 Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R$xml.class differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R.class b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R.class new file mode 100644 index 000000000..8febfbe29 Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/classes/com/example/lufa_aoa_test/R.class differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/jarlist.cache b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/jarlist.cache new file mode 100644 index 000000000..1b5ec3f9c --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/bin/jarlist.cache @@ -0,0 +1,3 @@ +# cache for current jar dependecy. DO NOT EDIT. +# format is +# Encoding is UTF-8 diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/gen/com/example/lufa_aoa_test/BuildConfig.java b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/gen/com/example/lufa_aoa_test/BuildConfig.java new file mode 100644 index 000000000..80f18ec2d --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/gen/com/example/lufa_aoa_test/BuildConfig.java @@ -0,0 +1,6 @@ +/** Automatically generated file. DO NOT MODIFY */ +package com.example.lufa_aoa_test; + +public final class BuildConfig { + public final static boolean DEBUG = true; +} \ No newline at end of file diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/gen/com/example/lufa_aoa_test/R.java b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/gen/com/example/lufa_aoa_test/R.java new file mode 100644 index 000000000..367b89728 --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/gen/com/example/lufa_aoa_test/R.java @@ -0,0 +1,71 @@ +/* AUTO-GENERATED FILE. DO NOT MODIFY. + * + * This class was automatically generated by the + * aapt tool from the resource data it found. It + * should not be modified by hand. + */ + +package com.example.lufa_aoa_test; + +public final class R { + public static final class attr { + } + public static final class dimen { + /** Default screen margins, per the Android Design guidelines. + + Customize dimensions originally defined in res/values/dimens.xml (such as + screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here. + + */ + public static final int activity_horizontal_margin=0x7f050000; + public static final int activity_vertical_margin=0x7f050001; + } + public static final class drawable { + public static final int ic_launcher=0x7f020000; + } + public static final class id { + public static final int action_settings=0x7f090001; + public static final int toggleButton1=0x7f090000; + } + public static final class layout { + public static final int activity_main=0x7f030000; + } + public static final class menu { + public static final int main=0x7f080000; + } + public static final class string { + public static final int action_settings=0x7f060001; + public static final int app_name=0x7f060000; + } + public static final class style { + /** + Base application theme, dependent on API level. This theme is replaced + by AppBaseTheme from res/values-vXX/styles.xml on newer devices. + + + Theme customizations available in newer API levels can go in + res/values-vXX/styles.xml, while customizations related to + backward-compatibility can go here. + + + Base application theme for API 11+. This theme completely replaces + AppBaseTheme from res/values/styles.xml on API 11+ devices. + + API 11 theme customizations can go here. + + Base application theme for API 14+. This theme completely replaces + AppBaseTheme from BOTH res/values/styles.xml and + res/values-v11/styles.xml on API 14+ devices. + + API 14 theme customizations can go here. + */ + public static final int AppBaseTheme=0x7f070000; + /** Application theme. + All customizations that are NOT specific to a particular API-level can go here. + */ + public static final int AppTheme=0x7f070001; + } + public static final class xml { + public static final int accessory_filter=0x7f040000; + } +} diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/ic_launcher-web.png b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/ic_launcher-web.png new file mode 100644 index 000000000..a5852ba57 Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/ic_launcher-web.png differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/libs/android-support-v4.jar b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/libs/android-support-v4.jar new file mode 100644 index 000000000..65ebaf8dc Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/libs/android-support-v4.jar differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/project.properties b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/project.properties new file mode 100644 index 000000000..0c9830a3b --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/project.properties @@ -0,0 +1,14 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=Google Inc.:Google APIs:17 diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-hdpi/ic_launcher.png b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 000000000..004688dfb Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-hdpi/ic_launcher.png differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-mdpi/ic_launcher.png b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-mdpi/ic_launcher.png new file mode 100644 index 000000000..207afa8bc Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-mdpi/ic_launcher.png differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-xhdpi/ic_launcher.png b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-xhdpi/ic_launcher.png new file mode 100644 index 000000000..8d8d79c9a Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-xhdpi/ic_launcher.png differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-xxhdpi/ic_launcher.png b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..82e224202 Binary files /dev/null and b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/drawable-xxhdpi/ic_launcher.png differ diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/layout/activity_main.xml b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/layout/activity_main.xml new file mode 100644 index 000000000..f24e9986e --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/layout/activity_main.xml @@ -0,0 +1,20 @@ + + + + + \ No newline at end of file diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/menu/main.xml b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/menu/main.xml new file mode 100644 index 000000000..d227c4927 --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/menu/main.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-sw600dp/dimens.xml b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-sw600dp/dimens.xml new file mode 100644 index 000000000..1ba777d65 --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-sw600dp/dimens.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-sw720dp-land/dimens.xml b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-sw720dp-land/dimens.xml new file mode 100644 index 000000000..eee741a51 --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-sw720dp-land/dimens.xml @@ -0,0 +1,9 @@ + + + + 128dp + + \ No newline at end of file diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-v11/styles.xml b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-v11/styles.xml new file mode 100644 index 000000000..541752f6e --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-v11/styles.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-v14/styles.xml b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-v14/styles.xml new file mode 100644 index 000000000..f20e01501 --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values/dimens.xml b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values/dimens.xml new file mode 100644 index 000000000..a6dd14032 --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values/dimens.xml @@ -0,0 +1,7 @@ + + + + 16dp + 16dp + + \ No newline at end of file diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values/strings.xml b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values/strings.xml new file mode 100644 index 000000000..2593f602f --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values/strings.xml @@ -0,0 +1,7 @@ + + + + LUFA AOA Example + Settings + + \ No newline at end of file diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values/styles.xml b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values/styles.xml new file mode 100644 index 000000000..4a10ca492 --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/xml/accessory_filter.xml b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/xml/accessory_filter.xml new file mode 100644 index 000000000..acf6c6192 --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/res/xml/accessory_filter.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/src/com/example/lufa_aoa_test/MainActivity.java b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/src/com/example/lufa_aoa_test/MainActivity.java new file mode 100644 index 000000000..e5587632a --- /dev/null +++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/AndroidHostApp/src/com/example/lufa_aoa_test/MainActivity.java @@ -0,0 +1,68 @@ +package com.example.lufa_aoa_test; + +import java.io.FileDescriptor; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; + +import android.os.Bundle; +import android.os.ParcelFileDescriptor; +import android.app.Activity; +import android.content.Intent; +import android.view.Menu; +import android.view.View; +import android.widget.*; +import com.android.future.usb.*; + +public class MainActivity extends Activity { + private UsbManager mUSBManager; + private UsbAccessory mAccessoryDevice; + private ParcelFileDescriptor mFileDescriptor; + private FileInputStream mInputStream; + private FileOutputStream mOutputStream; + + public void changeLEDState(View v) { + boolean newButtonState = ((ToggleButton)v).isChecked(); + + if (mOutputStream != null) { + try { + mOutputStream.write(newButtonState ? 0x01 : 0x00); + } + catch (IOException e) + { + + } + } + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + Intent intent = getIntent(); + + if ((intent != null) && (intent.getAction() == com.android.future.usb.UsbManager.ACTION_USB_ACCESSORY_ATTACHED)) + { + mUSBManager = UsbManager.getInstance(this); + if (mUSBManager != null) + { + mAccessoryDevice = UsbManager.getAccessory(intent); + mFileDescriptor = mUSBManager.openAccessory(mAccessoryDevice); + + FileDescriptor fd = mFileDescriptor.getFileDescriptor(); + mInputStream = new FileInputStream(fd); + mOutputStream = new FileOutputStream(fd); + } + } + } + + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.main, menu); + return true; + } + +} -- cgit v1.2.3