Populate "System language" as a first class item in the language
preference list so that users can select it in scenarios where they
have previously selected a specific language, and wish to go back to
the default.
Change working directory to target path and call GetListing on
current directory instead of calling GetListing on explicit path.
For some reason GetListing(path) does not always return the contents of
the directory. However, calling SetWorkingDirectory(path) followed by
GetListing(null, options) to list the contents of the working directory
does consistently work.
Similar behavior was confirmed using ncftp client. I suspect this is a
strange bug/nuance in the server's implementation of the LIST command?
-Refactor the logger implementation to make creation more intuitive
-Remove SSH debug logging preference persistence (didn't work properly
anyway, and probably not worth trying to fix)
-Re-organize SFTP Credentials dialog to be more space-efficient
-Add KEX and SHK algorithm spec fields (these get used to build the SFTP
URI when connecting)
-Add CSV test fields/buttons for standalone testing of spec/config
resolution
-App Settings->Log-File for Debugging->SFTP debug logging
-Logs to android log (logcat) if log file is not enabled
-Logs to Kp2a log file if it is enabled
-Logs are tagged as "KP2AJFS[JSch]"
-When enabled, logs ALL levels (DEBUG+).
NOTE: Sensitive SSH connection information may be logged!!
URL encode/decode host parameter in SFTP URI
This version is slightly different than the original PR, given
this branch's changes to SftpStorage.buildFullPath().
Since IPv6 addresses contain colons, they break the host:port URI
parsing logic, since "host" will have colons in it.
This fix adds URL encoding/decoding of the "host" parameter, thus
removing any possible colons in that parameter that could conflict
with the host:port separator.
extended "SetKeyProviderFromString()" to set _keyFile for "ChallengeXCKeyFile";
extended "InitializePasswordModeSpinner()" case 7 to remember key file location