24 private static final String keyLabel =
"bookmark.label";
25 private static final String keyUsername =
"bookmark.username";
26 private static final String keyPassword =
"bookmark.password";
27 private static final String keyDomain =
"bookmark.domain";
29 private static final String keyColors =
"bookmark.colors";
30 private static final String keyResolution =
"bookmark.resolution";
31 private static final String keyWidth =
"bookmark.width";
32 private static final String keyScaleMode =
"bookmark.scale_mode";
33 private static final String keyScaleDesktop =
"bookmark.scale_desktop";
34 private static final String keyScaleDevice =
"bookmark.scale_device";
35 private static final String keyHeight =
"bookmark.height";
37 private static final String keyRFX =
"bookmark.perf_remotefx";
38 private static final String keyGFX =
"bookmark.perf_gfx";
39 private static final String keyH264 =
"bookmark.perf_gfx_h264";
40 private static final String keyFlagWallpaper =
"bookmark.perf_wallpaper";
41 private static final String keyFlagFonts =
"bookmark.perf_font_smoothing";
42 private static final String keyFlagComposition =
"bookmark.perf_desktop_composition";
43 private static final String keyFlagWindowDrag =
"bookmark.perf_window_dragging";
44 private static final String keyFlagMenuAnim =
"bookmark.perf_menu_animation";
45 private static final String keyFlagTheming =
"bookmark.perf_themes";
47 private static final String keyTlsSecLevel =
"bookmark.tlsSecLevel";
48 private static final String keyTlsMinLevel =
"bookmark.tlsMinLevel";
49 private static final String keyLoadBalanceInfo =
"bookmark.loadBalanceInfo";
50 private static final String keyRedirectSDCard =
"bookmark.redirect_sdcard";
51 private static final String keySound =
"bookmark.redirect_sound";
52 private static final String keyMicrophone =
"bookmark.redirect_microphone";
53 private static final String keyPrinter =
"bookmark.redirect_printer";
54 private static final String keySecurity =
"bookmark.security";
55 private static final String keyRemoteApp =
"bookmark.remote_program";
56 private static final String keyWorkDir =
"bookmark.work_dir";
57 private static final String keyConsoleMode =
"bookmark.console_mode";
58 private static final String keyVmConnectMode =
"bookmark.vmconnect_mode";
59 private static final String keyVmConnectGuid =
"bookmark.vmconnect_guid";
61 private static final String keyAsyncChannel =
"bookmark.async_channel";
62 private static final String keyAsyncUpdate =
"bookmark.async_update";
63 private static final String keyDebugLevel =
"bookmark.debug_level";
65 private static final String keyHostname =
"bookmark.hostname";
66 private static final String keyPort =
"bookmark.port";
67 private static final String keyGatewayEnabled =
"bookmark.enable_gateway_settings";
68 private static final String keyGatewayHostname =
"bookmark.gateway_hostname";
69 private static final String keyGatewayPort =
"bookmark.gateway_port";
70 private static final String keyGatewyUser =
"bookmark.gateway_username";
71 private static final String keyGatewayPassword =
"bookmark.gateway_password";
72 private static final String keyGatewayDomain =
"bookmark.gateway_domain";
74 public static final int TYPE_INVALID = -1;
75 public static final int TYPE_MANUAL = 1;
76 public static final int TYPE_QUICKCONNECT = 2;
77 public static final int TYPE_CUSTOM_BASE = 1000;
78 public static final Parcelable.Creator<
BookmarkBase> CREATOR =
90 protected int type = TYPE_MANUAL;
93 @NonNull
private String label =
"";
95 @NonNull
private String username =
"";
97 @NonNull
private String password =
"";
99 @NonNull
private String domain =
"";
109 @NonNull
private String hostname =
"";
110 private int port = 3389;
111 private boolean enableGatewaySettings =
false;
114 private boolean directConnect =
false;
118 type = parcel.readInt();
119 id = parcel.readLong();
120 label = Objects.requireNonNull(parcel.readString());
121 username = Objects.requireNonNull(parcel.readString());
122 password = Objects.requireNonNull(parcel.readString());
123 domain = Objects.requireNonNull(parcel.readString());
126 Objects.requireNonNull(parcel.readParcelable(
ScreenSettings.class.getClassLoader()));
128 Objects.requireNonNull(parcel.readParcelable(
PerformanceFlags.class.getClassLoader()));
130 Objects.requireNonNull(parcel.readParcelable(
AdvancedSettings.class.getClassLoader()));
132 Objects.requireNonNull(parcel.readParcelable(
DebugSettings.class.getClassLoader()));
133 hostname = Objects.requireNonNull(parcel.readString());
134 port = parcel.readInt();
135 enableGatewaySettings = (parcel.readInt() == 1);
137 Objects.requireNonNull(parcel.readParcelable(
GatewaySettings.class.getClassLoader()));
138 directConnect = (parcel.readInt() == 1);
150 public void setType(
int type)
160 public void setId(
long id)
165 @NonNull
public String getLabel()
170 public void setLabel(@NonNull String label)
175 @NonNull
public String getUsername()
180 public void setUsername(@NonNull String username)
182 this.username = username;
185 @NonNull
public String getPassword()
190 public void setPassword(@NonNull String password)
192 this.password = password;
195 @NonNull
public String getDomain()
200 public void setDomain(@NonNull String domain)
202 this.domain = domain;
207 return screenSettings;
212 return performanceFlags;
217 return advancedSettings;
222 return debugSettings;
225 @NonNull
public String getHostname()
230 public void setHostname(@NonNull String hostname)
232 this.hostname = hostname;
240 public void setPort(
int port)
245 public boolean getEnableGatewaySettings()
247 return enableGatewaySettings;
250 public void setEnableGatewaySettings(
boolean enableGatewaySettings)
252 this.enableGatewaySettings = enableGatewaySettings;
257 return gatewaySettings;
260 public boolean isDirectConnect()
262 return directConnect;
265 public void setDirectConnect(
boolean directConnect)
267 this.directConnect = directConnect;
272 return screenSettings;
277 return performanceFlags;
280 @Override
public int describeContents()
285 @Override
public void writeToParcel(Parcel out,
int flags)
289 out.writeString(label);
290 out.writeString(username);
291 out.writeString(password);
292 out.writeString(domain);
294 out.writeParcelable(screenSettings, flags);
295 out.writeParcelable(performanceFlags, flags);
296 out.writeParcelable(advancedSettings, flags);
297 out.writeParcelable(debugSettings, flags);
298 out.writeString(hostname);
300 out.writeBoolean(enableGatewaySettings);
301 out.writeParcelable(gatewaySettings, flags);
302 out.writeBoolean(directConnect);
306 public void writeToSharedPreferences(@NonNull SharedPreferences sharedPrefs)
308 Locale locale = Locale.ENGLISH;
310 SharedPreferences.Editor editor = sharedPrefs.edit();
312 editor.putString(keyLabel, label);
313 editor.putString(keyUsername, username);
314 editor.putString(keyPassword, password);
315 editor.putString(keyDomain, domain);
317 editor.putInt(keyColors, screenSettings.getColors());
318 editor.putString(keyResolution, screenSettings.getResolutionString().toLowerCase(locale));
319 editor.putInt(keyWidth, screenSettings.getWidth());
320 editor.putInt(keyHeight, screenSettings.getHeight());
321 editor.putString(keyScaleMode, screenSettings.getScaleMode());
322 editor.putInt(keyScaleDesktop, screenSettings.getScaleDesktop());
323 editor.putInt(keyScaleDevice, screenSettings.getScaleDevice());
325 editor.putBoolean(keyRFX, performanceFlags.getRemoteFX());
326 editor.putBoolean(keyGFX, performanceFlags.getGfx());
327 editor.putBoolean(keyH264, performanceFlags.getH264());
328 editor.putBoolean(keyFlagWallpaper, performanceFlags.getWallpaper());
329 editor.putBoolean(keyFlagFonts, performanceFlags.getFontSmoothing());
330 editor.putBoolean(keyFlagComposition, performanceFlags.getDesktopComposition());
331 editor.putBoolean(keyFlagWindowDrag, performanceFlags.getFullWindowDrag());
332 editor.putBoolean(keyFlagMenuAnim, performanceFlags.getMenuAnimations());
333 editor.putBoolean(keyFlagTheming, performanceFlags.getTheming());
335 editor.putInt(keyTlsSecLevel, advancedSettings.tlsSecLevel);
336 editor.putInt(keyTlsMinLevel, advancedSettings.tlsMinLevel);
338 editor.putString(keyLoadBalanceInfo, advancedSettings.getLoadBalanceInfo());
339 editor.putBoolean(keyRedirectSDCard, advancedSettings.getRedirectSDCard());
340 editor.putInt(keySound, advancedSettings.getRedirectSound());
341 editor.putBoolean(keyMicrophone, advancedSettings.getRedirectMicrophone());
342 editor.putBoolean(keyPrinter, advancedSettings.getRedirectPrinter());
343 editor.putInt(keySecurity, advancedSettings.getSecurity());
344 editor.putString(keyRemoteApp, advancedSettings.getRemoteProgram());
345 editor.putString(keyWorkDir, advancedSettings.getWorkDir());
346 editor.putBoolean(keyConsoleMode, advancedSettings.getConsoleMode());
347 editor.putBoolean(keyVmConnectMode, advancedSettings.getVmConnectMode());
348 editor.putString(keyVmConnectGuid, advancedSettings.getVmConnectGuid());
350 editor.putBoolean(keyAsyncChannel, debugSettings.getAsyncChannel());
351 editor.putBoolean(keyAsyncUpdate, debugSettings.getAsyncUpdate());
352 editor.putString(keyDebugLevel, debugSettings.getDebugLevel());
354 editor.putString(keyHostname, hostname);
355 editor.putInt(keyPort, port);
356 editor.putBoolean(keyGatewayEnabled, enableGatewaySettings);
357 editor.putString(keyGatewayHostname, gatewaySettings.getHostname());
358 editor.putInt(keyGatewayPort, gatewaySettings.getPort());
359 editor.putString(keyGatewyUser, gatewaySettings.getUsername());
360 editor.putString(keyGatewayPassword, gatewaySettings.getPassword());
361 editor.putString(keyGatewayDomain, gatewaySettings.getDomain());
367 public void readFromSharedPreferences(@NonNull SharedPreferences sharedPrefs)
369 label = sharedPrefs.getString(keyLabel,
"");
370 username = sharedPrefs.getString(keyUsername,
"");
371 password = sharedPrefs.getString(keyPassword,
"");
372 domain = sharedPrefs.getString(keyDomain,
"");
374 screenSettings.setColors(sharedPrefs.getInt(keyColors, 32));
375 screenSettings.setResolution(sharedPrefs.getString(keyResolution,
"automatic"),
376 sharedPrefs.getInt(keyWidth, 800),
377 sharedPrefs.getInt(keyHeight, 600));
378 screenSettings.setScale(sharedPrefs.getString(keyScaleMode,
"100"),
379 sharedPrefs.getInt(keyScaleDesktop, 100),
380 sharedPrefs.getInt(keyScaleDevice, 100));
382 performanceFlags.setRemoteFX(sharedPrefs.getBoolean(keyRFX,
false));
383 performanceFlags.setGfx(sharedPrefs.getBoolean(keyGFX,
true));
384 performanceFlags.setH264(sharedPrefs.getBoolean(keyH264,
true));
385 performanceFlags.setWallpaper(sharedPrefs.getBoolean(keyFlagWallpaper,
false));
386 performanceFlags.setFontSmoothing(sharedPrefs.getBoolean(keyFlagFonts,
false));
387 performanceFlags.setDesktopComposition(sharedPrefs.getBoolean(keyFlagComposition,
false));
388 performanceFlags.setFullWindowDrag(sharedPrefs.getBoolean(keyFlagWindowDrag,
false));
389 performanceFlags.setMenuAnimations(sharedPrefs.getBoolean(keyFlagMenuAnim,
false));
390 performanceFlags.setTheming(sharedPrefs.getBoolean(keyFlagTheming,
false));
392 advancedSettings.setTlsSecLevel(sharedPrefs.getInt(keyTlsSecLevel, -1));
393 advancedSettings.setTlsMinLevel(sharedPrefs.getInt(keyTlsMinLevel, -1));
395 advancedSettings.setLoadBalanceInfo(sharedPrefs.getString(keyLoadBalanceInfo,
""));
396 advancedSettings.setRedirectSDCard(sharedPrefs.getBoolean(keyRedirectSDCard,
false));
397 advancedSettings.setRedirectSound(sharedPrefs.getInt(keySound, 0));
398 advancedSettings.setRedirectMicrophone(sharedPrefs.getBoolean(keyMicrophone,
false));
399 advancedSettings.setRedirectPrinter(sharedPrefs.getBoolean(keyPrinter,
false));
400 advancedSettings.setSecurity(sharedPrefs.getInt(keySecurity, 0));
401 advancedSettings.setRemoteProgram(sharedPrefs.getString(keyRemoteApp,
""));
402 advancedSettings.setWorkDir(sharedPrefs.getString(keyWorkDir,
""));
403 advancedSettings.setConsoleMode(sharedPrefs.getBoolean(keyConsoleMode,
false));
404 advancedSettings.setVmConnectMode(sharedPrefs.getBoolean(keyVmConnectMode,
false));
405 advancedSettings.setVmConnectGuid(sharedPrefs.getString(keyVmConnectGuid,
""));
407 debugSettings.setAsyncChannel(sharedPrefs.getBoolean(keyAsyncChannel,
true));
408 debugSettings.setAsyncUpdate(sharedPrefs.getBoolean(keyAsyncUpdate,
true));
409 debugSettings.setDebugLevel(sharedPrefs.getString(keyDebugLevel,
"INFO"));
411 hostname = sharedPrefs.getString(keyHostname,
"");
412 port = sharedPrefs.getInt(keyPort, 3389);
413 enableGatewaySettings = sharedPrefs.getBoolean(keyGatewayEnabled,
false);
414 gatewaySettings.setHostname(sharedPrefs.getString(keyGatewayHostname,
""));
415 gatewaySettings.setPort(sharedPrefs.getInt(keyGatewayPort, 443));
416 gatewaySettings.setUsername(sharedPrefs.getString(keyGatewyUser,
""));
417 gatewaySettings.setPassword(sharedPrefs.getString(keyGatewayPassword,
""));
418 gatewaySettings.setDomain(sharedPrefs.getString(keyGatewayDomain,
""));
421 @Override
public Object clone()
throws CloneNotSupportedException
423 return super.clone();
441 private boolean remotefx =
true;
442 private boolean gfx =
true;
443 private boolean h264 =
true;
444 private boolean wallpaper =
true;
445 private boolean theming =
true;
446 private boolean fullWindowDrag =
true;
447 private boolean menuAnimations =
true;
448 private boolean fontSmoothing =
true;
449 private boolean desktopComposition =
true;
457 remotefx = parcel.readBoolean();
458 gfx = parcel.readBoolean();
459 h264 = parcel.readBoolean();
460 wallpaper = parcel.readBoolean();
461 theming = parcel.readBoolean();
462 fullWindowDrag = parcel.readBoolean();
463 menuAnimations = parcel.readBoolean();
464 fontSmoothing = parcel.readBoolean();
465 desktopComposition = parcel.readBoolean();
468 public boolean getRemoteFX()
473 public void setRemoteFX(
boolean remotefx)
475 this.remotefx = remotefx;
478 public boolean getGfx()
483 public void setGfx(
boolean gfx)
488 public boolean getH264()
493 public void setH264(
boolean h264)
498 public boolean getWallpaper()
503 public void setWallpaper(
boolean wallpaper)
505 this.wallpaper = wallpaper;
508 public boolean getTheming()
513 public void setTheming(
boolean theming)
515 this.theming = theming;
518 public boolean getFullWindowDrag()
520 return fullWindowDrag;
523 public void setFullWindowDrag(
boolean fullWindowDrag)
525 this.fullWindowDrag = fullWindowDrag;
528 public boolean getMenuAnimations()
530 return menuAnimations;
533 public void setMenuAnimations(
boolean menuAnimations)
535 this.menuAnimations = menuAnimations;
538 public boolean getFontSmoothing()
540 return fontSmoothing;
543 public void setFontSmoothing(
boolean fontSmoothing)
545 this.fontSmoothing = fontSmoothing;
548 public boolean getDesktopComposition()
550 return desktopComposition;
553 public void setDesktopComposition(
boolean desktopComposition)
555 this.desktopComposition = desktopComposition;
558 @Override
public int describeContents()
563 @Override
public void writeToParcel(@NonNull Parcel out,
int flags)
565 out.writeBoolean(remotefx);
566 out.writeBoolean(gfx);
567 out.writeBoolean(h264);
568 out.writeBoolean(wallpaper);
569 out.writeBoolean(theming);
570 out.writeBoolean(fullWindowDrag);
571 out.writeBoolean(menuAnimations);
572 out.writeBoolean(fontSmoothing);
573 out.writeBoolean(desktopComposition);
580 public static final int FITSCREEN = -2;
581 public static final int AUTOMATIC = -1;
582 public static final int CUSTOM = 0;
583 public static final int PREDEFINED = 1;
596 private int resolution = AUTOMATIC;
597 private int colors = 32;
598 private int width = 0;
599 private int height = 0;
600 private String scaleMode =
"100";
601 private int scaleDesktop = 100;
602 private int scaleDevice = 100;
610 resolution = parcel.readInt();
611 colors = parcel.readInt();
612 width = parcel.readInt();
613 height = parcel.readInt();
614 scaleMode = parcel.readString();
615 scaleDesktop = parcel.readInt();
616 scaleDevice = parcel.readInt();
619 private void validate()
634 if ((width <= 0) || (width > 65536))
639 if ((height <= 0) || (height > 65536))
652 resolution = AUTOMATIC;
657 public void setResolution(@NonNull String resolution,
int width,
int height)
659 if (resolution.contains(
"x"))
661 String[] dimensions = resolution.split(
"x");
662 this.width = Integer.parseInt(dimensions[0]);
663 this.height = Integer.parseInt(dimensions[1]);
664 this.resolution = PREDEFINED;
666 else if (resolution.equalsIgnoreCase(
"custom"))
669 this.height = height;
670 this.resolution = CUSTOM;
672 else if (resolution.equalsIgnoreCase(
"fitscreen"))
674 this.width = this.height = 0;
675 this.resolution = FITSCREEN;
679 this.width = this.height = 0;
680 this.resolution = AUTOMATIC;
684 public int getResolution()
689 public void setResolution(
int resolution)
691 this.resolution = resolution;
693 if (resolution == AUTOMATIC || resolution == FITSCREEN)
700 @NonNull
public String getResolutionString()
703 return (width +
"x" + height);
705 return (isFitScreen() ?
"fitscreen" : isAutomatic() ?
"automatic" :
"custom");
708 public boolean isPredefined()
711 return (resolution == PREDEFINED);
714 public boolean isAutomatic()
717 return (resolution == AUTOMATIC);
720 public boolean isFitScreen()
723 return (resolution == FITSCREEN);
726 public boolean isCustom()
729 return (resolution == CUSTOM);
732 public int getWidth()
738 public void setWidth(
int width)
743 public int getHeight()
749 public void setHeight(
int height)
751 this.height = height;
754 public int getColors()
760 public void setColors(
int colors)
762 this.colors = colors;
765 public void setScale(@NonNull String mode,
int desktop,
int device)
767 scaleMode =
"custom".equalsIgnoreCase(mode) ?
"custom" : mode;
768 scaleDesktop = desktop;
769 scaleDevice = device;
772 public boolean isCustomScale()
774 return "custom".equalsIgnoreCase(scaleMode);
777 @NonNull
public String getScaleMode()
782 public int getScalePreset()
784 if (
"140".equals(scaleMode))
786 if (
"180".equals(scaleMode))
791 public int getScaleDesktop()
796 public int getScaleDevice()
801 @Override
public int describeContents()
806 @Override
public void writeToParcel(@NonNull Parcel out,
int flags)
808 out.writeInt(resolution);
809 out.writeInt(colors);
811 out.writeInt(height);
812 out.writeString(scaleMode);
813 out.writeInt(scaleDesktop);
814 out.writeInt(scaleDevice);
820 public static final Parcelable.Creator<
DebugSettings> CREATOR =
833 @NonNull
private String debug =
"INFO";
834 private boolean asyncChannel =
true;
835 private boolean asyncTransport =
false;
836 private boolean asyncUpdate =
true;
845 asyncChannel = parcel.readBoolean();
846 asyncTransport = parcel.readBoolean();
847 asyncUpdate = parcel.readBoolean();
848 debug = Objects.requireNonNull(parcel.readString());
851 private void validate()
853 final String[] levels = {
"OFF",
"FATAL",
"ERROR",
"WARN",
"INFO",
"DEBUG",
"TRACE" };
855 for (String level : levels)
857 if (level.equalsIgnoreCase(
this.debug))
866 @NonNull
public String getDebugLevel()
872 public void setDebugLevel(@NonNull String debug)
877 public boolean getAsyncUpdate()
882 public void setAsyncUpdate(
boolean enabled)
884 asyncUpdate = enabled;
887 public boolean getAsyncChannel()
892 public void setAsyncChannel(
boolean enabled)
894 asyncChannel = enabled;
897 @Override
public int describeContents()
902 @Override
public void writeToParcel(@NonNull Parcel out,
int flags)
904 out.writeBoolean(asyncChannel);
905 out.writeBoolean(asyncTransport);
906 out.writeBoolean(asyncUpdate);
907 out.writeString(debug);
927 @NonNull
private String loadBalanceInfo =
"";
928 private boolean redirectSDCard =
false;
929 private int redirectSound = 0;
930 private boolean redirectMicrophone =
false;
931 private boolean redirectPrinter =
false;
932 private int security = 0;
933 private boolean consoleMode =
false;
934 private boolean vmConnectMode =
false;
935 @NonNull
private String vmConnectGuid =
"";
937 @NonNull
private String remoteProgram =
"";
939 @NonNull
private String workDir =
"";
940 private int tlsSecLevel = -1;
941 private int tlsMinLevel = -1;
949 loadBalanceInfo = Objects.requireNonNull(parcel.readString());
950 redirectSDCard = parcel.readBoolean();
951 redirectSound = parcel.readInt();
952 redirectMicrophone = parcel.readBoolean();
953 redirectPrinter = parcel.readBoolean();
954 security = parcel.readInt();
955 consoleMode = parcel.readBoolean();
956 vmConnectMode = parcel.readBoolean();
957 vmConnectGuid = Objects.requireNonNull(parcel.readString());
958 remoteProgram = Objects.requireNonNull(parcel.readString());
959 workDir = Objects.requireNonNull(parcel.readString());
960 tlsSecLevel = parcel.readInt();
961 tlsMinLevel = parcel.readInt();
964 private void validate()
966 switch (redirectSound)
990 public int getTlsSecLevel()
995 public void setTlsSecLevel(
int level)
1000 public void setTlsMinLevel(
int level)
1002 tlsMinLevel = level;
1005 public int getTlsMinLevel()
1010 @NonNull
public String getLoadBalanceInfo()
1012 return loadBalanceInfo;
1015 public void setLoadBalanceInfo(@NonNull String info)
1017 loadBalanceInfo = info;
1019 public boolean getRedirectSDCard()
1021 return redirectSDCard;
1024 public void setRedirectSDCard(
boolean redirectSDCard)
1026 this.redirectSDCard = redirectSDCard;
1029 public boolean getRedirectPrinter()
1031 return redirectPrinter;
1034 public void setRedirectPrinter(
boolean redirectPrinter)
1036 this.redirectPrinter = redirectPrinter;
1039 public int getRedirectSound()
1042 return redirectSound;
1045 public void setRedirectSound(
int redirect)
1047 this.redirectSound = redirect;
1050 public boolean getRedirectMicrophone()
1052 return redirectMicrophone;
1055 public void setRedirectMicrophone(
boolean redirect)
1057 this.redirectMicrophone = redirect;
1060 public int getSecurity()
1066 public void setSecurity(
int security)
1068 this.security = security;
1071 public boolean getConsoleMode()
1076 public void setConsoleMode(
boolean consoleMode)
1078 this.consoleMode = consoleMode;
1081 @NonNull
public String getRemoteProgram()
1083 return remoteProgram;
1086 public void setRemoteProgram(@NonNull String remoteProgram)
1088 this.remoteProgram = remoteProgram;
1091 @NonNull
public String getWorkDir()
1096 public void setWorkDir(@NonNull String workDir)
1098 this.workDir = workDir;
1101 public boolean getVmConnectMode()
1103 return vmConnectMode;
1106 public void setVmConnectMode(
boolean vmConnectMode)
1108 this.vmConnectMode = vmConnectMode;
1111 @NonNull
public String getVmConnectGuid()
1113 return vmConnectGuid;
1116 public void setVmConnectGuid(@NonNull String vmConnectGuid)
1118 this.vmConnectGuid = vmConnectGuid;
1121 @Override
public int describeContents()
1126 @Override
public void writeToParcel(@NonNull Parcel out,
int flags)
1128 out.writeString(loadBalanceInfo);
1129 out.writeBoolean(redirectSDCard);
1130 out.writeInt(redirectSound);
1131 out.writeBoolean(redirectMicrophone);
1132 out.writeBoolean(redirectPrinter);
1133 out.writeInt(security);
1134 out.writeBoolean(consoleMode);
1135 out.writeBoolean(vmConnectMode);
1136 out.writeString(vmConnectGuid);
1137 out.writeString(remoteProgram);
1138 out.writeString(workDir);
1139 out.writeInt(tlsSecLevel);
1140 out.writeInt(tlsMinLevel);
1159 @NonNull
private String hostname =
"";
1160 private int port = 443;
1162 @NonNull
private String username =
"";
1164 @NonNull
private String password =
"";
1166 @NonNull
private String domain =
"";
1174 hostname = Objects.requireNonNull(parcel.readString());
1175 port = parcel.readInt();
1176 username = Objects.requireNonNull(parcel.readString());
1177 password = Objects.requireNonNull(parcel.readString());
1178 domain = Objects.requireNonNull(parcel.readString());
1181 @NonNull
public String getHostname()
1186 public void setHostname(@NonNull String hostname)
1188 this.hostname = hostname;
1191 public int getPort()
1196 public void setPort(
int port)
1201 @NonNull
public String getUsername()
1206 public void setUsername(@NonNull String username)
1208 this.username = username;
1211 @NonNull
public String getPassword()
1216 public void setPassword(@NonNull String password)
1218 this.password = password;
1221 @NonNull
public String getDomain()
1226 public void setDomain(@NonNull String domain)
1228 this.domain = domain;
1231 @Override
public int describeContents()
1236 @Override
public void writeToParcel(@NonNull Parcel out,
int flags)
1238 out.writeString(hostname);
1240 out.writeString(username);
1241 out.writeString(password);
1242 out.writeString(domain);