Browse files

aFreeRDP: initial release

This is the initial release of aFreeRDP the FreeRDP Android client.
For build instructions have a look to docs/README.android.
  • Loading branch information...
1 parent 2fa23e5 commit f239e1f9c47738035c7609152c50675f819f2443 @bmiklautz bmiklautz committed Jan 29, 2013
Showing with 16,217 additions and 1,126 deletions.
  1. +28 −0 CMakeLists.txt
  2. +0 −1 client/.gitignore
  3. +8 −0 client/Android/.classpath
  4. +10 −0 client/Android/.gitignore
  5. +33 −0 client/Android/.project
  6. +109 −0 client/Android/AndroidManifest.xml.cmake
  7. +64 −0 client/Android/CMakeLists.txt
  8. BIN client/Android/assets/about_page/FreeRDP_Logo.png
  9. +202 −0 client/Android/assets/about_page/about.html
  10. +200 −0 client/Android/assets/about_page/about_phone.html
  11. BIN client/Android/assets/about_page/back.jpg
  12. BIN client/Android/assets/about_page/background_transparent.png
  13. BIN client/Android/assets/help_page/back.jpg
  14. +159 −0 client/Android/assets/help_page/gestures.html
  15. BIN client/Android/assets/help_page/gestures.png
  16. +159 −0 client/Android/assets/help_page/gestures_phone.html
  17. BIN client/Android/assets/help_page/gestures_phone.png
  18. BIN client/Android/assets/help_page/nav_gestures.png
  19. BIN client/Android/assets/help_page/nav_toolbar.png
  20. BIN client/Android/assets/help_page/nav_touch_pointer.png
  21. +178 −0 client/Android/assets/help_page/toolbar.html
  22. BIN client/Android/assets/help_page/toolbar.png
  23. +176 −0 client/Android/assets/help_page/toolbar_phone.html
  24. BIN client/Android/assets/help_page/toolbar_phone.png
  25. +164 −0 client/Android/assets/help_page/touch_pointer.html
  26. BIN client/Android/assets/help_page/touch_pointer.png
  27. +161 −0 client/Android/assets/help_page/touch_pointer_phone.html
  28. BIN client/Android/assets/help_page/touch_pointer_phone.png
  29. BIN client/Android/assets/welcome_page/1.png
  30. BIN client/Android/assets/welcome_page/2.png
  31. BIN client/Android/assets/welcome_page/back.jpg
  32. BIN client/Android/assets/welcome_page/new_connection.png
  33. +128 −0 client/Android/assets/welcome_page/welcome.html
  34. +121 −0 client/Android/assets/welcome_page/welcome_phone.html
  35. +91 −0 client/Android/build.xml
  36. +65 −0 client/Android/jni/CMakeLists.txt
  37. +34 −0 client/Android/jni/android_debug.h
  38. +289 −0 client/Android/jni/android_event.c
  39. +74 −0 client/Android/jni/android_event.h
  40. +841 −0 client/Android/jni/android_freerdp.c
  41. +53 −0 client/Android/jni/android_freerdp.h
  42. +179 −0 client/Android/jni/android_jni_callback.c
  43. +27 −0 client/Android/jni/android_jni_callback.h
  44. +101 −0 client/Android/jni/generated/android_freerdp_jni.c
  45. +28 −0 client/Android/jni/generated/android_freerdp_jni.h
  46. +125 −0 client/Android/jni/generated/com_freerdp_afreerdp_services_LibFreeRDP.h
  47. +2 −0 client/Android/local.properties.cmake
  48. +11 −0 client/Android/project.properties
  49. BIN client/Android/res/drawable-hdpi/icon_button_add.png
  50. BIN client/Android/res/drawable-hdpi/icon_edittext_clear.png
  51. BIN client/Android/res/drawable-hdpi/icon_edittext_search.png
  52. BIN client/Android/res/drawable-hdpi/icon_launcher_freerdp.png
  53. BIN client/Android/res/drawable-hdpi/icon_menu_about.png
  54. BIN client/Android/res/drawable-hdpi/icon_menu_add.png
  55. BIN client/Android/res/drawable-hdpi/icon_menu_close.png
  56. BIN client/Android/res/drawable-hdpi/icon_menu_disconnect.png
  57. BIN client/Android/res/drawable-hdpi/icon_menu_ext_keyboard.png
  58. BIN client/Android/res/drawable-hdpi/icon_menu_help.png
  59. BIN client/Android/res/drawable-hdpi/icon_menu_preferences.png
  60. BIN client/Android/res/drawable-hdpi/icon_menu_settings.png
  61. BIN client/Android/res/drawable-hdpi/icon_menu_sys_keyboard.png
  62. BIN client/Android/res/drawable-hdpi/icon_menu_touch_pointer.png
  63. BIN client/Android/res/drawable-hdpi/icon_star_off.png
  64. BIN client/Android/res/drawable-hdpi/icon_star_on.png
  65. BIN client/Android/res/drawable-hdpi/search_plate.9.png
  66. BIN client/Android/res/drawable-hdpi/sym_keyboard_delete.png
  67. BIN client/Android/res/drawable-hdpi/sym_keyboard_feedback_delete.png
  68. BIN client/Android/res/drawable-hdpi/sym_keyboard_feedback_return.png
  69. BIN client/Android/res/drawable-hdpi/sym_keyboard_return.png
  70. BIN client/Android/res/drawable-ldpi/icon_button_add.png
  71. BIN client/Android/res/drawable-ldpi/icon_edittext_search.png
  72. BIN client/Android/res/drawable-ldpi/icon_launcher_freerdp.png
  73. BIN client/Android/res/drawable-ldpi/icon_menu_about.png
  74. BIN client/Android/res/drawable-ldpi/icon_menu_add.png
  75. BIN client/Android/res/drawable-ldpi/icon_menu_disconnect.png
  76. BIN client/Android/res/drawable-ldpi/icon_menu_exit.png
  77. BIN client/Android/res/drawable-ldpi/icon_menu_ext_keyboard.png
  78. BIN client/Android/res/drawable-ldpi/icon_menu_help.png
  79. BIN client/Android/res/drawable-ldpi/icon_menu_preferences.png
  80. BIN client/Android/res/drawable-ldpi/icon_menu_settings.png
  81. BIN client/Android/res/drawable-ldpi/icon_menu_sys_keyboard.png
  82. BIN client/Android/res/drawable-ldpi/icon_menu_touch_pointer.png
  83. BIN client/Android/res/drawable-ldpi/icon_star_off.png
  84. BIN client/Android/res/drawable-ldpi/icon_star_on.png
  85. BIN client/Android/res/drawable-ldpi/search_plate.9.png
  86. BIN client/Android/res/drawable-ldpi/sym_keyboard_delete.png
  87. BIN client/Android/res/drawable-ldpi/sym_keyboard_feedback_delete.png
  88. BIN client/Android/res/drawable-ldpi/sym_keyboard_feedback_return.png
  89. BIN client/Android/res/drawable-ldpi/sym_keyboard_return.png
  90. BIN client/Android/res/drawable-mdpi/icon_button_add.png
  91. BIN client/Android/res/drawable-mdpi/icon_edittext_clear.png
  92. BIN client/Android/res/drawable-mdpi/icon_edittext_search.png
  93. BIN client/Android/res/drawable-mdpi/icon_launcher_freerdp.png
  94. BIN client/Android/res/drawable-mdpi/icon_menu_about.png
  95. BIN client/Android/res/drawable-mdpi/icon_menu_add.png
  96. BIN client/Android/res/drawable-mdpi/icon_menu_disconnect.png
  97. BIN client/Android/res/drawable-mdpi/icon_menu_exit.png
  98. BIN client/Android/res/drawable-mdpi/icon_menu_ext_keyboard.png
  99. BIN client/Android/res/drawable-mdpi/icon_menu_help.png
  100. BIN client/Android/res/drawable-mdpi/icon_menu_preferences.png
  101. BIN client/Android/res/drawable-mdpi/icon_menu_settings.png
  102. BIN client/Android/res/drawable-mdpi/icon_menu_sys_keyboard.png
  103. BIN client/Android/res/drawable-mdpi/icon_menu_touch_pointer.png
  104. BIN client/Android/res/drawable-mdpi/icon_star_off.png
  105. BIN client/Android/res/drawable-mdpi/icon_star_on.png
  106. BIN client/Android/res/drawable-mdpi/search_plate.9.png
  107. BIN client/Android/res/drawable-mdpi/sym_keyboard_delete.png
  108. BIN client/Android/res/drawable-mdpi/sym_keyboard_feedback_delete.png
  109. BIN client/Android/res/drawable-mdpi/sym_keyboard_feedback_return.png
  110. BIN client/Android/res/drawable-mdpi/sym_keyboard_return.png
  111. +61 −0 client/Android/res/drawable/button_background.xml
  112. BIN client/Android/res/drawable/icon_button_cancel.png
  113. BIN client/Android/res/drawable/icon_launcher_freerdp.png
  114. +13 −0 client/Android/res/drawable/separator_background.xml
  115. BIN client/Android/res/drawable/sym_keyboard_arrows.png
  116. BIN client/Android/res/drawable/sym_keyboard_arrows_black.png
  117. BIN client/Android/res/drawable/sym_keyboard_down_arrow.png
  118. BIN client/Android/res/drawable/sym_keyboard_down_arrow_black.png
  119. BIN client/Android/res/drawable/sym_keyboard_left_arrow.png
  120. BIN client/Android/res/drawable/sym_keyboard_left_arrow_black.png
  121. BIN client/Android/res/drawable/sym_keyboard_menu.png
  122. BIN client/Android/res/drawable/sym_keyboard_menu_black.png
  123. BIN client/Android/res/drawable/sym_keyboard_right_arrow.png
  124. BIN client/Android/res/drawable/sym_keyboard_right_arrow_black.png
  125. BIN client/Android/res/drawable/sym_keyboard_up_arrow.png
  126. BIN client/Android/res/drawable/sym_keyboard_up_arrow_black.png
  127. BIN client/Android/res/drawable/sym_keyboard_winkey.png
  128. BIN client/Android/res/drawable/sym_keyboard_winkey_black.png
  129. BIN client/Android/res/drawable/touch_pointer_active.png
  130. BIN client/Android/res/drawable/touch_pointer_default.png
  131. BIN client/Android/res/drawable/touch_pointer_extkeyboard.png
  132. BIN client/Android/res/drawable/touch_pointer_keyboard.png
  133. BIN client/Android/res/drawable/touch_pointer_lclick.png
  134. BIN client/Android/res/drawable/touch_pointer_rclick.png
  135. BIN client/Android/res/drawable/touch_pointer_reset.png
  136. BIN client/Android/res/drawable/touch_pointer_scroll.png
  137. +58 −0 client/Android/res/layout/bookmark_list_item.xml
  138. +61 −0 client/Android/res/layout/button_preference.xml
  139. +62 −0 client/Android/res/layout/credentials.xml
  140. +33 −0 client/Android/res/layout/dont_show_again_dialog.xml
  141. +42 −0 client/Android/res/layout/home.xml
  142. +23 −0 client/Android/res/layout/list_header.xml
  143. +75 −0 client/Android/res/layout/session.xml
  144. +66 −0 client/Android/res/layout/session_list_item.xml
  145. +55 −0 client/Android/res/layout/super_bar.xml
  146. +17 −0 client/Android/res/menu/bookmark_context_menu.xml
  147. +24 −0 client/Android/res/menu/home_menu.xml
  148. +26 −0 client/Android/res/menu/session_menu.xml
  149. +4 −0 client/Android/res/values-land/dimens.xml
  150. +14 −0 client/Android/res/values/attrs.xml
  151. +4 −0 client/Android/res/values/dimens.xml
  152. +72 −0 client/Android/res/values/integers.xml
  153. +179 −0 client/Android/res/values/strings.xml
  154. +57 −0 client/Android/res/values/theme.xml
  155. +38 −0 client/Android/res/xml/advanced_settings.xml
  156. +33 −0 client/Android/res/xml/application_settings.xml
  157. +54 −0 client/Android/res/xml/bookmark_settings.xml
  158. +18 −0 client/Android/res/xml/credentials_settings.xml
  159. +46 −0 client/Android/res/xml/cursor_keyboard.xml
  160. +68 −0 client/Android/res/xml/modifiers_keyboard.xml
  161. +67 −0 client/Android/res/xml/numpad_keyboard.xml
  162. +22 −0 client/Android/res/xml/performance_flags.xml
  163. +22 −0 client/Android/res/xml/performance_flags_3g.xml
  164. +19 −0 client/Android/res/xml/screen_settings.xml
  165. +19 −0 client/Android/res/xml/screen_settings_3g.xml
  166. +26 −0 client/Android/res/xml/searchable.xml
  167. +68 −0 client/Android/res/xml/specialkeys_keyboard.xml
  168. +217 −0 client/Android/src/com/freerdp/afreerdp/application/GlobalApp.java
  169. +141 −0 client/Android/src/com/freerdp/afreerdp/application/GlobalSettings.java
  170. +52 −0 client/Android/src/com/freerdp/afreerdp/application/NetworkStateReceiver.java
  171. +29 −0 client/Android/src/com/freerdp/afreerdp/application/ScreenReceiver.java
  172. +95 −0 client/Android/src/com/freerdp/afreerdp/application/SessionState.java
  173. +658 −0 client/Android/src/com/freerdp/afreerdp/domain/BookmarkBase.java
  174. +57 −0 client/Android/src/com/freerdp/afreerdp/domain/ConnectionReference.java
  175. +107 −0 client/Android/src/com/freerdp/afreerdp/domain/ManualBookmark.java
  176. +83 −0 client/Android/src/com/freerdp/afreerdp/domain/PlaceholderBookmark.java
  177. +70 −0 client/Android/src/com/freerdp/afreerdp/domain/QuickConnectBookmark.java
  178. +75 −0 client/Android/src/com/freerdp/afreerdp/presentation/AboutActivity.java
  179. +112 −0 client/Android/src/com/freerdp/afreerdp/presentation/ApplicationSettingsActivity.java
  180. +450 −0 client/Android/src/com/freerdp/afreerdp/presentation/BookmarkActivity.java
  181. +29 −0 client/Android/src/com/freerdp/afreerdp/presentation/HelpActivity.java
  182. +417 −0 client/Android/src/com/freerdp/afreerdp/presentation/HomeActivity.java
  183. +1,161 −0 client/Android/src/com/freerdp/afreerdp/presentation/ScrollView2D.java
  184. +1,137 −0 client/Android/src/com/freerdp/afreerdp/presentation/SessionActivity.java
  185. +342 −0 client/Android/src/com/freerdp/afreerdp/presentation/SessionView.java
  186. +154 −0 client/Android/src/com/freerdp/afreerdp/presentation/ShortcutsActivity.java
  187. +360 −0 client/Android/src/com/freerdp/afreerdp/presentation/TouchPointerView.java
  188. +407 −0 client/Android/src/com/freerdp/afreerdp/services/BookmarkBaseGateway.java
  189. +143 −0 client/Android/src/com/freerdp/afreerdp/services/BookmarkDB.java
  190. +123 −0 client/Android/src/com/freerdp/afreerdp/services/FreeRDPSuggestionProvider.java
  191. +48 −0 client/Android/src/com/freerdp/afreerdp/services/HistoryDB.java
  192. +254 −0 client/Android/src/com/freerdp/afreerdp/services/LibFreeRDP.java
  193. +86 −0 client/Android/src/com/freerdp/afreerdp/services/ManualBookmarkGateway.java
  194. +105 −0 client/Android/src/com/freerdp/afreerdp/services/QuickConnectHistoryGateway.java
  195. +71 −0 client/Android/src/com/freerdp/afreerdp/services/SessionRequestHandlerActivity.java
  196. +133 −0 client/Android/src/com/freerdp/afreerdp/utils/BookmarkArrayAdapter.java
  197. +91 −0 client/Android/src/com/freerdp/afreerdp/utils/ButtonPreference.java
  198. +348 −0 client/Android/src/com/freerdp/afreerdp/utils/DoubleGestureDetector.java
  199. +562 −0 client/Android/src/com/freerdp/afreerdp/utils/GestureDetector.java
  200. +97 −0 client/Android/src/com/freerdp/afreerdp/utils/IntEditTextPreference.java
  201. +37 −0 client/Android/src/com/freerdp/afreerdp/utils/IntListPreference.java
  202. +690 −0 client/Android/src/com/freerdp/afreerdp/utils/KeyboardMapper.java
  203. +57 −0 client/Android/src/com/freerdp/afreerdp/utils/Mouse.java
  204. +185 −0 client/Android/src/com/freerdp/afreerdp/utils/SeparatedListAdapter.java
  205. +1,568 −1,125 cmake/AndroidToolchain.cmake
  206. +3 −0 cmake/ConfigOptions.cmake
  207. +20 −0 cmake/ConfigOptionsAndroid.cmake
  208. +2 −0 cmake/FindOpenSSL.cmake
  209. +1 −0 config.h.in
  210. +158 −0 docs/README.android
  211. +9 −0 libfreerdp/primitives/CMakeLists.txt
  212. +1 −0 scripts/.gitignore
  213. +6 −0 scripts/regenerate_jni_headers.sh
View
28 CMakeLists.txt
@@ -58,13 +58,23 @@ if (FREERDP_VERSION_SUFFIX)
else()
set(FREERDP_VERSION_FULL "${FREERDP_VERSION}")
endif()
+
+# Allow to search the host machine for git
+if(ANDROID)
+ SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER, BOTH)
+endif(ANDROID)
include(GetGitRevisionDescription)
+if(ANDROID)
+ SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER, ONLY)
+endif(ANDROID)
+
git_describe(GIT_REVISION --match "[0-9]*" --abbrev=4 --tags --always)
message(STATUS "Git Revision ${GIT_REVISION}")
# Turn on solution folders (2.8.4+)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+
# Default to release build type
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
@@ -183,6 +193,15 @@ if(APPLE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.4")
endif()
+# Android
+if(ANDROID)
+ if (NOT FREERDP_ANDROID_EXTERNAL_SSL_PATH)
+ message(STATUS "FREERDP_ANDROID_EXTERNAL_SSL_PATH not set! - Needs to be set if openssl is not found in the android NDK (which usually isn't)")
+ endif()
+ set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${FREERDP_ANDROID_EXTERNAL_SSL_PATH})
+ set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/client/Android/libs/${ANDROID_ABI})
+endif()
+
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
if(NOT ANDROID)
find_package(Threads REQUIRED)
@@ -471,4 +490,13 @@ set(CPACK_COMPONENT_GROUP_RUNTIME_DESCRIPTION "Runtime")
set(CPACK_COMPONENT_GROUP_APPLICATIONS_DESCRIPTION "Applications")
set(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION "Development")
+# Workaround to remove c++ compiler macros and defines for Eclipse.
+# If c++ macros/defines are set __cplusplus is also set which causes
+# problems when compiling freerdp/jni. To prevent this problem
+# we set the macros to "".
+if (ANDROID AND CMAKE_EXTRA_GENERATOR STREQUAL "Eclipse CDT4")
+ set(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS "")
+ message(STATUS "Disabled CXX system defines for eclipse (workaround).")
+endif()
+
include(CPack)
View
1 client/.gitignore
@@ -1,2 +1 @@
iOS
-Android
View
8 client/Android/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="gen"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+ <classpathentry kind="output" path="bin/classes"/>
+</classpath>
View
10 client/Android/.gitignore
@@ -0,0 +1,10 @@
+# Ignore directories
+bin/
+obj/
+gen/
+jni/external/*
+!libs
+libs/armeabi*
+AndroidManifest.xml
+local.properties
+!.project
View
33 client/Android/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>aFreeRDP</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
109 client/Android/AndroidManifest.xml.cmake
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ android:installLocation="auto"
+ package="com.freerdp.afreerdp"
+ android:versionCode="1"
+ android:versionName="@FREERDP_VERSION_FULL@" >
+
+ <uses-sdk android:targetSdkVersion="8" android:minSdkVersion="8"/>
+ <uses-permission android:name="android.permission.INTERNET"/>
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
+ <uses-permission android:name="com.android.vending.BILLING" />
+ <supports-screens android:anyDensity="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" />
+
+ <application android:name=".application.GlobalApp"
+ android:label="aFreeRDP"
+ android:icon="@drawable/icon_launcher_freerdp" >
+
+ <!-- Main activity -->
+ <activity android:name=".presentation.HomeActivity"
+ android:label="@string/app_title"
+ android:theme="@style/Theme.Main"
+ android:alwaysRetainTaskState="true"
+ >
+ <intent-filter android:label="@string/app_title">
+ <action android:name="android.intent.action.MAIN"/>
+ <category android:name="android.intent.category.LAUNCHER"/>
+ </intent-filter>
+ </activity>
+
+ <!-- Acra crash report dialog activity -->
+ <activity android:name="org.acra.CrashReportDialog"
+ android:theme="@android:style/Theme.Dialog" android:launchMode="singleInstance"
+ android:excludeFromRecents="true" android:finishOnTaskLaunch="true" />
+
+ <!-- Session request handler activity - used for search and internally to start sessions -->
+ <activity android:name=".services.SessionRequestHandlerActivity"
+ android:theme="@android:style/Theme.NoDisplay"
+ android:noHistory="true"
+ android:excludeFromRecents="true">
+ <intent-filter>
+ <action android:name="android.intent.action.SEARCH" />
+ </intent-filter>
+ <meta-data android:name="android.app.searchable"
+ android:resource="@xml/searchable" />
+ </activity>
+
+ <!-- Activity to create shortcuts -->
+ <activity android:name=".presentation.ShortcutsActivity"
+ android:theme="@style/Theme.Main"
+ android:label="@string/title_create_shortcut">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+
+ </activity>
+
+ <!-- It is recommended that you use an activity-alias to provide the "CREATE_SHORTCUT" -->
+ <!-- intent-filter. This gives you a way to set the text (and optionally the -->
+ <!-- icon) that will be seen in the launcher's create-shortcut user interface. -->
+ <activity-alias android:name=".presentation.CreateShortcuts"
+ android:targetActivity=".presentation.ShortcutsActivity"
+ android:label="@string/title_create_shortcut">
+ <!-- This intent-filter allows your shortcuts to be created in the launcher. -->
+ <intent-filter>
+ <action android:name="android.intent.action.CREATE_SHORTCUT" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ </activity-alias>
+
+ <activity android:name=".presentation.BookmarkActivity"
+ android:label="@string/title_bookmark_settings"
+ android:theme="@style/Theme.Settings">
+ </activity>
+ <activity android:name=".presentation.ApplicationSettingsActivity"
+ android:label="@string/title_application_settings"
+ android:theme="@style/Theme.Settings"
+ android:windowSoftInputMode="stateHidden">
+ </activity>
+ <activity android:name=".presentation.SessionActivity"
+ android:theme="@android:style/Theme.Black.NoTitleBar"
+ android:configChanges="orientation|keyboardHidden|keyboard"
+ android:windowSoftInputMode="adjustResize">
+ </activity>
+ <activity android:name=".presentation.AboutActivity"
+ android:label="@string/title_about"
+ android:theme="@style/Theme.Main">
+ </activity>
+ <activity android:name=".presentation.HelpActivity"
+ android:label="@string/title_help"
+ android:theme="@style/Theme.Main">
+ </activity>
+
+ <provider android:name=".services.FreeRDPSuggestionProvider"
+ android:authorities="com.freerdp.afreerdp.services.freerdpsuggestionprovider"
+ >
+ </provider>
+
+ <receiver android:name=".application.NetworkStateReceiver" android:enabled="true">
+ <intent-filter>
+ <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
+ </intent-filter>
+ </receiver>
+
+
+ </application>
+
+</manifest>
View
64 client/Android/CMakeLists.txt
@@ -0,0 +1,64 @@
+# FreeRDP: A Remote Desktop Protocol Implementation
+# Android Client
+#
+# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
+# Copyright 2013 Bernhard Miklautz <bmiklautz@thinstuff.at>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set(ANDROID_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
+set(ANDROID_PACKAGE_NAME "aFreeRDP")
+
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/AndroidManifest.xml.cmake ${CMAKE_CURRENT_SOURCE_DIR}/AndroidManifest.xml @ONLY)
+
+if (ANDROID_SDK)
+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/local.properties.cmake ${CMAKE_CURRENT_SOURCE_DIR}/local.properties @ONLY)
+endif()
+
+add_subdirectory(jni)
+
+
+if(ANDROID_BUILD_JAVA)
+ if (NOT ANDROID_SDK)
+ message(FATAL_ERROR "ANDROID_SDK not set but required for building the java gui (ANDROID_BUILD_JAVA)")
+ endif()
+
+ # And isn't shiped with the android ndk/sdk so
+ # we need to find it on the local machine
+ SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER, BOTH)
+ find_program(ANT_COMMAND ant)
+ SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER, ONLY)
+
+ if(ANT_COMMAND STREQUAL "ANT_COMMAND-NOTFOUND")
+ message(FATAL_ERROR "ant not found but required to build android java")
+ endif()
+
+ if(ANDROID_BUILD_JAVA_DEBUG)
+ set(ANDROID_BUILD_TYPE "debug")
+ set(APK "${ANDROID_SOURCE_DIR}/bin/${ANDROID_PACKAGE_NAME}-release-unsigned.apk")
+ else()
+ set(ANDROID_BUILD_TYPE "release")
+ set(APK "${ANDROID_SOURCE_DIR}/bin/${ANDROID_PACKAGE_NAME}-debug.apk")
+ endif()
+
+ # command to create the android package
+ add_custom_command(
+ OUTPUT "${APK}"
+ COMMAND ${ANT_COMMAND} ${ANDROID_BUILD_TYPE}
+ WORKING_DIRECTORY "${ANDROID_SOURCE_DIR}"
+ MAIN_DEPENDENCY AndroidManifest.xml
+ DEPENDS freerdp-android local.properties
+ )
+ add_custom_target(android-package ALL SOURCES "${APK}")
+ SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "gen;bin")
+endif()
View
BIN client/Android/assets/about_page/FreeRDP_Logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
202 client/Android/assets/about_page/about.html
@@ -0,0 +1,202 @@
+<html>
+ <head>
+ <meta name='viewport' content='width=device-width; initial-scale=1.0; maximum-scale=1.0;' />
+
+ <script language="javascript">
+function toggle() {
+ var ele = document.getElementById("toggleText");
+ var text = document.getElementById("displayText");
+ if(ele.style.display == "block") {
+ ele.style.display = "none";
+ text.innerHTML = "show";
+ }
+ else {
+ ele.style.display = "block";
+ text.innerHTML = "<b>hide</b>";
+ }
+}
+</script>
+
+ <style type="text/css">
+ @charset "utf-8";
+body {
+ font: 100%%/1.4 Helvetica;
+ background-color:#E9EBF8;
+ height: 100%%; width: 100%%; margin: 0;
+ background-image:url(back.jpg);
+ background-position:center;
+
+ text-align:center;
+}
+
+.centered-table {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+#headline{
+
+ background-color:#353639;
+ opacity:0.9;
+
+ color:FFF;
+ text-align:center;
+
+
+ }
+
+ #footer{
+ padding-top:10px;
+ }
+
+#footer img{
+ padding top:10 px;
+ }
+#article{
+
+
+background-color:#FFFFFF;
+opacity: 0.8;
+z-index:0;
+margin-bottom:3%%;
+padding-bottom:0.1%%;
+border-radius: 15px;
+border-top-left-radius:0px;
+border-top-right-radius:0px;
+color:#000;
+margin: 10px auto;
+position:relative;
+
+ }
+
+
+#introduction_headline{
+ width:inherit;
+ background-color:#353639;
+ opacity:0.9;
+ color:FFF;
+ text-align:center;
+ border-bottom-left-radius:15px;
+ border-bottom-right-radius:15px;
+
+
+ }
+
+#introduction{
+
+
+background-color:#FFFFFF;
+opacity: 0.8;
+z-index:0;
+margin-bottom:3%%;
+padding-bottom:0.1%%;
+border-radius: 10px;
+color:#000;
+ }
+
+#container
+{
+ margin-left: auto;
+ margin-right: auto;
+ width: 50em;
+ width:420px;
+}
+/* ~~ Element/tag selectors ~~ */
+ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
+ padding: 0;
+ margin: 0;
+}
+h1, h2, h3, h4, h5, h6, p {
+ margin-top: 0; /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
+ padding-right: 1px;
+ padding-left: 1px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method. */
+}
+a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
+ border: none;
+ alignment: right;}
+}
+
+/* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
+/*a:link {
+ color:#414958;
+ text-decoration: underline; unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
+
+
+a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
+ text-decoration: none;}
+
+
+
+
+ a:link { color:#0000FF; }
+
+
+
+* {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none; /* Disable selection/Copy of UIWebView */
+}
+
+
+
+ </style>
+ </head>
+ <body>
+
+
+
+
+ <div id="container">
+
+
+ <div id="introduction_headline">
+ <h2>aFreeRDP </br>Remote Desktop Client</h2>
+ </div>
+ <p>
+ <img src="FreeRDP_Logo.png" width="30%%"></p>
+ <div id="introduction">
+
+ aFreeRDP is an open source client
+ capable of natively using Remote Desktop Protocol (RDP) in order to remotely access your Windows desktop.</div>
+
+
+ <div id="article">
+ <div id="headline"><h3>Version Information</h3></div>
+ <p>
+ <table class="centered-table" border=0 cellspacing=1 cellpadding=3 >
+ <tr>
+ <td>aFreeRDP Version</td> <td>%1$s</td> </tr>
+ <tr> <td>System Version</td> <td>%2$s</td> </tr>
+ <tr> <td>Model</td> <td>%3$s</td> </tr>
+ </table>
+ </p>
+ </div>
+<div id="article">
+
+ <div id="headline">
+ <h3>Credits</h3>
+ </div>
+
+ aFreeRDP is a part of <a href="http://www.freerdp.com/">FreeRDP</a>
+
+</div>
+
+<div id="article">
+ <div id="headline">
+ <h3>License</h3>
+ </div>
+
+ This program is free software; you can redistribute it and/or modify it under the terms of the Mozilla Public License, v. 2.0.
+ You can obtain an online version of the License from <a href="http://mozilla.org/MPL/2.0/">http://mozilla.org/MPL/2.0/</a>.
+ </p>
+ <p>
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ </p>
+ <p>
+ A copy of the product's source code can be obtained from the FreeRDP GitHub repository at <a
+ href="https://github.com/FreeRDP/FreeRDP">https://github.com/FreeRDP/FreeRDP</a>.<br />
+ </p>
+ <br></div>
+ </body>
+</html>
View
200 client/Android/assets/about_page/about_phone.html
@@ -0,0 +1,200 @@
+<html>
+ <head>
+ <meta name='viewport' content='width=device-width; initial-scale=1.0; maximum-scale=1.0;' />
+
+ <script language="javascript">
+function toggle() {
+ var ele = document.getElementById("toggleText");
+ var text = document.getElementById("displayText");
+ if(ele.style.display == "block") {
+ ele.style.display = "none";
+ text.innerHTML = "show";
+ }
+ else {
+ ele.style.display = "block";
+ text.innerHTML = "<b>hide</b>";
+ }
+}
+</script>
+
+ <style type="text/css">
+ @charset "utf-8";
+body {
+ font: 100%%/1 Helvetica;
+ background-color:#E9EBF8;
+ height: 100%%; width: 100%%; margin: 0;
+ background-image:url(back.jpg);
+ background-position:center;
+
+ text-align:center;
+}
+
+.centered-table {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+#headline{
+
+ background-color:#353639;
+ opacity:0.9;
+
+ color:FFF;
+ text-align:center;
+
+
+ }
+
+ #footer{
+ padding-top:10px;
+ }
+
+#footer img{
+ padding top:10 px;
+ }
+#article{
+
+
+background-color:#FFFFFF;
+opacity: 0.8;
+z-index:0;
+margin-bottom:3%%;
+padding-bottom:0.1%%;
+border-radius: 15px;
+border-top-left-radius:0px;
+border-top-right-radius:0px;
+color:#000;
+margin: 10px auto;
+position:relative;
+
+ }
+
+
+#introduction_headline{
+ width:inherit;
+ background-color:#353639;
+ opacity:0.9;
+ color:FFF;
+ text-align:center;
+ border-bottom-left-radius:15px;
+ border-bottom-right-radius:15px;
+
+
+ }
+
+#introduction{
+
+
+background-color:#FFFFFF;
+opacity: 0.8;
+z-index:0;
+margin-bottom:3%%;
+padding-bottom:0.1%%;
+border-radius: 10px;
+color:#000;
+ }
+
+#container
+{
+ margin-left: auto;
+ margin-right: auto;
+
+ width:300px;
+}
+/* ~~ Element/tag selectors ~~ */
+ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
+ padding: 0;
+ margin: 0;
+}
+h1, h2, h3, h4, h5, h6, p {
+ margin-top: 0; /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
+ padding-right: 1px;
+ padding-left: 1px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method. */
+}
+a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
+ border: none;
+ alignment: right;}
+}
+
+/* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
+/*a:link {
+ color:#414958;
+ text-decoration: underline; unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
+
+
+a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
+ text-decoration: none;}
+
+
+
+
+ a:link { color:#0000FF; }
+
+
+
+* {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none; /* Disable selection/Copy of UIWebView */
+}
+
+
+
+}
+
+ </style>
+ </head>
+ <body>
+
+
+
+
+ <div id="container">
+
+
+ <div id="introduction_headline">
+ <h2>aFreeRDP</br>Remote Desktop Client</h2>
+ </div>
+ <p>
+ <img src="FreeRDP_Logo.png" width="25%%"></p>
+ <div id="introduction">
+
+ <b>aFreeRDP</b> is an open source client for Windows Remote Services using Remote Desktop Protocol (RDP) in order to remotely access your Windows desktop.</div>
+
+
+ <div id="article">
+ <div id="headline"><h3>Version Information</h3></div>
+ <p>
+ <table class="centered-table" border=0 cellspacing=1 cellpadding=3 >
+ <tr>
+ <td>aFreerdp Version</td> <td>%1$s</td> </tr>
+ <tr> <td>System Version</td> <td>%2$s</td> </tr>
+ <tr> <td>Model</td> <td>%3$s</td> </tr>
+ </table>
+ </p>
+ </div>
+<div id="article">
+
+ <div id="headline">
+ <h3>Credits</h3>
+ </div>
+ aFreeRDP is part of <a href="http://www.freerdp.com/">FreeRDP</a>
+</div>
+<div id="article">
+ <div id="headline">
+ <h3>License</h3>
+ </div>
+
+ This program is free software; you can redistribute it and/or modify it under the terms of the Mozilla Public License, v. 2.0.
+ You can obtain an online version of the License from <a href="http://mozilla.org/MPL/2.0/">http://mozilla.org/MPL/2.0/</a>.
+ </p>
+ <p>
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ </p>
+ <p>
+ A copy of the product's source code can be obtained from the FreeRDP GitHub repository at <a
+ href="https://github.com/FreeRDP/FreeRDP">https://github.com/FreeRDP/FreeRDP</a>.<br />
+ </p> </div>
+ </div>
+ </body>
+</html>
View
BIN client/Android/assets/about_page/back.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN client/Android/assets/about_page/background_transparent.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN client/Android/assets/help_page/back.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
159 client/Android/assets/help_page/gestures.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;" />
+<title>Help</title>
+
+<style type="text/css">
+
+@charset "utf-8";
+
+
+#container{
+
+ text-align:center;
+ }
+
+body{
+ margin:0;
+ padding:<length> 0 0 0;
+ font: 100%/1.4 Helvetica;
+ background-image:url(back.jpg);
+ background-position:center;
+ color:#000;
+
+
+ }
+
+ #headline{
+
+ background-color:#353639;
+ opacity:0.9;
+
+ color:#000;
+ text-align:center;
+
+
+ }
+
+ #article{
+
+
+background-color:#FFFFFF;
+opacity: 0.8;
+z-index:0;
+margin-bottom:3%;
+padding-bottom:0.1%;
+border-radius: 15px;
+border-top-left-radius:0px;
+border-top-right-radius:0px;
+color:#000;
+margin: 10px auto;
+position:relative;
+
+
+ }
+
+#header{
+
+ height:auto;
+ width:100%;
+ background-color:#353639;
+ padding-bottom:5px;
+ padding-left:5px;
+ padding-right:5px;
+ padding-top:10px;
+ position: fixed;
+ top: 0;
+ left: 0;
+ height:40px;
+ overflow:visible;
+ min-width:400px;
+ z-index:20;
+
+
+ }
+
+
+
+
+#content{
+ padding-top:70px;
+ z-index:-20;
+ max-width:420px;
+
+ }
+
+
+
+/* ~~ Element/tag selectors ~~ */
+ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
+ padding: 0;
+ margin: 0;
+}
+
+h1, h2, h3, h4, h5, h6, p {
+ margin-top: 0; /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
+ padding-right: 1px;
+ padding-left: 1px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method.
+ */
+ color:#000;
+
+}
+
+a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
+ border: none;
+
+}
+
+/* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
+/*a:link {
+ color:#414958;
+ text-decoration: underline; unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
+
+
+a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
+ text-decoration: none;}
+
+
+* {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none; /* Disable selection/Copy of UIWebView */
+}
+
+
+
+
+
+
+</style>
+
+
+
+</head>
+
+<body>
+<div id="container">
+<center>
+<div id="header">
+ <a href="gestures.html"><img src="nav_gestures.png"></a>
+ <a href="toolbar.html"><img src="nav_toolbar.png"></a>
+ <a href="touch_pointer.html"><img src="nav_touch_pointer.png"></a>
+
+</div>
+
+<div id="content">
+<h1>Gestures</h1>
+<p>
+aFreeRDP is designed for touch sensitive devices.
+These gestures let you do the most usual operations with your fingers.</p>
+<p> <img src="gestures.png"></p>
+
+</div>
+</div>
+
+</body>
+</html>
View
BIN client/Android/assets/help_page/gestures.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
159 client/Android/assets/help_page/gestures_phone.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;" />
+<title>Help</title>
+
+<style type="text/css">
+
+@charset "utf-8";
+
+
+#container{
+
+ text-align:center;
+ color:#000;}
+
+body{
+ margin:0;
+ padding:<length> 0 0 0;
+ font: 100% Helvetica;
+ background-image:url(back.jpg);
+ background-position:center;
+
+
+ }
+
+ #headline{
+
+ background-color:#353639;
+ opacity:0.9;
+
+ color:FFF;
+ text-align:center;
+
+
+ }
+
+ #article{
+
+
+background-color:#FFFFFF;
+opacity: 0.8;
+z-index:0;
+margin-bottom:3%;
+padding-bottom:0.1%;
+border-radius: 15px;
+border-top-left-radius:0px;
+border-top-right-radius:0px;
+color:#000;
+margin: 10px auto;
+position:relative;
+
+
+ }
+
+#header{
+
+
+ width:100%;
+ background-color:#353639;
+ padding-bottom:1px;
+ padding-left:5px;
+ padding-right:5px;
+ padding-top:5px;
+ position: fixed;
+ top: 0;
+ left: 0;
+ height:30px;
+
+ min-width:250px;
+ z-index:20;
+
+
+ }
+
+
+
+
+#content{
+ padding-top:40px;
+ z-index:-20;
+ max-width:300px;
+
+ }
+
+/* ~~ Element/tag selectors ~~ */
+ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
+ padding: 0;
+ margin: 0;
+}
+
+h1, h2, h3, h4, h5, h6, p {
+ margin-top: 0; /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
+ padding-right: 1px;
+ padding-left: 1px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method.
+ */
+ color:#000;
+
+}
+
+a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
+ border: none;
+
+}
+
+/* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
+/*a:link {
+ color:#414958;
+ text-decoration: underline; unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
+
+
+a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
+ text-decoration: none;}
+
+
+* {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none; /* Disable selection/Copy of UIWebView */
+}
+
+
+
+
+</style>
+
+
+
+</head>
+
+
+
+
+<body>
+<div id="container">
+<center>
+<div id="header">
+
+<a href="gestures_phone.html"><img src="nav_gestures.png" height="90%"></a>
+ <a href="toolbar_phone.html"><img src="nav_toolbar.png" height="90%"></a>
+ <a href="touch_pointer_phone.html"><img src="nav_touch_pointer.png" height="90%""></a>
+
+</div>
+
+<div id="content">
+<h2> Gestures</h2>
+<p>
+aFreeRDP is designed for touch sensitive devices.
+These gestures let you do the most usual operations with your fingers.</p>
+<p> <img src="gestures_phone.png"></p>
+
+
+</div>
+</div>
+
+</body>
+</html>
View
BIN client/Android/assets/help_page/gestures_phone.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN client/Android/assets/help_page/nav_gestures.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN client/Android/assets/help_page/nav_toolbar.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN client/Android/assets/help_page/nav_touch_pointer.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
178 client/Android/assets/help_page/toolbar.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;" />
+<title>Help</title>
+
+<style type="text/css">
+
+@charset "utf-8";
+
+
+#container{
+
+ text-align:center;
+ color:#FFFFFF;}
+
+body{
+ margin:0;
+ padding:<length> 0 0 0;
+ font: 100%/1.4 Helvetica;
+ background-image:url(back.jpg);
+ background-position:center;
+
+
+ }
+
+ #headline{
+
+ background-color:#353639;
+
+
+ color:#FFF;
+ text-align:center;
+
+
+ }
+
+ #article{
+
+
+background-color:#FFFFFF;
+opacity: 0.8;
+z-index:0;
+margin-bottom:3%;
+padding-bottom:0.1%;
+border-radius: 15px;
+border-top-left-radius:0px;
+border-top-right-radius:0px;
+color:#000;
+margin: 10px auto;
+position:relative;
+
+
+ }
+
+#header{
+
+ height:auto;
+ width:100%;
+ background-color:#353639;
+ padding-bottom:5px;
+ padding-left:5px;
+ padding-right:5px;
+ padding-top:10px;
+ position: fixed;
+ top: 0;
+ left: 0;
+ height:40px;
+ overflow:visible;
+ min-width:400px;
+ z-index:20;
+
+
+ }
+
+
+
+
+#content{
+ padding-top:70px;
+ z-index:-20;
+ max-width:420px;
+
+ }
+
+
+/* ~~ Element/tag selectors ~~ */
+ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
+ padding: 0;
+ margin: 0;
+}
+
+h1, h2, h3, h4, h5, h6, p {
+ margin-top: 0; /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
+ padding-right: 1px;
+ padding-left: 1px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method.
+ */
+color:#000;
+
+}
+
+a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
+ border: none;
+
+}
+
+/* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
+/*a:link {
+ color:#414958;
+ text-decoration: underline; unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
+
+
+a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
+ text-decoration: none;}
+
+
+* {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none; /* Disable selection/Copy of UIWebView */
+}
+
+
+
+
+
+
+</style>
+
+
+
+</head>
+
+
+
+
+<body>
+<div id="container">
+
+
+<center>
+
+
+<div id="header">
+
+ <a href="gestures.html"><img src="nav_gestures.png"></a>
+ <a href="toolbar.html"><img src="nav_toolbar.png"></a>
+ <a href="touch_pointer.html"><img src="nav_touch_pointer.png"></a>
+
+</div>
+
+<div id="content">
+
+<h1>Toolbar</h1>
+<p>
+With the toolbar you'll be able to display and hide the main tools in your session. This allows together with the touch pointer and the gestures an intuitiv workflow for remote computing on touch sensitive screens.
+</p>
+<p><img src="toolbar.png"></p>
+
+<div id="article">
+<div id="headline">
+<h3><span style="color:white">Keyboards</span></h3></div>
+Display/hide the default keyboard as well as an extended keyboard with function keys</div>
+<div id="article">
+<div id="headline"><h3><span style="color:white">Touch Pointer</span></h3></div>
+Display/hide the gesture controlled cursor</div>
+<div id="article">
+<div id="headline"><h3><span style="color:white">Disconnect</span></h3></div>
+Disconnect your current session. Please be aware that a disconnect is not the same as a log out.</div>
+
+</div>
+
+
+</div></center>
+</body>
+</html>
View
BIN client/Android/assets/help_page/toolbar.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
176 client/Android/assets/help_page/toolbar_phone.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;" />
+<title>Help</title>
+
+<style type="text/css">
+
+@charset "utf-8";
+
+
+#container{
+
+ text-align:center;
+ color:#FFFFFF;}
+
+body{
+ margin:0;
+ padding:<length> 0 0 0;
+ font: 100% Helvetica;
+ background-image:url(back.jpg);
+ background-position:center;
+
+
+ }
+
+ #headline{
+
+ background-color:#353639;
+ opacity:0.9;
+
+ color:FFF;
+ text-align:center;
+
+
+ }
+
+ #article{
+
+
+background-color:#FFFFFF;
+opacity: 0.8;
+z-index:0;
+margin-bottom:3%;
+padding-bottom:0.1%;
+border-radius: 15px;
+border-top-left-radius:0px;
+border-top-right-radius:0px;
+color:#000;
+margin: 10px auto;
+position:relative;
+
+
+ }
+
+#header{
+
+
+ width:100%;
+ background-color:#353639;
+ padding-bottom:1px;
+ padding-left:5px;
+ padding-right:5px;
+ padding-top:5px;
+ position: fixed;
+ top: 0;
+ left: 0;
+ height:30px;
+
+ min-width:250px;
+ z-index:20;
+
+
+ }
+
+
+
+
+#content{
+ padding-top:40px;
+ z-index:-20;
+ max-width:300px;
+
+ }
+
+
+/* ~~ Element/tag selectors ~~ */
+ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
+ padding: 0;
+ margin: 0;
+}
+
+h1, h2, h3, h4, h5, h6, p {
+ margin-top: 0; /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
+ padding-right: 1px;
+ padding-left: 1px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method.
+ */
+color:#000;
+
+}
+
+a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
+ border: none;
+
+}
+
+/* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
+/*a:link {
+ color:#414958;
+ text-decoration: underline; unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
+
+
+a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
+ text-decoration: none;}
+
+
+* {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none; /* Disable selection/Copy of UIWebView */
+}
+
+
+
+
+</style>
+
+
+
+</head>
+
+
+
+
+<body>
+<div id="container">
+
+
+<center>
+
+
+<div id="header">
+
+<a href="gestures_phone.html"><img src="nav_gestures.png" height="90%"></a>
+ <a href="toolbar_phone.html"><img src="nav_toolbar.png" height="90%"></a>
+ <a href="touch_pointer_phone.html"><img src="nav_touch_pointer.png" height="90%""></a>
+
+</div>
+
+<div id="content">
+
+<h2>Toolbar</h2>
+<p>
+With the toolbar you'll be able to display and hide the main tools in your session. This allows together with the touch pointer and the gestures an intuitiv workflow for remote computing on touch sensitive screens.
+</p>
+<p><img src="toolbar_phone.png"></p>
+
+<div id="article">
+<div id="headline">
+<h4><span style="color:white">Keyboards</h4></span></div>
+Display/hide the default keyboard as well as an extended keyboard with function keys</div>
+<div id="article">
+<div id="headline"><h4><span style="color:white">Touch Pointer</h4></div>
+Display/hide the gesture controlled cursor</div></span>
+<div id="article">
+<div id="headline"><h4><span style="color:white">Disconnect</span></h4></div>
+Disconnect your current session. Please be aware that a disconnect is not the same as a log out.</div>
+
+</div>
+
+
+</div></center>
+</body>
+</html>
View
BIN client/Android/assets/help_page/toolbar_phone.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
164 client/Android/assets/help_page/touch_pointer.html
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;" />
+<title>Help</title>
+
+<style type="text/css">
+
+@charset "utf-8";
+
+
+#container{
+
+ text-align:center;
+ color:#FFFFFF;}
+
+body{
+ margin:0;
+ padding:<length> 0 0 0;
+ font: 100%/1.4 Helvetica;
+ background-image:url(back.jpg);
+ background-position:center;
+
+
+ }
+
+ #headline{
+
+ background-color:#353639;
+ opacity:0.9;
+
+ color:FFF;
+ text-align:center;
+
+
+ }
+
+ #article{
+
+
+background-color:#FFFFFF;
+opacity: 0.8;
+z-index:0;
+margin-bottom:3%;
+padding-bottom:0.1%;
+border-radius: 15px;
+border-top-left-radius:0px;
+border-top-right-radius:0px;
+color:#000;
+margin: 10px auto;
+position:relative;
+
+
+ }
+
+#header{
+
+ height:auto;
+ width:100%;
+ background-color:#353639;
+ padding-bottom:5px;
+ padding-left:5px;
+ padding-right:5px;
+ padding-top:10px;
+ position: fixed;
+ top: 0;
+ left: 0;
+ height:40px;
+ overflow:visible;
+ min-width:400px;
+ z-index:20;
+
+
+ }
+
+
+
+
+#content{
+ padding-top:70px;
+ z-index:-20;
+ max-width:420px;
+
+ }
+
+
+/* ~~ Element/tag selectors ~~ */
+ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
+ padding: 0;
+ margin: 0;
+}
+
+h1, h2, h3, h4, h5, h6, p {
+ margin-top: 0; /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
+ padding-right: 1px;
+ padding-left: 1px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method.
+ */
+ color:#000;
+
+}
+
+a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
+ border: none;
+
+}
+
+/* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
+/*a:link {
+ color:#414958;
+ text-decoration: underline; unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
+
+
+a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
+ text-decoration: none;}
+
+
+* {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none; /* Disable selection/Copy of UIWebView */
+}
+
+
+
+
+
+
+</style>
+
+
+
+</head>
+
+
+
+
+<body>
+<div id="container">
+
+
+<center>
+
+
+<div id="header">
+
+ <a href="gestures.html"><img src="nav_gestures.png"></a>
+ <a href="toolbar.html"><img src="nav_toolbar.png"></a>
+ <a href="touch_pointer.html"><img src="nav_touch_pointer.png"></a>
+
+</div>
+
+<div id="content">
+
+<h1>Touch Pointer</h1>
+<p><img src="touch_pointer.png">
+</div>
+
+</center>
+</div>
+
+</body>
+</html>
View
BIN client/Android/assets/help_page/touch_pointer.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
161 client/Android/assets/help_page/touch_pointer_phone.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+
+<html>
+
+<head>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;" />
+<title>Help</title>
+
+<style type="text/css">
+
+@charset "utf-8";
+
+
+#container{
+
+ text-align:center;
+ color:#FFFFFF;}
+
+body{
+ margin:0;
+ padding:<length> 0 0 0;
+ font: 100% Helvetica;
+ background-image:url(back.jpg);
+ background-position:center;
+
+
+ }
+
+ #headline{
+
+ background-color:#353639;
+ opacity:0.9;
+
+ color:FFF;
+ text-align:center;
+
+
+ }
+
+ #article{
+
+
+background-color:#FFFFFF;
+opacity: 0.8;
+z-index:0;
+margin-bottom:3%;
+padding-bottom:0.1%;
+border-radius: 15px;
+border-top-left-radius:0px;
+border-top-right-radius:0px;
+color:#000;
+margin: 10px auto;
+position:relative;
+
+
+ }
+
+#header{
+
+
+ width:100%;
+ background-color:#353639;
+ padding-bottom:1px;
+ padding-left:5px;
+ padding-right:5px;
+ padding-top:5px;
+ position: fixed;
+ top: 0;
+ left: 0;
+ height:30px;
+
+ min-width:250px;
+ z-index:20;
+
+
+ }
+
+
+#content{
+ padding-top:40px;
+ z-index:-20;
+ max-width:300px;
+
+ }
+
+
+/* ~~ Element/tag selectors ~~ */
+ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
+ padding: 0;
+ margin: 0;
+}
+
+h1, h2, h3, h4, h5, h6, p {
+ margin-top: 0; /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
+ padding-right: 1px;
+ padding-left: 1px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method.
+ */
+color:#000;
+
+}
+
+a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
+ border: none;
+
+}
+
+/* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
+/*a:link {
+ color:#414958;
+ text-decoration: underline; unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
+
+
+a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
+ text-decoration: none;}
+
+
+* {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none; /* Disable selection/Copy of UIWebView */
+}
+
+
+
+
+</style>
+
+
+
+</head>
+
+
+
+
+<body>
+<div id="container">
+
+
+<center>
+
+
+<div id="header">
+
+<a href="gestures_phone.html"><img src="nav_gestures.png" height="90%"></a>
+ <a href="toolbar_phone.html"><img src="nav_toolbar.png" height="90%"></a>
+ <a href="touch_pointer_phone.html"><img src="nav_touch_pointer.png" height="90%""></a>
+
+</div>
+
+<div id="content">
+
+<h2>Touch Pointer</h2>
+<p><img src="touch_pointer_phone.png">
+</p>
+</div>
+
+</center>
+</div>
+
+</body>
+</html>
View
BIN client/Android/assets/help_page/touch_pointer_phone.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN client/Android/assets/welcome_page/1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN client/Android/assets/welcome_page/2.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN client/Android/assets/welcome_page/back.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN client/Android/assets/welcome_page/new_connection.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
128 client/Android/assets/welcome_page/welcome.html
@@ -0,0 +1,128 @@
+<html>
+ <head>
+ <meta name='viewport' content='width=device-width; initial-scale=1.0; maximum-scale=1.0;' />
+
+ <style type="text/css">
+
+ @charset "utf-8";
+body {
+ font: 100%/1.4 Helvetica;
+ background-color:#E9EBF8;
+ height: 100%; width: 100%; margin: 0;
+ background-image:url(back.jpg);
+}
+
+
+/* ~~ Element/tag selectors ~~ */
+
+h1, h2, h3, h4, h5, h6, p {
+ margin-top: 0; /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
+ padding-right: 1px;
+ padding-left: 1px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method. */
+}
+a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
+ border: none;
+ alignment: right;}
+
+
+/* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
+/*a:link {
+ color:#414958;
+ text-decoration: underline; unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
+
+
+a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
+ text-decoration: none;}
+
+#number
+{
+margin-left:0%;
+opacity:0.9;
+background:#DDD;
+}
+
+#content
+
+{
+ margin-left: auto;
+ margin-right: auto;
+ width:420px;
+
+}
+#headline{
+ width:inherit;
+ background-color:#353639;
+
+border-radius: 15px;
+ color:FFF;
+ text-align:center;
+ border-bottom-left-radius:0px;
+ border-bottom-right-radius:0px;
+
+
+ }
+#article{
+
+
+background-color:#FFFFFF;
+opacity: 0.8;
+z-index:0;
+margin-bottom:3%;
+padding-bottom:0.1%;
+border-radius: 18px;
+
+
+position:relative;
+
+
+ }
+