Skip to content
Browse files

initial checkin and clean up.

  • Loading branch information...
1 parent 7f67e54 commit 8ae101f78974f3bdca0e5194dbd38222c8d30b32 Tony Pratkanis committed Jul 18, 2011
Showing with 0 additions and 10,101 deletions.
  1. 0 {apps/Teleop → }/.classpath
  2. 0 {apps/Teleop → }/.project
  3. 0 {apps/Teleop → }/AndroidManifest.xml
  4. +0 −16 apps/AppChooser/.classpath
  5. +0 −55 apps/AppChooser/.project
  6. +0 −31 apps/AppChooser/AndroidManifest.xml
  7. +0 −13 apps/AppChooser/Makefile
  8. +0 −8 apps/AppChooser/build-wrapper.xml
  9. +0 −84 apps/AppChooser/build.xml
  10. +0 −12 apps/AppChooser/default.properties
  11. +0 −36 apps/AppChooser/proguard.cfg
  12. BIN apps/AppChooser/res/drawable-hdpi/icon.png
  13. BIN apps/AppChooser/res/drawable-ldpi/icon.png
  14. BIN apps/AppChooser/res/drawable-mdpi/icon.png
  15. +0 −9 apps/AppChooser/res/drawable/button_disabled.xml
  16. BIN apps/AppChooser/res/drawable/highlight.png
  17. +0 −8 apps/AppChooser/res/drawable/start_button.xml
  18. +0 −9 apps/AppChooser/res/drawable/start_button_normal.xml
  19. +0 −9 apps/AppChooser/res/drawable/start_button_pressed.xml
  20. +0 −8 apps/AppChooser/res/drawable/stop_button.xml
  21. +0 −9 apps/AppChooser/res/drawable/stop_button_normal.xml
  22. +0 −9 apps/AppChooser/res/drawable/stop_button_pressed.xml
  23. +0 −17 apps/AppChooser/res/layout/app_item.xml
  24. +0 −46 apps/AppChooser/res/layout/main.xml
  25. +0 −50 apps/AppChooser/res/layout/stub_app.xml
  26. +0 −4 apps/AppChooser/res/menu/app_chooser_menu.xml
  27. +0 −4 apps/AppChooser/res/values/strings.xml
  28. +0 −116 apps/AppChooser/src/org/ros/android/app_chooser/AppAdapter.java
  29. +0 −282 apps/AppChooser/src/org/ros/android/app_chooser/AppChooser.java
  30. +0 −131 apps/AppChooser/src/org/ros/android/app_chooser/AppLauncher.java
  31. +0 −89 apps/AppChooser/src/org/ros/android/app_chooser/ClientAppData.java
  32. +0 −44 apps/AppChooser/src/org/ros/android/app_chooser/ImageWithLabel.java
  33. +0 −55 apps/AppChooser/src/org/ros/android/app_chooser/LabelledIconView.java
  34. +0 −191 apps/AppChooser/src/org/ros/android/app_chooser/StubAppActivity.java
  35. +0 −13 apps/Teleop/Makefile
  36. +0 −8 apps/Teleop/build-wrapper.xml
  37. +0 −79 apps/Teleop/build.xml
  38. +0 −36 apps/Teleop/proguard.cfg
  39. +0 −54 apps/build-app-common.xml
  40. +0 −39 apps/build.xml
  41. +0 −136 build_app.xml
  42. 0 {apps/Teleop → }/default.properties
  43. +0 −14 library/.classpath
  44. +0 −33 library/.project
  45. +0 −24 library/AndroidManifest.xml
  46. +0 −10 library/README
  47. +0 −1 library/create_project.sh
  48. +0 −12 library/default.properties
  49. +0 −6 library/libs/README-snakeyaml.txt
  50. BIN library/libs/snakeyaml-android-1.8-SNAPSHOT.jar
  51. BIN library/libs/vecmath.jar
  52. BIN library/res/drawable-hdpi/icon.png
  53. BIN library/res/drawable-hdpi/pr2.jpg
  54. BIN library/res/drawable-hdpi/qrcode.png
  55. BIN library/res/drawable-hdpi/question_mark.jpg
  56. BIN library/res/drawable-hdpi/status.png
  57. BIN library/res/drawable-hdpi/turtlebot.png
  58. BIN library/res/drawable-hdpi/wifi_question_mark.jpg
  59. BIN library/res/drawable-ldpi/icon.png
  60. BIN library/res/drawable-ldpi/pr2.jpg
  61. BIN library/res/drawable-ldpi/qrcode.png
  62. BIN library/res/drawable-ldpi/question_mark.jpg
  63. BIN library/res/drawable-ldpi/status.png
  64. BIN library/res/drawable-ldpi/turtlebot.png
  65. BIN library/res/drawable-ldpi/wifi_question_mark.jpg
  66. BIN library/res/drawable-mdpi/icon.png
  67. BIN library/res/drawable-mdpi/pr2.jpg
  68. BIN library/res/drawable-mdpi/qrcode.png
  69. BIN library/res/drawable-mdpi/question_mark.jpg
  70. BIN library/res/drawable-mdpi/status.png
  71. BIN library/res/drawable-mdpi/turtlebot.png
  72. BIN library/res/drawable-mdpi/wifi_question_mark.jpg
  73. BIN library/res/drawable/battery_silhouette.png
  74. +0 −6 library/res/drawable/checkable.xml
  75. BIN library/res/drawable/error_triangle.png
  76. BIN library/res/drawable/gear.png
  77. BIN library/res/drawable/physical_runstop.png
  78. BIN library/res/drawable/power_plug.png
  79. BIN library/res/drawable/pr2_top_view.png
  80. BIN library/res/drawable/speech_bubble.png
  81. BIN library/res/drawable/turtlebot_top_view.png
  82. BIN library/res/drawable/wireless_runstop.png
  83. BIN library/res/drawable/wrench.png
  84. +0 −29 library/res/layout/add_uri_dialog.xml
  85. +0 −31 library/res/layout/broken_wireless_disabled_dialog.xml
  86. +0 −14 library/res/layout/main.xml
  87. +0 −31 library/res/layout/master_chooser.xml
  88. +0 −41 library/res/layout/master_item.xml
  89. +0 −49 library/res/layout/pr2_dashboard.xml
  90. +0 −43 library/res/layout/turtlebot_dashboard.xml
  91. +0 −24 library/res/layout/wireless_disabled_dialog.xml
  92. +0 −16 library/res/layout/wireless_enabled_but_not_connected_dialog.xml
  93. +0 −11 library/res/menu/master_chooser_options_menu.xml
  94. +0 −6 library/res/values/attrs.xml
  95. +0 −4 library/res/values/colors.xml
  96. +0 −6 library/res/values/strings.xml
  97. +0 −186 library/src/ros/android/activity/AppManager.java
  98. +0 −51 library/src/ros/android/activity/AppManagerNotAvailableException.java
  99. +0 −43 library/src/ros/android/activity/AppStartCallback.java
  100. +0 −85 library/src/ros/android/activity/MasterAdapter.java
  101. +0 −378 library/src/ros/android/activity/MasterChooserActivity.java
  102. +0 −179 library/src/ros/android/activity/MasterItem.java
  103. +0 −526 library/src/ros/android/activity/RosActivity.java
  104. +0 −99 library/src/ros/android/activity/RosAppActivity.java
  105. +0 −265 library/src/ros/android/util/ControlChecker.java
  106. +0 −150 library/src/ros/android/util/Dashboard.java
  107. +0 −44 library/src/ros/android/util/FingerReceiver.java
  108. +0 −136 library/src/ros/android/util/FingerTracker.java
  109. +0 −44 library/src/ros/android/util/InvalidRobotDescriptionException.java
  110. +0 −144 library/src/ros/android/util/MasterChecker.java
  111. +0 −293 library/src/ros/android/util/MasterChooser.java
  112. +0 −187 library/src/ros/android/util/PlaneTfChangeListener.java
  113. +0 −48 library/src/ros/android/util/Posable.java
  114. +0 −175 library/src/ros/android/util/RobotDescription.java
  115. +0 −155 library/src/ros/android/util/RobotId.java
  116. +0 −111 library/src/ros/android/util/SdCardSetup.java
  117. +0 −252 library/src/ros/android/util/WiFiChecker.java
  118. +0 −292 library/src/ros/android/util/zxing/IntentIntegrator.java
  119. +0 −48 library/src/ros/android/util/zxing/IntentResult.java
  120. +0 −131 library/src/ros/android/views/BatteryLevelView.java
  121. +0 −73 library/src/ros/android/views/BitmapDisplay.java
  122. +0 −83 library/src/ros/android/views/CheckableLinearLayout.java
  123. +0 −110 library/src/ros/android/views/LaserScanDisplay.java
  124. +0 −169 library/src/ros/android/views/MapDisplay.java
  125. +0 −241 library/src/ros/android/views/MapView.java
  126. +0 −107 library/src/ros/android/views/PanZoomDisplay.java
  127. +0 −298 library/src/ros/android/views/PanZoomView.java
  128. +0 −100 library/src/ros/android/views/PosablePanZoomDisplay.java
  129. +0 −294 library/src/ros/android/views/PoseInputDisplay.java
  130. +0 −338 library/src/ros/android/views/Pr2Dashboard.java
  131. +0 −139 library/src/ros/android/views/SendGoalDisplay.java
  132. +0 −85 library/src/ros/android/views/SensorImageView.java
  133. +0 −134 library/src/ros/android/views/SetInitialPoseDisplay.java
  134. +0 −300 library/src/ros/android/views/TurtlebotDashboard.java
  135. +0 −120 library/src/ros/tf/Frame.java
  136. +0 −81 library/src/ros/tf/Stamped.java
  137. +0 −222 library/src/ros/tf/StampedTransform.java
  138. +0 −111 library/src/ros/tf/TfBroadcaster.java
  139. +0 −585 library/src/ros/tf/TfListener.java
  140. +0 −143 library/src/ros/tf/TimeCache.java
  141. +0 −81 library/src/ros/tf/TransformChangeDetector.java
  142. +0 −144 library/src/ros/tf/TransformStorage.java
  143. 0 {library → }/proguard.cfg
  144. 0 {apps/Teleop → }/res/drawable/android_lightning_turtlebot.png
  145. 0 {apps/Teleop → }/res/drawable/joystick.png
  146. 0 {apps/Teleop → }/res/drawable/joystick_white.png
  147. 0 {apps/Teleop → }/res/layout/main.xml
  148. 0 {apps/Teleop → }/res/layout/name_map_dialog.xml
  149. 0 {apps/Teleop → }/res/menu/teleop_options.xml
  150. 0 {apps/Teleop → }/res/values/strings.xml
  151. 0 {apps/Teleop → }/src/ros/android/teleop/Teleop.java
View
0 apps/Teleop/.classpath → .classpath
File renamed without changes.
View
0 apps/Teleop/.project → .project
File renamed without changes.
View
0 apps/Teleop/AndroidManifest.xml → AndroidManifest.xml
File renamed without changes.
View
16 apps/AppChooser/.classpath
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
- <classpathentry combineaccessrules="false" kind="src" path="/java"/>
- <classpathentry kind="lib" path="/java/lib/guava-r07.jar"/>
- <classpathentry kind="src" path="RosAndroid_src"/>
- <classpathentry combineaccessrules="false" kind="src" path="/AppManAndroid"/>
- <classpathentry kind="src" path="AppManAndroid_src"/>
- <classpathentry kind="src" path="AppManAndroid_srv_gen_java"/>
- <classpathentry kind="src" path="AppManAndroid_msg_gen_java"/>
- <classpathentry kind="lib" path="/AppManAndroid/libs/snakeyaml-android-1.8-SNAPSHOT.jar"/>
- <classpathentry kind="lib" path="/AppManAndroid/libs/vecmath.jar"/>
- <classpathentry kind="src" path="gen"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
View
55 apps/AppChooser/.project
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>AppChooser</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.ApkBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>AppManAndroid_msg_gen_java</name>
- <type>2</type>
- <locationURI>_android_AppManAndroid_8bb26096/msg_gen/java</locationURI>
- </link>
- <link>
- <name>AppManAndroid_src</name>
- <type>2</type>
- <locationURI>_android_AppManAndroid_8bb26096/src</locationURI>
- </link>
- <link>
- <name>AppManAndroid_srv_gen_java</name>
- <type>2</type>
- <locationURI>_android_AppManAndroid_8bb26096/srv_gen/java</locationURI>
- </link>
- <link>
- <name>RosAndroid_src</name>
- <type>2</type>
- <locationURI>_android_RosAndroid_633a53d9/src</locationURI>
- </link>
- </linkedResources>
-</projectDescription>
View
31 apps/AppChooser/AndroidManifest.xml
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="org.ros.android.app_chooser"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-permission android:name="android.permission.INTERNET"></uses-permission>
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
- <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- <uses-sdk android:minSdkVersion="9"/>
-
- <application android:theme="@android:style/Theme.NoTitleBar" android:icon="@drawable/icon" android:label="@string/app_name">
- <activity android:name="AppChooser"
- android:label="@string/app_name"
- android:clearTaskOnLaunch="true">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
-
- <activity android:name="ros.android.activity.MasterChooserActivity"
- android:label="@string/app_name">
- </activity>
-
- <activity android:name=".StubAppActivity"
- android:label="@string/app_name">
- </activity>
- </application>
-</manifest>
View
13 apps/AppChooser/Makefile
@@ -1,13 +0,0 @@
-# Wrapper Makefile to call "ant" in the correct way.
-
-debug:
- ant -f build-wrapper.xml debug
-
-clean:
- ant -f build-wrapper.xml clean
-
-install:
- ant -f build-wrapper.xml install
-
-compile:
- ant -f build-wrapper.xml compile
View
8 apps/AppChooser/build-wrapper.xml
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="build-wrapper" default="debug" basedir=".">
-
- <property name="app.dir" location="${basedir}"/>
-
- <import file="../build-app-common.xml"/>
-
-</project>
View
84 apps/AppChooser/build.xml
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="AppChooser" default="help">
-
-<!-- The local.properties file is created and updated by the 'android'
- tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <property file="local.properties" />
-
- <!-- The build.properties file can be created by you and is never touched
- by the 'android' tool. This is the place to change some of the
- default property values used by the Ant rules.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <property file="build.properties" />
-
- <!-- The default.properties file is created and updated by the 'android'
- tool, as well as ADT.
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <property file="default.properties" />
-
- <!-- Custom Android task to deal with the project target, and import the
- proper rules.
- This requires ant 1.6.0 or above. -->
- <path id="android.antlibs">
- <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" />
- <pathelement path="${sdk.dir}/tools/lib/sdklib.jar" />
- <pathelement path="${sdk.dir}/tools/lib/androidprefs.jar" />
- </path>
-
- <taskdef name="setup"
- classname="com.android.ant.SetupTask"
- classpathref="android.antlibs" />
-
-<!-- extension targets. Uncomment the ones where you want to do custom work
- in between standard targets -->
-<!--
- <target name="-pre-build">
- </target>
- <target name="-pre-compile">
- </target>
-
- [This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir}]
- <target name="-post-compile">
- </target>
--->
-
-
- <!-- Execute the Android Setup task that will setup some properties
- specific to the target, and import the build rules files.
-
- The rules file is imported from
- <SDK>/platforms/<target_platform>/ant/ant_rules_r#.xml
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <setup> task.
- - customize it to your needs.
- - Customize the whole script.
- - copy/paste the content of the rules files (minus the top node)
- into this file, *after* the <setup> task
- - disable the import of the rules by changing the setup task
- below to <setup import="false" />.
- - customize to your needs.
- -->
- <setup />
-
-</project>
View
12 apps/AppChooser/default.properties
@@ -1,12 +0,0 @@
-# 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 use,
-# "build.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=android-9
-android.library.reference.1=../../library
View
36 apps/AppChooser/proguard.cfg
@@ -1,36 +0,0 @@
--optimizationpasses 5
--dontusemixedcaseclassnames
--dontskipnonpubliclibraryclasses
--dontpreverify
--verbose
--optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-
--keep public class * extends android.app.Activity
--keep public class * extends android.app.Application
--keep public class * extends android.app.Service
--keep public class * extends android.content.BroadcastReceiver
--keep public class * extends android.content.ContentProvider
--keep public class * extends android.app.backup.BackupAgentHelper
--keep public class * extends android.preference.Preference
--keep public class com.android.vending.licensing.ILicensingService
-
--keepclasseswithmembernames class * {
- native <methods>;
-}
-
--keepclasseswithmembernames class * {
- public <init>(android.content.Context, android.util.AttributeSet);
-}
-
--keepclasseswithmembernames class * {
- public <init>(android.content.Context, android.util.AttributeSet, int);
-}
-
--keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
-}
-
--keep class * implements android.os.Parcelable {
- public static final android.os.Parcelable$Creator *;
-}
View
BIN apps/AppChooser/res/drawable-hdpi/icon.png
Deleted file not rendered
View
BIN apps/AppChooser/res/drawable-ldpi/icon.png
Deleted file not rendered
View
BIN apps/AppChooser/res/drawable-mdpi/icon.png
Deleted file not rendered
View
9 apps/AppChooser/res/drawable/button_disabled.xml
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="oval">
- <solid android:color="#808080"/>
- <size android:width="100dp"
- android:height="100dp"/>
- <stroke android:width="5dp"
- android:color="#ffffff"/>
-</shape>
View
BIN apps/AppChooser/res/drawable/highlight.png
Deleted file not rendered
View
8 apps/AppChooser/res/drawable/start_button.xml
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_enabled="false"
- android:drawable="@drawable/button_disabled"/>
- <item android:state_pressed="true"
- android:drawable="@drawable/start_button_pressed"/>
- <item android:drawable="@drawable/start_button_normal"/>
-</selector>
View
9 apps/AppChooser/res/drawable/start_button_normal.xml
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="oval">
- <solid android:color="#00ff00"/>
- <size android:width="100dp"
- android:height="100dp"/>
- <stroke android:width="5dp"
- android:color="#ffffff"/>
-</shape>
View
9 apps/AppChooser/res/drawable/start_button_pressed.xml
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="oval">
- <solid android:color="#00aa00"/>
- <size android:width="100dp"
- android:height="100dp"/>
- <stroke android:width="5dp"
- android:color="#aaaaaa"/>
-</shape>
View
8 apps/AppChooser/res/drawable/stop_button.xml
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_enabled="false"
- android:drawable="@drawable/button_disabled"/>
- <item android:state_pressed="true"
- android:drawable="@drawable/stop_button_pressed"/>
- <item android:drawable="@drawable/stop_button_normal"/>
-</selector>
View
9 apps/AppChooser/res/drawable/stop_button_normal.xml
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="oval">
- <solid android:color="#ff0000"/>
- <size android:width="100dp"
- android:height="100dp"/>
- <stroke android:width="5dp"
- android:color="#ffffff"/>
-</shape>
View
9 apps/AppChooser/res/drawable/stop_button_pressed.xml
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="oval">
- <solid android:color="#aa0000"/>
- <size android:width="100dp"
- android:height="100dp"/>
- <stroke android:width="5dp"
- android:color="#aaaaaa"/>
-</shape>
View
17 apps/AppChooser/res/layout/app_item.xml
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="85dp"
- android:layout_height="120dp"
- android:gravity="center">
- <ImageView android:layout_width="80dp"
- android:layout_height="80dp"
- android:id="@+id/icon"
- android:src="@drawable/icon"
- android:adjustViewBounds="true"
- android:gravity="bottom|center_horizontal"/>
- <TextView android:layout_width="80dp"
- android:layout_height="35dp"
- android:id="@+id/name"
- android:gravity="top|center_horizontal"/>
-</LinearLayout>
View
46 apps/AppChooser/res/layout/main.xml
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"
- android:background="#ff404040"
- android:id="@+id/top_bar" >
- <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:layout_weight="1"
- android:id="@+id/robot_name_view"
- android:textSize="30sp" />
- <!--<ros.android.views.TurtlebotDashboard android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/dashboard"/>-->
- </LinearLayout>
- <GridView android:id="@+id/gridview"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:columnWidth="90dp"
- android:numColumns="auto_fit"
- android:verticalSpacing="10dp"
- android:horizontalSpacing="10dp"
- android:stretchMode="columnWidth"
- android:gravity="fill_vertical"
- android:layout_weight="1"/>
- <TextView android:id="@+id/status_view"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"/>
- <Button android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Stop all applications"
- android:onClick="stopApplicationsClicked"
- android:id="@+id/stop_applications"/>
- <Button android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Deactivate robot"
- android:onClick="deactivateRobotClicked"
- android:id="@+id/deactivate_robot"/>
- <Button android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Choose new master"
- android:onClick="chooseNewMasterClicked"/>
-</LinearLayout>
-
View
50 apps/AppChooser/res/layout/stub_app.xml
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:gravity="center_horizontal">
- <View android:layout_weight="1"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"/>
- <Button
- android:background="@drawable/start_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:onClick="onStartClicked"
- android:textStyle="bold"
- android:textSize="30sp"
- android:text="Start"
- android:id="@+id/start_button"
- />
- <View android:layout_weight="1"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"/>
- <Button
- android:background="@drawable/stop_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textStyle="bold"
- android:textSize="30sp"
- android:text="Stop"
- android:onClick="onStopClicked"
- android:id="@+id/stop_button"
- />
- <View android:layout_weight="1"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"/>
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="20sp"
- android:text="Exit"
- android:onClick="onExitClicked"
- />
- <View android:layout_weight="1"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"/>
- <TextView android:id="@+id/status_view"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"/>
-</LinearLayout>
-
View
4 apps/AppChooser/res/menu/app_chooser_menu.xml
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:title="Kill" android:id="@+id/kill"></item>
-</menu>
View
4 apps/AppChooser/res/values/strings.xml
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <string name="app_name">App Chooser</string>
-</resources>
View
116 apps/AppChooser/src/org/ros/android/app_chooser/AppAdapter.java
@@ -1,116 +0,0 @@
-/*
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2011, Willow Garage, Inc.
- * All rights reserved.
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of Willow Garage, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.ros.android.app_chooser;
-
-import android.graphics.BitmapFactory;
-import android.graphics.Bitmap;
-import android.widget.BaseAdapter;
-import android.widget.ImageView;
-import android.widget.TextView;
-import android.content.Context;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.LayoutInflater;
-import org.ros.message.app_manager.App;
-import java.util.ArrayList;
-
-public class AppAdapter extends BaseAdapter {
- private Context context;
- private ArrayList<App> apps;
- private ArrayList<App> runningApps;
-
- public AppAdapter(Context c, ArrayList<App> apps, ArrayList<App> runningApps) {
- context = c;
- this.apps = apps;
- this.runningApps = runningApps;
- }
-
- @Override
- public int getCount() {
- if (apps == null) {
- return 0;
- }
- return apps.size();
- }
-
- @Override
- public Object getItem(int position) {
- return null;
- }
-
- @Override
- public long getItemId(int position) {
- return 0;
- }
-
- boolean isAppRunning(App app) {
- if (app.name == null) {
- return false;
- }
- for (App c : this.runningApps) {
- if (app.name.equals(c.name)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Create a new View for each item referenced by the Adapter.
- */
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- // Using convert_view here seems to cause the wrong view to show
- // up sometimes, so I'm always making new ones. (hersh: am I really sure of this??)
- View view = inflater.inflate(R.layout.app_item, null);
- App app = apps.get(position);
- if( app.icon.data.length > 0 && app.icon.format != null &&
- (app.icon.format.equals("jpeg") || app.icon.format.equals("png")) ) {
- Bitmap iconBitmap = BitmapFactory.decodeByteArray( app.icon.data, 0, app.icon.data.length );
- if( iconBitmap != null ) {
- ImageView iv = (ImageView) view.findViewById(R.id.icon);
- iv.setImageBitmap(iconBitmap);
- }
- }
- TextView tv = (TextView) view.findViewById(R.id.name);
- tv.setText(app.display_name);
- if (isAppRunning(app)) {
- view.setBackgroundResource(R.drawable.highlight);
- } else {
- view.setBackgroundResource(0);
- }
- return view;
- }
-}
View
282 apps/AppChooser/src/org/ros/android/app_chooser/AppChooser.java
@@ -1,282 +0,0 @@
-/*
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2011, Willow Garage, Inc.
- * All rights reserved.
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of Willow Garage, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.ros.android.app_chooser;
-
-import android.os.Bundle;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemClickListener;
-import android.widget.GridView;
-import android.widget.TextView;
-import android.widget.Button;
-import org.ros.MessageListener;
-import org.ros.Node;
-import org.ros.exception.RosInitException;
-import org.ros.message.app_manager.App;
-import org.ros.message.app_manager.AppList;
-import ros.android.activity.RosAppActivity;
-import android.widget.LinearLayout;
-import ros.android.util.Dashboard;
-import android.app.AlertDialog;
-import android.content.DialogInterface;
-
-import org.ros.ServiceResponseListener;
-import org.ros.message.app_manager.StatusCodes;
-import org.ros.service.app_manager.StopApp;
-
-import java.util.ArrayList;
-
-/**
- * Show a grid of applications that a given robot is capable of, and launch
- * whichever is chosen.
- */
-public class AppChooser extends RosAppActivity {
-
- private ArrayList<App> availableAppsCache;
- private ArrayList<App> runningAppsCache;
- private long availableAppsCacheTime;
- private Dashboard dashboard;
- private TextView robotNameView;
- private Button deactivate;
- private Button stopApps;
-
- public AppChooser() {
- availableAppsCache = new ArrayList<App>();
- availableAppsCacheTime = 0;
- dashboard = new Dashboard(this);
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- robotNameView = (TextView) findViewById(R.id.robot_name_view);
-
- deactivate = (Button) findViewById(R.id.deactivate_robot);
- deactivate.setVisibility(deactivate.GONE);
- stopApps = (Button) findViewById(R.id.stop_applications);
- stopApps.setVisibility(stopApps.GONE);
-
- dashboard.setView((LinearLayout)findViewById(R.id.top_bar),
- new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
- LinearLayout.LayoutParams.WRAP_CONTENT));
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- setStatus("");
- // TODO: start spinner
- updateAppList(availableAppsCache, runningAppsCache);
- }
-
- /**
- * Must be run in UI thread.
- *
- * @param apps
- */
- protected void updateAppList(final ArrayList<App> apps, final ArrayList<App> runningApps) {
- Log.i("RosAndroid", "updating gridview");
- GridView gridview = (GridView) findViewById(R.id.gridview);
- gridview.setAdapter(new AppAdapter(AppChooser.this, apps, runningApps));
- gridview.setOnItemClickListener(new OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
- AppLauncher.launch(AppChooser.this, apps.get(position));
- }
- });
- if (runningApps != null) {
- if (runningApps.toArray().length != 0) {
- stopApps.setVisibility(stopApps.VISIBLE);
- } else {
- stopApps.setVisibility(stopApps.GONE);
- }
- }
- Log.i("RosAndroid", "gridview updated");
- }
-
- @Override
- protected void onNodeCreate(Node node) {
- Log.i("RosAndroid", "AppChooser.onNodeCreate");
- try {
- super.onNodeCreate(node);
- } catch( Exception ex ) {
- safeSetStatus("Failed: " + ex.getMessage());
- node = null;
- return;
- }
-
- if (getCurrentRobot().getRobotId().getControlUri() != null) {
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- deactivate.setVisibility(deactivate.VISIBLE);
- }});
- }
-
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- robotNameView.setText(getCurrentRobot().getRobotName());
- }});
-
-
- try {
- dashboard.start(node);
- } catch (RosInitException ex) {
- safeSetStatus("Failed: " + ex.getMessage());
- }
-
-
- if (appManager == null) {
- safeSetStatus("Robot not available");
- return;
- }
-
- //Note, I've temporarily disabled caching.
- if (System.currentTimeMillis() - availableAppsCacheTime >= 0 * 1000) {
- Log.i("RosAndroid", "sending list apps request");
- }
-
- try {
- appManager.addAppListCallback(new MessageListener<AppList>() {
- @Override
- public void onNewMessage(AppList message) {
- availableAppsCache = message.available_apps;
- runningAppsCache = message.running_apps;
- Log.i("RosAndroid", "ListApps.Response: " + availableAppsCache.size() + " apps");
- availableAppsCacheTime = System.currentTimeMillis();
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- updateAppList(availableAppsCache, runningAppsCache);
- }
- });
- }
-
- });
- } catch (RosInitException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- }
-
- @Override
- protected void onNodeDestroy(Node node) {
- Log.i("RosAndroid", "onNodeDestroy");
- super.onNodeDestroy(node);
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- deactivate.setVisibility(deactivate.GONE);
- }});
- dashboard.stop();
- }
-
- public void chooseNewMasterClicked(View view) {
- chooseNewMaster();
- }
-
- public void deactivateRobotClicked(View view) {
- new AlertDialog.Builder(this).setTitle("Deactivate Robot").setCancelable(false)
- .setMessage("Are you sure you want to deactivate the robot? This will power down the"
- + " robot's arms and allow others to run custom software on it.")
- .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int which) { terminateRobot(); }})
- .setNegativeButton("No", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int which) { }})
- .create().show();
- }
-
- public void stopApplicationsClicked(View view) {
- appManager.stopApp("*", new ServiceResponseListener<StopApp.Response>() {
- @Override
- public void onSuccess(StopApp.Response message) {
- if (message.stopped || message.error_code == StatusCodes.NOT_RUNNING) {
- //safeSetStatus("Stopped.");
- } else {
- //safeSetStatus("ERROR: " + message.message);
- }
- }
- @Override
- public void onFailure(Exception e) {
- //safeSetStatus("Failed: cannot contact robot!");
- }
- });
-
- }
-
- private void setStatus(String status_message) {
- TextView statusView = (TextView) findViewById(R.id.status_view);
- if (statusView != null) {
- statusView.setText(status_message);
- }
- }
-
- private void safeSetStatus(final String statusMessage) {
- final TextView statusView = (TextView) findViewById(R.id.status_view);
- if (statusView != null) {
- statusView.post(new Runnable() {
-
- @Override
- public void run() {
- statusView.setText(statusMessage);
- }
- });
- }
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.app_chooser_menu, menu);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.kill:
- android.os.Process.killProcess(android.os.Process.myPid());
- return true;
- default:
- return super.onOptionsItemSelected(item);
- }
- }
-}
View
131 apps/AppChooser/src/org/ros/android/app_chooser/AppLauncher.java
@@ -1,131 +0,0 @@
-/*
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2011, Willow Garage, Inc.
- * All rights reserved.
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of Willow Garage, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.ros.android.app_chooser;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.content.ActivityNotFoundException;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.util.Log;
-import org.ros.message.app_manager.App;
-import org.ros.message.app_manager.ClientApp;
-import ros.android.activity.AppManager;
-
-import java.util.ArrayList;
-
-public class AppLauncher {
- static private final String CLIENT_TYPE = "android";
-
- /** Launch a client app for the given robot app. */
- static public void launch(Activity parentActivity, App app) {
- ArrayList<ClientAppData> android_apps = new ArrayList<ClientAppData>();
-
- if (app.client_apps.size() == 0) {
- launchStubApp(parentActivity, app);
- return;
- }
-
- Log.i("RosAndroid", "launching robot app " + app.name + ". Found " + app.client_apps.size()
- + " client apps.");
-
- // Loop over all possible client apps to find the android ones.
- for (int i = 0; i < app.client_apps.size(); i++) {
- ClientApp client_app = app.client_apps.get(i);
- if (client_app.client_type != null && client_app.client_type.equals(CLIENT_TYPE)) {
- android_apps.add(new ClientAppData(client_app));
- }
- }
-
- Log.i("RosAndroid", "launching robot app " + app.name + ". Found " + android_apps.size()
- + " android apps.");
-
- // TODO: filter out android apps which are not appropriate for
- // this device by looking at specific entries in the manager_data_
- // map of each app in android_apps.
- ArrayList<ClientAppData> appropriateAndroidApps = android_apps;
-
- // Loop over all android apps, trying to launch one.
- for (int i = 0; i < appropriateAndroidApps.size(); i++) {
- ClientAppData appData = appropriateAndroidApps.get(i);
- Intent intent = appData.createIntent();
- intent.putExtra(AppManager.PACKAGE + ".robot_app_name", app.name);
- try {
- Log.i("RosAndroid", "trying to startActivity( action: " + intent.getAction() + " )");
- parentActivity.startActivity(intent);
- return;
- } catch (ActivityNotFoundException e) {
- Log.i("RosAndroid", "activity not found for action: " + intent.getAction());
- }
- }
-
- Log.i("RosAndroid", "showing not-installed dialog.");
-
- // TODO:
- // Loop over all android apps, trying to install one. (??)
- // For now, just show a failure dialog.
- AlertDialog.Builder dialog = new AlertDialog.Builder(parentActivity);
- dialog.setTitle("Android app not installed.");
- dialog
- .setMessage("This robot app requires a client user interface app, but none of the applicable android apps are installed.");
- dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dlog, int i) {
- dlog.dismiss();
- }
- });
- }
-
- /** Launch the "stub" app */
- static public void launchStubApp(Activity parentActivity, App robotApp) {
- Intent intent = new Intent(parentActivity, StubAppActivity.class);
- intent.putExtra(AppManager.PACKAGE + ".robot_app_display_name", robotApp.display_name);
- intent.putExtra(AppManager.PACKAGE + ".robot_app_name", robotApp.name);
- try {
- parentActivity.startActivity(intent);
- return;
- } catch (ActivityNotFoundException e) {
- AlertDialog.Builder dialog = new AlertDialog.Builder(parentActivity);
- dialog.setTitle("Android ROS stub app not installed.");
- dialog
- .setMessage("This robot app requires the stub client user interface app, but it is missing.");
- dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dlog, int i) {
- dlog.dismiss();
- }
- });
- }
- }
-}
View
89 apps/AppChooser/src/org/ros/android/app_chooser/ClientAppData.java
@@ -1,89 +0,0 @@
-/*
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2011, Willow Garage, Inc.
- * All rights reserved.
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of Willow Garage, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.ros.android.app_chooser;
-
-import android.content.Intent;
-
-import java.util.HashMap;
-import java.util.List;
-
-import org.ros.message.app_manager.ClientApp;
-import org.ros.message.app_manager.KeyValue;
-
-/**
- * Convenience class which populates HashMaps with manager_data and app_data
- * from the corresponding KeyValue arrays in the ClientApp message.
- */
-public class ClientAppData {
- public HashMap<String, String> managerData;
- public List<KeyValue> appData;
-
- public ClientAppData(ClientApp clientApp) {
- managerData = keyValueListToMap(clientApp.manager_data);
- appData = clientApp.app_data;
- }
-
- public Intent createIntent() {
- Intent intent = new Intent();
-
- // Set up standard intent fields.
- if( managerData.get("intent-action" ) != null ) {
- intent.setAction(managerData.get("intent-action"));
- }
- if( managerData.get("intent-category") != null ) {
- intent.addCategory(managerData.get("intent-category"));
- }
- if( managerData.get("intent-type") != null ) {
- intent.setType(managerData.get("intent-type"));
- }
- // Can we handle classname and package name?
-
- // Copy all app data to "extra" data in the intent.
- for (int i = 0; i < appData.size(); i++) {
- KeyValue kv = appData.get(i);
- intent.putExtra(kv.key, kv.value);
- }
-
- return intent;
- }
-
- private HashMap<String, String> keyValueListToMap(List<KeyValue> kvl) {
- HashMap<String, String> map = new HashMap<String, String>();
- for (int i = 0; i < kvl.size(); i++) {
- KeyValue kv = kvl.get(i);
- map.put(kv.key, kv.value);
- }
- return map;
- }
-}
View
44 apps/AppChooser/src/org/ros/android/app_chooser/ImageWithLabel.java
@@ -1,44 +0,0 @@
-/*
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2011, Willow Garage, Inc.
- * All rights reserved.
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of Willow Garage, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.ros.android.app_chooser;
-
-public class ImageWithLabel {
- public ImageWithLabel(int imageResourceId, String label) {
- this.imageResourceId = imageResourceId;
- this.label = label;
- }
-
- public int imageResourceId;
- public String label;
-}
View
55 apps/AppChooser/src/org/ros/android/app_chooser/LabelledIconView.java
@@ -1,55 +0,0 @@
-/*
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2011, Willow Garage, Inc.
- * All rights reserved.
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of Willow Garage, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.ros.android.app_chooser;
-
-import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.view.Gravity;
-import android.widget.TextView;
-
-public class LabelledIconView extends TextView {
- public LabelledIconView(Context context) {
- super(context);
- setGravity(Gravity.CENTER);
- }
-
- public void setIcon(int imageResource) {
- Drawable drawable = null;
- if (imageResource != 0) {
- drawable = getContext().getResources().getDrawable(imageResource);
- drawable.setBounds(0, 0, 85, 85);
- }
- setCompoundDrawables(null, drawable, null, null);
- }
-}
View
191 apps/AppChooser/src/org/ros/android/app_chooser/StubAppActivity.java
@@ -1,191 +0,0 @@
-/*
- * Software License Agreement (BSD License)
- *
- * Copyright (c) 2011, Willow Garage, Inc.
- * All rights reserved.
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of Willow Garage, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.ros.android.app_chooser;
-
-import android.os.Bundle;
-import android.util.Log;
-import android.view.View;
-import android.widget.Button;
-import android.widget.TextView;
-
-import org.ros.Node;
-import org.ros.ServiceResponseListener;
-import org.ros.message.app_manager.StatusCodes;
-import org.ros.service.app_manager.StartApp;
-import org.ros.service.app_manager.StopApp;
-
-import ros.android.activity.AppStartCallback;
-import ros.android.activity.AppManager;
-import ros.android.activity.RosAppActivity;
-
-public class StubAppActivity extends RosAppActivity implements AppStartCallback, AppManager.TerminationCallback {
- private String robotAppName;
- private String robotAppDisplayName;
- private TextView statusView;
- private Button startButton;
- private Button stopButton;
-
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- robotAppName = getIntent().getStringExtra(AppManager.PACKAGE + ".robot_app_name");
- robotAppDisplayName = getIntent().getStringExtra(
- AppManager.PACKAGE + ".robot_app_display_name");
-
- setTitle(robotAppDisplayName);
- setContentView(R.layout.stub_app);
- statusView = (TextView) findViewById(R.id.status_view);
- stopButton = (Button) findViewById(R.id.stop_button);
- startButton = (Button) findViewById(R.id.start_button);
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- // RosActivity super-superclass onPause() destroys the node
- // running appManager, so disable the buttons until onNodeCreate()
- // is called with a valid appManager.
- setButtonsEnabled(false);
- }
-
- public void onAppTermination() {
- safeSetStatus("Application finished.");
- }
-
- private void startApp() {
- if( appManager == null ) {
- safeSetStatus("Failed: appManager is not ready.");
- return;
- }
- appManager.startApp(robotAppName, new ServiceResponseListener<StartApp.Response>() {
- @Override
- public void onSuccess(StartApp.Response message) {
- if (message.started) {
- safeSetStatus("started");
- } else {
- safeSetStatus(message.message);
- }
- }
-
- @Override
- public void onFailure(Exception e) {
- safeSetStatus("Failed: " + e.getMessage());
- }
- });
- }
-
- public void onStartClicked(View view) {
- setStatus("Starting...");
- // TODO: add guard so that we cannot start multiple times
- startApp();
- setStatus("Launching");
- }
-
- public void onStopClicked(View view) {
- if( appManager == null ) {
- setStatus("Failed: appManager is not ready.");
- return;
- }
- setStatus("Stopping...");
- appManager.stopApp("*", new ServiceResponseListener<StopApp.Response>() {
-
- @Override
- public void onSuccess(StopApp.Response message) {
- if (message.stopped || message.error_code == StatusCodes.NOT_RUNNING) {
- safeSetStatus("Stopped.");
- } else {
- safeSetStatus("ERROR: " + message.message);
- }
- }
-
- @Override
- public void onFailure(Exception e) {
- safeSetStatus("Failed: cannot contact robot!");
- }
- });
- }
-
- public void onExitClicked(View view) {
- finish();
- }
-
- /**
- * Set the status text. Safe to call from any thread.
- */
- private void safeSetStatus(final String status) {
- statusView.post(new Runnable() {
- @Override
- public void run() {
- setStatus(status);
- }
- });
- }
-
- private void setStatus(String status) {
- statusView.setText(status);
- }
-
- @Override
- public void appStartResult(boolean success, int resultCode, String message) {
- if (success) {
- safeSetStatus("started");
- } else {
- safeSetStatus(message);
- }
- }
-
- private void setButtonsEnabled(final boolean enabled) {
- statusView.post(new Runnable() {
- @Override
- public void run() {
- stopButton.setEnabled(enabled);
- startButton.setEnabled(enabled);
- }
- });
- }
-
- @Override
- protected void onNodeCreate(Node node) {
- super.onNodeCreate(node);
- Log.i("StubAppActivity", "Name: " + robotAppName);
- if( appManager == null ) {
- safeSetStatus("Failed to initialize appManager.");
- } else {
- appManager.addTerminationCallback(robotAppName, this);
- setButtonsEnabled(true);
- }
- }
-}
View
13 apps/Teleop/Makefile
@@ -1,13 +0,0 @@
-# Wrapper Makefile to call "ant" in the correct way.
-
-debug:
- ant -f build-wrapper.xml debug
-
-clean:
- ant -f build-wrapper.xml clean
-
-install:
- ant -f build-wrapper.xml install
-
-compile:
- ant -f build-wrapper.xml compile
View
8 apps/Teleop/build-wrapper.xml
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="build-wrapper" default="debug" basedir=".">
-
- <property name="app.dir" location="${basedir}"/>
-
- <import file="../build-app-common.xml"/>
-
-</project>
View
79 apps/Teleop/build.xml
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="Teleop" default="help">
-
-<!-- The local.properties file is created and updated by the 'android'
- tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <property file="local.properties" />
-
- <!-- The build.properties file can be created by you and is never touched
- by the 'android' tool. This is the place to change some of the
- default property values used by the Ant rules.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <property file="build.properties" />
-
- <!-- The default.properties file is created and updated by the 'android'
- tool, as well as ADT.
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <property file="default.properties" />
-
-
- <!-- Required pre-setup import -->
- <import file="${sdk.dir}/tools/ant/pre_setup.xml" />
-
-
-<!-- extension targets. Uncomment the ones where you want to do custom work
- in between standard targets -->
-<!--
- <target name="-pre-build">
- </target>
- <target name="-pre-compile">
- </target>
-
- [This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir}]
- <target name="-post-compile">
- </target>
--->
-
- <!-- Execute the Android Setup task that will setup some properties
- specific to the target, and import the build rules files.
-
- The rules file is imported from
- <SDK>/tools/ant/
- Depending on the project type it can be either:
- - main_rules.xml
- - lib_rules.xml
- - test_rules.xml
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <setup> task.
- - customize it to your needs.
- - Customize the whole script.
- - copy/paste the content of the rules files (minus the top node)
- into this file, *after* the <setup> task
- - disable the import of the rules by changing the setup task
- below to <setup import="false" />.
- - customize to your needs.
- -->
- <setup />
-
-</project>
View
36 apps/Teleop/proguard.cfg
@@ -1,36 +0,0 @@
--optimizationpasses 5
--dontusemixedcaseclassnames
--dontskipnonpubliclibraryclasses
--dontpreverify
--verbose
--optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-
--keep public class * extends android.app.Activity
--keep public class * extends android.app.Application
--keep public class * extends android.app.Service
--keep public class * extends android.content.BroadcastReceiver
--keep public class * extends android.content.ContentProvider
--keep public class * extends android.app.backup.BackupAgentHelper
--keep public class * extends android.preference.Preference
--keep public class com.android.vending.licensing.ILicensingService
-
--keepclasseswithmembernames class * {
- native <methods>;
-}
-
--keepclasseswithmembernames class * {
- public <init>(android.content.Context, android.util.AttributeSet);
-}
-
--keepclasseswithmembernames class * {
- public <init>(android.content.Context, android.util.AttributeSet, int);
-}
-
--keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
-}
-
--keep class * implements android.os.Parcelable {
- public static final android.os.Parcelable$Creator *;
-}
View
54 apps/build-app-common.xml
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- build file to be included from each app directory. -->
-<project name="build-app-common">
-
- <!-- Create the "local.properties" file in the app's directory. -->
- <exec command="which android"
- outputproperty="android.tool.path"
- failonerror="false"
- resultproperty="which.android.result"/>
- <fail message="android tool is not in your command path. Install the android sdk and add the tools directory to your path.">
- <condition>
- <not>
- <equals arg1="${which.android.result}" arg2="0"/>
- </not>
- </condition>
- </fail>
- <dirname property="android.tool.dir" file="${android.tool.path}"/>
- <dirname property="android.sdk.dir" file="${android.tool.dir}"/>
- <echo file="${app.dir}/local.properties">
-# This file was automatically generated by ../build-app-common.xml.
-# Do not edit, your changes will be overwritten.
-sdk.dir=${android.sdk.dir}
-</echo>
-
- <property name="appmanandroid.root" location="${app.dir}/../.."/>
- <property name="appmanandroid.library" location="${appmanandroid.root}/library"/>
-
- <property file="${appmanandroid.root}/ros.properties" />
-
- <mkdir dir="${app.dir}/build/libs"/>
- <echo message="to dir ${app.dir}/build/libs" />
- <echo message="${ros.jarfileset}" />
- <copy todir="${app.dir}/build/libs" flatten="true">
- <files includes="${ros.jarfileset}" />
- </copy>
- <!-- Needed to delete two jar files that interfere with eachother.
- Hopefully this can be removed in the future. -->
- <delete>
- <fileset dir="${app.dir}/build/libs" includes="mockito**.jar"/>
- </delete>
- <delete>
- <fileset dir="${app.dir}/build/libs" includes="junit**.jar"/>
- </delete>
- <property name="external.libs.dir" location="${app.dir}/build/libs" />
- <property name="jar.libs.dir" location="${app.dir}/build/libs" />
-
- <!-- This imports the android-generated build file for the app. -->
- <import file="${app.dir}/build.xml"/>
-
- <echo message="project.libraries.src ${appmanandroid.library}/src"/>
- <path id="project.libraries.src">
- <pathelement location="${appmanandroid.library}/src"/>
- </path>
-</project>
View
39 apps/build.xml
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
- This build file branches the compile, install, and
- clean targets out to every subdirectory.
- -->
-<project basedir="." default="compile" name="appman_apps">
-
- <target name="compile">
- <subant target="compile">
- <fileset file="AppChooser/build-wrapper.xml" />
- <fileset file="Teleop/build-wrapper.xml" />
- <fileset file="MapNav/build-wrapper.xml" />
- </subant>
- </target>
-
- <target name="debug">
- <subant target="debug">
- <fileset file="AppChooser/build-wrapper.xml" />
- <fileset file="Teleop/build-wrapper.xml" />
- </subant>
- </target>
-
- <target name="install">
- <subant target="install">
- <fileset file="AppChooser/build-wrapper.xml" />
- <fileset file="Teleop/build-wrapper.xml" />
- </subant>
- </target>
-
- <target name="clean">
- <subant target="clean">
- <fileset file="AppChooser/build-wrapper.xml" />
- <fileset file="Teleop/build-wrapper.xml" />
- </subant>
- <delete includeemptydirs="true">
- <fileset dir="${basedir}" includes="*/build/**"/>
- </delete>
- </target>
-</project>
View
136 build_app.xml
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- build file to be included from each app directory. -->
-<project name="build-app-common">
- <!-- Create the "local.properties" file in the app's directory. -->
- <exec command="which android"
- outputproperty="android.tool.path"
- failonerror="false"
- resultproperty="which.android.result"/>
- <fail message="android tool is not in your command path. Install the android sdk and add the tools directory to your path.">
- <condition>
- <not>
- <equals arg1="${which.android.result}" arg2="0"/>
- </not>
- </condition>
- </fail>
- <dirname property="android.tool.dir" file="${android.tool.path}"/>
- <dirname property="android.sdk.dir" file="${android.tool.dir}"/>
- <echo file="local.properties">
-# This file was automatically generated by ../build-app-common.xml.
-# Do not edit, your changes will be overwritten.
-sdk.dir=${android.sdk.dir}
- </echo>
-
- <property environment="env"/>
- <!--property name="target" value="1.6"/>
- <property name="source" value="1.6"/ -->
-
- <!-- directories -->
- <property name="pwd" location="."/>
- <property name="app.dir" location="."/>
-
- <path id="project.libraries.src">
- <pathelement location="${ros.pkg.android.dir}/library/src"/>
- </path>
-
-
-
- <mkdir dir="build/libs"/>
- <echo message="to dir build/libs" />
- <echo message="${ros.jarfileset}" />
- <copy todir="build/libs" flatten="true">
- <files includes="${ros.jarfileset}" />
- </copy>
- <!-- Needed to delete two jar files that interfere with eachother.
- Hopefully this can be removed in the future. -->
- <delete>
- <fileset dir="build/libs" includes="mockito**.jar"/>
- </delete>
- <delete>
- <fileset dir="build/libs" includes="junit**.jar"/>
- </delete>
-
- <property name="external.libs.dir" location="build/libs" />
- <property name="jar.libs.dir" location="build/libs" />
-
- <!-- The local.properties file is created and updated by the 'android'
- tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <property file="local.properties" />
-
- <!-- The build.properties file can be created by you and is never touched
- by the 'android' tool. This is the place to change some of the
- default property values used by the Ant rules.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <property file="build.properties" />
-
- <!-- The default.properties file is created and updated by the 'android'
- tool, as well as ADT.
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <property file="default.properties" />
-
- <!-- Required pre-setup import -->
- <import file="${sdk.dir}/tools/ant/pre_setup.xml" />
-
-
- <!-- extension targets. Uncomment the ones where you want to do custom work
- in between standard targets -->
- <!--
- <target name="-pre-build">
- </target>
- <target name="-pre-compile">
- </target>
-
- [This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir}]
- <target name="-post-compile">
- </target>
- -->
-
- <!-- Execute the Android Setup task that will setup some properties
- specific to the target, and import the build rules files.
-
- The rules file is imported from
- <SDK>/tools/ant/
- Depending on the project type it can be either:
- - main_rules.xml
- - lib_rules.xml
- - test_rules.xml
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <setup> task.
- - customize it to your needs.
- - Customize the whole script.
- - copy/paste the content of the rules files (minus the top node)
- into this file, *after* the <setup> task
- - disable the import of the rules by changing the setup task
- below to <setup import="false" />.
- - customize to your needs.
- -->
- <target name="clean">
- <echo message="cleaning build/libs/*" />
- <delete>
- <fileset dir="build/libs" includes="**.jar"/>
- </delete>
- </target>
-
- <setup />
-</project>
View
0 apps/Teleop/default.properties → default.properties
File renamed without changes.
View
14 library/.classpath
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="srv_gen/java"/>
- <classpathentry kind="src" path="msg_gen/java"/>
- <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
- <classpathentry combineaccessrules="false" kind="src" path="/java"/>
- <classpathentry kind="lib" path="/java/lib/guava-r07.jar"/>
- <classpathentry combineaccessrules="false" kind="src" path="/RosAndroid"/>
- <classpathentry kind="lib" path="libs/snakeyaml-android-1.8-SNAPSHOT.jar"/>
- <classpathentry kind="lib" path="libs/vecmath.jar"/>
- <classpathentry kind="src" path="gen"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
View
33 library/.project
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>AppManAndroid</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.ApkBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
View
24 library/AndroidManifest.xml
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="ros.android.activity"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-sdk android:minSdkVersion="9"/>
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
- <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
-
- <application android:icon="@drawable/icon" android:label="@string/app_name">
- <activity android:name=".AppManAndroid" android:label="@string/app_name">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
-
- <activity android:name="activities.MasterChooserActivity"
- android:label="@string/app_name">
- </activity>
-
- </application>
-</manifest>
View
10 library/README
@@ -1,10 +0,0 @@
-This is a cononical ROS for android library, meant to provide a swiss army knife
-of functionality to any poor soul who wishes to create android apps that use ROS.
-
-To build the library with ant:
-./project_create.sh
-ant compile
-
-Not really useful standalone, see the apps directory.
-
-
View
1 library/create_project.sh
@@ -1 +0,0 @@
-android update lib-project --target 11 --path .
View
12 library/default.properties
@@ -1,12 +0,0 @@
-# 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 use,
-# "build.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=android-9
-android.library=true
View
6 library/libs/README-snakeyaml.txt
@@ -1,6 +0,0 @@
-The jar file snakeyaml-android-1.8-SNAPSHOT.jar comes from
-
-http://code.google.com/p/snakeyaml/downloads/detail?name=snakeyaml-android-1.8-SNAPSHOT.jar
-
-And is a modification of the regular snakeyaml code to work without
-JavaBeans stuff, which Android apparently doesn't have.
View
BIN library/libs/snakeyaml-android-1.8-SNAPSHOT.jar
Binary file not shown.
View
BIN library/libs/vecmath.jar
Binary file not shown.
View
BIN library/res/drawable-hdpi/icon.png
Deleted file not rendered
View
BIN library/res/drawable-hdpi/pr2.jpg
Deleted file not rendered
View
BIN library/res/drawable-hdpi/qrcode.png
Deleted file not rendered
View
BIN library/res/drawable-hdpi/question_mark.jpg