diff --git a/channels/audin/ChannelOptions.cmake b/channels/audin/ChannelOptions.cmake
index a9c21b41b..39ca402e8 100644
--- a/channels/audin/ChannelOptions.cmake
+++ b/channels/audin/ChannelOptions.cmake
@@ -4,7 +4,6 @@ set(OPTION_CLIENT_DEFAULT ON)
set(OPTION_SERVER_DEFAULT ON)
if(ANDROID)
- set(OPTION_CLIENT_DEFAULT OFF)
set(OPTION_SERVER_DEFAULT OFF)
endif()
diff --git a/client/Android/FreeRDPCore/.classpath b/client/Android/FreeRDPCore/.classpath
index 7bc01d9a9..7b510fb84 100644
--- a/client/Android/FreeRDPCore/.classpath
+++ b/client/Android/FreeRDPCore/.classpath
@@ -1,9 +1,9 @@
-
-
-
+
+
+
diff --git a/client/Android/FreeRDPCore/CMakeLists.txt b/client/Android/FreeRDPCore/CMakeLists.txt
index 7c90dc965..a77e2cfdd 100644
--- a/client/Android/FreeRDPCore/CMakeLists.txt
+++ b/client/Android/FreeRDPCore/CMakeLists.txt
@@ -28,6 +28,14 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/project.properties.cmake
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/ant.properties.cmake
${CMAKE_CURRENT_BINARY_DIR}/ant.properties @ONLY)
+# Generate a Java class with static members set to the CMake
+# configuration properties.
+set(JAVA_CFG "src/com/freerdp/freerdpcore/utils/BuildConfiguration.java")
+set(JAVA_CFG_OUT "${CMAKE_CURRENT_BINARY_DIR}/${JAVA_CFG}")
+set(JAVA_CFG_IN "${CMAKE_CURRENT_SOURCE_DIR}/${JAVA_CFG}.in")
+
+CONFIGURE_FILE(${JAVA_CFG_IN} ${JAVA_CFG_OUT})
+
file(COPY res DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
if (ANDROID_SDK)
diff --git a/client/Android/FreeRDPCore/res/layout/bookmark_list_item.xml b/client/Android/FreeRDPCore/res/layout/bookmark_list_item.xml
index 8903355aa..c4baa8c84 100644
--- a/client/Android/FreeRDPCore/res/layout/bookmark_list_item.xml
+++ b/client/Android/FreeRDPCore/res/layout/bookmark_list_item.xml
@@ -22,6 +22,7 @@
android:layout_height="wrap_content">
Login
No Servers
- Connecting ...
- Disconnecting ...
+ Connecting …
+ Disconnecting …
Connection Lost
Wrong Password
Invalid Username
@@ -182,8 +182,8 @@
Please enter your credentials
Create Shortcut
Shortcut name:
- Connecting ...
- Logging in ...
+ Connecting …
+ Logging in …
About aFreeRDP
Version: %1$s\n\u00A9 2012 Thinstuff Technologies GmbH
Save Connection Settings?
@@ -195,4 +195,6 @@
Are you sure you want to exit the application?
Delete Certificates?
Are you sure you want to delete all your cached Certificates?
+ Debug Level
+ Debug Settings
diff --git a/client/Android/FreeRDPCore/res/xml/bookmark_settings.xml b/client/Android/FreeRDPCore/res/xml/bookmark_settings.xml
index 0564537d7..4ecc2da77 100644
--- a/client/Android/FreeRDPCore/res/xml/bookmark_settings.xml
+++ b/client/Android/FreeRDPCore/res/xml/bookmark_settings.xml
@@ -26,7 +26,9 @@
-
+
-
+
+
+
+
+
diff --git a/client/Android/FreeRDPCore/res/xml/debug_settings.xml b/client/Android/FreeRDPCore/res/xml/debug_settings.xml
new file mode 100644
index 000000000..5689bd259
--- /dev/null
+++ b/client/Android/FreeRDPCore/res/xml/debug_settings.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
diff --git a/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/domain/BookmarkBase.java b/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/domain/BookmarkBase.java
index b72e30b03..331ba592d 100644
--- a/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/domain/BookmarkBase.java
+++ b/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/domain/BookmarkBase.java
@@ -9,14 +9,15 @@
package com.freerdp.freerdpcore.domain;
+import java.util.Locale;
+
import com.freerdp.freerdpcore.application.GlobalApp;
import android.content.SharedPreferences;
import android.os.Parcel;
import android.os.Parcelable;
-public class BookmarkBase implements Parcelable, Cloneable
-{
+public class BookmarkBase implements Parcelable, Cloneable {
public static final int TYPE_INVALID = -1;
public static final int TYPE_MANUAL = 1;
public static final int TYPE_QUICKCONNECT = 2;
@@ -24,8 +25,7 @@ public class BookmarkBase implements Parcelable, Cloneable
public static final int TYPE_CUSTOM_BASE = 1000;
// performance flags
- public static class PerformanceFlags implements Parcelable
- {
+ public static class PerformanceFlags implements Parcelable {
private boolean remotefx;
private boolean wallpaper;
private boolean theming;
@@ -110,8 +110,7 @@ public class BookmarkBase implements Parcelable, Cloneable
this.desktopComposition = desktopComposition;
}
- public static final Parcelable.Creator CREATOR = new Parcelable.Creator()
- {
+ public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
public PerformanceFlags createFromParcel(Parcel in) {
return new PerformanceFlags(in);
}
@@ -128,8 +127,7 @@ public class BookmarkBase implements Parcelable, Cloneable
}
@Override
- public void writeToParcel(Parcel out, int flags)
- {
+ public void writeToParcel(Parcel out, int flags) {
out.writeInt(remotefx ? 1 : 0);
out.writeInt(wallpaper ? 1 : 0);
out.writeInt(theming ? 1 : 0);
@@ -141,8 +139,7 @@ public class BookmarkBase implements Parcelable, Cloneable
}
// Screen Settings class
- public static class ScreenSettings implements Parcelable
- {
+ public static class ScreenSettings implements Parcelable {
public static final int FITSCREEN = -2;
public static final int AUTOMATIC = -1;
public static final int CUSTOM = 0;
@@ -171,8 +168,7 @@ public class BookmarkBase implements Parcelable, Cloneable
height = 0;
}
- public void setResolution(int resolution)
- {
+ public void setResolution(int resolution) {
this.resolution = resolution;
if (resolution == AUTOMATIC || resolution == FITSCREEN) {
@@ -181,43 +177,35 @@ public class BookmarkBase implements Parcelable, Cloneable
}
}
- public void setResolution(String resolution, int width, int height)
- {
+ public void setResolution(String resolution, int width, int height) {
if (resolution.contains("x")) {
String[] dimensions = resolution.split("x");
this.width = Integer.valueOf(dimensions[0]);
this.height = Integer.valueOf(dimensions[1]);
this.resolution = PREDEFINED;
- }
- else if (resolution.equalsIgnoreCase("custom"))
- {
+ } else if (resolution.equalsIgnoreCase("custom")) {
this.width = width;
this.height = height;
this.resolution = CUSTOM;
- }
- else if (resolution.equalsIgnoreCase("fitscreen"))
- {
+ } else if (resolution.equalsIgnoreCase("fitscreen")) {
this.width = this.height = 0;
this.resolution = FITSCREEN;
- }
- else
- {
+ } else {
this.width = this.height = 0;
this.resolution = AUTOMATIC;
}
}
- public int getResolution()
- {
+ public int getResolution() {
return resolution;
}
- public String getResolutionString()
- {
+ public String getResolutionString() {
if (isPredefined())
return (width + "x" + height);
- return (isFitScreen() ? "fitscreen" : isAutomatic() ? "automatic" : "custom");
+ return (isFitScreen() ? "fitscreen" : isAutomatic() ? "automatic"
+ : "custom");
}
public boolean isPredefined() {
@@ -260,8 +248,7 @@ public class BookmarkBase implements Parcelable, Cloneable
return colors;
}
- public static final Parcelable.Creator CREATOR = new Parcelable.Creator()
- {
+ public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
public ScreenSettings createFromParcel(Parcel in) {
return new ScreenSettings(in);
}
@@ -278,8 +265,7 @@ public class BookmarkBase implements Parcelable, Cloneable
}
@Override
- public void writeToParcel(Parcel out, int flags)
- {
+ public void writeToParcel(Parcel out, int flags) {
out.writeInt(resolution);
out.writeInt(colors);
out.writeInt(width);
@@ -287,10 +273,53 @@ public class BookmarkBase implements Parcelable, Cloneable
}
}
+ public static class DebugSettings implements Parcelable {
+ private int debug;
+ public DebugSettings() {
+ init();
+ }
// Session Settings
- public static class AdvancedSettings implements Parcelable
- {
+ public DebugSettings(Parcel parcel) {
+ debug = parcel.readInt();
+ }
+
+ private void init() {
+ debug = 0;
+ }
+
+ public int getDebugLevel() {
+ return debug;
+ }
+
+ public void setDebugLevel(int debug) {
+ this.debug = debug;
+ }
+
+ public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
+ public DebugSettings createFromParcel(Parcel in) {
+ return new DebugSettings(in);
+ }
+
+ @Override
+ public DebugSettings[] newArray(int size) {
+ return new DebugSettings[size];
+ }
+ };
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel out, int flags) {
+ out.writeInt(debug);
+ }
+ }
+
+ // Session Settings
+ public static class AdvancedSettings implements Parcelable {
private boolean enable3GSettings;
private ScreenSettings screen3G;
private PerformanceFlags performance3G;
@@ -301,10 +330,6 @@ public class BookmarkBase implements Parcelable, Cloneable
private boolean consoleMode;
private String remoteProgram;
private String workDir;
- private boolean asyncChannel;
- private boolean asyncTransport;
- private boolean asyncInput;
- private boolean asyncUpdate;
public AdvancedSettings() {
init();
@@ -312,19 +337,17 @@ public class BookmarkBase implements Parcelable, Cloneable
public AdvancedSettings(Parcel parcel) {
enable3GSettings = (parcel.readInt() == 1) ? true : false;
- screen3G = parcel.readParcelable(ScreenSettings.class.getClassLoader());
- performance3G = parcel.readParcelable(PerformanceFlags.class.getClassLoader());
+ screen3G = parcel.readParcelable(ScreenSettings.class
+ .getClassLoader());
+ performance3G = parcel.readParcelable(PerformanceFlags.class
+ .getClassLoader());
redirectSDCard = (parcel.readInt() == 1) ? true : false;
redirectSound = parcel.readInt();
redirectMicrophone = (parcel.readInt() == 1) ? true : false;
security = parcel.readInt();
consoleMode = (parcel.readInt() == 1) ? true : false;
remoteProgram = parcel.readString();
- workDir = parcel.readString();
- asyncChannel = (parcel.readInt() == 1) ? true : false;
- asyncTransport = (parcel.readInt() == 1) ? true : false;
- asyncInput = (parcel.readInt() == 1) ? true : false;
- asyncUpdate = (parcel.readInt() == 1) ? true : false;
+ workDir = parcel.readString();
}
private void init() {
@@ -338,10 +361,6 @@ public class BookmarkBase implements Parcelable, Cloneable
consoleMode = false;
remoteProgram = "";
workDir = "";
- asyncChannel = true;
- asyncTransport = true;
- asyncInput = true;
- asyncUpdate = true;
}
public void setEnable3GSettings(boolean enable3GSettings) {
@@ -408,68 +427,23 @@ public class BookmarkBase implements Parcelable, Cloneable
return consoleMode;
}
- public void setRemoteProgram(String remoteProgram)
- {
+ public void setRemoteProgram(String remoteProgram) {
this.remoteProgram = remoteProgram;
}
- public String getRemoteProgram()
- {
+ public String getRemoteProgram() {
return remoteProgram;
}
- public void setWorkDir(String workDir)
- {
+ public void setWorkDir(String workDir) {
this.workDir = workDir;
}
- public String getWorkDir()
- {
+ public String getWorkDir() {
return workDir;
}
-
- public boolean getAsyncTransport()
- {
- return asyncTransport;
- }
-
- public void setAsyncTransport(boolean enabled)
- {
- asyncTransport = enabled;
- }
-
- public boolean getAsyncUpdate()
- {
- return asyncUpdate;
- }
-
- public void setAsyncUpdate(boolean enabled)
- {
- asyncUpdate = enabled;
- }
-
- public boolean getAsyncInput()
- {
- return asyncInput;
- }
-
- public void setAsyncInput(boolean enabled)
- {
- asyncInput = enabled;
- }
-
- public void setAsyncChannel(boolean enabled)
- {
- asyncChannel = enabled;
- }
-
- public boolean getAsyncChannel()
- {
- return asyncChannel;
- }
-
- public static final Parcelable.Creator CREATOR = new Parcelable.Creator()
- {
+
+ public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
public AdvancedSettings createFromParcel(Parcel in) {
return new AdvancedSettings(in);
}
@@ -486,8 +460,7 @@ public class BookmarkBase implements Parcelable, Cloneable
}
@Override
- public void writeToParcel(Parcel out, int flags)
- {
+ public void writeToParcel(Parcel out, int flags) {
out.writeInt(enable3GSettings ? 1 : 0);
out.writeParcelable(screen3G, flags);
out.writeParcelable(performance3G, flags);
@@ -498,10 +471,6 @@ public class BookmarkBase implements Parcelable, Cloneable
out.writeInt(consoleMode ? 1 : 0);
out.writeString(remoteProgram);
out.writeString(workDir);
- out.writeInt(asyncChannel ? 1 : 0);
- out.writeInt(asyncTransport ? 1 : 0);
- out.writeInt(asyncInput ? 1 : 0);
- out.writeInt(asyncUpdate ? 1 : 0);
}
}
@@ -515,9 +484,9 @@ public class BookmarkBase implements Parcelable, Cloneable
private ScreenSettings screenSettings;
private PerformanceFlags performanceFlags;
private AdvancedSettings advancedSettings;
+ private DebugSettings debugSettings;
- private void init()
- {
+ private void init() {
type = TYPE_INVALID;
id = -1;
label = "";
@@ -528,10 +497,10 @@ public class BookmarkBase implements Parcelable, Cloneable
screenSettings = new ScreenSettings();
performanceFlags = new PerformanceFlags();
advancedSettings = new AdvancedSettings();
+ debugSettings = new DebugSettings();
}
- public BookmarkBase(Parcel parcel)
- {
+ public BookmarkBase(Parcel parcel) {
type = parcel.readInt();
id = parcel.readLong();
label = parcel.readString();
@@ -539,9 +508,14 @@ public class BookmarkBase implements Parcelable, Cloneable
password = parcel.readString();
domain = parcel.readString();
- screenSettings = parcel.readParcelable(ScreenSettings.class.getClassLoader());
- performanceFlags = parcel.readParcelable(PerformanceFlags.class.getClassLoader());
- advancedSettings = parcel.readParcelable(AdvancedSettings.class.getClassLoader());
+ screenSettings = parcel.readParcelable(ScreenSettings.class
+ .getClassLoader());
+ performanceFlags = parcel.readParcelable(PerformanceFlags.class
+ .getClassLoader());
+ advancedSettings = parcel.readParcelable(AdvancedSettings.class
+ .getClassLoader());
+ debugSettings = parcel.readParcelable(DebugSettings.class
+ .getClassLoader());
}
public BookmarkBase() {
@@ -549,7 +523,9 @@ public class BookmarkBase implements Parcelable, Cloneable
}
@SuppressWarnings("unchecked")
- public T get() { return (T)this; }
+ public T get() {
+ return (T) this;
+ }
public int getType() {
return type;
@@ -619,18 +595,27 @@ public class BookmarkBase implements Parcelable, Cloneable
return advancedSettings;
}
- public ScreenSettings getActiveScreenSettings()
- {
- return (GlobalApp.ConnectedTo3G && advancedSettings.getEnable3GSettings()) ? advancedSettings.getScreen3G() : screenSettings;
+ public void setDebugSettings(DebugSettings debugSettings) {
+ this.debugSettings = debugSettings;
}
- public PerformanceFlags getActivePerformanceFlags()
- {
- return (GlobalApp.ConnectedTo3G && advancedSettings.getEnable3GSettings()) ? advancedSettings.getPerformance3G() : performanceFlags;
+ public DebugSettings getDebugSettings() {
+ return debugSettings;
}
- public static final Parcelable.Creator CREATOR = new Parcelable.Creator()
- {
+ public ScreenSettings getActiveScreenSettings() {
+ return (GlobalApp.ConnectedTo3G && advancedSettings
+ .getEnable3GSettings()) ? advancedSettings.getScreen3G()
+ : screenSettings;
+ }
+
+ public PerformanceFlags getActivePerformanceFlags() {
+ return (GlobalApp.ConnectedTo3G && advancedSettings
+ .getEnable3GSettings()) ? advancedSettings.getPerformance3G()
+ : performanceFlags;
+ }
+
+ public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
public BookmarkBase createFromParcel(Parcel in) {
return new BookmarkBase(in);
}
@@ -647,8 +632,7 @@ public class BookmarkBase implements Parcelable, Cloneable
}
@Override
- public void writeToParcel(Parcel out, int flags)
- {
+ public void writeToParcel(Parcel out, int flags) {
out.writeInt(type);
out.writeLong(id);
out.writeString(label);
@@ -659,11 +643,14 @@ public class BookmarkBase implements Parcelable, Cloneable
out.writeParcelable(screenSettings, flags);
out.writeParcelable(performanceFlags, flags);
out.writeParcelable(advancedSettings, flags);
+ out.writeParcelable(debugSettings, flags);
}
// write to shared preferences
- public void writeToSharedPreferences(SharedPreferences sharedPrefs)
- {
+ public void writeToSharedPreferences(SharedPreferences sharedPrefs) {
+
+ Locale locale = Locale.ENGLISH;
+
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.clear();
editor.putString("bookmark.label", label);
@@ -672,80 +659,131 @@ public class BookmarkBase implements Parcelable, Cloneable
editor.putString("bookmark.domain", domain);
editor.putInt("bookmark.colors", screenSettings.getColors());
- editor.putString("bookmark.resolution", screenSettings.getResolutionString().toLowerCase());
+ editor.putString("bookmark.resolution", screenSettings
+ .getResolutionString().toLowerCase(locale));
editor.putInt("bookmark.width", screenSettings.getWidth());
editor.putInt("bookmark.height", screenSettings.getHeight());
- editor.putBoolean("bookmark.perf_remotefx", performanceFlags.getRemoteFX());
- editor.putBoolean("bookmark.perf_wallpaper", performanceFlags.getWallpaper());
- editor.putBoolean("bookmark.perf_font_smoothing", performanceFlags.getFontSmoothing());
- editor.putBoolean("bookmark.perf_desktop_composition", performanceFlags.getDesktopComposition());
- editor.putBoolean("bookmark.perf_window_dragging", performanceFlags.getFullWindowDrag());
- editor.putBoolean("bookmark.perf_menu_animation", performanceFlags.getMenuAnimations());
+ editor.putBoolean("bookmark.perf_remotefx",
+ performanceFlags.getRemoteFX());
+ editor.putBoolean("bookmark.perf_wallpaper",
+ performanceFlags.getWallpaper());
+ editor.putBoolean("bookmark.perf_font_smoothing",
+ performanceFlags.getFontSmoothing());
+ editor.putBoolean("bookmark.perf_desktop_composition",
+ performanceFlags.getDesktopComposition());
+ editor.putBoolean("bookmark.perf_window_dragging",
+ performanceFlags.getFullWindowDrag());
+ editor.putBoolean("bookmark.perf_menu_animation",
+ performanceFlags.getMenuAnimations());
editor.putBoolean("bookmark.perf_themes", performanceFlags.getTheming());
- editor.putBoolean("bookmark.enable_3g_settings", advancedSettings.getEnable3GSettings());
+ editor.putBoolean("bookmark.enable_3g_settings",
+ advancedSettings.getEnable3GSettings());
- editor.putInt("bookmark.colors_3g", advancedSettings.getScreen3G().getColors());
- editor.putString("bookmark.resolution_3g", advancedSettings.getScreen3G().getResolutionString().toLowerCase());
- editor.putInt("bookmark.width_3g", advancedSettings.getScreen3G().getWidth());
- editor.putInt("bookmark.height_3g", advancedSettings.getScreen3G().getHeight());
+ editor.putInt("bookmark.colors_3g", advancedSettings.getScreen3G()
+ .getColors());
+ editor.putString("bookmark.resolution_3g", advancedSettings
+ .getScreen3G().getResolutionString().toLowerCase(locale));
+ editor.putInt("bookmark.width_3g", advancedSettings.getScreen3G()
+ .getWidth());
+ editor.putInt("bookmark.height_3g", advancedSettings.getScreen3G()
+ .getHeight());
- editor.putBoolean("bookmark.perf_remotefx_3g", advancedSettings.getPerformance3G().getRemoteFX());
- editor.putBoolean("bookmark.perf_wallpaper_3g", advancedSettings.getPerformance3G().getWallpaper());
- editor.putBoolean("bookmark.perf_font_smoothing_3g", advancedSettings.getPerformance3G().getFontSmoothing());
- editor.putBoolean("bookmark.perf_desktop_composition_3g", advancedSettings.getPerformance3G().getDesktopComposition());
- editor.putBoolean("bookmark.perf_window_dragging_3g", advancedSettings.getPerformance3G().getFullWindowDrag());
- editor.putBoolean("bookmark.perf_menu_animation_3g", advancedSettings.getPerformance3G().getMenuAnimations());
- editor.putBoolean("bookmark.perf_themes_3g", advancedSettings.getPerformance3G().getTheming());
+ editor.putBoolean("bookmark.perf_remotefx_3g", advancedSettings
+ .getPerformance3G().getRemoteFX());
+ editor.putBoolean("bookmark.perf_wallpaper_3g", advancedSettings
+ .getPerformance3G().getWallpaper());
+ editor.putBoolean("bookmark.perf_font_smoothing_3g", advancedSettings
+ .getPerformance3G().getFontSmoothing());
+ editor.putBoolean("bookmark.perf_desktop_composition_3g",
+ advancedSettings.getPerformance3G().getDesktopComposition());
+ editor.putBoolean("bookmark.perf_window_dragging_3g", advancedSettings
+ .getPerformance3G().getFullWindowDrag());
+ editor.putBoolean("bookmark.perf_menu_animation_3g", advancedSettings
+ .getPerformance3G().getMenuAnimations());
+ editor.putBoolean("bookmark.perf_themes_3g", advancedSettings
+ .getPerformance3G().getTheming());
- editor.putBoolean("bookmark.redirect_sdcard", advancedSettings.getRedirectSDCard());
- editor.putInt("bookmark.redirect_sound", advancedSettings.getRedirectSound());
- editor.putBoolean("bookmark.redirect_microphone", advancedSettings.getRedirectMicrophone());
+ editor.putBoolean("bookmark.redirect_sdcard",
+ advancedSettings.getRedirectSDCard());
+ editor.putInt("bookmark.redirect_sound",
+ advancedSettings.getRedirectSound());
+ editor.putBoolean("bookmark.redirect_microphone",
+ advancedSettings.getRedirectMicrophone());
editor.putInt("bookmark.security", advancedSettings.getSecurity());
- editor.putString("bookmark.remote_program", advancedSettings.getRemoteProgram());
+ editor.putString("bookmark.remote_program",
+ advancedSettings.getRemoteProgram());
editor.putString("bookmark.work_dir", advancedSettings.getWorkDir());
editor.putBoolean("bookmark.async_channel", advancedSettings.getAsyncChannel());
editor.putBoolean("bookmark.async_transport", advancedSettings.getAsyncTransport());
editor.putBoolean("bookmark.async_input", advancedSettings.getAsyncInput());
editor.putBoolean("bookmark.async_update", advancedSettings.getAsyncUpdate());
- editor.putBoolean("bookmark.console_mode", advancedSettings.getConsoleMode());
+ editor.putBoolean("bookmark.console_mode",
+ advancedSettings.getConsoleMode());
+
+ editor.putInt("bookmark.debug_level",
+ debugSettings.getDebugLevel());
editor.commit();
}
// read from shared preferences
- public void readFromSharedPreferences(SharedPreferences sharedPrefs)
- {
+ public void readFromSharedPreferences(SharedPreferences sharedPrefs) {
label = sharedPrefs.getString("bookmark.label", "");
username = sharedPrefs.getString("bookmark.username", "");
password = sharedPrefs.getString("bookmark.password", "");
domain = sharedPrefs.getString("bookmark.domain", "");
screenSettings.setColors(sharedPrefs.getInt("bookmark.colors", 16));
- screenSettings.setResolution(sharedPrefs.getString("bookmark.resolution", "automatic"), sharedPrefs.getInt("bookmark.width", 800), sharedPrefs.getInt("bookmark.height", 600));
+ screenSettings.setResolution(
+ sharedPrefs.getString("bookmark.resolution", "automatic"),
+ sharedPrefs.getInt("bookmark.width", 800),
+ sharedPrefs.getInt("bookmark.height", 600));
- performanceFlags.setRemoteFX(sharedPrefs.getBoolean("bookmark.perf_remotefx", false));
- performanceFlags.setWallpaper(sharedPrefs.getBoolean("bookmark.perf_wallpaper", false));
- performanceFlags.setFontSmoothing(sharedPrefs.getBoolean("bookmark.perf_font_smoothing", false));
- performanceFlags.setDesktopComposition(sharedPrefs.getBoolean("bookmark.perf_desktop_composition", false));
- performanceFlags.setFullWindowDrag(sharedPrefs.getBoolean("bookmark.perf_window_dragging", false));
- performanceFlags.setMenuAnimations(sharedPrefs.getBoolean("bookmark.perf_menu_animation", false));
- performanceFlags.setTheming(sharedPrefs.getBoolean("bookmark.perf_themes", false));
+ performanceFlags.setRemoteFX(sharedPrefs.getBoolean(
+ "bookmark.perf_remotefx", false));
+ performanceFlags.setWallpaper(sharedPrefs.getBoolean(
+ "bookmark.perf_wallpaper", false));
+ performanceFlags.setFontSmoothing(sharedPrefs.getBoolean(
+ "bookmark.perf_font_smoothing", false));
+ performanceFlags.setDesktopComposition(sharedPrefs.getBoolean(
+ "bookmark.perf_desktop_composition", false));
+ performanceFlags.setFullWindowDrag(sharedPrefs.getBoolean(
+ "bookmark.perf_window_dragging", false));
+ performanceFlags.setMenuAnimations(sharedPrefs.getBoolean(
+ "bookmark.perf_menu_animation", false));
+ performanceFlags.setTheming(sharedPrefs.getBoolean(
+ "bookmark.perf_themes", false));
- advancedSettings.setEnable3GSettings(sharedPrefs.getBoolean("bookmark.enable_3g_settings", false));
+ advancedSettings.setEnable3GSettings(sharedPrefs.getBoolean(
+ "bookmark.enable_3g_settings", false));
- advancedSettings.getScreen3G().setColors(sharedPrefs.getInt("bookmark.colors_3g", 16));
- advancedSettings.getScreen3G().setResolution(sharedPrefs.getString("bookmark.resolution_3g", "automatic"),
- sharedPrefs.getInt("bookmark.width_3g", 800), sharedPrefs.getInt("bookmark.height_3g", 600));
+ advancedSettings.getScreen3G().setColors(
+ sharedPrefs.getInt("bookmark.colors_3g", 16));
+ advancedSettings.getScreen3G().setResolution(
+ sharedPrefs.getString("bookmark.resolution_3g", "automatic"),
+ sharedPrefs.getInt("bookmark.width_3g", 800),
+ sharedPrefs.getInt("bookmark.height_3g", 600));
- advancedSettings.getPerformance3G().setRemoteFX(sharedPrefs.getBoolean("bookmark.perf_remotefx_3g", false));
- advancedSettings.getPerformance3G().setWallpaper(sharedPrefs.getBoolean("bookmark.perf_wallpaper_3g", false));
- advancedSettings.getPerformance3G().setFontSmoothing(sharedPrefs.getBoolean("bookmark.perf_font_smoothing_3g", false));
- advancedSettings.getPerformance3G().setDesktopComposition(sharedPrefs.getBoolean("bookmark.perf_desktop_composition_3g", false));
- advancedSettings.getPerformance3G().setFullWindowDrag(sharedPrefs.getBoolean("bookmark.perf_window_dragging_3g", false));
- advancedSettings.getPerformance3G().setMenuAnimations(sharedPrefs.getBoolean("bookmark.perf_menu_animation_3g", false));
- advancedSettings.getPerformance3G().setTheming(sharedPrefs.getBoolean("bookmark.perf_themes_3g", false));
+ advancedSettings.getPerformance3G().setRemoteFX(
+ sharedPrefs.getBoolean("bookmark.perf_remotefx_3g", false));
+ advancedSettings.getPerformance3G().setWallpaper(
+ sharedPrefs.getBoolean("bookmark.perf_wallpaper_3g", false));
+ advancedSettings.getPerformance3G().setFontSmoothing(
+ sharedPrefs
+ .getBoolean("bookmark.perf_font_smoothing_3g", false));
+ advancedSettings.getPerformance3G().setDesktopComposition(
+ sharedPrefs.getBoolean("bookmark.perf_desktop_composition_3g",
+ false));
+ advancedSettings.getPerformance3G().setFullWindowDrag(
+ sharedPrefs.getBoolean("bookmark.perf_window_dragging_3g",
+ false));
+ advancedSettings.getPerformance3G().setMenuAnimations(
+ sharedPrefs
+ .getBoolean("bookmark.perf_menu_animation_3g", false));
+ advancedSettings.getPerformance3G().setTheming(
+ sharedPrefs.getBoolean("bookmark.perf_themes_3g", false));
advancedSettings.setRedirectSDCard(sharedPrefs.getBoolean("bookmark.redirect_sdcard", false));
advancedSettings.setRedirectSound(sharedPrefs.getInt("bookmark.redirect_sound", 0));
@@ -758,17 +796,14 @@ public class BookmarkBase implements Parcelable, Cloneable
advancedSettings.setAsyncInput(sharedPrefs.getBoolean("bookmark.async_input", true));
advancedSettings.setAsyncUpdate(sharedPrefs.getBoolean("bookmark.async_update", true));
advancedSettings.setConsoleMode(sharedPrefs.getBoolean("bookmark.console_mode", false));
+ debugSettings.setDebugLevel(sharedPrefs.getInt("bookmark.debug_level", 0));
}
// Cloneable
- public Object clone()
- {
- try
- {
+ public Object clone() {
+ try {
return super.clone();
- }
- catch(CloneNotSupportedException e)
- {
+ } catch (CloneNotSupportedException e) {
return null;
}
}
diff --git a/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/presentation/BookmarkActivity.java b/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/presentation/BookmarkActivity.java
index ca5b8f4ac..e3381f02b 100644
--- a/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/presentation/BookmarkActivity.java
+++ b/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/presentation/BookmarkActivity.java
@@ -5,12 +5,13 @@
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-*/
+ */
package com.freerdp.freerdpcore.presentation;
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
import com.freerdp.freerdpcore.R;
import com.freerdp.freerdpcore.application.GlobalApp;
@@ -19,6 +20,7 @@ import com.freerdp.freerdpcore.domain.ConnectionReference;
import com.freerdp.freerdpcore.domain.ManualBookmark;
import com.freerdp.freerdpcore.services.BookmarkBaseGateway;
import com.freerdp.freerdpcore.utils.RDPFileParser;
+import com.freerdp.freerdpcore.utils.BuildConfiguration;
import android.app.AlertDialog;
import android.content.ComponentName;
@@ -29,11 +31,12 @@ import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
+import android.preference.PreferenceCategory;
import android.util.Log;
-public class BookmarkActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener
-{
- public static final String PARAM_CONNECTION_REFERENCE = "conRef";
+public class BookmarkActivity extends PreferenceActivity implements
+ OnSharedPreferenceChangeListener {
+ public static final String PARAM_CONNECTION_REFERENCE = "conRef";
private static final String TAG = "BookmarkActivity";
@@ -46,172 +49,174 @@ public class BookmarkActivity extends PreferenceActivity implements OnSharedPref
private static final int PREFERENCES_SCREEN3G = 6;
private static final int PREFERENCES_PERFORMANCE3G = 7;
private static final int PREFERENCES_GATEWAY = 8;
+ private static final int PREFERENCES_DEBUG = 9;
- // bookmark needs to be static because the activity is started for each subview
- // (we have to do this because Android has a bug where the style for Preferences
+ // bookmark needs to be static because the activity is started for each
+ // subview
+ // (we have to do this because Android has a bug where the style for
+ // Preferences
// is only applied to the first PreferenceScreen but not to subsequent ones)
private static BookmarkBase bookmark = null;
-
+
private static boolean settings_changed = false;
private static boolean new_bookmark = false;
-
+
@Override
- public void onCreate(Bundle savedInstanceState)
- {
+ public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// init shared preferences for activity
getPreferenceManager().setSharedPreferencesName("TEMP");
getPreferenceManager().setSharedPreferencesMode(MODE_PRIVATE);
- if (bookmark == null)
- {
+ if (bookmark == null) {
// if we have a bookmark id set in the extras we are in edit mode
- Bundle bundle = getIntent().getExtras();
- if(bundle != null)
- {
+ Bundle bundle = getIntent().getExtras();
+ if (bundle != null) {
// See if we got a connection reference to a bookmark
- if(bundle.containsKey(PARAM_CONNECTION_REFERENCE))
- {
- String refStr = bundle.getString(PARAM_CONNECTION_REFERENCE);
- if(ConnectionReference.isManualBookmarkReference(refStr))
- {
- bookmark = GlobalApp.getManualBookmarkGateway().findById(ConnectionReference.getManualBookmarkId(refStr));
+ if (bundle.containsKey(PARAM_CONNECTION_REFERENCE)) {
+ String refStr = bundle
+ .getString(PARAM_CONNECTION_REFERENCE);
+ if (ConnectionReference.isManualBookmarkReference(refStr)) {
+ bookmark = GlobalApp.getManualBookmarkGateway()
+ .findById(
+ ConnectionReference
+ .getManualBookmarkId(refStr));
new_bookmark = false;
- }
- else if(ConnectionReference.isHostnameReference(refStr))
- {
+ } else if (ConnectionReference.isHostnameReference(refStr)) {
bookmark = new ManualBookmark();
- bookmark.get().setLabel(ConnectionReference.getHostname(refStr));
- bookmark.get().setHostname(ConnectionReference.getHostname(refStr));
+ bookmark. get().setLabel(
+ ConnectionReference.getHostname(refStr));
+ bookmark. get().setHostname(
+ ConnectionReference.getHostname(refStr));
new_bookmark = true;
- }
- else if (ConnectionReference.isFileReference(refStr))
- {
+ } else if (ConnectionReference.isFileReference(refStr)) {
String file = ConnectionReference.getFile(refStr);
bookmark = new ManualBookmark();
bookmark.setLabel(file);
- try
- {
+ try {
RDPFileParser rdpFile = new RDPFileParser(file);
- updateBookmarkFromFile((ManualBookmark)bookmark, rdpFile);
-
+ updateBookmarkFromFile((ManualBookmark) bookmark,
+ rdpFile);
+
bookmark.setLabel(new File(file).getName());
new_bookmark = true;
- }
- catch (IOException e)
- {
+ } catch (IOException e) {
Log.e(TAG, "Failed reading RDP file", e);
}
}
- }
- }
+ }
+ }
// last chance - ensure we really have a valid bookmark
- if(bookmark == null)
- bookmark = new ManualBookmark();
+ if (bookmark == null)
+ bookmark = new ManualBookmark();
// hide gateway settings if we edit a non-manual bookmark
- if (current_preferences == PREFERENCES_ADVANCED && bookmark.getType() != ManualBookmark.TYPE_MANUAL)
- {
- getPreferenceScreen().removePreference(findPreference("bookmark.enable_gateway"));
- getPreferenceScreen().removePreference(findPreference("bookmark.gateway"));
+ if (current_preferences == PREFERENCES_ADVANCED
+ && bookmark.getType() != ManualBookmark.TYPE_MANUAL) {
+ getPreferenceScreen().removePreference(
+ findPreference("bookmark.enable_gateway"));
+ getPreferenceScreen().removePreference(
+ findPreference("bookmark.gateway"));
}
-
+
// update preferences from bookmark
- bookmark.writeToSharedPreferences(getPreferenceManager().getSharedPreferences());
-
+ bookmark.writeToSharedPreferences(getPreferenceManager()
+ .getSharedPreferences());
+
// no settings changed yet
settings_changed = false;
}
-
+
// load the requested settings resource
- if (getIntent() == null || getIntent().getData() == null)
- {
+ if (getIntent() == null || getIntent().getData() == null) {
addPreferencesFromResource(R.xml.bookmark_settings);
- current_preferences = PREFERENCES_BOOKMARK;
- }
- else if (getIntent().getData().toString().equals("preferences://screen_settings"))
- {
+ current_preferences = PREFERENCES_BOOKMARK;
+ } else if (getIntent().getData().toString()
+ .equals("preferences://screen_settings")) {
addPreferencesFromResource(R.xml.screen_settings);
current_preferences = PREFERENCES_SCREEN;
- }
- else if (getIntent().getData().toString().equals("preferences://performance_flags"))
- {
+ } else if (getIntent().getData().toString()
+ .equals("preferences://performance_flags")) {
addPreferencesFromResource(R.xml.performance_flags);
current_preferences = PREFERENCES_PERFORMANCE;
- }
- else if (getIntent().getData().toString().equals("preferences://screen_settings_3g"))
- {
+ } else if (getIntent().getData().toString()
+ .equals("preferences://screen_settings_3g")) {
addPreferencesFromResource(R.xml.screen_settings_3g);
current_preferences = PREFERENCES_SCREEN3G;
- }
- else if (getIntent().getData().toString().equals("preferences://performance_flags_3g"))
- {
+ } else if (getIntent().getData().toString()
+ .equals("preferences://performance_flags_3g")) {
addPreferencesFromResource(R.xml.performance_flags_3g);
current_preferences = PREFERENCES_PERFORMANCE3G;
- }
- else if (getIntent().getData().toString().equals("preferences://advanced_settings"))
- {
+ } else if (getIntent().getData().toString()
+ .equals("preferences://advanced_settings")) {
addPreferencesFromResource(R.xml.advanced_settings);
current_preferences = PREFERENCES_ADVANCED;
- }
- else if (getIntent().getData().toString().equals("preferences://credentials_settings"))
- {
+ } else if (getIntent().getData().toString()
+ .equals("preferences://credentials_settings")) {
addPreferencesFromResource(R.xml.credentials_settings);
current_preferences = PREFERENCES_CREDENTIALS;
- }
- else if (getIntent().getData().toString().equals("preferences://gateway_settings"))
- {
+ } else if (getIntent().getData().toString()
+ .equals("preferences://gateway_settings")) {
addPreferencesFromResource(R.xml.gateway_settings);
current_preferences = PREFERENCES_GATEWAY;
- }
- else
- {
+ } else if (getIntent().getData().toString()
+ .equals("preferences://debug_settings")) {
+ addPreferencesFromResource(R.xml.debug_settings);
+ current_preferences = PREFERENCES_DEBUG;
+ } else {
addPreferencesFromResource(R.xml.bookmark_settings);
current_preferences = PREFERENCES_BOOKMARK;
}
-
+
+ // Hide debug settings, if not activated.
+ if (!BuildConfiguration.WITH_ANDROID_DEBUG_MENU
+ .equalsIgnoreCase("ON")) {
+ Preference pref = findPreference("bookmark.debug");
+ PreferenceCategory cat = (PreferenceCategory)findPreference("category.settings");
+ if (pref != null) {
+ cat.removePreference(pref);
+ }
+ }
+
// update UI with bookmark data
- initSettings(getPreferenceManager().getSharedPreferences());
+ SharedPreferences spref = getPreferenceManager().getSharedPreferences();
+ initSettings(spref);
// register for preferences changed notification
- getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
-
- // set the correct component names in our preferencescreen settings
+ getPreferenceManager().getSharedPreferences()
+ .registerOnSharedPreferenceChangeListener(this);
+
+ // set the correct component names in our preferencescreen settings
setIntentComponentNames();
}
- private void updateBookmarkFromFile(ManualBookmark bookmark, RDPFileParser rdpFile)
- {
+ private void updateBookmarkFromFile(ManualBookmark bookmark,
+ RDPFileParser rdpFile) {
String s;
Integer i;
-
+
s = rdpFile.getString("full address");
- if (s != null)
- {
+ if (s != null) {
// this gets complicated as it can include port
- if (s.lastIndexOf(":") > s.lastIndexOf("]"))
- {
- try
- {
+ if (s.lastIndexOf(":") > s.lastIndexOf("]")) {
+ try {
String port = s.substring(s.lastIndexOf(":") + 1);
bookmark.setPort(Integer.parseInt(port));
- }
- catch (NumberFormatException e)
- {
+ } catch (NumberFormatException e) {
Log.e(TAG, "Malformed address");
}
-
+
s = s.substring(0, s.lastIndexOf(":"));
}
-
+
// or even be an ipv6 address
if (s.startsWith("[") && s.endsWith("]"))
s = s.substring(1, s.length() - 1);
-
+
bookmark.setHostname(s);
}
@@ -226,400 +231,441 @@ public class BookmarkActivity extends PreferenceActivity implements OnSharedPref
s = rdpFile.getString("domain");
if (s != null)
bookmark.setDomain(s);
-
+
i = rdpFile.getInteger("connect to console");
if (i != null)
bookmark.getAdvancedSettings().setConsoleMode(i == 1);
}
- private void setIntentComponentNames()
- {
- // we set the component name for our sub-activity calls here because we don't know the package
- // name of the main app in our library project.
- ComponentName compName = new ComponentName(getPackageName(), BookmarkActivity.class.getName());
- String[] prefKeys = {
- "bookmark.credentials",
- "bookmark.screen",
- "bookmark.performance",
- "bookmark.advanced",
- "bookmark.screen_3g",
- "bookmark.performance_3g",
- "bookmark.gateway_settings"
- };
-
- for (int i = 0; i < prefKeys.length; ++i)
- {
- Preference pref = findPreference(prefKeys[i]);
+ private void setIntentComponentNames() {
+ // we set the component name for our sub-activity calls here because we
+ // don't know the package
+ // name of the main app in our library project.
+ ComponentName compName = new ComponentName(getPackageName(),
+ BookmarkActivity.class.getName());
+ ArrayList prefKeys = new ArrayList();
+
+ prefKeys.add("bookmark.credentials");
+ prefKeys.add("bookmark.screen");
+ prefKeys.add("bookmark.performance");
+ prefKeys.add("bookmark.advanced");
+ prefKeys.add("bookmark.screen_3g");
+ prefKeys.add("bookmark.performance_3g");
+ prefKeys.add("bookmark.gateway_settings");
+ prefKeys.add("bookmark.debug");
+
+ for (String p : prefKeys) {
+ Preference pref = findPreference(p);
if (pref != null)
- pref.getIntent().setComponent(compName);
+ pref.getIntent().setComponent(compName);
}
-
-
}
-
+
@Override
- public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
+ String key) {
settings_changed = true;
- switch (current_preferences)
- {
- case PREFERENCES_BOOKMARK:
- bookmarkSettingsChanged(sharedPreferences, key);
- break;
-
- case PREFERENCES_ADVANCED:
- advancedSettingsChanged(sharedPreferences, key);
- break;
-
- case PREFERENCES_CREDENTIALS:
- credentialsSettingsChanged(sharedPreferences, key);
- break;
-
- case PREFERENCES_SCREEN:
- case PREFERENCES_SCREEN3G:
- screenSettingsChanged(sharedPreferences, key);
- break;
+ switch (current_preferences) {
+ case PREFERENCES_DEBUG:
+ debugSettingsChanged(sharedPreferences, key);
+ break;
- case PREFERENCES_GATEWAY:
- gatewaySettingsChanged(sharedPreferences, key);
- break;
+ case PREFERENCES_BOOKMARK:
+ bookmarkSettingsChanged(sharedPreferences, key);
+ break;
+
+ case PREFERENCES_ADVANCED:
+ advancedSettingsChanged(sharedPreferences, key);
+ break;
+
+ case PREFERENCES_CREDENTIALS:
+ credentialsSettingsChanged(sharedPreferences, key);
+ break;
+
+ case PREFERENCES_SCREEN:
+ case PREFERENCES_SCREEN3G:
+ screenSettingsChanged(sharedPreferences, key);
+ break;
+
+ case PREFERENCES_GATEWAY:
+ gatewaySettingsChanged(sharedPreferences, key);
+ break;
+
+ default:
+ break;
}
-
+
}
- private void initSettings(SharedPreferences sharedPreferences)
- {
- switch (current_preferences)
- {
- case PREFERENCES_BOOKMARK:
- initBookmarkSettings(sharedPreferences);
- break;
-
- case PREFERENCES_ADVANCED:
- initAdvancedSettings(sharedPreferences);
- break;
-
- case PREFERENCES_CREDENTIALS:
- initCredentialsSettings(sharedPreferences);
- break;
-
- case PREFERENCES_SCREEN:
- initScreenSettings(sharedPreferences);
- break;
+ private void initSettings(SharedPreferences sharedPreferences) {
+ switch (current_preferences) {
+ case PREFERENCES_BOOKMARK:
+ initBookmarkSettings(sharedPreferences);
+ break;
- case PREFERENCES_SCREEN3G:
- initScreenSettings3G(sharedPreferences);
- break;
-
- case PREFERENCES_GATEWAY:
- initGatewaySettings(sharedPreferences);
- break;
- }
+ case PREFERENCES_ADVANCED:
+ initAdvancedSettings(sharedPreferences);
+ break;
+
+ case PREFERENCES_CREDENTIALS:
+ initCredentialsSettings(sharedPreferences);
+ break;
+
+ case PREFERENCES_SCREEN:
+ initScreenSettings(sharedPreferences);
+ break;
+
+ case PREFERENCES_SCREEN3G:
+ initScreenSettings3G(sharedPreferences);
+ break;
+
+ case PREFERENCES_GATEWAY:
+ initGatewaySettings(sharedPreferences);
+ break;
+
+ case PREFERENCES_DEBUG:
+ initDebugSettings(sharedPreferences);
+ break;
+
+ default:
+ break;
+ }
}
-
- private void initBookmarkSettings(SharedPreferences sharedPreferences)
- {
- bookmarkSettingsChanged(sharedPreferences, "bookmark.label");
- bookmarkSettingsChanged(sharedPreferences, "bookmark.hostname");
- bookmarkSettingsChanged(sharedPreferences, "bookmark.port");
- bookmarkSettingsChanged(sharedPreferences, "bookmark.username");
+
+ private void initBookmarkSettings(SharedPreferences sharedPreferences) {
+ bookmarkSettingsChanged(sharedPreferences, "bookmark.label");
+ bookmarkSettingsChanged(sharedPreferences, "bookmark.hostname");
+ bookmarkSettingsChanged(sharedPreferences, "bookmark.port");
+ bookmarkSettingsChanged(sharedPreferences, "bookmark.username");
bookmarkSettingsChanged(sharedPreferences, "bookmark.resolution");
}
-
- private void bookmarkSettingsChanged(SharedPreferences sharedPreferences, String key)
- {
+
+ private void bookmarkSettingsChanged(SharedPreferences sharedPreferences,
+ String key) {
if (key.equals("bookmark.label") && findPreference(key) != null)
- findPreference(key).setSummary(sharedPreferences.getString(key, ""));
+ findPreference(key)
+ .setSummary(sharedPreferences.getString(key, ""));
else if (key.equals("bookmark.hostname") && findPreference(key) != null)
- findPreference(key).setSummary(sharedPreferences.getString(key, ""));
+ findPreference(key)
+ .setSummary(sharedPreferences.getString(key, ""));
else if (key.equals("bookmark.port") && findPreference(key) != null)
- findPreference(key).setSummary(String.valueOf(sharedPreferences.getInt(key, -1)));
- else if (key.equals("bookmark.username"))
- {
+ findPreference(key).setSummary(
+ String.valueOf(sharedPreferences.getInt(key, -1)));
+ else if (key.equals("bookmark.username")) {
String username = sharedPreferences.getString(key, "");
if (username.length() == 0)
username = "";
- findPreference("bookmark.credentials").setSummary(username);
- }
- else if (key.equals("bookmark.resolution") || key.equals("bookmark.colors") || key.equals("bookmark.width") || key.equals("bookmark.height"))
- {
- String resolution = sharedPreferences.getString("bookmark.resolution", "800x600");
- //compare english string from resolutions_values_array array, decode to localized
- //text for display
+ findPreference("bookmark.credentials").setSummary(username);
+ } else if (key.equals("bookmark.resolution")
+ || key.equals("bookmark.colors")
+ || key.equals("bookmark.width")
+ || key.equals("bookmark.height")) {
+ String resolution = sharedPreferences.getString(
+ "bookmark.resolution", "800x600");
+ // compare english string from resolutions_values_array array,
+ // decode to localized
+ // text for display
if (resolution.equals("automatic")) {
- resolution = getResources().getString(R.string.resolution_automatic);
+ resolution = getResources().getString(
+ R.string.resolution_automatic);
}
if (resolution.equals("custom")) {
- resolution = getResources().getString(R.string.resolution_custom);
+ resolution = getResources().getString(
+ R.string.resolution_custom);
}
if (resolution.equals("fitscreen")) {
resolution = getResources().getString(R.string.resolution_fit);
}
resolution += "@" + sharedPreferences.getInt("bookmark.colors", 16);
- findPreference("bookmark.screen").setSummary(resolution);
+ findPreference("bookmark.screen").setSummary(resolution);
}
}
- private void initAdvancedSettings(SharedPreferences sharedPreferences)
- {
- advancedSettingsChanged(sharedPreferences, "bookmark.enable_gateway_settings");
- advancedSettingsChanged(sharedPreferences, "bookmark.enable_3g_settings");
- advancedSettingsChanged(sharedPreferences, "bookmark.security");
- advancedSettingsChanged(sharedPreferences, "bookmark.resolution_3g");
- advancedSettingsChanged(sharedPreferences, "bookmark.remote_program");
- advancedSettingsChanged(sharedPreferences, "bookmark.work_dir");
+ private void initAdvancedSettings(SharedPreferences sharedPreferences) {
+ advancedSettingsChanged(sharedPreferences,
+ "bookmark.enable_gateway_settings");
+ advancedSettingsChanged(sharedPreferences,
+ "bookmark.enable_3g_settings");
+ advancedSettingsChanged(sharedPreferences, "bookmark.security");
+ advancedSettingsChanged(sharedPreferences, "bookmark.resolution_3g");
+ advancedSettingsChanged(sharedPreferences, "bookmark.remote_program");
+ advancedSettingsChanged(sharedPreferences, "bookmark.work_dir");
}
- private void advancedSettingsChanged(SharedPreferences sharedPreferences, String key)
- {
- if (key.equals("bookmark.enable_gateway_settings"))
- {
- boolean enabled = sharedPreferences.getBoolean(key, false);
- findPreference("bookmark.gateway_settings").setEnabled(enabled);
- }
- else if (key.equals("bookmark.enable_3g_settings"))
- {
+ private void advancedSettingsChanged(SharedPreferences sharedPreferences,
+ String key) {
+ if (key.equals("bookmark.enable_gateway_settings")) {
+ boolean enabled = sharedPreferences.getBoolean(key, false);
+ findPreference("bookmark.gateway_settings").setEnabled(enabled);
+ } else if (key.equals("bookmark.enable_3g_settings")) {
boolean enabled = sharedPreferences.getBoolean(key, false);
findPreference("bookmark.screen_3g").setEnabled(enabled);
findPreference("bookmark.performance_3g").setEnabled(enabled);
- }
- else if (key.equals("bookmark.security"))
- {
- ListPreference listPreference = (ListPreference)findPreference(key);
- CharSequence security = listPreference.getEntries()[sharedPreferences.getInt(key, 0)];
- listPreference.setSummary(security);
- }
- else if (key.equals("bookmark.resolution_3g") || key.equals("bookmark.colors_3g") || key.equals("bookmark.width_3g") || key.equals("bookmark.height_3g"))
- {
- String resolution = sharedPreferences.getString("bookmark.resolution_3g", "800x600");
+ } else if (key.equals("bookmark.security")) {
+ ListPreference listPreference = (ListPreference) findPreference(key);
+ CharSequence security = listPreference.getEntries()[sharedPreferences
+ .getInt(key, 0)];
+ listPreference.setSummary(security);
+ } else if (key.equals("bookmark.resolution_3g")
+ || key.equals("bookmark.colors_3g")
+ || key.equals("bookmark.width_3g")
+ || key.equals("bookmark.height_3g")) {
+ String resolution = sharedPreferences.getString(
+ "bookmark.resolution_3g", "800x600");
if (resolution.equals("automatic"))
- resolution = getResources().getString(R.string.resolution_automatic);
+ resolution = getResources().getString(
+ R.string.resolution_automatic);
else if (resolution.equals("custom"))
- resolution = getResources().getString(R.string.resolution_custom);
- resolution += "@" + sharedPreferences.getInt("bookmark.colors_3g", 16);
- findPreference("bookmark.screen_3g").setSummary(resolution);
- }
- else if (key.equals("bookmark.remote_program"))
- findPreference(key).setSummary(sharedPreferences.getString(key, ""));
+ resolution = getResources().getString(
+ R.string.resolution_custom);
+ resolution += "@"
+ + sharedPreferences.getInt("bookmark.colors_3g", 16);
+ findPreference("bookmark.screen_3g").setSummary(resolution);
+ } else if (key.equals("bookmark.remote_program"))
+ findPreference(key)
+ .setSummary(sharedPreferences.getString(key, ""));
else if (key.equals("bookmark.work_dir"))
- findPreference(key).setSummary(sharedPreferences.getString(key, ""));
+ findPreference(key)
+ .setSummary(sharedPreferences.getString(key, ""));
}
- private void initCredentialsSettings(SharedPreferences sharedPreferences)
- {
- credentialsSettingsChanged(sharedPreferences, "bookmark.username");
- credentialsSettingsChanged(sharedPreferences, "bookmark.password");
- credentialsSettingsChanged(sharedPreferences, "bookmark.domain");
+ private void initCredentialsSettings(SharedPreferences sharedPreferences) {
+ credentialsSettingsChanged(sharedPreferences, "bookmark.username");
+ credentialsSettingsChanged(sharedPreferences, "bookmark.password");
+ credentialsSettingsChanged(sharedPreferences, "bookmark.domain");
}
- private void credentialsSettingsChanged(SharedPreferences sharedPreferences, String key)
- {
+ private void credentialsSettingsChanged(
+ SharedPreferences sharedPreferences, String key) {
if (key.equals("bookmark.username"))
- findPreference(key).setSummary(sharedPreferences.getString(key, ""));
- else if (key.equals("bookmark.password"))
- {
+ findPreference(key)
+ .setSummary(sharedPreferences.getString(key, ""));
+ else if (key.equals("bookmark.password")) {
if (sharedPreferences.getString(key, "").length() == 0)
- findPreference(key).setSummary(getResources().getString(R.string.settings_password_empty));
+ findPreference(key).setSummary(
+ getResources().getString(
+ R.string.settings_password_empty));
else
- findPreference(key).setSummary(getResources().getString(R.string.settings_password_present));
- }
- else if (key.equals("bookmark.domain"))
- findPreference(key).setSummary(sharedPreferences.getString(key, ""));
+ findPreference(key).setSummary(
+ getResources().getString(
+ R.string.settings_password_present));
+ } else if (key.equals("bookmark.domain"))
+ findPreference(key)
+ .setSummary(sharedPreferences.getString(key, ""));
}
- private void initScreenSettings(SharedPreferences sharedPreferences)
- {
- screenSettingsChanged(sharedPreferences, "bookmark.colors");
- screenSettingsChanged(sharedPreferences, "bookmark.resolution");
- screenSettingsChanged(sharedPreferences, "bookmark.width");
- screenSettingsChanged(sharedPreferences, "bookmark.height");
+ private void initScreenSettings(SharedPreferences sharedPreferences) {
+ screenSettingsChanged(sharedPreferences, "bookmark.colors");
+ screenSettingsChanged(sharedPreferences, "bookmark.resolution");
+ screenSettingsChanged(sharedPreferences, "bookmark.width");
+ screenSettingsChanged(sharedPreferences, "bookmark.height");
}
- private void initScreenSettings3G(SharedPreferences sharedPreferences)
- {
- screenSettingsChanged(sharedPreferences, "bookmark.colors_3g");
- screenSettingsChanged(sharedPreferences, "bookmark.resolution_3g");
- screenSettingsChanged(sharedPreferences, "bookmark.width_3g");
- screenSettingsChanged(sharedPreferences, "bookmark.height_3g");
+ private void initScreenSettings3G(SharedPreferences sharedPreferences) {
+ screenSettingsChanged(sharedPreferences, "bookmark.colors_3g");
+ screenSettingsChanged(sharedPreferences, "bookmark.resolution_3g");
+ screenSettingsChanged(sharedPreferences, "bookmark.width_3g");
+ screenSettingsChanged(sharedPreferences, "bookmark.height_3g");
}
- private void screenSettingsChanged(SharedPreferences sharedPreferences, String key)
- {
- // could happen during initialization because 3g and non-3g settings share this routine - just skip
+ private void screenSettingsChanged(SharedPreferences sharedPreferences,
+ String key) {
+ // could happen during initialization because 3g and non-3g settings
+ // share this routine - just skip
if (findPreference(key) == null)
return;
-
- if (key.equals("bookmark.colors") || key.equals("bookmark.colors_3g"))
- {
- ListPreference listPreference = (ListPreference)findPreference(key);
- listPreference.setSummary(listPreference.getEntry());
- }
- else if (key.equals("bookmark.resolution") || key.equals("bookmark.resolution_3g"))
- {
- ListPreference listPreference = (ListPreference)findPreference(key);
- listPreference.setSummary(listPreference.getEntry());
-
- boolean enabled = listPreference.getValue().equalsIgnoreCase(getResources().getString(R.string.resolution_custom));
- if (key.equals("bookmark.resolution"))
- {
- findPreference("bookmark.width").setEnabled(enabled);
- findPreference("bookmark.height").setEnabled(enabled);
+
+ if (key.equals("bookmark.colors") || key.equals("bookmark.colors_3g")) {
+ ListPreference listPreference = (ListPreference) findPreference(key);
+ listPreference.setSummary(listPreference.getEntry());
+ } else if (key.equals("bookmark.resolution")
+ || key.equals("bookmark.resolution_3g")) {
+ ListPreference listPreference = (ListPreference) findPreference(key);
+ listPreference.setSummary(listPreference.getEntry());
+
+ boolean enabled = listPreference.getValue().equalsIgnoreCase(
+ getResources().getString(R.string.resolution_custom));
+ if (key.equals("bookmark.resolution")) {
+ findPreference("bookmark.width").setEnabled(enabled);
+ findPreference("bookmark.height").setEnabled(enabled);
+ } else {
+ findPreference("bookmark.width_3g").setEnabled(enabled);
+ findPreference("bookmark.height_3g").setEnabled(enabled);
}
- else
- {
- findPreference("bookmark.width_3g").setEnabled(enabled);
- findPreference("bookmark.height_3g").setEnabled(enabled);
- }
- }
- else if (key.equals("bookmark.width") || key.equals("bookmark.width_3g"))
- findPreference(key).setSummary(String.valueOf(sharedPreferences.getInt(key, 800)));
- else if (key.equals("bookmark.height") || key.equals("bookmark.height_3g"))
- findPreference(key).setSummary(String.valueOf(sharedPreferences.getInt(key, 600)));
+ } else if (key.equals("bookmark.width")
+ || key.equals("bookmark.width_3g"))
+ findPreference(key).setSummary(
+ String.valueOf(sharedPreferences.getInt(key, 800)));
+ else if (key.equals("bookmark.height")
+ || key.equals("bookmark.height_3g"))
+ findPreference(key).setSummary(
+ String.valueOf(sharedPreferences.getInt(key, 600)));
+ }
+
+ private void initDebugSettings(SharedPreferences sharedPreferences) {
+ debugSettingsChanged(sharedPreferences, "bookmark.debug_level");
+ }
+
+ private void initGatewaySettings(SharedPreferences sharedPreferences) {
+ gatewaySettingsChanged(sharedPreferences, "bookmark.gateway_hostname");
+ gatewaySettingsChanged(sharedPreferences, "bookmark.gateway_port");
+ gatewaySettingsChanged(sharedPreferences, "bookmark.gateway_username");
+ gatewaySettingsChanged(sharedPreferences, "bookmark.gateway_password");
+ gatewaySettingsChanged(sharedPreferences, "bookmark.gateway_domain");
+ }
+
+ private void debugSettingsChanged(SharedPreferences sharedPreferences,
+ String key) {
+ if (key.equals("bookmark.debug_level")) {
+ int level = sharedPreferences.getInt(key, 0);
+ Preference pref = findPreference("bookmark.debug_level");
+ pref.setDefaultValue(level);
+ }
+ }
+
+ private void gatewaySettingsChanged(SharedPreferences sharedPreferences,
+ String key) {
+ if (key.equals("bookmark.gateway_hostname")) {
+ findPreference(key)
+ .setSummary(sharedPreferences.getString(key, ""));
+ } else if (key.equals("bookmark.gateway_port")) {
+ findPreference(key).setSummary(
+ String.valueOf(sharedPreferences.getInt(key, 443)));
+ } else if (key.equals("bookmark.gateway_username")) {
+ findPreference(key)
+ .setSummary(sharedPreferences.getString(key, ""));
+ } else if (key.equals("bookmark.gateway_password")) {
+ if (sharedPreferences.getString(key, "").length() == 0)
+ findPreference(key).setSummary(
+ getResources().getString(
+ R.string.settings_password_empty));
+ else
+ findPreference(key).setSummary(
+ getResources().getString(
+ R.string.settings_password_present));
+ } else if (key.equals("bookmark.gateway_domain"))
+ findPreference(key)
+ .setSummary(sharedPreferences.getString(key, ""));
}
- private void initGatewaySettings(SharedPreferences sharedPreferences)
- {
- gatewaySettingsChanged(sharedPreferences, "bookmark.gateway_hostname");
- gatewaySettingsChanged(sharedPreferences, "bookmark.gateway_port");
- gatewaySettingsChanged(sharedPreferences, "bookmark.gateway_username");
- gatewaySettingsChanged(sharedPreferences, "bookmark.gateway_password");
- gatewaySettingsChanged(sharedPreferences, "bookmark.gateway_domain");
- }
-
- private void gatewaySettingsChanged(SharedPreferences sharedPreferences, String key)
- {
- if (key.equals("bookmark.gateway_hostname"))
- {
- findPreference(key).setSummary(sharedPreferences.getString(key, ""));
- }
- else if (key.equals("bookmark.gateway_port"))
- {
- findPreference(key).setSummary(String.valueOf(sharedPreferences.getInt(key, 443)));
- }
- else if (key.equals("bookmark.gateway_username"))
- {
- findPreference(key).setSummary(sharedPreferences.getString(key, ""));
- }
- else if (key.equals("bookmark.gateway_password"))
- {
- if (sharedPreferences.getString(key, "").length() == 0)
- findPreference(key).setSummary(getResources().getString(R.string.settings_password_empty));
- else
- findPreference(key).setSummary(getResources().getString(R.string.settings_password_present));
- }
- else if (key.equals("bookmark.gateway_domain"))
- findPreference(key).setSummary(sharedPreferences.getString(key, ""));
- }
-
private boolean verifySettings(SharedPreferences sharedPreferences) {
-
+
boolean verifyFailed = false;
- // perform sanity checks on settings
- // Label set
+ // perform sanity checks on settings
+ // Label set
if (sharedPreferences.getString("bookmark.label", "").length() == 0)
- verifyFailed = true;
+ verifyFailed = true;
- // Server and port specified
- if (!verifyFailed && sharedPreferences.getString("bookmark.hostname", "").length() == 0)
- verifyFailed = true;
+ // Server and port specified
+ if (!verifyFailed
+ && sharedPreferences.getString("bookmark.hostname", "")
+ .length() == 0)
+ verifyFailed = true;
- // Server and port specified
+ // Server and port specified
if (!verifyFailed && sharedPreferences.getInt("bookmark.port", -1) <= 0)
- verifyFailed = true;
+ verifyFailed = true;
- // if an error occured - display toast and return false
+ // if an error occured - display toast and return false
return (!verifyFailed);
}
-
- private void finishAndResetBookmark()
- {
+
+ private void finishAndResetBookmark() {
bookmark = null;
- getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
+ getPreferenceManager().getSharedPreferences()
+ .unregisterOnSharedPreferenceChangeListener(this);
finish();
}
-
- @Override
- public void onBackPressed()
- {
- // only proceed if we are in the main preferences screen
- if (current_preferences != PREFERENCES_BOOKMARK)
- {
- super.onBackPressed();
- getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
- return;
- }
-
- SharedPreferences sharedPreferences = getPreferenceManager().getSharedPreferences();
- if(!verifySettings(sharedPreferences))
- {
- // ask the user if he wants to cancel or continue editing
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setTitle(R.string.error_bookmark_incomplete_title)
- .setMessage(R.string.error_bookmark_incomplete)
- .setPositiveButton(R.string.cancel, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- finishAndResetBookmark();
- }
- })
- .setNegativeButton(R.string.cont, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.cancel();
- }
- })
- .show();
+ @Override
+ public void onBackPressed() {
+ // only proceed if we are in the main preferences screen
+ if (current_preferences != PREFERENCES_BOOKMARK) {
+ super.onBackPressed();
+ getPreferenceManager().getSharedPreferences()
+ .unregisterOnSharedPreferenceChangeListener(this);
return;
}
- else
- {
- // ask the user if he wants to save or cancel editing if a setting has changed
- if (new_bookmark || settings_changed)
- {
+
+ SharedPreferences sharedPreferences = getPreferenceManager()
+ .getSharedPreferences();
+ if (!verifySettings(sharedPreferences)) {
+ // ask the user if he wants to cancel or continue editing
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ builder.setTitle(R.string.error_bookmark_incomplete_title)
+ .setMessage(R.string.error_bookmark_incomplete)
+ .setPositiveButton(R.string.cancel,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog,
+ int which) {
+ finishAndResetBookmark();
+ }
+ })
+ .setNegativeButton(R.string.cont,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog,
+ int which) {
+ dialog.cancel();
+ }
+ }).show();
+
+ return;
+ } else {
+ // ask the user if he wants to save or cancel editing if a setting
+ // has changed
+ if (new_bookmark || settings_changed) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.dlg_title_save_bookmark)
- .setMessage(R.string.dlg_save_bookmark)
- .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- // read shared prefs back to bookmark
- bookmark.readFromSharedPreferences(getPreferenceManager().getSharedPreferences());
-
- BookmarkBaseGateway bookmarkGateway;
- if(bookmark.getType() == BookmarkBase.TYPE_MANUAL)
- {
- bookmarkGateway = GlobalApp.getManualBookmarkGateway();
- // remove any history entry for this bookmark
- GlobalApp.getQuickConnectHistoryGateway().removeHistoryItem(bookmark.get().getHostname());
- }
- else
- {
- assert false;
- return;
- }
-
- // insert or update bookmark and leave activity
- if(bookmark.getId() > 0)
- bookmarkGateway.update(bookmark);
- else
- bookmarkGateway.insert(bookmark);
+ .setMessage(R.string.dlg_save_bookmark)
+ .setPositiveButton(R.string.yes,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog,
+ int which) {
+ // read shared prefs back to bookmark
+ bookmark.readFromSharedPreferences(getPreferenceManager()
+ .getSharedPreferences());
- finishAndResetBookmark();
- }
- })
- .setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- finishAndResetBookmark();
- }
- })
- .show();
+ BookmarkBaseGateway bookmarkGateway;
+ if (bookmark.getType() == BookmarkBase.TYPE_MANUAL) {
+ bookmarkGateway = GlobalApp
+ .getManualBookmarkGateway();
+ // remove any history entry for this
+ // bookmark
+ GlobalApp
+ .getQuickConnectHistoryGateway()
+ .removeHistoryItem(
+ bookmark. get()
+ .getHostname());
+ } else {
+ assert false;
+ return;
+ }
+
+ // insert or update bookmark and leave
+ // activity
+ if (bookmark.getId() > 0)
+ bookmarkGateway.update(bookmark);
+ else
+ bookmarkGateway.insert(bookmark);
+
+ finishAndResetBookmark();
+ }
+ })
+ .setNegativeButton(R.string.no,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog,
+ int which) {
+ finishAndResetBookmark();
+ }
+ }).show();
+ } else {
+ finishAndResetBookmark();
}
- else
- {
- finishAndResetBookmark();
- }
- }
+ }
}
}
diff --git a/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/services/BookmarkBaseGateway.java b/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/services/BookmarkBaseGateway.java
index 159483b86..435045ca3 100644
--- a/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/services/BookmarkBaseGateway.java
+++ b/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/services/BookmarkBaseGateway.java
@@ -70,10 +70,8 @@ public abstract class BookmarkBaseGateway
values.put("console_mode", bookmark.getAdvancedSettings().getConsoleMode());
values.put("remote_program", bookmark.getAdvancedSettings().getRemoteProgram());
values.put("work_dir", bookmark.getAdvancedSettings().getWorkDir());
- values.put("async_channel", bookmark.getAdvancedSettings().getAsyncChannel());
- values.put("async_transport", bookmark.getAdvancedSettings().getAsyncTransport());
- values.put("async_input", bookmark.getAdvancedSettings().getAsyncInput());
- values.put("async_update", bookmark.getAdvancedSettings().getAsyncUpdate());
+
+ values.put("debug_level", bookmark.getDebugSettings().getDebugLevel());
// add any special columns
addBookmarkSpecificColumns(bookmark, values);
@@ -112,10 +110,8 @@ public abstract class BookmarkBaseGateway
values.put("console_mode", bookmark.getAdvancedSettings().getConsoleMode());
values.put("remote_program", bookmark.getAdvancedSettings().getRemoteProgram());
values.put("work_dir", bookmark.getAdvancedSettings().getWorkDir());
- values.put("async_channel", bookmark.getAdvancedSettings().getAsyncChannel());
- values.put("async_transport", bookmark.getAdvancedSettings().getAsyncTransport());
- values.put("async_input", bookmark.getAdvancedSettings().getAsyncInput());
- values.put("async_update", bookmark.getAdvancedSettings().getAsyncUpdate());
+
+ values.put("debug_level", bookmark.getDebugSettings().getDebugLevel());
addBookmarkSpecificColumns(bookmark, values);
@@ -237,10 +233,9 @@ public abstract class BookmarkBaseGateway
columns.add("console_mode");
columns.add("remote_program");
columns.add("work_dir");
- columns.add("async_channel");
- columns.add("async_transport");
- columns.add("async_input");
- columns.add("async_update");
+
+ // debug settings
+ columns.add("debug_level");
addBookmarkSpecificColumns(columns);
}
@@ -309,7 +304,8 @@ public abstract class BookmarkBaseGateway
cursor.getInt(cursor.getColumnIndex("async_input")) == 1 ? true : false);
bookmark.getAdvancedSettings().setAsyncUpdate(
cursor.getInt(cursor.getColumnIndex("async_update")) == 1 ? true : false);
-
+ bookmark.getDebugSettings().setDebugLevel(cursor.getInt(cursor.getColumnIndex("debug_level")));
+
readBookmarkSpecificColumns(bookmark, cursor);
return bookmark;
diff --git a/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/services/BookmarkDB.java b/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/services/BookmarkDB.java
index 8d18cf3dc..18682b339 100644
--- a/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/services/BookmarkDB.java
+++ b/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/services/BookmarkDB.java
@@ -22,7 +22,7 @@ import android.database.sqlite.SQLiteOpenHelper;
public class BookmarkDB extends SQLiteOpenHelper
{
- private static final int DB_VERSION = 5;
+ private static final int DB_VERSION = 6;
private static final String DB_NAME = "bookmarks.db";
public static final String ID = BaseColumns._ID;
@@ -110,7 +110,8 @@ public class BookmarkDB extends SQLiteOpenHelper
+ "async_transport, "
+ "async_input, "
+ "async_update, "
- + "console_mode) "
+ + "console_mode) "
+ + "debug_level ) "
+ "VALUES ( "
+ "'Test Server', "
+ "'testservice.afreerdp.com', "
@@ -118,7 +119,7 @@ public class BookmarkDB extends SQLiteOpenHelper
+ "'', "
+ "'', "
+ "3389, "
- + "1, 1, 2, 2, 0, 0, 0, 0, '', '', 1, 1, 1, 1, 0);";
+ + "1, 1, 2, 2, 0, 0, 0, 0, '', '', 1, 1, 1, 1, 0, 0);";
db.execSQL(sqlInsertDefaultSessionEntry);
}
@@ -157,6 +158,7 @@ public class BookmarkDB extends SQLiteOpenHelper
+ "async_input INTEGER DEFAULT 0, "
+ "async_update INTEGER DEFAULT 0, "
+ "console_mode INTEGER, "
+ + "debug_level INTEGER DEFAULT 0, "
+ "FOREIGN KEY(screen_settings) REFERENCES tbl_screen_settings(" + ID + "), "
+ "FOREIGN KEY(performance_flags) REFERENCES tbl_performance_flags(" + ID + "), "
diff --git a/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/utils/BuildConfiguration.java.in b/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/utils/BuildConfiguration.java.in
new file mode 100644
index 000000000..e0a72c95a
--- /dev/null
+++ b/client/Android/FreeRDPCore/src/com/freerdp/freerdpcore/utils/BuildConfiguration.java.in
@@ -0,0 +1,15 @@
+package com.freerdp.freerdpcore.utils;
+
+public class BuildConfiguration {
+ public static final String WITH_ANDROID_DEBUG_MENU = "@WITH_ANDROID_DEBUG_MENU@";
+
+ public static final int FREERDP_VERSION_MAJOR = @FREERDP_VERSION_MAJOR@;
+ public static final int FREERDP_VERSION_MINOR = @FREERDP_VERSION_MINOR@;
+ public static final int FREERDP_VERSION_REVISION = @FREERDP_VERSION_REVISION@;
+
+ public static final String FREERDP_VERSION_SUFFIX = "@FREERDP_VERSION_SUFFIX@";
+ public static final String FREERDP_API_VERSION = "@FREERDP_API_VERSION@";
+ public static final String FREERDP_VERSION = "@FREERDP_VERSION@";
+ public static final String FREERDP_VERSION_FULL = "@FREERDP_VERSION_FULL@";
+ public static final String GIT_REVISION = "@GIT_REVISION@";
+ }
diff --git a/cmake/ConfigOptionsAndroid.cmake b/cmake/ConfigOptionsAndroid.cmake
index f024162fb..49db7c756 100644
--- a/cmake/ConfigOptionsAndroid.cmake
+++ b/cmake/ConfigOptionsAndroid.cmake
@@ -21,9 +21,12 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
endif()
option(WITH_DEBUG_ANDROID_JNI "Enable debug output for android jni bindings" ${DEFAULT_DEBUG_OPTION})
+option(WITH_ANDROID_DEBUG_MENU "Enable debug output for android jni bindings" ${DEFAULT_DEBUG_OPTION})
+option(WITH_OPENSLES "Enable sound and microphone redirection using OpenSLES" ON)
option(ANDROID_BUILD_JAVA "Automatically android java code - build type depends on CMAKE_BUILD_TYPE" ON)
option(ANDROID_BUILD_JAVA_DEBUG "Create a android debug package" ${JAVA_DEBUG_DEFAULT})
set(ANDROID_APP_TARGET_SDK 11 CACHE STRING "Application target android SDK")
set(ANDROID_APP_MIN_SDK 9 CACHE STRING "Application minimum android SDK requirement")
set(ANDROID_APP_GOOGLE_TARGET_SDK "16" CACHE STRING "Application target google SDK")
+