aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.classpath8
-rw-r--r--.gitignore21
-rw-r--r--.idea/.gitignore17
-rw-r--r--.idea/.name1
-rw-r--r--.idea/codeStyleSettings.xml212
-rw-r--r--.idea/copyright/Apache_ConnectBot.xml9
-rw-r--r--.idea/copyright/profiles_settings.xml7
-rw-r--r--.idea/encodings.xml5
-rw-r--r--.idea/gradle.xml20
-rw-r--r--.idea/inspectionProfiles/Project_Default.xml11
-rw-r--r--.idea/scopes/ConnectBot.xml3
-rw-r--r--.idea/vcs.xml7
-rw-r--r--.travis.yml31
-rw-r--r--ant.properties19
-rw-r--r--app/app.iml93
-rw-r--r--app/build.gradle58
-rw-r--r--app/lint.xml4
-rw-r--r--app/locale/.gitignore (renamed from locale/.gitignore)0
-rw-r--r--app/proguard.cfg (renamed from proguard.cfg)0
-rw-r--r--app/src/main/AndroidManifest.xml (renamed from AndroidManifest.xml)0
-rw-r--r--app/src/main/assets/help/Hints.html (renamed from assets/help/Hints.html)0
-rw-r--r--app/src/main/assets/help/PhysicalKeyboard.html (renamed from assets/help/PhysicalKeyboard.html)0
-rw-r--r--app/src/main/assets/help/ScreenGestures.html (renamed from assets/help/ScreenGestures.html)0
-rw-r--r--app/src/main/assets/help/VirtualKeyboard.html (renamed from assets/help/VirtualKeyboard.html)0
-rw-r--r--app/src/main/java/com/google/ase/Exec.java (renamed from src/com/google/ase/Exec.java)0
-rw-r--r--app/src/main/java/com/jcraft/jzlib/Adler32.java (renamed from src/com/jcraft/jzlib/Adler32.java)0
-rw-r--r--app/src/main/java/com/jcraft/jzlib/Deflate.java (renamed from src/com/jcraft/jzlib/Deflate.java)0
-rw-r--r--app/src/main/java/com/jcraft/jzlib/InfBlocks.java (renamed from src/com/jcraft/jzlib/InfBlocks.java)0
-rw-r--r--app/src/main/java/com/jcraft/jzlib/InfCodes.java (renamed from src/com/jcraft/jzlib/InfCodes.java)0
-rw-r--r--app/src/main/java/com/jcraft/jzlib/InfTree.java (renamed from src/com/jcraft/jzlib/InfTree.java)0
-rw-r--r--app/src/main/java/com/jcraft/jzlib/Inflate.java (renamed from src/com/jcraft/jzlib/Inflate.java)0
-rw-r--r--app/src/main/java/com/jcraft/jzlib/JZlib.java (renamed from src/com/jcraft/jzlib/JZlib.java)0
-rw-r--r--app/src/main/java/com/jcraft/jzlib/StaticTree.java (renamed from src/com/jcraft/jzlib/StaticTree.java)0
-rw-r--r--app/src/main/java/com/jcraft/jzlib/Tree.java (renamed from src/com/jcraft/jzlib/Tree.java)0
-rw-r--r--app/src/main/java/com/jcraft/jzlib/ZInputStream.java (renamed from src/com/jcraft/jzlib/ZInputStream.java)0
-rw-r--r--app/src/main/java/com/jcraft/jzlib/ZOutputStream.java (renamed from src/com/jcraft/jzlib/ZOutputStream.java)0
-rw-r--r--app/src/main/java/com/jcraft/jzlib/ZStream.java (renamed from src/com/jcraft/jzlib/ZStream.java)0
-rw-r--r--app/src/main/java/com/jcraft/jzlib/ZStreamException.java (renamed from src/com/jcraft/jzlib/ZStreamException.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/AuthAgentCallback.java (renamed from src/com/trilead/ssh2/AuthAgentCallback.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/ChannelCondition.java (renamed from src/com/trilead/ssh2/ChannelCondition.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/Connection.java (renamed from src/com/trilead/ssh2/Connection.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/ConnectionInfo.java (renamed from src/com/trilead/ssh2/ConnectionInfo.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/ConnectionMonitor.java (renamed from src/com/trilead/ssh2/ConnectionMonitor.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/DHGexParameters.java (renamed from src/com/trilead/ssh2/DHGexParameters.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/DebugLogger.java (renamed from src/com/trilead/ssh2/DebugLogger.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/DynamicPortForwarder.java (renamed from src/com/trilead/ssh2/DynamicPortForwarder.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/HTTPProxyData.java (renamed from src/com/trilead/ssh2/HTTPProxyData.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/HTTPProxyException.java (renamed from src/com/trilead/ssh2/HTTPProxyException.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/InteractiveCallback.java (renamed from src/com/trilead/ssh2/InteractiveCallback.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/KnownHosts.java (renamed from src/com/trilead/ssh2/KnownHosts.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/LocalPortForwarder.java (renamed from src/com/trilead/ssh2/LocalPortForwarder.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/LocalStreamForwarder.java (renamed from src/com/trilead/ssh2/LocalStreamForwarder.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/ProxyData.java (renamed from src/com/trilead/ssh2/ProxyData.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/SCPClient.java (renamed from src/com/trilead/ssh2/SCPClient.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/SFTPException.java (renamed from src/com/trilead/ssh2/SFTPException.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/SFTPv3Client.java (renamed from src/com/trilead/ssh2/SFTPv3Client.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/SFTPv3DirectoryEntry.java (renamed from src/com/trilead/ssh2/SFTPv3DirectoryEntry.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/SFTPv3FileAttributes.java (renamed from src/com/trilead/ssh2/SFTPv3FileAttributes.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/SFTPv3FileHandle.java (renamed from src/com/trilead/ssh2/SFTPv3FileHandle.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/ServerHostKeyVerifier.java (renamed from src/com/trilead/ssh2/ServerHostKeyVerifier.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/Session.java (renamed from src/com/trilead/ssh2/Session.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/StreamGobbler.java (renamed from src/com/trilead/ssh2/StreamGobbler.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/auth/AuthenticationManager.java (renamed from src/com/trilead/ssh2/auth/AuthenticationManager.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/channel/AuthAgentForwardThread.java (renamed from src/com/trilead/ssh2/channel/AuthAgentForwardThread.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/channel/Channel.java (renamed from src/com/trilead/ssh2/channel/Channel.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/channel/ChannelInputStream.java (renamed from src/com/trilead/ssh2/channel/ChannelInputStream.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/channel/ChannelManager.java (renamed from src/com/trilead/ssh2/channel/ChannelManager.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/channel/ChannelOutputStream.java (renamed from src/com/trilead/ssh2/channel/ChannelOutputStream.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/channel/DynamicAcceptThread.java (renamed from src/com/trilead/ssh2/channel/DynamicAcceptThread.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/channel/IChannelWorkerThread.java (renamed from src/com/trilead/ssh2/channel/IChannelWorkerThread.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/channel/LocalAcceptThread.java (renamed from src/com/trilead/ssh2/channel/LocalAcceptThread.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/channel/RemoteAcceptThread.java (renamed from src/com/trilead/ssh2/channel/RemoteAcceptThread.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/channel/RemoteForwardingData.java (renamed from src/com/trilead/ssh2/channel/RemoteForwardingData.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/channel/RemoteX11AcceptThread.java (renamed from src/com/trilead/ssh2/channel/RemoteX11AcceptThread.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/channel/StreamForwarder.java (renamed from src/com/trilead/ssh2/channel/StreamForwarder.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/channel/X11ServerData.java (renamed from src/com/trilead/ssh2/channel/X11ServerData.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/compression/CompressionFactory.java (renamed from src/com/trilead/ssh2/compression/CompressionFactory.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/compression/ICompressor.java (renamed from src/com/trilead/ssh2/compression/ICompressor.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/compression/Zlib.java (renamed from src/com/trilead/ssh2/compression/Zlib.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/compression/ZlibOpenSSH.java (renamed from src/com/trilead/ssh2/compression/ZlibOpenSSH.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/Base64.java (renamed from src/com/trilead/ssh2/crypto/Base64.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/CryptoWishList.java (renamed from src/com/trilead/ssh2/crypto/CryptoWishList.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/KeyMaterial.java (renamed from src/com/trilead/ssh2/crypto/KeyMaterial.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/PEMDecoder.java (renamed from src/com/trilead/ssh2/crypto/PEMDecoder.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/PEMStructure.java (renamed from src/com/trilead/ssh2/crypto/PEMStructure.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/SimpleDERReader.java (renamed from src/com/trilead/ssh2/crypto/SimpleDERReader.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/cipher/AES.java (renamed from src/com/trilead/ssh2/crypto/cipher/AES.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/cipher/BlockCipher.java (renamed from src/com/trilead/ssh2/crypto/cipher/BlockCipher.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/cipher/BlockCipherFactory.java (renamed from src/com/trilead/ssh2/crypto/cipher/BlockCipherFactory.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/cipher/BlowFish.java (renamed from src/com/trilead/ssh2/crypto/cipher/BlowFish.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/cipher/CBCMode.java (renamed from src/com/trilead/ssh2/crypto/cipher/CBCMode.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/cipher/CTRMode.java (renamed from src/com/trilead/ssh2/crypto/cipher/CTRMode.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/cipher/CipherInputStream.java (renamed from src/com/trilead/ssh2/crypto/cipher/CipherInputStream.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/cipher/CipherOutputStream.java (renamed from src/com/trilead/ssh2/crypto/cipher/CipherOutputStream.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/cipher/DES.java (renamed from src/com/trilead/ssh2/crypto/cipher/DES.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/cipher/DESede.java (renamed from src/com/trilead/ssh2/crypto/cipher/DESede.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/cipher/NullCipher.java (renamed from src/com/trilead/ssh2/crypto/cipher/NullCipher.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/dh/DhExchange.java (renamed from src/com/trilead/ssh2/crypto/dh/DhExchange.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/dh/DhGroupExchange.java (renamed from src/com/trilead/ssh2/crypto/dh/DhGroupExchange.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/dh/EcDhExchange.java (renamed from src/com/trilead/ssh2/crypto/dh/EcDhExchange.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/dh/GenericDhExchange.java (renamed from src/com/trilead/ssh2/crypto/dh/GenericDhExchange.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/digest/HashForSSH2Types.java (renamed from src/com/trilead/ssh2/crypto/digest/HashForSSH2Types.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/crypto/digest/MAC.java (renamed from src/com/trilead/ssh2/crypto/digest/MAC.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/log/Logger.java (renamed from src/com/trilead/ssh2/log/Logger.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketChannelAuthAgentReq.java (renamed from src/com/trilead/ssh2/packets/PacketChannelAuthAgentReq.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenConfirmation.java (renamed from src/com/trilead/ssh2/packets/PacketChannelOpenConfirmation.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenFailure.java (renamed from src/com/trilead/ssh2/packets/PacketChannelOpenFailure.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketChannelTrileadPing.java (renamed from src/com/trilead/ssh2/packets/PacketChannelTrileadPing.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketChannelWindowAdjust.java (renamed from src/com/trilead/ssh2/packets/PacketChannelWindowAdjust.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketDisconnect.java (renamed from src/com/trilead/ssh2/packets/PacketDisconnect.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketGlobalCancelForwardRequest.java (renamed from src/com/trilead/ssh2/packets/PacketGlobalCancelForwardRequest.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketGlobalForwardRequest.java (renamed from src/com/trilead/ssh2/packets/PacketGlobalForwardRequest.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketGlobalTrileadPing.java (renamed from src/com/trilead/ssh2/packets/PacketGlobalTrileadPing.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketIgnore.java (renamed from src/com/trilead/ssh2/packets/PacketIgnore.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketKexDHInit.java (renamed from src/com/trilead/ssh2/packets/PacketKexDHInit.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketKexDHReply.java (renamed from src/com/trilead/ssh2/packets/PacketKexDHReply.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexGroup.java (renamed from src/com/trilead/ssh2/packets/PacketKexDhGexGroup.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexInit.java (renamed from src/com/trilead/ssh2/packets/PacketKexDhGexInit.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexReply.java (renamed from src/com/trilead/ssh2/packets/PacketKexDhGexReply.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequest.java (renamed from src/com/trilead/ssh2/packets/PacketKexDhGexRequest.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequestOld.java (renamed from src/com/trilead/ssh2/packets/PacketKexDhGexRequestOld.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketKexInit.java (renamed from src/com/trilead/ssh2/packets/PacketKexInit.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketNewKeys.java (renamed from src/com/trilead/ssh2/packets/PacketNewKeys.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketOpenDirectTCPIPChannel.java (renamed from src/com/trilead/ssh2/packets/PacketOpenDirectTCPIPChannel.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketOpenSessionChannel.java (renamed from src/com/trilead/ssh2/packets/PacketOpenSessionChannel.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketServiceAccept.java (renamed from src/com/trilead/ssh2/packets/PacketServiceAccept.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketServiceRequest.java (renamed from src/com/trilead/ssh2/packets/PacketServiceRequest.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketSessionExecCommand.java (renamed from src/com/trilead/ssh2/packets/PacketSessionExecCommand.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketSessionPtyRequest.java (renamed from src/com/trilead/ssh2/packets/PacketSessionPtyRequest.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketSessionPtyResize.java (renamed from src/com/trilead/ssh2/packets/PacketSessionPtyResize.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketSessionStartShell.java (renamed from src/com/trilead/ssh2/packets/PacketSessionStartShell.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketSessionSubsystemRequest.java (renamed from src/com/trilead/ssh2/packets/PacketSessionSubsystemRequest.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketSessionX11Request.java (renamed from src/com/trilead/ssh2/packets/PacketSessionX11Request.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketUserauthBanner.java (renamed from src/com/trilead/ssh2/packets/PacketUserauthBanner.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketUserauthFailure.java (renamed from src/com/trilead/ssh2/packets/PacketUserauthFailure.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoRequest.java (renamed from src/com/trilead/ssh2/packets/PacketUserauthInfoRequest.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoResponse.java (renamed from src/com/trilead/ssh2/packets/PacketUserauthInfoResponse.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestInteractive.java (renamed from src/com/trilead/ssh2/packets/PacketUserauthRequestInteractive.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestNone.java (renamed from src/com/trilead/ssh2/packets/PacketUserauthRequestNone.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPassword.java (renamed from src/com/trilead/ssh2/packets/PacketUserauthRequestPassword.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPublicKey.java (renamed from src/com/trilead/ssh2/packets/PacketUserauthRequestPublicKey.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/Packets.java (renamed from src/com/trilead/ssh2/packets/Packets.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/TypesReader.java (renamed from src/com/trilead/ssh2/packets/TypesReader.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/packets/TypesWriter.java (renamed from src/com/trilead/ssh2/packets/TypesWriter.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/sftp/AttrTextHints.java (renamed from src/com/trilead/ssh2/sftp/AttrTextHints.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/sftp/AttribBits.java (renamed from src/com/trilead/ssh2/sftp/AttribBits.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/sftp/AttribFlags.java (renamed from src/com/trilead/ssh2/sftp/AttribFlags.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/sftp/AttribPermissions.java (renamed from src/com/trilead/ssh2/sftp/AttribPermissions.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/sftp/AttribTypes.java (renamed from src/com/trilead/ssh2/sftp/AttribTypes.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/sftp/ErrorCodes.java (renamed from src/com/trilead/ssh2/sftp/ErrorCodes.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/sftp/OpenFlags.java (renamed from src/com/trilead/ssh2/sftp/OpenFlags.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/sftp/Packet.java (renamed from src/com/trilead/ssh2/sftp/Packet.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/signature/DSASHA1Verify.java (renamed from src/com/trilead/ssh2/signature/DSASHA1Verify.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/signature/ECDSASHA2Verify.java (renamed from src/com/trilead/ssh2/signature/ECDSASHA2Verify.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/signature/RSASHA1Verify.java (renamed from src/com/trilead/ssh2/signature/RSASHA1Verify.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/transport/ClientServerHello.java (renamed from src/com/trilead/ssh2/transport/ClientServerHello.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/transport/KexManager.java (renamed from src/com/trilead/ssh2/transport/KexManager.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/transport/KexParameters.java (renamed from src/com/trilead/ssh2/transport/KexParameters.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/transport/KexState.java (renamed from src/com/trilead/ssh2/transport/KexState.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/transport/MessageHandler.java (renamed from src/com/trilead/ssh2/transport/MessageHandler.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/transport/NegotiateException.java (renamed from src/com/trilead/ssh2/transport/NegotiateException.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/transport/NegotiatedParameters.java (renamed from src/com/trilead/ssh2/transport/NegotiatedParameters.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/transport/TransportConnection.java (renamed from src/com/trilead/ssh2/transport/TransportConnection.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/transport/TransportManager.java (renamed from src/com/trilead/ssh2/transport/TransportManager.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/util/TimeoutService.java (renamed from src/com/trilead/ssh2/util/TimeoutService.java)0
-rw-r--r--app/src/main/java/com/trilead/ssh2/util/Tokenizer.java (renamed from src/com/trilead/ssh2/util/Tokenizer.java)0
-rw-r--r--app/src/main/java/de/mud/telnet/TelnetProtocolHandler.java (renamed from src/de/mud/telnet/TelnetProtocolHandler.java)0
-rw-r--r--app/src/main/java/de/mud/terminal/Precomposer.java (renamed from src/de/mud/terminal/Precomposer.java)0
-rw-r--r--app/src/main/java/de/mud/terminal/VDUBuffer.java (renamed from src/de/mud/terminal/VDUBuffer.java)0
-rw-r--r--app/src/main/java/de/mud/terminal/VDUDisplay.java (renamed from src/de/mud/terminal/VDUDisplay.java)0
-rw-r--r--app/src/main/java/de/mud/terminal/VDUInput.java (renamed from src/de/mud/terminal/VDUInput.java)0
-rw-r--r--app/src/main/java/de/mud/terminal/vt320.java (renamed from src/de/mud/terminal/vt320.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/Authentication.java (renamed from src/net/sourceforge/jsocks/Authentication.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/AuthenticationNone.java (renamed from src/net/sourceforge/jsocks/AuthenticationNone.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/Proxy.java (renamed from src/net/sourceforge/jsocks/Proxy.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/ProxyMessage.java (renamed from src/net/sourceforge/jsocks/ProxyMessage.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/ProxyServer.java (renamed from src/net/sourceforge/jsocks/ProxyServer.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/Socks4Message.java (renamed from src/net/sourceforge/jsocks/Socks4Message.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/Socks4Proxy.java (renamed from src/net/sourceforge/jsocks/Socks4Proxy.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/Socks5DatagramSocket.java (renamed from src/net/sourceforge/jsocks/Socks5DatagramSocket.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/Socks5Message.java (renamed from src/net/sourceforge/jsocks/Socks5Message.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/Socks5Proxy.java (renamed from src/net/sourceforge/jsocks/Socks5Proxy.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/SocksException.java (renamed from src/net/sourceforge/jsocks/SocksException.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/SocksServerSocket.java (renamed from src/net/sourceforge/jsocks/SocksServerSocket.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/SocksSocket.java (renamed from src/net/sourceforge/jsocks/SocksSocket.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/UDPEncapsulation.java (renamed from src/net/sourceforge/jsocks/UDPEncapsulation.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/UDPRelayServer.java (renamed from src/net/sourceforge/jsocks/UDPRelayServer.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/server/ServerAuthenticator.java (renamed from src/net/sourceforge/jsocks/server/ServerAuthenticator.java)0
-rw-r--r--app/src/main/java/net/sourceforge/jsocks/server/ServerAuthenticatorNone.java (renamed from src/net/sourceforge/jsocks/server/ServerAuthenticatorNone.java)0
-rw-r--r--app/src/main/java/org/apache/harmony/niochar/charset/additional/IBM437.java (renamed from src/org/apache/harmony/niochar/charset/additional/IBM437.java)0
-rw-r--r--app/src/main/java/org/connectbot/ActionBarWrapper.java (renamed from src/org/connectbot/ActionBarWrapper.java)6
-rw-r--r--app/src/main/java/org/connectbot/ColorsActivity.java (renamed from src/org/connectbot/ColorsActivity.java)0
-rw-r--r--app/src/main/java/org/connectbot/ConsoleActivity.java (renamed from src/org/connectbot/ConsoleActivity.java)106
-rw-r--r--app/src/main/java/org/connectbot/GeneratePubkeyActivity.java (renamed from src/org/connectbot/GeneratePubkeyActivity.java)14
-rw-r--r--app/src/main/java/org/connectbot/HelpActivity.java (renamed from src/org/connectbot/HelpActivity.java)2
-rw-r--r--app/src/main/java/org/connectbot/HelpTopicActivity.java (renamed from src/org/connectbot/HelpTopicActivity.java)0
-rw-r--r--app/src/main/java/org/connectbot/HostEditorActivity.java (renamed from src/org/connectbot/HostEditorActivity.java)28
-rw-r--r--app/src/main/java/org/connectbot/HostListActivity.java (renamed from src/org/connectbot/HostListActivity.java)28
-rw-r--r--app/src/main/java/org/connectbot/PortForwardListActivity.java (renamed from src/org/connectbot/PortForwardListActivity.java)10
-rw-r--r--app/src/main/java/org/connectbot/PubkeyListActivity.java (renamed from src/org/connectbot/PubkeyListActivity.java)34
-rw-r--r--app/src/main/java/org/connectbot/SettingsActivity.java (renamed from src/org/connectbot/SettingsActivity.java)0
-rw-r--r--app/src/main/java/org/connectbot/StrictModeSetup.java (renamed from src/org/connectbot/StrictModeSetup.java)4
-rw-r--r--app/src/main/java/org/connectbot/TerminalView.java (renamed from src/org/connectbot/TerminalView.java)7
-rw-r--r--app/src/main/java/org/connectbot/WizardActivity.java (renamed from src/org/connectbot/WizardActivity.java)9
-rw-r--r--app/src/main/java/org/connectbot/bean/AbstractBean.java (renamed from src/org/connectbot/bean/AbstractBean.java)0
-rw-r--r--app/src/main/java/org/connectbot/bean/HostBean.java (renamed from src/org/connectbot/bean/HostBean.java)4
-rw-r--r--app/src/main/java/org/connectbot/bean/PortForwardBean.java (renamed from src/org/connectbot/bean/PortForwardBean.java)0
-rw-r--r--app/src/main/java/org/connectbot/bean/PubkeyBean.java (renamed from src/org/connectbot/bean/PubkeyBean.java)0
-rw-r--r--app/src/main/java/org/connectbot/bean/SelectionArea.java (renamed from src/org/connectbot/bean/SelectionArea.java)2
-rw-r--r--app/src/main/java/org/connectbot/service/BackupAgent.java (renamed from src/org/connectbot/service/BackupAgent.java)9
-rw-r--r--app/src/main/java/org/connectbot/service/BackupWrapper.java (renamed from src/org/connectbot/service/BackupWrapper.java)5
-rw-r--r--app/src/main/java/org/connectbot/service/BridgeDisconnectedListener.java (renamed from src/org/connectbot/service/BridgeDisconnectedListener.java)0
-rw-r--r--app/src/main/java/org/connectbot/service/ConnectionNotifier.java (renamed from src/org/connectbot/service/ConnectionNotifier.java)4
-rw-r--r--app/src/main/java/org/connectbot/service/ConnectivityReceiver.java (renamed from src/org/connectbot/service/ConnectivityReceiver.java)4
-rw-r--r--app/src/main/java/org/connectbot/service/FontSizeChangedListener.java (renamed from src/org/connectbot/service/FontSizeChangedListener.java)0
-rw-r--r--app/src/main/java/org/connectbot/service/KeyEventUtil.java (renamed from src/org/connectbot/service/KeyEventUtil.java)0
-rw-r--r--app/src/main/java/org/connectbot/service/PromptHelper.java (renamed from src/org/connectbot/service/PromptHelper.java)8
-rw-r--r--app/src/main/java/org/connectbot/service/Relay.java (renamed from src/org/connectbot/service/Relay.java)0
-rw-r--r--app/src/main/java/org/connectbot/service/TerminalBridge.java (renamed from src/org/connectbot/service/TerminalBridge.java)24
-rw-r--r--app/src/main/java/org/connectbot/service/TerminalKeyListener.java (renamed from src/org/connectbot/service/TerminalKeyListener.java)36
-rw-r--r--app/src/main/java/org/connectbot/service/TerminalManager.java (renamed from src/org/connectbot/service/TerminalManager.java)10
-rw-r--r--app/src/main/java/org/connectbot/transport/AbsTransport.java (renamed from src/org/connectbot/transport/AbsTransport.java)7
-rw-r--r--app/src/main/java/org/connectbot/transport/Local.java (renamed from src/org/connectbot/transport/Local.java)0
-rw-r--r--app/src/main/java/org/connectbot/transport/SSH.java (renamed from src/org/connectbot/transport/SSH.java)36
-rw-r--r--app/src/main/java/org/connectbot/transport/Telnet.java (renamed from src/org/connectbot/transport/Telnet.java)0
-rw-r--r--app/src/main/java/org/connectbot/transport/TransportFactory.java (renamed from src/org/connectbot/transport/TransportFactory.java)0
-rw-r--r--app/src/main/java/org/connectbot/util/Colors.java (renamed from src/org/connectbot/util/Colors.java)0
-rw-r--r--app/src/main/java/org/connectbot/util/EastAsianWidth.java (renamed from src/org/connectbot/util/EastAsianWidth.java)4
-rw-r--r--app/src/main/java/org/connectbot/util/Encryptor.java (renamed from src/org/connectbot/util/Encryptor.java)4
-rw-r--r--app/src/main/java/org/connectbot/util/EntropyDialog.java (renamed from src/org/connectbot/util/EntropyDialog.java)0
-rw-r--r--app/src/main/java/org/connectbot/util/EntropyView.java (renamed from src/org/connectbot/util/EntropyView.java)6
-rw-r--r--app/src/main/java/org/connectbot/util/HelpTopicView.java (renamed from src/org/connectbot/util/HelpTopicView.java)0
-rw-r--r--app/src/main/java/org/connectbot/util/HostDatabase.java (renamed from src/org/connectbot/util/HostDatabase.java)2
-rw-r--r--app/src/main/java/org/connectbot/util/OnDbWrittenListener.java (renamed from src/org/connectbot/util/OnDbWrittenListener.java)0
-rw-r--r--app/src/main/java/org/connectbot/util/OnEntropyGatheredListener.java (renamed from src/org/connectbot/util/OnEntropyGatheredListener.java)0
-rw-r--r--app/src/main/java/org/connectbot/util/PreferenceConstants.java (renamed from src/org/connectbot/util/PreferenceConstants.java)0
-rw-r--r--app/src/main/java/org/connectbot/util/PubkeyDatabase.java (renamed from src/org/connectbot/util/PubkeyDatabase.java)0
-rw-r--r--app/src/main/java/org/connectbot/util/PubkeyUtils.java (renamed from src/org/connectbot/util/PubkeyUtils.java)2
-rw-r--r--app/src/main/java/org/connectbot/util/RobustSQLiteOpenHelper.java (renamed from src/org/connectbot/util/RobustSQLiteOpenHelper.java)0
-rw-r--r--app/src/main/java/org/connectbot/util/UberColorPickerDialog.java (renamed from src/org/connectbot/util/UberColorPickerDialog.java)95
-rw-r--r--app/src/main/java/org/connectbot/util/VolumePreference.java (renamed from src/org/connectbot/util/VolumePreference.java)2
-rw-r--r--app/src/main/java/org/connectbot/util/XmlBuilder.java (renamed from src/org/connectbot/util/XmlBuilder.java)0
-rw-r--r--app/src/main/java/org/keyczar/jce/EcCore.java (renamed from src/org/keyczar/jce/EcCore.java)0
-rw-r--r--app/src/main/java/org/openintents/intents/FileManagerIntents.java (renamed from src/org/openintents/intents/FileManagerIntents.java)0
-rw-r--r--app/src/main/jni/com_google_ase_Exec.cpp (renamed from jni/Exec/com_google_ase_Exec.cpp)0
-rw-r--r--app/src/main/jni/com_google_ase_Exec.h (renamed from jni/Exec/com_google_ase_Exec.h)0
-rw-r--r--app/src/main/res/anim/fade_out_delayed.xml (renamed from res/anim/fade_out_delayed.xml)0
-rw-r--r--app/src/main/res/anim/fade_stay_hidden.xml (renamed from res/anim/fade_stay_hidden.xml)0
-rw-r--r--app/src/main/res/anim/keyboard_fade_in.xml (renamed from res/anim/keyboard_fade_in.xml)0
-rw-r--r--app/src/main/res/anim/keyboard_fade_out.xml (renamed from res/anim/keyboard_fade_out.xml)0
-rw-r--r--app/src/main/res/anim/slide_left_in.xml (renamed from res/anim/slide_left_in.xml)0
-rw-r--r--app/src/main/res/anim/slide_left_out.xml (renamed from res/anim/slide_left_out.xml)0
-rw-r--r--app/src/main/res/anim/slide_right_in.xml (renamed from res/anim/slide_right_in.xml)0
-rw-r--r--app/src/main/res/anim/slide_right_out.xml (renamed from res/anim/slide_right_out.xml)0
-rw-r--r--app/src/main/res/color/blue.xml (renamed from res/color/blue.xml)0
-rw-r--r--app/src/main/res/color/green.xml (renamed from res/color/green.xml)0
-rw-r--r--app/src/main/res/color/red.xml (renamed from res/color/red.xml)0
-rw-r--r--app/src/main/res/drawable-hdpi/icon.png (renamed from res/drawable-hdpi/icon.png)bin961 -> 961 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/notification_icon.png (renamed from res/drawable-hdpi/notification_icon.png)bin385 -> 385 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/icon.png (renamed from res/drawable-mdpi/icon.png)bin646 -> 646 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/notification_icon.png (renamed from res/drawable-mdpi/notification_icon.png)bin256 -> 256 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/icon.png (renamed from res/drawable-xhdpi/icon.png)bin1018 -> 1018 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/notification_icon.png (renamed from res/drawable-xhdpi/notification_icon.png)bin380 -> 380 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/icon.png (renamed from res/drawable-xxhdpi/icon.png)bin1379 -> 1379 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/notification_icon.png (renamed from res/drawable-xxhdpi/notification_icon.png)bin568 -> 568 bytes
-rw-r--r--app/src/main/res/drawable-xxxhdpi/icon.png (renamed from res/drawable-xxxhdpi/icon.png)bin1777 -> 1777 bytes
-rw-r--r--app/src/main/res/drawable-xxxhdpi/notification_icon.png (renamed from res/drawable-xxxhdpi/notification_icon.png)bin665 -> 665 bytes
-rw-r--r--app/src/main/res/drawable/button_ctrl.png (renamed from res/drawable/button_ctrl.png)bin3254 -> 3254 bytes
-rw-r--r--app/src/main/res/drawable/button_esc.png (renamed from res/drawable/button_esc.png)bin3638 -> 3638 bytes
-rw-r--r--app/src/main/res/drawable/button_keyboard.png (renamed from res/drawable/button_keyboard.png)bin3326 -> 3326 bytes
-rw-r--r--app/src/main/res/drawable/connected.xml (renamed from res/drawable/connected.xml)0
-rw-r--r--app/src/main/res/drawable/highlight_disabled_pressed.9.png (renamed from res/drawable/highlight_disabled_pressed.9.png)bin898 -> 898 bytes
-rw-r--r--app/src/main/res/drawable/ic_btn_back.png (renamed from res/drawable/ic_btn_back.png)bin861 -> 861 bytes
-rw-r--r--app/src/main/res/drawable/ic_btn_next.png (renamed from res/drawable/ic_btn_next.png)bin729 -> 729 bytes
-rw-r--r--app/src/main/res/drawable/pubkey.xml (renamed from res/drawable/pubkey.xml)0
-rw-r--r--app/src/main/res/drawable/pubkey_locked.png (renamed from res/drawable/pubkey_locked.png)bin1487 -> 1487 bytes
-rw-r--r--app/src/main/res/drawable/pubkey_unlocked.png (renamed from res/drawable/pubkey_unlocked.png)bin1743 -> 1743 bytes
-rw-r--r--app/src/main/res/layout-land/item_host.xml (renamed from res/layout-land/item_host.xml)0
-rw-r--r--app/src/main/res/layout-port/item_host.xml (renamed from res/layout-port/item_host.xml)0
-rw-r--r--app/src/main/res/layout/act_colors.xml (renamed from res/layout/act_colors.xml)0
-rw-r--r--app/src/main/res/layout/act_console.xml (renamed from res/layout/act_console.xml)0
-rw-r--r--app/src/main/res/layout/act_generatepubkey.xml (renamed from res/layout/act_generatepubkey.xml)0
-rw-r--r--app/src/main/res/layout/act_help.xml (renamed from res/layout/act_help.xml)0
-rw-r--r--app/src/main/res/layout/act_help_topic.xml (renamed from res/layout/act_help_topic.xml)0
-rw-r--r--app/src/main/res/layout/act_hostlist.xml (renamed from res/layout/act_hostlist.xml)0
-rw-r--r--app/src/main/res/layout/act_portforwardlist.xml (renamed from res/layout/act_portforwardlist.xml)0
-rw-r--r--app/src/main/res/layout/act_pubkeylist.xml (renamed from res/layout/act_pubkeylist.xml)0
-rw-r--r--app/src/main/res/layout/act_wizard.xml (renamed from res/layout/act_wizard.xml)0
-rw-r--r--app/src/main/res/layout/dia_changepassword.xml (renamed from res/layout/dia_changepassword.xml)0
-rw-r--r--app/src/main/res/layout/dia_gatherentropy.xml (renamed from res/layout/dia_gatherentropy.xml)0
-rw-r--r--app/src/main/res/layout/dia_password.xml (renamed from res/layout/dia_password.xml)0
-rw-r--r--app/src/main/res/layout/dia_portforward.xml (renamed from res/layout/dia_portforward.xml)0
-rw-r--r--app/src/main/res/layout/dia_resize.xml (renamed from res/layout/dia_resize.xml)0
-rw-r--r--app/src/main/res/layout/item_portforward.xml (renamed from res/layout/item_portforward.xml)0
-rw-r--r--app/src/main/res/layout/item_pubkey.xml (renamed from res/layout/item_pubkey.xml)0
-rw-r--r--app/src/main/res/layout/item_terminal.xml (renamed from res/layout/item_terminal.xml)0
-rw-r--r--app/src/main/res/layout/wiz_eula.xml (renamed from res/layout/wiz_eula.xml)0
-rw-r--r--app/src/main/res/raw/bell.ogg (renamed from res/raw/bell.ogg)bin5090 -> 5090 bytes
-rw-r--r--app/src/main/res/values-af/strings.xml (renamed from res/values-af/strings.xml)0
-rw-r--r--app/src/main/res/values-ar/strings.xml (renamed from res/values-ar/strings.xml)0
-rw-r--r--app/src/main/res/values-be/strings.xml (renamed from res/values-be/strings.xml)0
-rw-r--r--app/src/main/res/values-bg/strings.xml (renamed from res/values-bg/strings.xml)0
-rw-r--r--app/src/main/res/values-ca/strings.xml (renamed from res/values-ca/strings.xml)0
-rw-r--r--app/src/main/res/values-cs/strings.xml (renamed from res/values-cs/strings.xml)0
-rw-r--r--app/src/main/res/values-da/strings.xml (renamed from res/values-da/strings.xml)0
-rw-r--r--app/src/main/res/values-de/strings.xml (renamed from res/values-de/strings.xml)1
-rw-r--r--app/src/main/res/values-el/strings.xml (renamed from res/values-el/strings.xml)0
-rw-r--r--app/src/main/res/values-en-rCA/strings.xml (renamed from res/values-en-rCA/strings.xml)0
-rw-r--r--app/src/main/res/values-en-rGB/strings.xml7
-rw-r--r--app/src/main/res/values-es/strings.xml (renamed from res/values-es/strings.xml)0
-rw-r--r--app/src/main/res/values-eu/strings.xml (renamed from res/values-eu/strings.xml)0
-rw-r--r--app/src/main/res/values-fa/strings.xml (renamed from res/values-fa/strings.xml)0
-rw-r--r--app/src/main/res/values-fi/strings.xml (renamed from res/values-fi/strings.xml)0
-rw-r--r--app/src/main/res/values-fr/strings.xml (renamed from res/values-fr/strings.xml)0
-rw-r--r--app/src/main/res/values-gl/strings.xml (renamed from res/values-gl/strings.xml)0
-rw-r--r--app/src/main/res/values-he/strings.xml (renamed from res/values-he/strings.xml)0
-rw-r--r--app/src/main/res/values-hr/strings.xml (renamed from res/values-hr/strings.xml)0
-rw-r--r--app/src/main/res/values-hu/strings.xml (renamed from res/values-hu/strings.xml)0
-rw-r--r--app/src/main/res/values-id/strings.xml (renamed from res/values-id/strings.xml)0
-rw-r--r--app/src/main/res/values-is/strings.xml (renamed from res/values-is/strings.xml)0
-rw-r--r--app/src/main/res/values-it/strings.xml (renamed from res/values-it/strings.xml)0
-rw-r--r--app/src/main/res/values-ja/strings.xml (renamed from res/values-ja/strings.xml)0
-rw-r--r--app/src/main/res/values-ka/strings.xml (renamed from res/values-ka/strings.xml)0
-rw-r--r--app/src/main/res/values-ko/strings.xml (renamed from res/values-ko/strings.xml)0
-rw-r--r--app/src/main/res/values-lt/strings.xml (renamed from res/values-lt/strings.xml)0
-rw-r--r--app/src/main/res/values-lv/strings.xml (renamed from res/values-lv/strings.xml)0
-rw-r--r--app/src/main/res/values-mk/strings.xml (renamed from res/values-mk/strings.xml)0
-rw-r--r--app/src/main/res/values-nb/strings.xml (renamed from res/values-nb/strings.xml)0
-rw-r--r--app/src/main/res/values-nl/strings.xml (renamed from res/values-nl/strings.xml)0
-rw-r--r--app/src/main/res/values-oc/strings.xml (renamed from res/values-oc/strings.xml)2
-rw-r--r--app/src/main/res/values-pl/strings.xml (renamed from res/values-pl/strings.xml)0
-rw-r--r--app/src/main/res/values-pt-rBR/strings.xml (renamed from res/values-pt-rBR/strings.xml)0
-rw-r--r--app/src/main/res/values-pt/strings.xml (renamed from res/values-pt/strings.xml)0
-rw-r--r--app/src/main/res/values-ro/strings.xml (renamed from res/values-ro/strings.xml)0
-rw-r--r--app/src/main/res/values-ru/strings.xml (renamed from res/values-ru/strings.xml)0
-rw-r--r--app/src/main/res/values-sk/strings.xml (renamed from res/values-sk/strings.xml)0
-rw-r--r--app/src/main/res/values-sl/strings.xml (renamed from res/values-sl/strings.xml)0
-rw-r--r--app/src/main/res/values-sv/strings.xml (renamed from res/values-sv/strings.xml)0
-rw-r--r--app/src/main/res/values-tr/strings.xml (renamed from res/values-tr/strings.xml)0
-rw-r--r--app/src/main/res/values-uk/strings.xml (renamed from res/values-uk/strings.xml)0
-rw-r--r--app/src/main/res/values-v11/styles.xml (renamed from res/values-v11/styles.xml)0
-rw-r--r--app/src/main/res/values-v14/styles.xml (renamed from res/values-v14/styles.xml)0
-rw-r--r--app/src/main/res/values-vi/strings.xml (renamed from res/values-vi/strings.xml)0
-rw-r--r--app/src/main/res/values-zh-rCN/strings.xml (renamed from res/values-zh-rCN/strings.xml)0
-rw-r--r--app/src/main/res/values-zh-rHK/strings.xml (renamed from res/values-zh-rHK/strings.xml)0
-rw-r--r--app/src/main/res/values-zh-rTW/strings.xml (renamed from res/values-zh-rTW/strings.xml)2
-rw-r--r--app/src/main/res/values/arrays.xml (renamed from res/values/arrays.xml)0
-rw-r--r--app/src/main/res/values/notrans.xml (renamed from res/values/notrans.xml)0
-rw-r--r--app/src/main/res/values/strings.xml (renamed from res/values/strings.xml)0
-rw-r--r--app/src/main/res/values/styles.xml (renamed from res/values/styles.xml)0
-rw-r--r--app/src/main/res/values/version.xml (renamed from res/values/version.xml)0
-rw-r--r--app/src/main/res/xml/host_prefs.xml (renamed from res/xml/host_prefs.xml)0
-rw-r--r--app/src/main/res/xml/preferences.xml (renamed from res/xml/preferences.xml)0
-rw-r--r--build.gradle32
-rw-r--r--build.xml76
-rw-r--r--config/quality.gradle17
-rw-r--r--config/quality/checkstyle/checkstyle.xml30
-rw-r--r--config/quality/checkstyle/suppressions.xml23
-rw-r--r--config/translations.gradle83
-rw-r--r--connectbot.iml19
-rw-r--r--connectbot.sublime-project36
-rw-r--r--gradle/wrapper/gradle-wrapper.jarbin0 -> 49896 bytes
-rw-r--r--gradle/wrapper/gradle-wrapper.properties6
-rwxr-xr-xgradlew164
-rw-r--r--gradlew.bat90
-rw-r--r--jni/Android.mk1
-rw-r--r--jni/Application.mk2
-rw-r--r--jni/Exec/Android.mk10
-rwxr-xr-xlibs/armeabi/libcom_google_ase_Exec.sobin12688 -> 0 bytes
-rwxr-xr-xlibs/x86/libcom_google_ase_Exec.sobin6168 -> 0 bytes
-rw-r--r--project.properties14
-rw-r--r--res/values-en-rGB/strings.xml29
-rw-r--r--robolectric-tests/.gitignore1
-rw-r--r--robolectric-tests/build.gradle48
-rw-r--r--robolectric-tests/robolectric-tests.iml76
-rw-r--r--robolectric-tests/src/test/java/org/connectbot/HostBeanTest.java (renamed from tests/src/org/connectbot/HostBeanTest.java)46
-rw-r--r--robolectric-tests/src/test/java/org/connectbot/SelectionAreaTest.java (renamed from tests/src/org/connectbot/SelectionAreaTest.java)23
-rw-r--r--robolectric-tests/src/test/java/org/connectbot/mock/BeanAssertions.java (renamed from tests/src/org/connectbot/mock/BeanTestCase.java)8
-rw-r--r--robolectric-tests/src/test/java/org/connectbot/mock/NullOutputStream.java (renamed from tests/src/org/connectbot/mock/NullOutputStream.java)0
-rw-r--r--robolectric-tests/src/test/java/org/connectbot/mock/NullTransport.java (renamed from tests/src/org/connectbot/mock/NullTransport.java)0
-rw-r--r--robolectric-tests/src/test/java/org/connectbot/util/PubkeyUtilsTest.java (renamed from tests/src/org/connectbot/util/PubkeyUtilsTest.java)65
-rw-r--r--settings.gradle1
-rw-r--r--tests/.classpath9
-rw-r--r--tests/.gitignore4
-rw-r--r--tests/.project33
-rw-r--r--tests/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--tests/.settings/org.eclipse.jdt.ui.prefs113
-rw-r--r--tests/AndroidManifest.xml21
-rw-r--r--tests/ant.properties21
-rw-r--r--tests/build.xml138
-rw-r--r--tests/proguard.cfg40
-rw-r--r--tests/project.properties13
-rw-r--r--tests/src/org/connectbot/HostListActivityTest.java47
-rw-r--r--tests/src/org/connectbot/SettingsActivityTest.java47
-rw-r--r--tests/src/org/connectbot/TerminalBridgeTest.java105
395 files changed, 1462 insertions, 1370 deletions
diff --git a/.classpath b/.classpath
deleted file mode 100644
index e69f104..0000000
--- a/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
- <classpathentry kind="src" path="gen"/>
- <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
- <classpathentry kind="output" path="bin/classes"/>
-</classpath>
diff --git a/.gitignore b/.gitignore
index 485e248..bedf6b7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,23 @@
-bin
-gen
+# generated files
+bin/
+gen/
+
+# translation artifacts
launchpad-*.tar.gz
+
+# local config files
local.properties
+
+# working files
*~
+
+# OS X sucks
+.DS_Store
+
+# SublimeText working files
+*.sublime-project
*.sublime-workspace
+
+# Android Studio
+.gradle/
+build/
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..8e587e7
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,17 @@
+*.xml
+
+!/codeStyleSettings.xml
+!/copyright/*.xml
+!/fileColors.xml
+!/encodings.xml
+!/gradle.xml
+!/runConfigurations/*.xml
+
+!/inspectionProfiles/*.xml
+/inspectionProfiles/profiles_settings.xml
+
+!/scopes/*.xml
+/scopes/scope_settings.xml
+
+!/templateLanguages.xml
+!/vcs.xml
diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 0000000..b7626a2
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+connectbot \ No newline at end of file
diff --git a/.idea/codeStyleSettings.xml b/.idea/codeStyleSettings.xml
new file mode 100644
index 0000000..5225c34
--- /dev/null
+++ b/.idea/codeStyleSettings.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ProjectCodeStyleSettingsManager">
+ <option name="PER_PROJECT_SETTINGS">
+ <value>
+ <option name="OTHER_INDENT_OPTIONS">
+ <value>
+ <option name="INDENT_SIZE" value="8" />
+ <option name="CONTINUATION_INDENT_SIZE" value="16" />
+ <option name="TAB_SIZE" value="8" />
+ <option name="USE_TAB_CHARACTER" value="true" />
+ <option name="SMART_TABS" value="false" />
+ <option name="LABEL_INDENT_SIZE" value="0" />
+ <option name="LABEL_INDENT_ABSOLUTE" value="false" />
+ <option name="USE_RELATIVE_INDENTS" value="false" />
+ </value>
+ </option>
+ <option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="99" />
+ <option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="99" />
+ <option name="PACKAGES_TO_USE_IMPORT_ON_DEMAND">
+ <value />
+ </option>
+ <option name="IMPORT_LAYOUT_TABLE">
+ <value>
+ <package name="java" withSubpackages="true" static="false" />
+ <emptyLine />
+ <package name="javax" withSubpackages="true" static="false" />
+ <emptyLine />
+ <package name="org" withSubpackages="true" static="false" />
+ <emptyLine />
+ <package name="com" withSubpackages="true" static="false" />
+ <emptyLine />
+ <package name="" withSubpackages="true" static="false" />
+ <emptyLine />
+ <package name="" withSubpackages="true" static="true" />
+ <emptyLine />
+ </value>
+ </option>
+ <option name="RIGHT_MARGIN" value="100" />
+ <option name="JD_ALIGN_PARAM_COMMENTS" value="false" />
+ <option name="JD_ALIGN_EXCEPTION_COMMENTS" value="false" />
+ <AndroidXmlCodeStyleSettings>
+ <option name="USE_CUSTOM_SETTINGS" value="true" />
+ </AndroidXmlCodeStyleSettings>
+ <XML>
+ <option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" />
+ </XML>
+ <codeStyleSettings language="Groovy">
+ <indentOptions>
+ <option name="INDENT_SIZE" value="8" />
+ <option name="CONTINUATION_INDENT_SIZE" value="16" />
+ <option name="TAB_SIZE" value="8" />
+ <option name="USE_TAB_CHARACTER" value="true" />
+ </indentOptions>
+ </codeStyleSettings>
+ <codeStyleSettings language="HTML">
+ <indentOptions>
+ <option name="INDENT_SIZE" value="8" />
+ <option name="CONTINUATION_INDENT_SIZE" value="16" />
+ <option name="TAB_SIZE" value="8" />
+ <option name="USE_TAB_CHARACTER" value="true" />
+ </indentOptions>
+ </codeStyleSettings>
+ <codeStyleSettings language="JAVA">
+ <option name="INDENT_CASE_FROM_SWITCH" value="false" />
+ <option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
+ <option name="SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE" value="true" />
+ <indentOptions>
+ <option name="INDENT_SIZE" value="8" />
+ <option name="CONTINUATION_INDENT_SIZE" value="16" />
+ <option name="TAB_SIZE" value="8" />
+ <option name="USE_TAB_CHARACTER" value="true" />
+ </indentOptions>
+ </codeStyleSettings>
+ <codeStyleSettings language="XML">
+ <option name="FORCE_REARRANGE_MODE" value="1" />
+ <indentOptions>
+ <option name="INDENT_SIZE" value="8" />
+ <option name="CONTINUATION_INDENT_SIZE" value="16" />
+ <option name="TAB_SIZE" value="8" />
+ <option name="USE_TAB_CHARACTER" value="true" />
+ </indentOptions>
+ <arrangement>
+ <rules>
+ <rule>
+ <match>
+ <AND>
+ <NAME>xmlns:android</NAME>
+ <XML_NAMESPACE>Namespace:</XML_NAMESPACE>
+ </AND>
+ </match>
+ </rule>
+ <rule>
+ <match>
+ <AND>
+ <NAME>xmlns:.*</NAME>
+ <XML_NAMESPACE>Namespace:</XML_NAMESPACE>
+ </AND>
+ </match>
+ <order>BY_NAME</order>
+ </rule>
+ <rule>
+ <match>
+ <AND>
+ <NAME>.*:id</NAME>
+ <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+ </AND>
+ </match>
+ </rule>
+ <rule>
+ <match>
+ <AND>
+ <NAME>.*:name</NAME>
+ <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+ </AND>
+ </match>
+ </rule>
+ <rule>
+ <match>
+ <AND>
+ <NAME>name</NAME>
+ <XML_NAMESPACE>^$</XML_NAMESPACE>
+ </AND>
+ </match>
+ </rule>
+ <rule>
+ <match>
+ <AND>
+ <NAME>style</NAME>
+ <XML_NAMESPACE>^$</XML_NAMESPACE>
+ </AND>
+ </match>
+ </rule>
+ <rule>
+ <match>
+ <AND>
+ <NAME>.*</NAME>
+ <XML_NAMESPACE>^$</XML_NAMESPACE>
+ </AND>
+ </match>
+ <order>BY_NAME</order>
+ </rule>
+ <rule>
+ <match>
+ <AND>
+ <NAME>.*:layout_width</NAME>
+ <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+ </AND>
+ </match>
+ </rule>
+ <rule>
+ <match>
+ <AND>
+ <NAME>.*:layout_height</NAME>
+ <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+ </AND>
+ </match>
+ </rule>
+ <rule>
+ <match>
+ <AND>
+ <NAME>.*:layout_.*</NAME>
+ <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+ </AND>
+ </match>
+ <order>BY_NAME</order>
+ </rule>
+ <rule>
+ <match>
+ <AND>
+ <NAME>.*:width</NAME>
+ <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+ </AND>
+ </match>
+ <order>BY_NAME</order>
+ </rule>
+ <rule>
+ <match>
+ <AND>
+ <NAME>.*:height</NAME>
+ <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+ </AND>
+ </match>
+ <order>BY_NAME</order>
+ </rule>
+ <rule>
+ <match>
+ <AND>
+ <NAME>.*</NAME>
+ <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+ </AND>
+ </match>
+ <order>BY_NAME</order>
+ </rule>
+ <rule>
+ <match>
+ <AND>
+ <NAME>.*</NAME>
+ <XML_NAMESPACE>.*</XML_NAMESPACE>
+ </AND>
+ </match>
+ <order>BY_NAME</order>
+ </rule>
+ </rules>
+ </arrangement>
+ </codeStyleSettings>
+ </value>
+ </option>
+ <option name="USE_PER_PROJECT_SETTINGS" value="true" />
+ </component>
+</project>
+
diff --git a/.idea/copyright/Apache_ConnectBot.xml b/.idea/copyright/Apache_ConnectBot.xml
new file mode 100644
index 0000000..6bce32d
--- /dev/null
+++ b/.idea/copyright/Apache_ConnectBot.xml
@@ -0,0 +1,9 @@
+<component name="CopyrightManager">
+ <copyright>
+ <option name="notice" value="ConnectBot: simple, powerful, open-source SSH client for Android&#10;Copyright &amp;#36;today.year Kenny Root, Jeffrey Sharkey&#10;&#10;Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);&#10;you may not use this file except in compliance with the License.&#10;You may obtain a copy of the License at&#10;&#10; http://www.apache.org/licenses/LICENSE-2.0&#10;&#10;Unless required by applicable law or agreed to in writing, software&#10;distributed under the License is distributed on an &quot;AS IS&quot; BASIS,&#10;WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&#10;See the License for the specific language governing permissions and&#10;limitations under the License." />
+ <option name="keyword" value="Copyright" />
+ <option name="allowReplaceKeyword" value="" />
+ <option name="myName" value="Apache ConnectBot" />
+ <option name="myLocal" value="true" />
+ </copyright>
+</component> \ No newline at end of file
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
new file mode 100644
index 0000000..0bcdd02
--- /dev/null
+++ b/.idea/copyright/profiles_settings.xml
@@ -0,0 +1,7 @@
+<component name="CopyrightManager">
+ <settings default="Apache ConnectBot">
+ <module2copyright>
+ <element module="ConnectBot" copyright="Apache ConnectBot" />
+ </module2copyright>
+ </settings>
+</component> \ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..e206d70
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
+</project>
+
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
new file mode 100644
index 0000000..d67ffa2
--- /dev/null
+++ b/.idea/gradle.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="GradleSettings">
+ <option name="linkedExternalProjectsSettings">
+ <GradleProjectSettings>
+ <option name="distributionType" value="DEFAULT_WRAPPED" />
+ <option name="externalProjectPath" value="$PROJECT_DIR$" />
+ <option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1" />
+ <option name="modules">
+ <set>
+ <option value="$PROJECT_DIR$" />
+ <option value="$PROJECT_DIR$/app" />
+ <option value="$PROJECT_DIR$/robolectric-tests" />
+ </set>
+ </option>
+ </GradleProjectSettings>
+ </option>
+ </component>
+</project>
+
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..2071d1a
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,11 @@
+<component name="InspectionProjectProfileManager">
+ <profile version="1.0" is_locked="false">
+ <option name="myName" value="Project Default" />
+ <option name="myLocal" value="false" />
+ <inspection_tool class="AndroidLintUnusedAttribute" enabled="false" level="WARNING" enabled_by_default="false" />
+ <inspection_tool class="LoggerInitializedWithForeignClass" enabled="false" level="WARNING" enabled_by_default="false">
+ <option name="loggerClassName" value="org.apache.log4j.Logger,org.slf4j.LoggerFactory,org.apache.commons.logging.LogFactory,java.util.logging.Logger" />
+ <option name="loggerFactoryMethodName" value="getLogger,getLogger,getLog,getLogger" />
+ </inspection_tool>
+ </profile>
+</component> \ No newline at end of file
diff --git a/.idea/scopes/ConnectBot.xml b/.idea/scopes/ConnectBot.xml
new file mode 100644
index 0000000..4cd2160
--- /dev/null
+++ b/.idea/scopes/ConnectBot.xml
@@ -0,0 +1,3 @@
+<component name="DependencyValidationManager">
+ <scope name="ConnectBot" pattern="src[app]:org.connectbot*..*||src[app]:values*..*||src[app]:drawable*..*||src[app]:layout*..*||src[app]:xml*..*||src[app]:raw*..*||src[app]:anim*..*||src[app]:color*..*" />
+</component> \ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..c80f219
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="VcsDirectoryMappings">
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
+ </component>
+</project>
+
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..1a9b863
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,31 @@
+language: android
+jdk: openjdk7
+
+env:
+ global:
+ - NDK_VERSION=r10b
+
+cache:
+ directories:
+ - $HOME/.gradle/caches/
+ - $HOME/.gradle/wrapper/dists/
+ - $HOME/.cache/ndk
+
+before_install:
+ # Required libs for Android build tools
+ - sudo apt-get update
+ - sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch
+ # newest Android NDK
+ - mkdir -p $HOME/.cache/ndk
+ - if [ `uname -m` = x86_64 ]; then curl https://dl.google.com/android/ndk/android-ndk32-${NDK_VERSION}-linux-x86_64.tar.bz2 -z $HOME/.cache/ndk/ndk-${NDK_VERSION}-64.tb2 -o $HOME/.cache/ndk/ndk-${NDK_VERSION}-64.tb2; ln -sf $HOME/.cache/ndk/ndk-${NDK_VERSION}-64.tb2 ndk.tb2; else curl https://dl.google.com/android/ndk/android-ndk32-${NDK_VERSION}-linux-x86.tar.bz2 -z $HOME/.cache/ndk/ndk-${NDK_VERSION}-32.tb2 -o $HOME/.cache/ndk/ndk-${NDK_VERSION}-32.tb2; ln -sf $HOME/.cache/ndk/ndk-${NDK_VERSION}-32.tb2 ndk.tb2; fi
+ - tar -jxf ndk.tb2
+ - echo "ndk.dir=`pwd`/android-ndk-${NDK_VERSION}" >> local.properties
+
+android:
+ components:
+ - build-tools-22.0.0
+ - extra-android-support
+ license:
+ - '.+'
+
+script: ./gradlew build check test
diff --git a/ant.properties b/ant.properties
deleted file mode 100644
index 95af6f4..0000000
--- a/ant.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file is used to override default values used by the Ant build system.
-#
-# This file must be checked in Version Control Systems, as it is
-# integral to the build system of your project.
-
-# This file is only used by the Ant script.
-
-# You can use this to override default values such as
-# 'source.dir' for the location of your java source folder and
-# 'out.dir' for the location of your output folder.
-
-# You can also use it define how the release builds are signed by declaring
-# the following properties:
-# 'key.store' for the location of your keystore and
-# 'key.alias' for the name of the key to use.
-# The password will be asked during the build when you use the 'release' target.
-
-source.dir=src
-out.dir=bin
diff --git a/app/app.iml b/app/app.iml
new file mode 100644
index 0000000..b7eaca7
--- /dev/null
+++ b/app/app.iml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$PROJECT_PATH$" external.system.id="GRADLE" external.system.module.group="connectbot" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="android-gradle" name="Android-Gradle">
+ <configuration>
+ <option name="GRADLE_PROJECT_PATH" value=":app" />
+ </configuration>
+ </facet>
+ <facet type="android" name="Android">
+ <configuration>
+ <option name="SELECTED_BUILD_VARIANT" value="debug" />
+ <option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
+ <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
+ <option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
+ <option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
+ <option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugAndroidTestSources" />
+ <option name="ALLOW_USER_CONFIGURATION" value="false" />
+ <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
+ <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
+ <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
+ <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
+ </configuration>
+ </facet>
+ </component>
+ <component name="NewModuleRootManager" inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
+ <output-test url="file://$MODULE_DIR$/build/intermediates/classes/androidTest/debug" />
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/debug" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/androidTest/debug" type="java-test-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
+ <excludeFolder url="file://$MODULE_DIR$/build/distributions" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/coverage-instrumented-classes" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jacoco" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaResources" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/libs" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/ndk" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/proguard" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
+ <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+ <excludeFolder url="file://$MODULE_DIR$/build/reports" />
+ <excludeFolder url="file://$MODULE_DIR$/build/test-results" />
+ <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
+ </content>
+ <orderEntry type="jdk" jdkName="Android API 20 Platform" jdkType="Android SDK" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ </component>
+</module>
+
diff --git a/app/build.gradle b/app/build.gradle
new file mode 100644
index 0000000..d3da188
--- /dev/null
+++ b/app/build.gradle
@@ -0,0 +1,58 @@
+apply plugin: 'android-sdk-manager'
+apply plugin: 'com.android.application'
+apply from: '../config/quality.gradle'
+apply from: '../config/translations.gradle'
+
+android {
+ compileSdkVersion 20
+ buildToolsVersion "20.0.0"
+
+ defaultConfig {
+ applicationId "org.connectbot"
+ minSdkVersion 4
+ targetSdkVersion 15
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_5
+ targetCompatibility JavaVersion.VERSION_1_5
+ }
+
+ ndk {
+ moduleName "com_google_ase_Exec"
+ ldLibs "log"
+ }
+
+ lintOptions {
+ abortOnError false
+ lintConfig file('lint.xml')
+ }
+
+ testApplicationId "org.connectbot.tests"
+ testInstrumentationRunner "android.test.InstrumentationTestRunner"
+ }
+
+ signingConfigs {
+ release
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled true
+ proguardFiles 'proguard.cfg'
+
+ if (project.hasProperty('keystorePassword')) {
+ signingConfig signingConfigs.release
+ }
+ }
+
+ debug {
+ applicationIdSuffix ".debug"
+ }
+ }
+}
+
+if (project.hasProperty('keystorePassword')) {
+ android.signingConfigs.release.storeFile file(keystoreFile)
+ android.signingConfigs.release.storePassword keystorePassword
+ android.signingConfigs.release.keyAlias keystoreAlias
+ android.signingConfigs.release.keyPassword keystorePassword
+}
diff --git a/app/lint.xml b/app/lint.xml
new file mode 100644
index 0000000..db997a5
--- /dev/null
+++ b/app/lint.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<lint>
+ <issue id="MissingTranslation" severity="ignore" />
+</lint>
diff --git a/locale/.gitignore b/app/locale/.gitignore
index 72e8ffc..72e8ffc 100644
--- a/locale/.gitignore
+++ b/app/locale/.gitignore
diff --git a/proguard.cfg b/app/proguard.cfg
index 28ff286..28ff286 100644
--- a/proguard.cfg
+++ b/app/proguard.cfg
diff --git a/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5fbee63..5fbee63 100644
--- a/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
diff --git a/assets/help/Hints.html b/app/src/main/assets/help/Hints.html
index 37583db..37583db 100644
--- a/assets/help/Hints.html
+++ b/app/src/main/assets/help/Hints.html
diff --git a/assets/help/PhysicalKeyboard.html b/app/src/main/assets/help/PhysicalKeyboard.html
index 4ff3753..4ff3753 100644
--- a/assets/help/PhysicalKeyboard.html
+++ b/app/src/main/assets/help/PhysicalKeyboard.html
diff --git a/assets/help/ScreenGestures.html b/app/src/main/assets/help/ScreenGestures.html
index 9332821..9332821 100644
--- a/assets/help/ScreenGestures.html
+++ b/app/src/main/assets/help/ScreenGestures.html
diff --git a/assets/help/VirtualKeyboard.html b/app/src/main/assets/help/VirtualKeyboard.html
index 9788161..9788161 100644
--- a/assets/help/VirtualKeyboard.html
+++ b/app/src/main/assets/help/VirtualKeyboard.html
diff --git a/src/com/google/ase/Exec.java b/app/src/main/java/com/google/ase/Exec.java
index 016fdf3..016fdf3 100644
--- a/src/com/google/ase/Exec.java
+++ b/app/src/main/java/com/google/ase/Exec.java
diff --git a/src/com/jcraft/jzlib/Adler32.java b/app/src/main/java/com/jcraft/jzlib/Adler32.java
index d8b6ef8..d8b6ef8 100644
--- a/src/com/jcraft/jzlib/Adler32.java
+++ b/app/src/main/java/com/jcraft/jzlib/Adler32.java
diff --git a/src/com/jcraft/jzlib/Deflate.java b/app/src/main/java/com/jcraft/jzlib/Deflate.java
index 9978802..9978802 100644
--- a/src/com/jcraft/jzlib/Deflate.java
+++ b/app/src/main/java/com/jcraft/jzlib/Deflate.java
diff --git a/src/com/jcraft/jzlib/InfBlocks.java b/app/src/main/java/com/jcraft/jzlib/InfBlocks.java
index f6997fc..f6997fc 100644
--- a/src/com/jcraft/jzlib/InfBlocks.java
+++ b/app/src/main/java/com/jcraft/jzlib/InfBlocks.java
diff --git a/src/com/jcraft/jzlib/InfCodes.java b/app/src/main/java/com/jcraft/jzlib/InfCodes.java
index c768fb1..c768fb1 100644
--- a/src/com/jcraft/jzlib/InfCodes.java
+++ b/app/src/main/java/com/jcraft/jzlib/InfCodes.java
diff --git a/src/com/jcraft/jzlib/InfTree.java b/app/src/main/java/com/jcraft/jzlib/InfTree.java
index cbca436..cbca436 100644
--- a/src/com/jcraft/jzlib/InfTree.java
+++ b/app/src/main/java/com/jcraft/jzlib/InfTree.java
diff --git a/src/com/jcraft/jzlib/Inflate.java b/app/src/main/java/com/jcraft/jzlib/Inflate.java
index 30310f6..30310f6 100644
--- a/src/com/jcraft/jzlib/Inflate.java
+++ b/app/src/main/java/com/jcraft/jzlib/Inflate.java
diff --git a/src/com/jcraft/jzlib/JZlib.java b/app/src/main/java/com/jcraft/jzlib/JZlib.java
index b84d7a1..b84d7a1 100644
--- a/src/com/jcraft/jzlib/JZlib.java
+++ b/app/src/main/java/com/jcraft/jzlib/JZlib.java
diff --git a/src/com/jcraft/jzlib/StaticTree.java b/app/src/main/java/com/jcraft/jzlib/StaticTree.java
index 0f7f577..0f7f577 100644
--- a/src/com/jcraft/jzlib/StaticTree.java
+++ b/app/src/main/java/com/jcraft/jzlib/StaticTree.java
diff --git a/src/com/jcraft/jzlib/Tree.java b/app/src/main/java/com/jcraft/jzlib/Tree.java
index 8103897..8103897 100644
--- a/src/com/jcraft/jzlib/Tree.java
+++ b/app/src/main/java/com/jcraft/jzlib/Tree.java
diff --git a/src/com/jcraft/jzlib/ZInputStream.java b/app/src/main/java/com/jcraft/jzlib/ZInputStream.java
index 3f97c44..3f97c44 100644
--- a/src/com/jcraft/jzlib/ZInputStream.java
+++ b/app/src/main/java/com/jcraft/jzlib/ZInputStream.java
diff --git a/src/com/jcraft/jzlib/ZOutputStream.java b/app/src/main/java/com/jcraft/jzlib/ZOutputStream.java
index afee65b..afee65b 100644
--- a/src/com/jcraft/jzlib/ZOutputStream.java
+++ b/app/src/main/java/com/jcraft/jzlib/ZOutputStream.java
diff --git a/src/com/jcraft/jzlib/ZStream.java b/app/src/main/java/com/jcraft/jzlib/ZStream.java
index 334475e..334475e 100644
--- a/src/com/jcraft/jzlib/ZStream.java
+++ b/app/src/main/java/com/jcraft/jzlib/ZStream.java
diff --git a/src/com/jcraft/jzlib/ZStreamException.java b/app/src/main/java/com/jcraft/jzlib/ZStreamException.java
index 308bb8a..308bb8a 100644
--- a/src/com/jcraft/jzlib/ZStreamException.java
+++ b/app/src/main/java/com/jcraft/jzlib/ZStreamException.java
diff --git a/src/com/trilead/ssh2/AuthAgentCallback.java b/app/src/main/java/com/trilead/ssh2/AuthAgentCallback.java
index 7fe270b..7fe270b 100644
--- a/src/com/trilead/ssh2/AuthAgentCallback.java
+++ b/app/src/main/java/com/trilead/ssh2/AuthAgentCallback.java
diff --git a/src/com/trilead/ssh2/ChannelCondition.java b/app/src/main/java/com/trilead/ssh2/ChannelCondition.java
index df1ad50..df1ad50 100644
--- a/src/com/trilead/ssh2/ChannelCondition.java
+++ b/app/src/main/java/com/trilead/ssh2/ChannelCondition.java
diff --git a/src/com/trilead/ssh2/Connection.java b/app/src/main/java/com/trilead/ssh2/Connection.java
index 163fdb5..163fdb5 100644
--- a/src/com/trilead/ssh2/Connection.java
+++ b/app/src/main/java/com/trilead/ssh2/Connection.java
diff --git a/src/com/trilead/ssh2/ConnectionInfo.java b/app/src/main/java/com/trilead/ssh2/ConnectionInfo.java
index b0ddbcf..b0ddbcf 100644
--- a/src/com/trilead/ssh2/ConnectionInfo.java
+++ b/app/src/main/java/com/trilead/ssh2/ConnectionInfo.java
diff --git a/src/com/trilead/ssh2/ConnectionMonitor.java b/app/src/main/java/com/trilead/ssh2/ConnectionMonitor.java
index 2f96d25..2f96d25 100644
--- a/src/com/trilead/ssh2/ConnectionMonitor.java
+++ b/app/src/main/java/com/trilead/ssh2/ConnectionMonitor.java
diff --git a/src/com/trilead/ssh2/DHGexParameters.java b/app/src/main/java/com/trilead/ssh2/DHGexParameters.java
index a2945ee..a2945ee 100644
--- a/src/com/trilead/ssh2/DHGexParameters.java
+++ b/app/src/main/java/com/trilead/ssh2/DHGexParameters.java
diff --git a/src/com/trilead/ssh2/DebugLogger.java b/app/src/main/java/com/trilead/ssh2/DebugLogger.java
index adf2c8e..adf2c8e 100644
--- a/src/com/trilead/ssh2/DebugLogger.java
+++ b/app/src/main/java/com/trilead/ssh2/DebugLogger.java
diff --git a/src/com/trilead/ssh2/DynamicPortForwarder.java b/app/src/main/java/com/trilead/ssh2/DynamicPortForwarder.java
index a15efe7..a15efe7 100644
--- a/src/com/trilead/ssh2/DynamicPortForwarder.java
+++ b/app/src/main/java/com/trilead/ssh2/DynamicPortForwarder.java
diff --git a/src/com/trilead/ssh2/HTTPProxyData.java b/app/src/main/java/com/trilead/ssh2/HTTPProxyData.java
index 2edffe6..2edffe6 100644
--- a/src/com/trilead/ssh2/HTTPProxyData.java
+++ b/app/src/main/java/com/trilead/ssh2/HTTPProxyData.java
diff --git a/src/com/trilead/ssh2/HTTPProxyException.java b/app/src/main/java/com/trilead/ssh2/HTTPProxyException.java
index 4687dd1..4687dd1 100644
--- a/src/com/trilead/ssh2/HTTPProxyException.java
+++ b/app/src/main/java/com/trilead/ssh2/HTTPProxyException.java
diff --git a/src/com/trilead/ssh2/InteractiveCallback.java b/app/src/main/java/com/trilead/ssh2/InteractiveCallback.java
index 3b83417..3b83417 100644
--- a/src/com/trilead/ssh2/InteractiveCallback.java
+++ b/app/src/main/java/com/trilead/ssh2/InteractiveCallback.java
diff --git a/src/com/trilead/ssh2/KnownHosts.java b/app/src/main/java/com/trilead/ssh2/KnownHosts.java
index ec022ff..ec022ff 100644
--- a/src/com/trilead/ssh2/KnownHosts.java
+++ b/app/src/main/java/com/trilead/ssh2/KnownHosts.java
diff --git a/src/com/trilead/ssh2/LocalPortForwarder.java b/app/src/main/java/com/trilead/ssh2/LocalPortForwarder.java
index 96fa082..96fa082 100644
--- a/src/com/trilead/ssh2/LocalPortForwarder.java
+++ b/app/src/main/java/com/trilead/ssh2/LocalPortForwarder.java
diff --git a/src/com/trilead/ssh2/LocalStreamForwarder.java b/app/src/main/java/com/trilead/ssh2/LocalStreamForwarder.java
index 7899367..7899367 100644
--- a/src/com/trilead/ssh2/LocalStreamForwarder.java
+++ b/app/src/main/java/com/trilead/ssh2/LocalStreamForwarder.java
diff --git a/src/com/trilead/ssh2/ProxyData.java b/app/src/main/java/com/trilead/ssh2/ProxyData.java
index 059a6e3..059a6e3 100644
--- a/src/com/trilead/ssh2/ProxyData.java
+++ b/app/src/main/java/com/trilead/ssh2/ProxyData.java
diff --git a/src/com/trilead/ssh2/SCPClient.java b/app/src/main/java/com/trilead/ssh2/SCPClient.java
index b692750..b692750 100644
--- a/src/com/trilead/ssh2/SCPClient.java
+++ b/app/src/main/java/com/trilead/ssh2/SCPClient.java
diff --git a/src/com/trilead/ssh2/SFTPException.java b/app/src/main/java/com/trilead/ssh2/SFTPException.java
index d97723f..d97723f 100644
--- a/src/com/trilead/ssh2/SFTPException.java
+++ b/app/src/main/java/com/trilead/ssh2/SFTPException.java
diff --git a/src/com/trilead/ssh2/SFTPv3Client.java b/app/src/main/java/com/trilead/ssh2/SFTPv3Client.java
index 06796e9..06796e9 100644
--- a/src/com/trilead/ssh2/SFTPv3Client.java
+++ b/app/src/main/java/com/trilead/ssh2/SFTPv3Client.java
diff --git a/src/com/trilead/ssh2/SFTPv3DirectoryEntry.java b/app/src/main/java/com/trilead/ssh2/SFTPv3DirectoryEntry.java
index 669ba87..669ba87 100644
--- a/src/com/trilead/ssh2/SFTPv3DirectoryEntry.java
+++ b/app/src/main/java/com/trilead/ssh2/SFTPv3DirectoryEntry.java
diff --git a/src/com/trilead/ssh2/SFTPv3FileAttributes.java b/app/src/main/java/com/trilead/ssh2/SFTPv3FileAttributes.java
index 7b1d321..7b1d321 100644
--- a/src/com/trilead/ssh2/SFTPv3FileAttributes.java
+++ b/app/src/main/java/com/trilead/ssh2/SFTPv3FileAttributes.java
diff --git a/src/com/trilead/ssh2/SFTPv3FileHandle.java b/app/src/main/java/com/trilead/ssh2/SFTPv3FileHandle.java
index 9b3dbb6..9b3dbb6 100644
--- a/src/com/trilead/ssh2/SFTPv3FileHandle.java
+++ b/app/src/main/java/com/trilead/ssh2/SFTPv3FileHandle.java
diff --git a/src/com/trilead/ssh2/ServerHostKeyVerifier.java b/app/src/main/java/com/trilead/ssh2/ServerHostKeyVerifier.java
index ac65955..ac65955 100644
--- a/src/com/trilead/ssh2/ServerHostKeyVerifier.java
+++ b/app/src/main/java/com/trilead/ssh2/ServerHostKeyVerifier.java
diff --git a/src/com/trilead/ssh2/Session.java b/app/src/main/java/com/trilead/ssh2/Session.java
index bf3c7e0..bf3c7e0 100644
--- a/src/com/trilead/ssh2/Session.java
+++ b/app/src/main/java/com/trilead/ssh2/Session.java
diff --git a/src/com/trilead/ssh2/StreamGobbler.java b/app/src/main/java/com/trilead/ssh2/StreamGobbler.java
index e93c388..e93c388 100644
--- a/src/com/trilead/ssh2/StreamGobbler.java
+++ b/app/src/main/java/com/trilead/ssh2/StreamGobbler.java
diff --git a/src/com/trilead/ssh2/auth/AuthenticationManager.java b/app/src/main/java/com/trilead/ssh2/auth/AuthenticationManager.java
index e551495..e551495 100644
--- a/src/com/trilead/ssh2/auth/AuthenticationManager.java
+++ b/app/src/main/java/com/trilead/ssh2/auth/AuthenticationManager.java
diff --git a/src/com/trilead/ssh2/channel/AuthAgentForwardThread.java b/app/src/main/java/com/trilead/ssh2/channel/AuthAgentForwardThread.java
index c6831e6..c6831e6 100644
--- a/src/com/trilead/ssh2/channel/AuthAgentForwardThread.java
+++ b/app/src/main/java/com/trilead/ssh2/channel/AuthAgentForwardThread.java
diff --git a/src/com/trilead/ssh2/channel/Channel.java b/app/src/main/java/com/trilead/ssh2/channel/Channel.java
index 8365f12..8365f12 100644
--- a/src/com/trilead/ssh2/channel/Channel.java
+++ b/app/src/main/java/com/trilead/ssh2/channel/Channel.java
diff --git a/src/com/trilead/ssh2/channel/ChannelInputStream.java b/app/src/main/java/com/trilead/ssh2/channel/ChannelInputStream.java
index f88522c..f88522c 100644
--- a/src/com/trilead/ssh2/channel/ChannelInputStream.java
+++ b/app/src/main/java/com/trilead/ssh2/channel/ChannelInputStream.java
diff --git a/src/com/trilead/ssh2/channel/ChannelManager.java b/app/src/main/java/com/trilead/ssh2/channel/ChannelManager.java
index 88beffd..88beffd 100644
--- a/src/com/trilead/ssh2/channel/ChannelManager.java
+++ b/app/src/main/java/com/trilead/ssh2/channel/ChannelManager.java
diff --git a/src/com/trilead/ssh2/channel/ChannelOutputStream.java b/app/src/main/java/com/trilead/ssh2/channel/ChannelOutputStream.java
index c1d56e8..c1d56e8 100644
--- a/src/com/trilead/ssh2/channel/ChannelOutputStream.java
+++ b/app/src/main/java/com/trilead/ssh2/channel/ChannelOutputStream.java
diff --git a/src/com/trilead/ssh2/channel/DynamicAcceptThread.java b/app/src/main/java/com/trilead/ssh2/channel/DynamicAcceptThread.java
index ef3a3d0..ef3a3d0 100644
--- a/src/com/trilead/ssh2/channel/DynamicAcceptThread.java
+++ b/app/src/main/java/com/trilead/ssh2/channel/DynamicAcceptThread.java
diff --git a/src/com/trilead/ssh2/channel/IChannelWorkerThread.java b/app/src/main/java/com/trilead/ssh2/channel/IChannelWorkerThread.java
index bce9b1b..bce9b1b 100644
--- a/src/com/trilead/ssh2/channel/IChannelWorkerThread.java
+++ b/app/src/main/java/com/trilead/ssh2/channel/IChannelWorkerThread.java
diff --git a/src/com/trilead/ssh2/channel/LocalAcceptThread.java b/app/src/main/java/com/trilead/ssh2/channel/LocalAcceptThread.java
index 0d1bb35..0d1bb35 100644
--- a/src/com/trilead/ssh2/channel/LocalAcceptThread.java
+++ b/app/src/main/java/com/trilead/ssh2/channel/LocalAcceptThread.java
diff --git a/src/com/trilead/ssh2/channel/RemoteAcceptThread.java b/app/src/main/java/com/trilead/ssh2/channel/RemoteAcceptThread.java
index 29b02b8..29b02b8 100644
--- a/src/com/trilead/ssh2/channel/RemoteAcceptThread.java
+++ b/app/src/main/java/com/trilead/ssh2/channel/RemoteAcceptThread.java
diff --git a/src/com/trilead/ssh2/channel/RemoteForwardingData.java b/app/src/main/java/com/trilead/ssh2/channel/RemoteForwardingData.java
index d05378e..d05378e 100644
--- a/src/com/trilead/ssh2/channel/RemoteForwardingData.java
+++ b/app/src/main/java/com/trilead/ssh2/channel/RemoteForwardingData.java
diff --git a/src/com/trilead/ssh2/channel/RemoteX11AcceptThread.java b/app/src/main/java/com/trilead/ssh2/channel/RemoteX11AcceptThread.java
index 9f99410..9f99410 100644
--- a/src/com/trilead/ssh2/channel/RemoteX11AcceptThread.java
+++ b/app/src/main/java/com/trilead/ssh2/channel/RemoteX11AcceptThread.java
diff --git a/src/com/trilead/ssh2/channel/StreamForwarder.java b/app/src/main/java/com/trilead/ssh2/channel/StreamForwarder.java
index e1afee8..e1afee8 100644
--- a/src/com/trilead/ssh2/channel/StreamForwarder.java
+++ b/app/src/main/java/com/trilead/ssh2/channel/StreamForwarder.java
diff --git a/src/com/trilead/ssh2/channel/X11ServerData.java b/app/src/main/java/com/trilead/ssh2/channel/X11ServerData.java
index 041f9cb..041f9cb 100644
--- a/src/com/trilead/ssh2/channel/X11ServerData.java
+++ b/app/src/main/java/com/trilead/ssh2/channel/X11ServerData.java
diff --git a/src/com/trilead/ssh2/compression/CompressionFactory.java b/app/src/main/java/com/trilead/ssh2/compression/CompressionFactory.java
index 9f8d7ef..9f8d7ef 100644
--- a/src/com/trilead/ssh2/compression/CompressionFactory.java
+++ b/app/src/main/java/com/trilead/ssh2/compression/CompressionFactory.java
diff --git a/src/com/trilead/ssh2/compression/ICompressor.java b/app/src/main/java/com/trilead/ssh2/compression/ICompressor.java
index 0b435b9..0b435b9 100644
--- a/src/com/trilead/ssh2/compression/ICompressor.java
+++ b/app/src/main/java/com/trilead/ssh2/compression/ICompressor.java
diff --git a/src/com/trilead/ssh2/compression/Zlib.java b/app/src/main/java/com/trilead/ssh2/compression/Zlib.java
index c1203a3..c1203a3 100644
--- a/src/com/trilead/ssh2/compression/Zlib.java
+++ b/app/src/main/java/com/trilead/ssh2/compression/Zlib.java
diff --git a/src/com/trilead/ssh2/compression/ZlibOpenSSH.java b/app/src/main/java/com/trilead/ssh2/compression/ZlibOpenSSH.java
index 266fff9..266fff9 100644
--- a/src/com/trilead/ssh2/compression/ZlibOpenSSH.java
+++ b/app/src/main/java/com/trilead/ssh2/compression/ZlibOpenSSH.java
diff --git a/src/com/trilead/ssh2/crypto/Base64.java b/app/src/main/java/com/trilead/ssh2/crypto/Base64.java
index 93770ac..93770ac 100644
--- a/src/com/trilead/ssh2/crypto/Base64.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/Base64.java
diff --git a/src/com/trilead/ssh2/crypto/CryptoWishList.java b/app/src/main/java/com/trilead/ssh2/crypto/CryptoWishList.java
index 86959e7..86959e7 100644
--- a/src/com/trilead/ssh2/crypto/CryptoWishList.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/CryptoWishList.java
diff --git a/src/com/trilead/ssh2/crypto/KeyMaterial.java b/app/src/main/java/com/trilead/ssh2/crypto/KeyMaterial.java
index 1dbd6c7..1dbd6c7 100644
--- a/src/com/trilead/ssh2/crypto/KeyMaterial.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/KeyMaterial.java
diff --git a/src/com/trilead/ssh2/crypto/PEMDecoder.java b/app/src/main/java/com/trilead/ssh2/crypto/PEMDecoder.java
index 5c0c2fd..5c0c2fd 100644
--- a/src/com/trilead/ssh2/crypto/PEMDecoder.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/PEMDecoder.java
diff --git a/src/com/trilead/ssh2/crypto/PEMStructure.java b/app/src/main/java/com/trilead/ssh2/crypto/PEMStructure.java
index 83fb799..83fb799 100644
--- a/src/com/trilead/ssh2/crypto/PEMStructure.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/PEMStructure.java
diff --git a/src/com/trilead/ssh2/crypto/SimpleDERReader.java b/app/src/main/java/com/trilead/ssh2/crypto/SimpleDERReader.java
index ff8112a..ff8112a 100644
--- a/src/com/trilead/ssh2/crypto/SimpleDERReader.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/SimpleDERReader.java
diff --git a/src/com/trilead/ssh2/crypto/cipher/AES.java b/app/src/main/java/com/trilead/ssh2/crypto/cipher/AES.java
index e89e4a6..e89e4a6 100644
--- a/src/com/trilead/ssh2/crypto/cipher/AES.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/cipher/AES.java
diff --git a/src/com/trilead/ssh2/crypto/cipher/BlockCipher.java b/app/src/main/java/com/trilead/ssh2/crypto/cipher/BlockCipher.java
index 4cc28ab..4cc28ab 100644
--- a/src/com/trilead/ssh2/crypto/cipher/BlockCipher.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/cipher/BlockCipher.java
diff --git a/src/com/trilead/ssh2/crypto/cipher/BlockCipherFactory.java b/app/src/main/java/com/trilead/ssh2/crypto/cipher/BlockCipherFactory.java
index 6e386a5..6e386a5 100644
--- a/src/com/trilead/ssh2/crypto/cipher/BlockCipherFactory.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/cipher/BlockCipherFactory.java
diff --git a/src/com/trilead/ssh2/crypto/cipher/BlowFish.java b/app/src/main/java/com/trilead/ssh2/crypto/cipher/BlowFish.java
index 0b2f295..0b2f295 100644
--- a/src/com/trilead/ssh2/crypto/cipher/BlowFish.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/cipher/BlowFish.java
diff --git a/src/com/trilead/ssh2/crypto/cipher/CBCMode.java b/app/src/main/java/com/trilead/ssh2/crypto/cipher/CBCMode.java
index 0ae51b3..0ae51b3 100644
--- a/src/com/trilead/ssh2/crypto/cipher/CBCMode.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/cipher/CBCMode.java
diff --git a/src/com/trilead/ssh2/crypto/cipher/CTRMode.java b/app/src/main/java/com/trilead/ssh2/crypto/cipher/CTRMode.java
index 8541c8d..8541c8d 100644
--- a/src/com/trilead/ssh2/crypto/cipher/CTRMode.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/cipher/CTRMode.java
diff --git a/src/com/trilead/ssh2/crypto/cipher/CipherInputStream.java b/app/src/main/java/com/trilead/ssh2/crypto/cipher/CipherInputStream.java
index c9055ab..c9055ab 100644
--- a/src/com/trilead/ssh2/crypto/cipher/CipherInputStream.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/cipher/CipherInputStream.java
diff --git a/src/com/trilead/ssh2/crypto/cipher/CipherOutputStream.java b/app/src/main/java/com/trilead/ssh2/crypto/cipher/CipherOutputStream.java
index cf0db4a..cf0db4a 100644
--- a/src/com/trilead/ssh2/crypto/cipher/CipherOutputStream.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/cipher/CipherOutputStream.java
diff --git a/src/com/trilead/ssh2/crypto/cipher/DES.java b/app/src/main/java/com/trilead/ssh2/crypto/cipher/DES.java
index 6588459..6588459 100644
--- a/src/com/trilead/ssh2/crypto/cipher/DES.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/cipher/DES.java
diff --git a/src/com/trilead/ssh2/crypto/cipher/DESede.java b/app/src/main/java/com/trilead/ssh2/crypto/cipher/DESede.java
index f47a636..f47a636 100644
--- a/src/com/trilead/ssh2/crypto/cipher/DESede.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/cipher/DESede.java
diff --git a/src/com/trilead/ssh2/crypto/cipher/NullCipher.java b/app/src/main/java/com/trilead/ssh2/crypto/cipher/NullCipher.java
index 38f8215..38f8215 100644
--- a/src/com/trilead/ssh2/crypto/cipher/NullCipher.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/cipher/NullCipher.java
diff --git a/src/com/trilead/ssh2/crypto/dh/DhExchange.java b/app/src/main/java/com/trilead/ssh2/crypto/dh/DhExchange.java
index 3acde25..3acde25 100644
--- a/src/com/trilead/ssh2/crypto/dh/DhExchange.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/dh/DhExchange.java
diff --git a/src/com/trilead/ssh2/crypto/dh/DhGroupExchange.java b/app/src/main/java/com/trilead/ssh2/crypto/dh/DhGroupExchange.java
index a888950..a888950 100644
--- a/src/com/trilead/ssh2/crypto/dh/DhGroupExchange.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/dh/DhGroupExchange.java
diff --git a/src/com/trilead/ssh2/crypto/dh/EcDhExchange.java b/app/src/main/java/com/trilead/ssh2/crypto/dh/EcDhExchange.java
index 43d31ad..43d31ad 100644
--- a/src/com/trilead/ssh2/crypto/dh/EcDhExchange.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/dh/EcDhExchange.java
diff --git a/src/com/trilead/ssh2/crypto/dh/GenericDhExchange.java b/app/src/main/java/com/trilead/ssh2/crypto/dh/GenericDhExchange.java
index 039ff75..039ff75 100644
--- a/src/com/trilead/ssh2/crypto/dh/GenericDhExchange.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/dh/GenericDhExchange.java
diff --git a/src/com/trilead/ssh2/crypto/digest/HashForSSH2Types.java b/app/src/main/java/com/trilead/ssh2/crypto/digest/HashForSSH2Types.java
index 6b0d6e3..6b0d6e3 100644
--- a/src/com/trilead/ssh2/crypto/digest/HashForSSH2Types.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/digest/HashForSSH2Types.java
diff --git a/src/com/trilead/ssh2/crypto/digest/MAC.java b/app/src/main/java/com/trilead/ssh2/crypto/digest/MAC.java
index 561599c..561599c 100644
--- a/src/com/trilead/ssh2/crypto/digest/MAC.java
+++ b/app/src/main/java/com/trilead/ssh2/crypto/digest/MAC.java
diff --git a/src/com/trilead/ssh2/log/Logger.java b/app/src/main/java/com/trilead/ssh2/log/Logger.java
index 20ab397..20ab397 100644
--- a/src/com/trilead/ssh2/log/Logger.java
+++ b/app/src/main/java/com/trilead/ssh2/log/Logger.java
diff --git a/src/com/trilead/ssh2/packets/PacketChannelAuthAgentReq.java b/app/src/main/java/com/trilead/ssh2/packets/PacketChannelAuthAgentReq.java
index 95fa396..95fa396 100644
--- a/src/com/trilead/ssh2/packets/PacketChannelAuthAgentReq.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketChannelAuthAgentReq.java
diff --git a/src/com/trilead/ssh2/packets/PacketChannelOpenConfirmation.java b/app/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenConfirmation.java
index bd2ea3f..bd2ea3f 100644
--- a/src/com/trilead/ssh2/packets/PacketChannelOpenConfirmation.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenConfirmation.java
diff --git a/src/com/trilead/ssh2/packets/PacketChannelOpenFailure.java b/app/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenFailure.java
index 1370355..1370355 100644
--- a/src/com/trilead/ssh2/packets/PacketChannelOpenFailure.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenFailure.java
diff --git a/src/com/trilead/ssh2/packets/PacketChannelTrileadPing.java b/app/src/main/java/com/trilead/ssh2/packets/PacketChannelTrileadPing.java
index c337930..c337930 100644
--- a/src/com/trilead/ssh2/packets/PacketChannelTrileadPing.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketChannelTrileadPing.java
diff --git a/src/com/trilead/ssh2/packets/PacketChannelWindowAdjust.java b/app/src/main/java/com/trilead/ssh2/packets/PacketChannelWindowAdjust.java
index 37ec081..37ec081 100644
--- a/src/com/trilead/ssh2/packets/PacketChannelWindowAdjust.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketChannelWindowAdjust.java
diff --git a/src/com/trilead/ssh2/packets/PacketDisconnect.java b/app/src/main/java/com/trilead/ssh2/packets/PacketDisconnect.java
index 50d6ec2..50d6ec2 100644
--- a/src/com/trilead/ssh2/packets/PacketDisconnect.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketDisconnect.java
diff --git a/src/com/trilead/ssh2/packets/PacketGlobalCancelForwardRequest.java b/app/src/main/java/com/trilead/ssh2/packets/PacketGlobalCancelForwardRequest.java
index 20bd558..20bd558 100644
--- a/src/com/trilead/ssh2/packets/PacketGlobalCancelForwardRequest.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketGlobalCancelForwardRequest.java
diff --git a/src/com/trilead/ssh2/packets/PacketGlobalForwardRequest.java b/app/src/main/java/com/trilead/ssh2/packets/PacketGlobalForwardRequest.java
index 55257e9..55257e9 100644
--- a/src/com/trilead/ssh2/packets/PacketGlobalForwardRequest.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketGlobalForwardRequest.java
diff --git a/src/com/trilead/ssh2/packets/PacketGlobalTrileadPing.java b/app/src/main/java/com/trilead/ssh2/packets/PacketGlobalTrileadPing.java
index 3d8930e..3d8930e 100644
--- a/src/com/trilead/ssh2/packets/PacketGlobalTrileadPing.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketGlobalTrileadPing.java
diff --git a/src/com/trilead/ssh2/packets/PacketIgnore.java b/app/src/main/java/com/trilead/ssh2/packets/PacketIgnore.java
index 2b4d917..2b4d917 100644
--- a/src/com/trilead/ssh2/packets/PacketIgnore.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketIgnore.java
diff --git a/src/com/trilead/ssh2/packets/PacketKexDHInit.java b/app/src/main/java/com/trilead/ssh2/packets/PacketKexDHInit.java
index 0092516..0092516 100644
--- a/src/com/trilead/ssh2/packets/PacketKexDHInit.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketKexDHInit.java
diff --git a/src/com/trilead/ssh2/packets/PacketKexDHReply.java b/app/src/main/java/com/trilead/ssh2/packets/PacketKexDHReply.java
index 51f2bda..51f2bda 100644
--- a/src/com/trilead/ssh2/packets/PacketKexDHReply.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketKexDHReply.java
diff --git a/src/com/trilead/ssh2/packets/PacketKexDhGexGroup.java b/app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexGroup.java
index db85b61..db85b61 100644
--- a/src/com/trilead/ssh2/packets/PacketKexDhGexGroup.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexGroup.java
diff --git a/src/com/trilead/ssh2/packets/PacketKexDhGexInit.java b/app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexInit.java
index 8b34230..8b34230 100644
--- a/src/com/trilead/ssh2/packets/PacketKexDhGexInit.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexInit.java
diff --git a/src/com/trilead/ssh2/packets/PacketKexDhGexReply.java b/app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexReply.java
index 382b3b7..382b3b7 100644
--- a/src/com/trilead/ssh2/packets/PacketKexDhGexReply.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexReply.java
diff --git a/src/com/trilead/ssh2/packets/PacketKexDhGexRequest.java b/app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequest.java
index 50369df..50369df 100644
--- a/src/com/trilead/ssh2/packets/PacketKexDhGexRequest.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequest.java
diff --git a/src/com/trilead/ssh2/packets/PacketKexDhGexRequestOld.java b/app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequestOld.java
index 327f379..327f379 100644
--- a/src/com/trilead/ssh2/packets/PacketKexDhGexRequestOld.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequestOld.java
diff --git a/src/com/trilead/ssh2/packets/PacketKexInit.java b/app/src/main/java/com/trilead/ssh2/packets/PacketKexInit.java
index 087d658..087d658 100644
--- a/src/com/trilead/ssh2/packets/PacketKexInit.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketKexInit.java
diff --git a/src/com/trilead/ssh2/packets/PacketNewKeys.java b/app/src/main/java/com/trilead/ssh2/packets/PacketNewKeys.java
index 3ca6503..3ca6503 100644
--- a/src/com/trilead/ssh2/packets/PacketNewKeys.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketNewKeys.java
diff --git a/src/com/trilead/ssh2/packets/PacketOpenDirectTCPIPChannel.java b/app/src/main/java/com/trilead/ssh2/packets/PacketOpenDirectTCPIPChannel.java
index da6cbef..da6cbef 100644
--- a/src/com/trilead/ssh2/packets/PacketOpenDirectTCPIPChannel.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketOpenDirectTCPIPChannel.java
diff --git a/src/com/trilead/ssh2/packets/PacketOpenSessionChannel.java b/app/src/main/java/com/trilead/ssh2/packets/PacketOpenSessionChannel.java
index a75ea63..a75ea63 100644
--- a/src/com/trilead/ssh2/packets/PacketOpenSessionChannel.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketOpenSessionChannel.java
diff --git a/src/com/trilead/ssh2/packets/PacketServiceAccept.java b/app/src/main/java/com/trilead/ssh2/packets/PacketServiceAccept.java
index d5c9a90..d5c9a90 100644
--- a/src/com/trilead/ssh2/packets/PacketServiceAccept.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketServiceAccept.java
diff --git a/src/com/trilead/ssh2/packets/PacketServiceRequest.java b/app/src/main/java/com/trilead/ssh2/packets/PacketServiceRequest.java
index c2d2065..c2d2065 100644
--- a/src/com/trilead/ssh2/packets/PacketServiceRequest.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketServiceRequest.java
diff --git a/src/com/trilead/ssh2/packets/PacketSessionExecCommand.java b/app/src/main/java/com/trilead/ssh2/packets/PacketSessionExecCommand.java
index 84efa5d..84efa5d 100644
--- a/src/com/trilead/ssh2/packets/PacketSessionExecCommand.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketSessionExecCommand.java
diff --git a/src/com/trilead/ssh2/packets/PacketSessionPtyRequest.java b/app/src/main/java/com/trilead/ssh2/packets/PacketSessionPtyRequest.java
index d9c3d59..d9c3d59 100644
--- a/src/com/trilead/ssh2/packets/PacketSessionPtyRequest.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketSessionPtyRequest.java
diff --git a/src/com/trilead/ssh2/packets/PacketSessionPtyResize.java b/app/src/main/java/com/trilead/ssh2/packets/PacketSessionPtyResize.java
index 1e3b558..1e3b558 100644
--- a/src/com/trilead/ssh2/packets/PacketSessionPtyResize.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketSessionPtyResize.java
diff --git a/src/com/trilead/ssh2/packets/PacketSessionStartShell.java b/app/src/main/java/com/trilead/ssh2/packets/PacketSessionStartShell.java
index e5add01..e5add01 100644
--- a/src/com/trilead/ssh2/packets/PacketSessionStartShell.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketSessionStartShell.java
diff --git a/src/com/trilead/ssh2/packets/PacketSessionSubsystemRequest.java b/app/src/main/java/com/trilead/ssh2/packets/PacketSessionSubsystemRequest.java
index cdc3a8c..cdc3a8c 100644
--- a/src/com/trilead/ssh2/packets/PacketSessionSubsystemRequest.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketSessionSubsystemRequest.java
diff --git a/src/com/trilead/ssh2/packets/PacketSessionX11Request.java b/app/src/main/java/com/trilead/ssh2/packets/PacketSessionX11Request.java
index 26479c7..26479c7 100644
--- a/src/com/trilead/ssh2/packets/PacketSessionX11Request.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketSessionX11Request.java
diff --git a/src/com/trilead/ssh2/packets/PacketUserauthBanner.java b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthBanner.java
index 8ad8c3b..8ad8c3b 100644
--- a/src/com/trilead/ssh2/packets/PacketUserauthBanner.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthBanner.java
diff --git a/src/com/trilead/ssh2/packets/PacketUserauthFailure.java b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthFailure.java
index fd4a726..fd4a726 100644
--- a/src/com/trilead/ssh2/packets/PacketUserauthFailure.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthFailure.java
diff --git a/src/com/trilead/ssh2/packets/PacketUserauthInfoRequest.java b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoRequest.java
index e1606d1..e1606d1 100644
--- a/src/com/trilead/ssh2/packets/PacketUserauthInfoRequest.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoRequest.java
diff --git a/src/com/trilead/ssh2/packets/PacketUserauthInfoResponse.java b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoResponse.java
index e8795d4..e8795d4 100644
--- a/src/com/trilead/ssh2/packets/PacketUserauthInfoResponse.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoResponse.java
diff --git a/src/com/trilead/ssh2/packets/PacketUserauthRequestInteractive.java b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestInteractive.java
index 83e9f49..83e9f49 100644
--- a/src/com/trilead/ssh2/packets/PacketUserauthRequestInteractive.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestInteractive.java
diff --git a/src/com/trilead/ssh2/packets/PacketUserauthRequestNone.java b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestNone.java
index d786003..d786003 100644
--- a/src/com/trilead/ssh2/packets/PacketUserauthRequestNone.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestNone.java
diff --git a/src/com/trilead/ssh2/packets/PacketUserauthRequestPassword.java b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPassword.java
index 83047dd..83047dd 100644
--- a/src/com/trilead/ssh2/packets/PacketUserauthRequestPassword.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPassword.java
diff --git a/src/com/trilead/ssh2/packets/PacketUserauthRequestPublicKey.java b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPublicKey.java
index 6462864..6462864 100644
--- a/src/com/trilead/ssh2/packets/PacketUserauthRequestPublicKey.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPublicKey.java
diff --git a/src/com/trilead/ssh2/packets/Packets.java b/app/src/main/java/com/trilead/ssh2/packets/Packets.java
index 6989286..6989286 100644
--- a/src/com/trilead/ssh2/packets/Packets.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/Packets.java
diff --git a/src/com/trilead/ssh2/packets/TypesReader.java b/app/src/main/java/com/trilead/ssh2/packets/TypesReader.java
index 28f5363..28f5363 100644
--- a/src/com/trilead/ssh2/packets/TypesReader.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/TypesReader.java
diff --git a/src/com/trilead/ssh2/packets/TypesWriter.java b/app/src/main/java/com/trilead/ssh2/packets/TypesWriter.java
index 9f7336b..9f7336b 100644
--- a/src/com/trilead/ssh2/packets/TypesWriter.java
+++ b/app/src/main/java/com/trilead/ssh2/packets/TypesWriter.java
diff --git a/src/com/trilead/ssh2/sftp/AttrTextHints.java b/app/src/main/java/com/trilead/ssh2/sftp/AttrTextHints.java
index 19f0525..19f0525 100644
--- a/src/com/trilead/ssh2/sftp/AttrTextHints.java
+++ b/app/src/main/java/com/trilead/ssh2/sftp/AttrTextHints.java
diff --git a/src/com/trilead/ssh2/sftp/AttribBits.java b/app/src/main/java/com/trilead/ssh2/sftp/AttribBits.java
index b143613..b143613 100644
--- a/src/com/trilead/ssh2/sftp/AttribBits.java
+++ b/app/src/main/java/com/trilead/ssh2/sftp/AttribBits.java
diff --git a/src/com/trilead/ssh2/sftp/AttribFlags.java b/app/src/main/java/com/trilead/ssh2/sftp/AttribFlags.java
index ea27871..ea27871 100644
--- a/src/com/trilead/ssh2/sftp/AttribFlags.java
+++ b/app/src/main/java/com/trilead/ssh2/sftp/AttribFlags.java
diff --git a/src/com/trilead/ssh2/sftp/AttribPermissions.java b/app/src/main/java/com/trilead/ssh2/sftp/AttribPermissions.java
index 558aa6f..558aa6f 100644
--- a/src/com/trilead/ssh2/sftp/AttribPermissions.java
+++ b/app/src/main/java/com/trilead/ssh2/sftp/AttribPermissions.java
diff --git a/src/com/trilead/ssh2/sftp/AttribTypes.java b/app/src/main/java/com/trilead/ssh2/sftp/AttribTypes.java
index e2f4169..e2f4169 100644
--- a/src/com/trilead/ssh2/sftp/AttribTypes.java
+++ b/app/src/main/java/com/trilead/ssh2/sftp/AttribTypes.java
diff --git a/src/com/trilead/ssh2/sftp/ErrorCodes.java b/app/src/main/java/com/trilead/ssh2/sftp/ErrorCodes.java
index 7317a00..7317a00 100644
--- a/src/com/trilead/ssh2/sftp/ErrorCodes.java
+++ b/app/src/main/java/com/trilead/ssh2/sftp/ErrorCodes.java
diff --git a/src/com/trilead/ssh2/sftp/OpenFlags.java b/app/src/main/java/com/trilead/ssh2/sftp/OpenFlags.java
index b2979b9..b2979b9 100644
--- a/src/com/trilead/ssh2/sftp/OpenFlags.java
+++ b/app/src/main/java/com/trilead/ssh2/sftp/OpenFlags.java
diff --git a/src/com/trilead/ssh2/sftp/Packet.java b/app/src/main/java/com/trilead/ssh2/sftp/Packet.java
index 444af90..444af90 100644
--- a/src/com/trilead/ssh2/sftp/Packet.java
+++ b/app/src/main/java/com/trilead/ssh2/sftp/Packet.java
diff --git a/src/com/trilead/ssh2/signature/DSASHA1Verify.java b/app/src/main/java/com/trilead/ssh2/signature/DSASHA1Verify.java
index 6fb6ddb..6fb6ddb 100644
--- a/src/com/trilead/ssh2/signature/DSASHA1Verify.java
+++ b/app/src/main/java/com/trilead/ssh2/signature/DSASHA1Verify.java
diff --git a/src/com/trilead/ssh2/signature/ECDSASHA2Verify.java b/app/src/main/java/com/trilead/ssh2/signature/ECDSASHA2Verify.java
index f139cdf..f139cdf 100644
--- a/src/com/trilead/ssh2/signature/ECDSASHA2Verify.java
+++ b/app/src/main/java/com/trilead/ssh2/signature/ECDSASHA2Verify.java
diff --git a/src/com/trilead/ssh2/signature/RSASHA1Verify.java b/app/src/main/java/com/trilead/ssh2/signature/RSASHA1Verify.java
index 3406312..3406312 100644
--- a/src/com/trilead/ssh2/signature/RSASHA1Verify.java
+++ b/app/src/main/java/com/trilead/ssh2/signature/RSASHA1Verify.java
diff --git a/src/com/trilead/ssh2/transport/ClientServerHello.java b/app/src/main/java/com/trilead/ssh2/transport/ClientServerHello.java
index d7a5ee5..d7a5ee5 100644
--- a/src/com/trilead/ssh2/transport/ClientServerHello.java
+++ b/app/src/main/java/com/trilead/ssh2/transport/ClientServerHello.java
diff --git a/src/com/trilead/ssh2/transport/KexManager.java b/app/src/main/java/com/trilead/ssh2/transport/KexManager.java
index cd26530..cd26530 100644
--- a/src/com/trilead/ssh2/transport/KexManager.java
+++ b/app/src/main/java/com/trilead/ssh2/transport/KexManager.java
diff --git a/src/com/trilead/ssh2/transport/KexParameters.java b/app/src/main/java/com/trilead/ssh2/transport/KexParameters.java
index 70bcf3e..70bcf3e 100644
--- a/src/com/trilead/ssh2/transport/KexParameters.java
+++ b/app/src/main/java/com/trilead/ssh2/transport/KexParameters.java
diff --git a/src/com/trilead/ssh2/transport/KexState.java b/app/src/main/java/com/trilead/ssh2/transport/KexState.java
index 8611f3f..8611f3f 100644
--- a/src/com/trilead/ssh2/transport/KexState.java
+++ b/app/src/main/java/com/trilead/ssh2/transport/KexState.java
diff --git a/src/com/trilead/ssh2/transport/MessageHandler.java b/app/src/main/java/com/trilead/ssh2/transport/MessageHandler.java
index 039d473..039d473 100644
--- a/src/com/trilead/ssh2/transport/MessageHandler.java
+++ b/app/src/main/java/com/trilead/ssh2/transport/MessageHandler.java
diff --git a/src/com/trilead/ssh2/transport/NegotiateException.java b/app/src/main/java/com/trilead/ssh2/transport/NegotiateException.java
index ff53097..ff53097 100644
--- a/src/com/trilead/ssh2/transport/NegotiateException.java
+++ b/app/src/main/java/com/trilead/ssh2/transport/NegotiateException.java
diff --git a/src/com/trilead/ssh2/transport/NegotiatedParameters.java b/app/src/main/java/com/trilead/ssh2/transport/NegotiatedParameters.java
index e9f3a0a..e9f3a0a 100644
--- a/src/com/trilead/ssh2/transport/NegotiatedParameters.java
+++ b/app/src/main/java/com/trilead/ssh2/transport/NegotiatedParameters.java
diff --git a/src/com/trilead/ssh2/transport/TransportConnection.java b/app/src/main/java/com/trilead/ssh2/transport/TransportConnection.java
index 906c3c9..906c3c9 100644
--- a/src/com/trilead/ssh2/transport/TransportConnection.java
+++ b/app/src/main/java/com/trilead/ssh2/transport/TransportConnection.java
diff --git a/src/com/trilead/ssh2/transport/TransportManager.java b/app/src/main/java/com/trilead/ssh2/transport/TransportManager.java
index 2e88126..2e88126 100644
--- a/src/com/trilead/ssh2/transport/TransportManager.java
+++ b/app/src/main/java/com/trilead/ssh2/transport/TransportManager.java
diff --git a/src/com/trilead/ssh2/util/TimeoutService.java b/app/src/main/java/com/trilead/ssh2/util/TimeoutService.java
index 3d52161..3d52161 100644
--- a/src/com/trilead/ssh2/util/TimeoutService.java
+++ b/app/src/main/java/com/trilead/ssh2/util/TimeoutService.java
diff --git a/src/com/trilead/ssh2/util/Tokenizer.java b/app/src/main/java/com/trilead/ssh2/util/Tokenizer.java
index dfd480b..dfd480b 100644
--- a/src/com/trilead/ssh2/util/Tokenizer.java
+++ b/app/src/main/java/com/trilead/ssh2/util/Tokenizer.java
diff --git a/src/de/mud/telnet/TelnetProtocolHandler.java b/app/src/main/java/de/mud/telnet/TelnetProtocolHandler.java
index 74f08bb..74f08bb 100644
--- a/src/de/mud/telnet/TelnetProtocolHandler.java
+++ b/app/src/main/java/de/mud/telnet/TelnetProtocolHandler.java
diff --git a/src/de/mud/terminal/Precomposer.java b/app/src/main/java/de/mud/terminal/Precomposer.java
index edad64c..edad64c 100644
--- a/src/de/mud/terminal/Precomposer.java
+++ b/app/src/main/java/de/mud/terminal/Precomposer.java
diff --git a/src/de/mud/terminal/VDUBuffer.java b/app/src/main/java/de/mud/terminal/VDUBuffer.java
index 93e3ccf..93e3ccf 100644
--- a/src/de/mud/terminal/VDUBuffer.java
+++ b/app/src/main/java/de/mud/terminal/VDUBuffer.java
diff --git a/src/de/mud/terminal/VDUDisplay.java b/app/src/main/java/de/mud/terminal/VDUDisplay.java
index bb4a7b8..bb4a7b8 100644
--- a/src/de/mud/terminal/VDUDisplay.java
+++ b/app/src/main/java/de/mud/terminal/VDUDisplay.java
diff --git a/src/de/mud/terminal/VDUInput.java b/app/src/main/java/de/mud/terminal/VDUInput.java
index 43c88de..43c88de 100644
--- a/src/de/mud/terminal/VDUInput.java
+++ b/app/src/main/java/de/mud/terminal/VDUInput.java
diff --git a/src/de/mud/terminal/vt320.java b/app/src/main/java/de/mud/terminal/vt320.java
index 73369af..73369af 100644
--- a/src/de/mud/terminal/vt320.java
+++ b/app/src/main/java/de/mud/terminal/vt320.java
diff --git a/src/net/sourceforge/jsocks/Authentication.java b/app/src/main/java/net/sourceforge/jsocks/Authentication.java
index 18cc48b..18cc48b 100644
--- a/src/net/sourceforge/jsocks/Authentication.java
+++ b/app/src/main/java/net/sourceforge/jsocks/Authentication.java
diff --git a/src/net/sourceforge/jsocks/AuthenticationNone.java b/app/src/main/java/net/sourceforge/jsocks/AuthenticationNone.java
index f28193a..f28193a 100644
--- a/src/net/sourceforge/jsocks/AuthenticationNone.java
+++ b/app/src/main/java/net/sourceforge/jsocks/AuthenticationNone.java
diff --git a/src/net/sourceforge/jsocks/Proxy.java b/app/src/main/java/net/sourceforge/jsocks/Proxy.java
index 381c0a0..381c0a0 100644
--- a/src/net/sourceforge/jsocks/Proxy.java
+++ b/app/src/main/java/net/sourceforge/jsocks/Proxy.java
diff --git a/src/net/sourceforge/jsocks/ProxyMessage.java b/app/src/main/java/net/sourceforge/jsocks/ProxyMessage.java
index 442c380..442c380 100644
--- a/src/net/sourceforge/jsocks/ProxyMessage.java
+++ b/app/src/main/java/net/sourceforge/jsocks/ProxyMessage.java
diff --git a/src/net/sourceforge/jsocks/ProxyServer.java b/app/src/main/java/net/sourceforge/jsocks/ProxyServer.java
index 225149d..225149d 100644
--- a/src/net/sourceforge/jsocks/ProxyServer.java
+++ b/app/src/main/java/net/sourceforge/jsocks/ProxyServer.java
diff --git a/src/net/sourceforge/jsocks/Socks4Message.java b/app/src/main/java/net/sourceforge/jsocks/Socks4Message.java
index 99fb211..99fb211 100644
--- a/src/net/sourceforge/jsocks/Socks4Message.java
+++ b/app/src/main/java/net/sourceforge/jsocks/Socks4Message.java
diff --git a/src/net/sourceforge/jsocks/Socks4Proxy.java b/app/src/main/java/net/sourceforge/jsocks/Socks4Proxy.java
index 9a17fc2..9a17fc2 100644
--- a/src/net/sourceforge/jsocks/Socks4Proxy.java
+++ b/app/src/main/java/net/sourceforge/jsocks/Socks4Proxy.java
diff --git a/src/net/sourceforge/jsocks/Socks5DatagramSocket.java b/app/src/main/java/net/sourceforge/jsocks/Socks5DatagramSocket.java
index b847400..b847400 100644
--- a/src/net/sourceforge/jsocks/Socks5DatagramSocket.java
+++ b/app/src/main/java/net/sourceforge/jsocks/Socks5DatagramSocket.java
diff --git a/src/net/sourceforge/jsocks/Socks5Message.java b/app/src/main/java/net/sourceforge/jsocks/Socks5Message.java
index ea2a321..ea2a321 100644
--- a/src/net/sourceforge/jsocks/Socks5Message.java
+++ b/app/src/main/java/net/sourceforge/jsocks/Socks5Message.java
diff --git a/src/net/sourceforge/jsocks/Socks5Proxy.java b/app/src/main/java/net/sourceforge/jsocks/Socks5Proxy.java
index aa9c643..aa9c643 100644
--- a/src/net/sourceforge/jsocks/Socks5Proxy.java
+++ b/app/src/main/java/net/sourceforge/jsocks/Socks5Proxy.java
diff --git a/src/net/sourceforge/jsocks/SocksException.java b/app/src/main/java/net/sourceforge/jsocks/SocksException.java
index 764587f..764587f 100644
--- a/src/net/sourceforge/jsocks/SocksException.java
+++ b/app/src/main/java/net/sourceforge/jsocks/SocksException.java
diff --git a/src/net/sourceforge/jsocks/SocksServerSocket.java b/app/src/main/java/net/sourceforge/jsocks/SocksServerSocket.java
index 179e9c4..179e9c4 100644
--- a/src/net/sourceforge/jsocks/SocksServerSocket.java
+++ b/app/src/main/java/net/sourceforge/jsocks/SocksServerSocket.java
diff --git a/src/net/sourceforge/jsocks/SocksSocket.java b/app/src/main/java/net/sourceforge/jsocks/SocksSocket.java
index cf9ff65..cf9ff65 100644
--- a/src/net/sourceforge/jsocks/SocksSocket.java
+++ b/app/src/main/java/net/sourceforge/jsocks/SocksSocket.java
diff --git a/src/net/sourceforge/jsocks/UDPEncapsulation.java b/app/src/main/java/net/sourceforge/jsocks/UDPEncapsulation.java
index e965942..e965942 100644
--- a/src/net/sourceforge/jsocks/UDPEncapsulation.java
+++ b/app/src/main/java/net/sourceforge/jsocks/UDPEncapsulation.java
diff --git a/src/net/sourceforge/jsocks/UDPRelayServer.java b/app/src/main/java/net/sourceforge/jsocks/UDPRelayServer.java
index dfa6016..dfa6016 100644
--- a/src/net/sourceforge/jsocks/UDPRelayServer.java
+++ b/app/src/main/java/net/sourceforge/jsocks/UDPRelayServer.java
diff --git a/src/net/sourceforge/jsocks/server/ServerAuthenticator.java b/app/src/main/java/net/sourceforge/jsocks/server/ServerAuthenticator.java
index cb7f0af..cb7f0af 100644
--- a/src/net/sourceforge/jsocks/server/ServerAuthenticator.java
+++ b/app/src/main/java/net/sourceforge/jsocks/server/ServerAuthenticator.java
diff --git a/src/net/sourceforge/jsocks/server/ServerAuthenticatorNone.java b/app/src/main/java/net/sourceforge/jsocks/server/ServerAuthenticatorNone.java
index e4edbe7..e4edbe7 100644
--- a/src/net/sourceforge/jsocks/server/ServerAuthenticatorNone.java
+++ b/app/src/main/java/net/sourceforge/jsocks/server/ServerAuthenticatorNone.java
diff --git a/src/org/apache/harmony/niochar/charset/additional/IBM437.java b/app/src/main/java/org/apache/harmony/niochar/charset/additional/IBM437.java
index d61ef59..d61ef59 100644
--- a/src/org/apache/harmony/niochar/charset/additional/IBM437.java
+++ b/app/src/main/java/org/apache/harmony/niochar/charset/additional/IBM437.java
diff --git a/src/org/connectbot/ActionBarWrapper.java b/app/src/main/java/org/connectbot/ActionBarWrapper.java
index 0c7b65d..f6bed8c 100644
--- a/src/org/connectbot/ActionBarWrapper.java
+++ b/app/src/main/java/org/connectbot/ActionBarWrapper.java
@@ -19,6 +19,7 @@ package org.connectbot;
import org.connectbot.util.PreferenceConstants;
+import android.annotation.TargetApi;
import android.app.Activity;
import android.app.ActionBar;
@@ -49,6 +50,11 @@ public abstract class ActionBarWrapper {
private static class DummyActionBar extends ActionBarWrapper {
}
+ /**
+ * Real ActionBar delegate that is only invoked on Honeycomb
+ * and later.
+ */
+ @TargetApi(11)
private static class RealActionBar extends ActionBarWrapper {
private final ActionBar actionBar;
diff --git a/src/org/connectbot/ColorsActivity.java b/app/src/main/java/org/connectbot/ColorsActivity.java
index 4d28732..4d28732 100644
--- a/src/org/connectbot/ColorsActivity.java
+++ b/app/src/main/java/org/connectbot/ColorsActivity.java
diff --git a/src/org/connectbot/ConsoleActivity.java b/app/src/main/java/org/connectbot/ConsoleActivity.java
index aeb0e67..2116d92 100644
--- a/src/org/connectbot/ConsoleActivity.java
+++ b/app/src/main/java/org/connectbot/ConsoleActivity.java
@@ -40,6 +40,7 @@ import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.media.AudioManager;
import android.net.Uri;
+import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
@@ -52,19 +53,20 @@ import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
+import android.view.MenuItem.OnMenuItemClickListener;
import android.view.MotionEvent;
import android.view.View;
-import android.view.ViewConfiguration;
-import android.view.Window;
-import android.view.WindowManager;
-import android.view.MenuItem.OnMenuItemClickListener;
import android.view.View.OnClickListener;
import android.view.View.OnKeyListener;
import android.view.View.OnTouchListener;
+import android.view.ViewConfiguration;
+import android.view.Window;
+import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
@@ -74,8 +76,6 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ViewFlipper;
-import android.widget.AdapterView.OnItemClickListener;
-
import de.mud.terminal.vt320;
public class ConsoleActivity extends Activity {
@@ -163,7 +163,7 @@ public class ConsoleActivity extends Activity {
try {
Log.d(TAG, String.format("We couldnt find an existing bridge with URI=%s (nickname=%s), so creating one now", requested.toString(), requestedNickname));
requestedBridge = bound.openConnection(requested);
- } catch(Exception e) {
+ } catch (Exception e) {
Log.e(TAG, "Problem while trying to create new requested bridge from URI", e);
}
}
@@ -184,7 +184,7 @@ public class ConsoleActivity extends Activity {
public void onServiceDisconnected(ComponentName className) {
// tell each bridge to forget about our prompt handler
synchronized (bound.bridges) {
- for(TerminalBridge bridge : bound.bridges)
+ for (TerminalBridge bridge : bound.bridges)
bridge.promptHelper.setHandler(null);
}
@@ -209,7 +209,7 @@ public class ConsoleActivity extends Activity {
// someone below us requested to display a password dialog
// they are sending nickname and requested
- TerminalBridge bridge = (TerminalBridge)msg.obj;
+ TerminalBridge bridge = (TerminalBridge) msg.obj;
if (bridge.isAwaitingClose())
closeBridge(bridge);
@@ -250,14 +250,14 @@ public class ConsoleActivity extends Activity {
protected View findCurrentView(int id) {
View view = flip.getCurrentView();
- if(view == null) return null;
+ if (view == null) return null;
return view.findViewById(id);
}
protected PromptHelper getCurrentPromptHelper() {
View view = findCurrentView(R.id.console_flip);
- if(!(view instanceof TerminalView)) return null;
- return ((TerminalView)view).bridge.promptHelper;
+ if (!(view instanceof TerminalView)) return null;
+ return ((TerminalView) view).bridge.promptHelper;
}
protected void hideAllPrompts() {
@@ -297,22 +297,18 @@ public class ConsoleActivity extends Activity {
}
}
- // more like configureLaxMode -- enable network IO on UI thread
- private void configureStrictMode() {
- try {
- Class.forName("android.os.StrictMode");
- StrictModeSetup.run();
- } catch (ClassNotFoundException e) {
- }
- }
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
- configureStrictMode();
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
+ StrictModeSetup.run();
+ }
+
hardKeyboard = getResources().getConfiguration().keyboard ==
Configuration.KEYBOARD_QWERTY;
- clipboard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
+ clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
titleBarHide = prefs.getBoolean(PreferenceConstants.TITLEBARHIDE, false);
@@ -336,22 +332,22 @@ public class ConsoleActivity extends Activity {
inflater = LayoutInflater.from(this);
- flip = (ViewFlipper)findViewById(R.id.console_flip);
- empty = (TextView)findViewById(android.R.id.empty);
+ flip = (ViewFlipper) findViewById(R.id.console_flip);
+ empty = (TextView) findViewById(android.R.id.empty);
stringPromptGroup = (RelativeLayout) findViewById(R.id.console_password_group);
stringPromptInstructions = (TextView) findViewById(R.id.console_password_instructions);
- stringPrompt = (EditText)findViewById(R.id.console_password);
+ stringPrompt = (EditText) findViewById(R.id.console_password);
stringPrompt.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
- if(event.getAction() == KeyEvent.ACTION_UP) return false;
- if(keyCode != KeyEvent.KEYCODE_ENTER) return false;
+ if (event.getAction() == KeyEvent.ACTION_UP) return false;
+ if (keyCode != KeyEvent.KEYCODE_ENTER) return false;
// pass collected password down to current terminal
String value = stringPrompt.getText().toString();
PromptHelper helper = getCurrentPromptHelper();
- if(helper == null) return false;
+ if (helper == null) return false;
helper.setResponse(value);
// finally clear password for next user
@@ -363,23 +359,23 @@ public class ConsoleActivity extends Activity {
});
booleanPromptGroup = (RelativeLayout) findViewById(R.id.console_boolean_group);
- booleanPrompt = (TextView)findViewById(R.id.console_prompt);
+ booleanPrompt = (TextView) findViewById(R.id.console_prompt);
- booleanYes = (Button)findViewById(R.id.console_prompt_yes);
+ booleanYes = (Button) findViewById(R.id.console_prompt_yes);
booleanYes.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
PromptHelper helper = getCurrentPromptHelper();
- if(helper == null) return;
+ if (helper == null) return;
helper.setResponse(Boolean.TRUE);
updatePromptVisible();
}
});
- booleanNo = (Button)findViewById(R.id.console_prompt_no);
+ booleanNo = (Button) findViewById(R.id.console_prompt_no);
booleanNo.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
PromptHelper helper = getCurrentPromptHelper();
- if(helper == null) return;
+ if (helper == null) return;
helper.setResponse(Boolean.FALSE);
updatePromptVisible();
}
@@ -419,7 +415,7 @@ public class ConsoleActivity extends Activity {
public void onClick(View view) {
View flip = findCurrentView(R.id.console_flip);
if (flip == null) return;
- TerminalView terminal = (TerminalView)flip;
+ TerminalView terminal = (TerminalView) flip;
TerminalKeyListener handler = terminal.bridge.getKeyHandler();
handler.metaPress(TerminalKeyListener.OUR_CTRL_ON, true);
@@ -432,7 +428,7 @@ public class ConsoleActivity extends Activity {
public void onClick(View view) {
View flip = findCurrentView(R.id.console_flip);
if (flip == null) return;
- TerminalView terminal = (TerminalView)flip;
+ TerminalView terminal = (TerminalView) flip;
TerminalKeyListener handler = terminal.bridge.getKeyHandler();
handler.sendEscape();
@@ -503,13 +499,13 @@ public class ConsoleActivity extends Activity {
if (Math.abs(e1.getX() - e2.getX()) < ViewConfiguration.getTouchSlop() * 4) {
View flip = findCurrentView(R.id.console_flip);
- if(flip == null) return false;
- TerminalView terminal = (TerminalView)flip;
+ if (flip == null) return false;
+ TerminalView terminal = (TerminalView) flip;
// estimate how many rows we have scrolled through
// accumulate distance that doesn't trigger immediate scroll
totalY += distanceY;
- final int moved = (int)(totalY / terminal.bridge.charHeight);
+ final int moved = (int) (totalY / terminal.bridge.charHeight);
// consume as scrollback only if towards right half of screen
if (e2.getX() > flip.getWidth() / 2) {
@@ -522,12 +518,12 @@ public class ConsoleActivity extends Activity {
} else {
// otherwise consume as pgup/pgdown for every 5 lines
if (moved > 5) {
- ((vt320)terminal.bridge.buffer).keyPressed(vt320.KEY_PAGE_DOWN, ' ', 0);
+ ((vt320) terminal.bridge.buffer).keyPressed(vt320.KEY_PAGE_DOWN, ' ', 0);
terminal.bridge.tryKeyVibrate();
totalY = 0;
return true;
} else if (moved < -5) {
- ((vt320)terminal.bridge.buffer).keyPressed(vt320.KEY_PAGE_UP, ' ', 0);
+ ((vt320) terminal.bridge.buffer).keyPressed(vt320.KEY_PAGE_UP, ' ', 0);
terminal.bridge.tryKeyVibrate();
totalY = 0;
return true;
@@ -550,8 +546,8 @@ public class ConsoleActivity extends Activity {
// when copying, highlight the area
if (copySource != null && copySource.isSelectingForCopy()) {
- int row = (int)Math.floor(event.getY() / copySource.charHeight);
- int col = (int)Math.floor(event.getX() / copySource.charWidth);
+ int row = (int) Math.floor(event.getY() / copySource.charHeight);
+ int col = (int) Math.floor(event.getX() / copySource.charWidth);
SelectionArea area = copySource.getSelectionArea();
@@ -939,10 +935,10 @@ public class ConsoleActivity extends Activity {
// If we didn't find the requested connection, try opening it
try {
- Log.d(TAG, String.format("We couldnt find an existing bridge with URI=%s (nickname=%s),"+
+ Log.d(TAG, String.format("We couldnt find an existing bridge with URI=%s (nickname=%s)," +
"so creating one now", requested.toString(), requested.getFragment()));
requestedBridge = bound.openConnection(requested);
- } catch(Exception e) {
+ } catch (Exception e) {
Log.e(TAG, "Problem while trying to create new requested bridge from URI", e);
// TODO: We should display an error dialog here.
return;
@@ -1011,10 +1007,10 @@ public class ConsoleActivity extends Activity {
private void updateDefault() {
// update the current default terminal
View view = findCurrentView(R.id.console_flip);
- if(!(view instanceof TerminalView)) return;
+ if (!(view instanceof TerminalView)) return;
- TerminalView terminal = (TerminalView)view;
- if(bound == null) return;
+ TerminalView terminal = (TerminalView) view;
+ if (bound == null) return;
bound.defaultBridge = terminal.bridge;
}
@@ -1033,13 +1029,13 @@ public class ConsoleActivity extends Activity {
// Hide all the prompts in case a prompt request was canceled
hideAllPrompts();
- if(!(view instanceof TerminalView)) {
+ if (!(view instanceof TerminalView)) {
// we dont have an active view, so hide any prompts
return;
}
- PromptHelper prompt = ((TerminalView)view).bridge.promptHelper;
- if(String.class.equals(prompt.promptRequested)) {
+ PromptHelper prompt = ((TerminalView) view).bridge.promptHelper;
+ if (String.class.equals(prompt.promptRequested)) {
stringPromptGroup.setVisibility(View.VISIBLE);
String instructions = prompt.promptInstructions;
@@ -1052,7 +1048,7 @@ public class ConsoleActivity extends Activity {
stringPrompt.setHint(prompt.promptHint);
stringPrompt.requestFocus();
- } else if(Boolean.class.equals(prompt.promptRequested)) {
+ } else if (Boolean.class.equals(prompt.promptRequested)) {
booleanPromptGroup.setVisibility(View.VISIBLE);
booleanPrompt.setText(prompt.promptHint);
booleanYes.requestFocus();
@@ -1101,9 +1097,9 @@ public class ConsoleActivity extends Activity {
if (bound != null) {
if (forcedOrientation &&
(newConfig.orientation != Configuration.ORIENTATION_LANDSCAPE &&
- getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) ||
+ getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) ||
(newConfig.orientation != Configuration.ORIENTATION_PORTRAIT &&
- getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT))
+ getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT))
bound.setResizeAllowed(false);
else
bound.setResizeAllowed(true);
@@ -1125,10 +1121,10 @@ public class ConsoleActivity extends Activity {
bridge.promptHelper.setHandler(promptHandler);
// inflate each terminal view
- RelativeLayout view = (RelativeLayout)inflater.inflate(R.layout.item_terminal, flip, false);
+ RelativeLayout view = (RelativeLayout) inflater.inflate(R.layout.item_terminal, flip, false);
// set the terminal overlay text
- TextView overlay = (TextView)view.findViewById(R.id.terminal_overlay);
+ TextView overlay = (TextView) view.findViewById(R.id.terminal_overlay);
overlay.setText(bridge.host.getNickname());
// and add our terminal view control, using index to place behind overlay
diff --git a/src/org/connectbot/GeneratePubkeyActivity.java b/app/src/main/java/org/connectbot/GeneratePubkeyActivity.java
index 1b8995f..d7664c6 100644
--- a/src/org/connectbot/GeneratePubkeyActivity.java
+++ b/app/src/main/java/org/connectbot/GeneratePubkeyActivity.java
@@ -55,11 +55,11 @@ import com.trilead.ssh2.signature.ECDSASHA2Verify;
public class GeneratePubkeyActivity extends Activity implements OnEntropyGatheredListener {
/**
- *
- */
- private static final int RSA_MINIMUM_BITS = 768;
+ *
+ */
+ private static final int RSA_MINIMUM_BITS = 768;
- public final static String TAG = "ConnectBot.GeneratePubkeyActivity";
+ public final static String TAG = "ConnectBot.GeneratePubkeyActivity";
final static int DEFAULT_BITS = 1024;
@@ -186,7 +186,7 @@ public class GeneratePubkeyActivity extends Activity implements OnEntropyGathere
bitsText.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
- final boolean isEc = PubkeyDatabase.KEY_TYPE_EC.equals(keyType);
+ final boolean isEc = PubkeyDatabase.KEY_TYPE_EC.equals(keyType);
try {
bits = Integer.parseInt(bitsText.getText().toString());
if (bits < minBits) {
@@ -230,7 +230,7 @@ public class GeneratePubkeyActivity extends Activity implements OnEntropyGathere
private void startEntropyGather() {
final View entropyView = inflater.inflate(R.layout.dia_gatherentropy, null, false);
- ((EntropyView)entropyView.findViewById(R.id.entropy)).addOnEntropyGatheredListener(GeneratePubkeyActivity.this);
+ ((EntropyView) entropyView.findViewById(R.id.entropy)).addOnEntropyGatheredListener(GeneratePubkeyActivity.this);
entropyDialog = new EntropyDialog(GeneratePubkeyActivity.this, entropyView);
entropyDialog.show();
}
@@ -248,7 +248,7 @@ public class GeneratePubkeyActivity extends Activity implements OnEntropyGathere
for (int i = 0; i < 20; i++)
numSetBits += measureNumberOfSetBits(this.entropy[i]);
- Log.d(TAG, "Entropy distribution=" + (int)(100.0 * numSetBits / 160.0) + "%");
+ Log.d(TAG, "Entropy distribution=" + (int) (100.0 * numSetBits / 160.0) + "%");
Log.d(TAG, "entropy gathered; attemping to generate key...");
startKeyGen();
diff --git a/src/org/connectbot/HelpActivity.java b/app/src/main/java/org/connectbot/HelpActivity.java
index d82777d..f56a1c0 100644
--- a/src/org/connectbot/HelpActivity.java
+++ b/app/src/main/java/org/connectbot/HelpActivity.java
@@ -49,7 +49,7 @@ public class HelpActivity extends Activity {
getResources().getText(R.string.title_help)));
AssetManager am = this.getAssets();
- LinearLayout content = (LinearLayout)this.findViewById(R.id.topics);
+ LinearLayout content = (LinearLayout) findViewById(R.id.topics);
try {
for (String name : am.list(HELPDIR)) {
diff --git a/src/org/connectbot/HelpTopicActivity.java b/app/src/main/java/org/connectbot/HelpTopicActivity.java
index a5fa8e0..a5fa8e0 100644
--- a/src/org/connectbot/HelpTopicActivity.java
+++ b/app/src/main/java/org/connectbot/HelpTopicActivity.java
diff --git a/src/org/connectbot/HostEditorActivity.java b/app/src/main/java/org/connectbot/HostEditorActivity.java
index 4e8427f..d1e5487 100644
--- a/src/org/connectbot/HostEditorActivity.java
+++ b/app/src/main/java/org/connectbot/HostEditorActivity.java
@@ -73,9 +73,9 @@ public class HostEditorActivity extends PreferenceActivity implements OnSharedPr
new String[] { String.valueOf(id) }, null, null, null);
if (cursor.moveToFirst()) {
- for(int i = 0; i < cursor.getColumnCount(); i++) {
+ for (int i = 0; i < cursor.getColumnCount(); i++) {
String key = cursor.getColumnName(i);
- if(key.equals(HostDatabase.FIELD_HOST_HOSTKEY)) continue;
+ if (key.equals(HostDatabase.FIELD_HOST_HOSTKEY)) continue;
String value = cursor.getString(i);
values.put(key, value);
}
@@ -124,7 +124,7 @@ public class HostEditorActivity extends PreferenceActivity implements OnSharedPr
cacheValues();
// and update any listeners
- for(OnSharedPreferenceChangeListener listener : listeners) {
+ for (OnSharedPreferenceChangeListener listener : listeners) {
listener.onSharedPreferenceChanged(CursorPreferenceHack.this, null);
}
@@ -198,7 +198,7 @@ public class HostEditorActivity extends PreferenceActivity implements OnSharedPr
public String getString(String key, String defValue) {
//Log.d(this.getClass().toString(), String.format("getString(key=%s, defValue=%s)", key, defValue));
- if(!values.containsKey(key)) return defValue;
+ if (!values.containsKey(key)) return defValue;
return values.get(key);
}
@@ -269,7 +269,7 @@ public class HostEditorActivity extends PreferenceActivity implements OnSharedPr
// add all existing pubkeys to our listpreference for user to choose from
// TODO: may be an issue here when this activity is recycled after adding a new pubkey
// TODO: should consider moving into onStart, but we dont have a good way of resetting the listpref after filling once
- ListPreference pubkeyPref = (ListPreference)this.findPreference(HostDatabase.FIELD_HOST_PUBKEYID);
+ ListPreference pubkeyPref = (ListPreference) findPreference(HostDatabase.FIELD_HOST_PUBKEYID);
List<CharSequence> pubkeyNicks = new LinkedList<CharSequence>(Arrays.asList(pubkeyPref.getEntries()));
pubkeyNicks.addAll(pubkeydb.allValues(PubkeyDatabase.FIELD_PUBKEY_NICKNAME));
@@ -306,10 +306,10 @@ public class HostEditorActivity extends PreferenceActivity implements OnSharedPr
bindService(new Intent(this, TerminalManager.class), connection, Context.BIND_AUTO_CREATE);
- if(this.hostdb == null)
+ if (this.hostdb == null)
this.hostdb = new HostDatabase(this);
- if(this.pubkeydb == null)
+ if (this.pubkeydb == null)
this.pubkeydb = new PubkeyDatabase(this);
}
@@ -319,12 +319,12 @@ public class HostEditorActivity extends PreferenceActivity implements OnSharedPr
unbindService(connection);
- if(this.hostdb != null) {
+ if (this.hostdb != null) {
this.hostdb.close();
this.hostdb = null;
}
- if(this.pubkeydb != null) {
+ if (this.pubkeydb != null) {
this.pubkeydb.close();
this.pubkeydb = null;
}
@@ -333,10 +333,10 @@ public class HostEditorActivity extends PreferenceActivity implements OnSharedPr
private void updateSummaries() {
// for all text preferences, set hint as current database value
for (String key : this.pref.values.keySet()) {
- if(key.equals(HostDatabase.FIELD_HOST_POSTLOGIN)) continue;
+ if (key.equals(HostDatabase.FIELD_HOST_POSTLOGIN)) continue;
Preference pref = this.findPreference(key);
- if(pref == null) continue;
- if(pref instanceof CheckBoxPreference) continue;
+ if (pref == null) continue;
+ if (pref instanceof CheckBoxPreference) continue;
CharSequence value = this.pref.getString(key, "");
if (key.equals(HostDatabase.FIELD_HOST_PUBKEYID)) {
@@ -344,9 +344,9 @@ public class HostEditorActivity extends PreferenceActivity implements OnSharedPr
int pubkeyId = Integer.parseInt((String) value);
if (pubkeyId >= 0)
pref.setSummary(pubkeydb.getNickname(pubkeyId));
- else if(pubkeyId == HostDatabase.PUBKEYID_ANY)
+ else if (pubkeyId == HostDatabase.PUBKEYID_ANY)
pref.setSummary(R.string.list_pubkeyids_any);
- else if(pubkeyId == HostDatabase.PUBKEYID_NEVER)
+ else if (pubkeyId == HostDatabase.PUBKEYID_NEVER)
pref.setSummary(R.string.list_pubkeyids_none);
continue;
} catch (NumberFormatException nfe) {
diff --git a/src/org/connectbot/HostListActivity.java b/app/src/main/java/org/connectbot/HostListActivity.java
index 3929ee7..33bee52 100644
--- a/src/org/connectbot/HostListActivity.java
+++ b/app/src/main/java/org/connectbot/HostListActivity.java
@@ -115,7 +115,7 @@ public class HostListActivity extends ListActivity {
// start the terminal manager service
this.bindService(new Intent(this, TerminalManager.class), connection, Context.BIND_AUTO_CREATE);
- if(this.hostdb == null)
+ if (this.hostdb == null)
this.hostdb = new HostDatabase(this);
}
@@ -124,7 +124,7 @@ public class HostListActivity extends ListActivity {
super.onStop();
this.unbindService(connection);
- if(this.hostdb != null) {
+ if (this.hostdb != null) {
this.hostdb.close();
this.hostdb = null;
}
@@ -138,7 +138,7 @@ public class HostListActivity extends ListActivity {
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_EULA) {
- if(resultCode == Activity.RESULT_OK) {
+ if (resultCode == Activity.RESULT_OK) {
// yay they agreed, so store that info
Editor edit = prefs.edit();
edit.putBoolean(PreferenceConstants.EULA, true);
@@ -168,7 +168,7 @@ public class HostListActivity extends ListActivity {
SharedPreferences.Editor editor = prefs.edit();
boolean doCommit = false;
if (!prefs.contains(PreferenceConstants.SHIFT_FKEYS) &&
- !prefs.contains(PreferenceConstants.CTRL_FKEYS)) {
+ !prefs.contains(PreferenceConstants.CTRL_FKEYS)) {
editor.putBoolean(PreferenceConstants.SHIFT_FKEYS, true);
editor.putBoolean(PreferenceConstants.CTRL_FKEYS, true);
doCommit = true;
@@ -188,7 +188,7 @@ public class HostListActivity extends ListActivity {
// check for eula agreement
boolean agreed = prefs.getBoolean(PreferenceConstants.EULA, false);
- if(!agreed) {
+ if (!agreed) {
this.startActivityForResult(new Intent(this, WizardActivity.class), REQUEST_EULA);
}
@@ -241,14 +241,14 @@ public class HostListActivity extends ListActivity {
public boolean onKey(View v, int keyCode, KeyEvent event) {
- if(event.getAction() == KeyEvent.ACTION_UP) return false;
- if(keyCode != KeyEvent.KEYCODE_ENTER) return false;
+ if (event.getAction() == KeyEvent.ACTION_UP) return false;
+ if (keyCode != KeyEvent.KEYCODE_ENTER) return false;
return startConsoleActivity();
}
});
- transportSpinner = (Spinner)findViewById(R.id.transport_selection);
+ transportSpinner = (Spinner) findViewById(R.id.transport_selection);
transportSpinner.setVisibility(makingShortcut ? View.GONE : View.VISIBLE);
ArrayAdapter<String> transportSelection = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, TransportFactory.getTransportNames());
@@ -288,7 +288,7 @@ public class HostListActivity extends ListActivity {
super.onCreateOptionsMenu(menu);
// don't offer menus when creating shortcut
- if(makingShortcut) return true;
+ if (makingShortcut) return true;
// add host, ssh keys, about
sortcolor = menu.add(R.string.list_menu_sortcolor);
@@ -386,7 +386,7 @@ public class HostListActivity extends ListActivity {
.setPositiveButton(R.string.delete_pos, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// make sure we disconnect
- if(bridge != null)
+ if (bridge != null)
bridge.dispatchDisconnect(true);
hostdb.deleteHost(host);
@@ -506,9 +506,9 @@ public class HostListActivity extends ListActivity {
holder = new ViewHolder();
- holder.nickname = (TextView)convertView.findViewById(android.R.id.text1);
- holder.caption = (TextView)convertView.findViewById(android.R.id.text2);
- holder.icon = (ImageView)convertView.findViewById(android.R.id.icon);
+ holder.nickname = (TextView) convertView.findViewById(android.R.id.text1);
+ holder.caption = (TextView) convertView.findViewById(android.R.id.text2);
+ holder.icon = (ImageView) convertView.findViewById(android.R.id.icon);
convertView.setTag(holder);
} else
@@ -562,7 +562,7 @@ public class HostListActivity extends ListActivity {
String nice = context.getString(R.string.bind_never);
if (host.getLastConnect() > 0) {
- int minutes = (int)((now - host.getLastConnect()) / 60);
+ int minutes = (int) ((now - host.getLastConnect()) / 60);
if (minutes >= 60) {
int hours = (minutes / 60);
if (hours >= 24) {
diff --git a/src/org/connectbot/PortForwardListActivity.java b/app/src/main/java/org/connectbot/PortForwardListActivity.java
index f9982e4..ff4f7d2 100644
--- a/src/org/connectbot/PortForwardListActivity.java
+++ b/app/src/main/java/org/connectbot/PortForwardListActivity.java
@@ -84,7 +84,7 @@ public class PortForwardListActivity extends ListActivity {
this.bindService(new Intent(this, TerminalManager.class), connection, Context.BIND_AUTO_CREATE);
- if(this.hostdb == null)
+ if (this.hostdb == null)
this.hostdb = new HostDatabase(this);
}
@@ -94,7 +94,7 @@ public class PortForwardListActivity extends ListActivity {
this.unbindService(connection);
- if(this.hostdb != null) {
+ if (this.hostdb != null) {
this.hostdb.close();
this.hostdb = null;
}
@@ -177,7 +177,7 @@ public class PortForwardListActivity extends ListActivity {
// build dialog to prompt user about updating
final View portForwardView = inflater.inflate(R.layout.dia_portforward, null, false);
final EditText destEdit = (EditText) portForwardView.findViewById(R.id.portforward_destination);
- final Spinner typeSpinner = (Spinner)portForwardView.findViewById(R.id.portforward_type);
+ final Spinner typeSpinner = (Spinner) portForwardView.findViewById(R.id.portforward_type);
typeSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> value, View view,
@@ -403,8 +403,8 @@ public class PortForwardListActivity extends ListActivity {
convertView = inflater.inflate(R.layout.item_portforward, null, false);
holder = new ViewHolder();
- holder.nickname = (TextView)convertView.findViewById(android.R.id.text1);
- holder.caption = (TextView)convertView.findViewById(android.R.id.text2);
+ holder.nickname = (TextView) convertView.findViewById(android.R.id.text1);
+ holder.caption = (TextView) convertView.findViewById(android.R.id.text2);
convertView.setTag(holder);
} else
diff --git a/src/org/connectbot/PubkeyListActivity.java b/app/src/main/java/org/connectbot/PubkeyListActivity.java
index be7a46f..52e18af 100644
--- a/src/org/connectbot/PubkeyListActivity.java
+++ b/app/src/main/java/org/connectbot/PubkeyListActivity.java
@@ -120,7 +120,7 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
bindService(new Intent(this, TerminalManager.class), connection, Context.BIND_AUTO_CREATE);
- if(pubkeydb == null)
+ if (pubkeydb == null)
pubkeydb = new PubkeyDatabase(this);
}
@@ -130,7 +130,7 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
unbindService(connection);
- if(pubkeydb != null) {
+ if (pubkeydb != null) {
pubkeydb.close();
pubkeydb = null;
}
@@ -158,7 +158,7 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
boolean loaded = bound.isKeyLoaded(pubkey.getNickname());
// handle toggling key in-memory on/off
- if(loaded) {
+ if (loaded) {
bound.removeKey(pubkey.getNickname());
updateList();
} else {
@@ -168,7 +168,7 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
}
});
- clipboard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
+ clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
inflater = LayoutInflater.from(this);
}
@@ -240,7 +240,7 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
protected void handleAddKey(final PubkeyBean pubkey) {
if (pubkey.isEncrypted()) {
final View view = inflater.inflate(R.layout.dia_password, null);
- final EditText passwordField = (EditText)view.findViewById(android.R.id.text1);
+ final EditText passwordField = (EditText) view.findViewById(android.R.id.text1);
new AlertDialog.Builder(PubkeyListActivity.this)
.setView(view)
@@ -257,11 +257,11 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
protected void handleAddKey(PubkeyBean keybean, String password) {
KeyPair pair = null;
- if(PubkeyDatabase.KEY_TYPE_IMPORTED.equals(keybean.getType())) {
+ if (PubkeyDatabase.KEY_TYPE_IMPORTED.equals(keybean.getType())) {
// load specific key using pem format
try {
pair = PEMDecoder.decode(new String(keybean.getPrivateKey()).toCharArray(), password);
- } catch(Exception e) {
+ } catch (Exception e) {
String message = getResources().getString(R.string.pubkey_failed_add, keybean.getNickname());
Log.e(TAG, message, e);
Toast.makeText(PubkeyListActivity.this, message, Toast.LENGTH_LONG).show();
@@ -283,7 +283,7 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
}
if (pair == null) {
- return;
+ return;
}
Log.d(TAG, String.format("Unlocked key '%s'", keybean.getNickname()));
@@ -312,7 +312,7 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
MenuItem load = menu.add(loaded ? R.string.pubkey_memory_unload : R.string.pubkey_memory_load);
load.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
- if(loaded) {
+ if (loaded) {
bound.removeKey(pubkey.getNickname());
updateList();
} else {
@@ -380,15 +380,15 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
changePassword.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
final View changePasswordView = inflater.inflate(R.layout.dia_changepassword, null, false);
- ((TableRow)changePasswordView.findViewById(R.id.old_password_prompt))
+ ((TableRow) changePasswordView.findViewById(R.id.old_password_prompt))
.setVisibility(pubkey.isEncrypted() ? View.VISIBLE : View.GONE);
new AlertDialog.Builder(PubkeyListActivity.this)
.setView(changePasswordView)
.setPositiveButton(R.string.button_change, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
- String oldPassword = ((EditText)changePasswordView.findViewById(R.id.old_password)).getText().toString();
- String password1 = ((EditText)changePasswordView.findViewById(R.id.password1)).getText().toString();
- String password2 = ((EditText)changePasswordView.findViewById(R.id.password2)).getText().toString();
+ String oldPassword = ((EditText) changePasswordView.findViewById(R.id.old_password)).getText().toString();
+ String password1 = ((EditText) changePasswordView.findViewById(R.id.password1)).getText().toString();
+ String password2 = ((EditText) changePasswordView.findViewById(R.id.password2)).getText().toString();
if (!password1.equals(password2)) {
new AlertDialog.Builder(PubkeyListActivity.this)
@@ -446,7 +446,7 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
public void onClick(DialogInterface dialog, int which) {
// dont forget to remove from in-memory
- if(loaded)
+ if (loaded)
bound.removeKey(pubkey.getNickname());
// delete from backend database and update gui
@@ -550,7 +550,7 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
pubkeydb.savePubkey(pubkey);
updateList();
- } catch(Exception e) {
+ } catch (Exception e) {
Log.e(TAG, "Problem parsing imported private key", e);
Toast.makeText(PubkeyListActivity.this, R.string.pubkey_import_parse_problem, Toast.LENGTH_LONG).show();
}
@@ -578,8 +578,8 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
{
File[] files = sdcard.listFiles();
if (files != null) {
- for(File file : sdcard.listFiles()) {
- if(file.isDirectory()) continue;
+ for (File file : sdcard.listFiles()) {
+ if (file.isDirectory()) continue;
names.add(file.getName());
}
}
diff --git a/src/org/connectbot/SettingsActivity.java b/app/src/main/java/org/connectbot/SettingsActivity.java
index 460805d..460805d 100644
--- a/src/org/connectbot/SettingsActivity.java
+++ b/app/src/main/java/org/connectbot/SettingsActivity.java
diff --git a/src/org/connectbot/StrictModeSetup.java b/app/src/main/java/org/connectbot/StrictModeSetup.java
index 3a2000e..753a273 100644
--- a/src/org/connectbot/StrictModeSetup.java
+++ b/app/src/main/java/org/connectbot/StrictModeSetup.java
@@ -15,7 +15,11 @@
* limitations under the License.
*/
package org.connectbot;
+
+import android.annotation.TargetApi;
import android.os.StrictMode;
+
+@TargetApi(9)
public class StrictModeSetup {
public static void run() {
StrictMode.setThreadPolicy(StrictMode.ThreadPolicy.LAX);
diff --git a/src/org/connectbot/TerminalView.java b/app/src/main/java/org/connectbot/TerminalView.java
index 02683c2..88fa90d 100644
--- a/src/org/connectbot/TerminalView.java
+++ b/app/src/main/java/org/connectbot/TerminalView.java
@@ -26,7 +26,6 @@ import org.connectbot.service.FontSizeChangedListener;
import org.connectbot.service.TerminalBridge;
import org.connectbot.service.TerminalKeyListener;
-import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
@@ -53,7 +52,7 @@ import de.mud.terminal.VDUBuffer;
/**
* User interface {@link View} for showing a TerminalBridge in an
- * {@link Activity}. Handles drawing bitmap updates and passing keystrokes down
+ * {@link android.app.Activity}. Handles drawing bitmap updates and passing keystrokes down
* to terminal.
*
* @author jsharkey
@@ -174,7 +173,7 @@ public class TerminalView extends View implements FontSizeChangedListener {
@Override
public void onDraw(Canvas canvas) {
- if(bridge.bitmap != null) {
+ if (bridge.bitmap != null) {
// draw the bitmap
bridge.onDraw();
@@ -214,7 +213,7 @@ public class TerminalView extends View implements FontSizeChangedListener {
final int deadKey = bridge.getKeyHandler().getDeadKey();
if (deadKey != 0) {
- canvas.drawText(new char[] { (char)deadKey }, 0, 1, 0, 0, cursorStrokePaint);
+ canvas.drawText(new char[] { (char) deadKey }, 0, 1, 0, 0, cursorStrokePaint);
}
// Make sure we scale our decorations to the correct size.
diff --git a/src/org/connectbot/WizardActivity.java b/app/src/main/java/org/connectbot/WizardActivity.java
index 35a60ca..4069c50 100644
--- a/src/org/connectbot/WizardActivity.java
+++ b/app/src/main/java/org/connectbot/WizardActivity.java
@@ -20,7 +20,6 @@ package org.connectbot;
import org.connectbot.util.HelpTopicView;
import android.app.Activity;
-import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -55,10 +54,10 @@ public class WizardActivity extends Activity {
flipper.addView(new HelpTopicView(this).setTopic(topic));
}
- next = (Button)this.findViewById(R.id.action_next);
+ next = (Button) findViewById(R.id.action_next);
next.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
- if(isLastDisplayed()) {
+ if (isLastDisplayed()) {
// user walked past end of wizard, so return okay
WizardActivity.this.setResult(Activity.RESULT_OK);
WizardActivity.this.finish();
@@ -70,10 +69,10 @@ public class WizardActivity extends Activity {
}
});
- prev = (Button)this.findViewById(R.id.action_prev);
+ prev = (Button) findViewById(R.id.action_prev);
prev.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
- if(isFirstDisplayed()) {
+ if (isFirstDisplayed()) {
// user walked past beginning of wizard, so return that they cancelled
WizardActivity.this.setResult(Activity.RESULT_CANCELED);
WizardActivity.this.finish();
diff --git a/src/org/connectbot/bean/AbstractBean.java b/app/src/main/java/org/connectbot/bean/AbstractBean.java
index 7f55785..7f55785 100644
--- a/src/org/connectbot/bean/AbstractBean.java
+++ b/app/src/main/java/org/connectbot/bean/AbstractBean.java
diff --git a/src/org/connectbot/bean/HostBean.java b/app/src/main/java/org/connectbot/bean/HostBean.java
index 183d047..7083e6d 100644
--- a/src/org/connectbot/bean/HostBean.java
+++ b/app/src/main/java/org/connectbot/bean/HostBean.java
@@ -253,7 +253,7 @@ public class HostBean extends AbstractBean {
if (o == null || !(o instanceof HostBean))
return false;
- HostBean host = (HostBean)o;
+ HostBean host = (HostBean) o;
if (id != -1 && host.getId() != -1)
return host.getId() == id;
@@ -293,7 +293,7 @@ public class HostBean extends AbstractBean {
int hash = 7;
if (id != -1)
- return (int)id;
+ return (int) id;
hash = 31 * hash + (null == nickname ? 0 : nickname.hashCode());
hash = 31 * hash + (null == protocol ? 0 : protocol.hashCode());
diff --git a/src/org/connectbot/bean/PortForwardBean.java b/app/src/main/java/org/connectbot/bean/PortForwardBean.java
index 2bdaf20..2bdaf20 100644
--- a/src/org/connectbot/bean/PortForwardBean.java
+++ b/app/src/main/java/org/connectbot/bean/PortForwardBean.java
diff --git a/src/org/connectbot/bean/PubkeyBean.java b/app/src/main/java/org/connectbot/bean/PubkeyBean.java
index 656c6af..656c6af 100644
--- a/src/org/connectbot/bean/PubkeyBean.java
+++ b/app/src/main/java/org/connectbot/bean/PubkeyBean.java
diff --git a/src/org/connectbot/bean/SelectionArea.java b/app/src/main/java/org/connectbot/bean/SelectionArea.java
index 4e6207d..1bd78c1 100644
--- a/src/org/connectbot/bean/SelectionArea.java
+++ b/app/src/main/java/org/connectbot/bean/SelectionArea.java
@@ -148,7 +148,7 @@ public class SelectionArea {
StringBuffer buffer = new StringBuffer(size);
- for(int y = getTop(); y <= getBottom(); y++) {
+ for (int y = getTop(); y <= getBottom(); y++) {
int lastNonSpace = buffer.length();
for (int x = getLeft(); x <= getRight(); x++) {
diff --git a/src/org/connectbot/service/BackupAgent.java b/app/src/main/java/org/connectbot/service/BackupAgent.java
index 1e3bd81..312ae3b 100644
--- a/src/org/connectbot/service/BackupAgent.java
+++ b/app/src/main/java/org/connectbot/service/BackupAgent.java
@@ -23,6 +23,7 @@ import org.connectbot.util.HostDatabase;
import org.connectbot.util.PreferenceConstants;
import org.connectbot.util.PubkeyDatabase;
+import android.annotation.TargetApi;
import android.app.backup.BackupAgentHelper;
import android.app.backup.BackupDataInput;
import android.app.backup.BackupDataOutput;
@@ -32,9 +33,11 @@ import android.os.ParcelFileDescriptor;
import android.util.Log;
/**
- * @author kroot
- *
+ * ConnectBot's backup agent. This is only loaded on API 8 and later by
+ * reading the AndroidManifest.xml, so it shouldn't affect any minimum
+ * SDK level.
*/
+@TargetApi(8)
public class BackupAgent extends BackupAgentHelper {
@Override
public void onCreate() {
@@ -53,7 +56,7 @@ public class BackupAgent extends BackupAgentHelper {
@Override
public void onBackup(ParcelFileDescriptor oldState, BackupDataOutput data,
- ParcelFileDescriptor newState) throws IOException {
+ ParcelFileDescriptor newState) throws IOException {
synchronized (HostDatabase.dbLock) {
super.onBackup(oldState, data, newState);
}
diff --git a/src/org/connectbot/service/BackupWrapper.java b/app/src/main/java/org/connectbot/service/BackupWrapper.java
index bfc7535..11f1b52 100644
--- a/src/org/connectbot/service/BackupWrapper.java
+++ b/app/src/main/java/org/connectbot/service/BackupWrapper.java
@@ -19,13 +19,14 @@ package org.connectbot.service;
import org.connectbot.util.PreferenceConstants;
+import android.annotation.TargetApi;
import android.app.backup.BackupManager;
import android.content.Context;
/**
- * @author kroot
- *
+ * This is only invoked on Froyo and beyond.
*/
+@TargetApi(8)
public abstract class BackupWrapper {
public static BackupWrapper getInstance() {
if (PreferenceConstants.PRE_FROYO)
diff --git a/src/org/connectbot/service/BridgeDisconnectedListener.java b/app/src/main/java/org/connectbot/service/BridgeDisconnectedListener.java
index 21c41d1..21c41d1 100644
--- a/src/org/connectbot/service/BridgeDisconnectedListener.java
+++ b/app/src/main/java/org/connectbot/service/BridgeDisconnectedListener.java
diff --git a/src/org/connectbot/service/ConnectionNotifier.java b/app/src/main/java/org/connectbot/service/ConnectionNotifier.java
index d276761..e42525d 100644
--- a/src/org/connectbot/service/ConnectionNotifier.java
+++ b/app/src/main/java/org/connectbot/service/ConnectionNotifier.java
@@ -26,6 +26,7 @@ import org.connectbot.bean.HostBean;
import org.connectbot.util.HostDatabase;
import org.connectbot.util.PreferenceConstants;
+import android.annotation.TargetApi;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
@@ -52,7 +53,7 @@ public abstract class ConnectionNotifier {
}
protected NotificationManager getNotificationManager(Context context) {
- return (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
+ return (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
}
protected Notification newNotification(Context context) {
@@ -174,6 +175,7 @@ public abstract class ConnectionNotifier {
}
}
+ @TargetApi(5)
private static class EclairAndBeyond extends ConnectionNotifier {
private static class Holder {
private static final EclairAndBeyond sInstance = new EclairAndBeyond();
diff --git a/src/org/connectbot/service/ConnectivityReceiver.java b/app/src/main/java/org/connectbot/service/ConnectivityReceiver.java
index 3248a2a..1342661 100644
--- a/src/org/connectbot/service/ConnectivityReceiver.java
+++ b/app/src/main/java/org/connectbot/service/ConnectivityReceiver.java
@@ -62,8 +62,8 @@ public class ConnectivityReceiver extends BroadcastReceiver {
final String action = intent.getAction();
if (!action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
- Log.w(TAG, "onReceived() called: " + intent);
- return;
+ Log.w(TAG, "onReceived() called: " + intent);
+ return;
}
boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
diff --git a/src/org/connectbot/service/FontSizeChangedListener.java b/app/src/main/java/org/connectbot/service/FontSizeChangedListener.java
index 56b9971..56b9971 100644
--- a/src/org/connectbot/service/FontSizeChangedListener.java
+++ b/app/src/main/java/org/connectbot/service/FontSizeChangedListener.java
diff --git a/src/org/connectbot/service/KeyEventUtil.java b/app/src/main/java/org/connectbot/service/KeyEventUtil.java
index 1362afa..1362afa 100644
--- a/src/org/connectbot/service/KeyEventUtil.java
+++ b/app/src/main/java/org/connectbot/service/KeyEventUtil.java
diff --git a/src/org/connectbot/service/PromptHelper.java b/app/src/main/java/org/connectbot/service/PromptHelper.java
index f0a37be..9c34f1a 100644
--- a/src/org/connectbot/service/PromptHelper.java
+++ b/app/src/main/java/org/connectbot/service/PromptHelper.java
@@ -122,8 +122,8 @@ public class PromptHelper {
public String requestStringPrompt(String instructions, String hint) {
String value = null;
try {
- value = (String)this.requestPrompt(instructions, hint, String.class);
- } catch(Exception e) {
+ value = (String) requestPrompt(instructions, hint, String.class);
+ } catch (Exception e) {
}
return value;
}
@@ -137,8 +137,8 @@ public class PromptHelper {
public Boolean requestBooleanPrompt(String instructions, String hint) {
Boolean value = null;
try {
- value = (Boolean)this.requestPrompt(instructions, hint, Boolean.class);
- } catch(Exception e) {
+ value = (Boolean) requestPrompt(instructions, hint, Boolean.class);
+ } catch (Exception e) {
}
return value;
}
diff --git a/src/org/connectbot/service/Relay.java b/app/src/main/java/org/connectbot/service/Relay.java
index 36672ec..36672ec 100644
--- a/src/org/connectbot/service/Relay.java
+++ b/app/src/main/java/org/connectbot/service/Relay.java
diff --git a/src/org/connectbot/service/TerminalBridge.java b/app/src/main/java/org/connectbot/service/TerminalBridge.java
index 2065a97..15b9d73 100644
--- a/src/org/connectbot/service/TerminalBridge.java
+++ b/app/src/main/java/org/connectbot/service/TerminalBridge.java
@@ -294,7 +294,7 @@ public class TerminalBridge implements VDUDisplay {
*/
public String[] replyToChallenge(String name, String instruction, int numPrompts, String[] prompt, boolean[] echo) {
String[] responses = new String[numPrompts];
- for(int i = 0; i < numPrompts; i++) {
+ for (int i = 0; i < numPrompts; i++) {
// request response from user for each prompt
responses[i] = promptHelper.requestStringPrompt(instruction, prompt[i]);
}
@@ -501,12 +501,12 @@ public class TerminalBridge implements VDUDisplay {
// read new metrics to get exact pixel dimensions
FontMetrics fm = defaultPaint.getFontMetrics();
- charTop = (int)Math.ceil(fm.top);
+ charTop = (int) Math.ceil(fm.top);
float[] widths = new float[1];
defaultPaint.getTextWidths("X", widths);
- charWidth = (int)Math.ceil(widths[0]);
- charHeight = (int)Math.ceil(fm.descent - fm.top);
+ charWidth = (int) Math.ceil(widths[0]);
+ charHeight = (int) Math.ceil(fm.descent - fm.top);
// refresh any bitmap with new font size
if (parent != null) {
@@ -584,7 +584,7 @@ public class TerminalBridge implements VDUDisplay {
// reallocate new bitmap if needed
boolean newBitmap = (bitmap == null);
- if(bitmap != null)
+ if (bitmap != null)
newBitmap = (bitmap.getWidth() != width || bitmap.getHeight() != height);
if (newBitmap) {
@@ -616,9 +616,9 @@ public class TerminalBridge implements VDUDisplay {
buffer.setScreenSize(columns, rows, true);
}
- if(transport != null)
+ if (transport != null)
transport.setDimensions(columns, rows, width, height);
- } catch(Exception e) {
+ } catch (Exception e) {
Log.e(TAG, "Problem while trying to resize screen or PTY", e);
}
@@ -677,7 +677,7 @@ public class TerminalBridge implements VDUDisplay {
boolean isWideCharacter = false;
// walk through all lines in the buffer
- for(int l = 0; l < buffer.height; l++) {
+ for (int l = 0; l < buffer.height; l++) {
// check if this line is dirty and needs to be repainted
// also check for entire-buffer dirty flags
@@ -726,7 +726,7 @@ public class TerminalBridge implements VDUDisplay {
addr++;
else {
// determine the amount of continuous characters with the same settings and print them all at once
- while(c + addr < buffer.width
+ while (c + addr < buffer.width
&& buffer.charAttributes[buffer.windowBase + l][c + addr] == currAttr) {
addr++;
}
@@ -752,7 +752,7 @@ public class TerminalBridge implements VDUDisplay {
// write the text string starting at 'c' for 'addr' number of characters
defaultPaint.setColor(fg);
- if((currAttr & VDUBuffer.INVISIBLE) == 0)
+ if ((currAttr & VDUBuffer.INVISIBLE) == 0)
canvas.drawText(buffer.charArray[buffer.windowBase + l], c,
addr, c * charWidth, (l * charHeight) - charTop,
defaultPaint);
@@ -834,8 +834,8 @@ public class TerminalBridge implements VDUDisplay {
float[] widths = new float[1];
defaultPaint.getTextWidths("X", widths);
- int termWidth = (int)widths[0] * cols;
- int termHeight = (int)Math.ceil(fm.descent - fm.top) * rows;
+ int termWidth = (int) widths[0] * cols;
+ int termHeight = (int) Math.ceil(fm.descent - fm.top) * rows;
Log.d("fontsize", String.format("font size %fdp resulted in %d x %d", sizeDp, termWidth, termHeight));
diff --git a/src/org/connectbot/service/TerminalKeyListener.java b/app/src/main/java/org/connectbot/service/TerminalKeyListener.java
index 13e8dd1..2a911a8 100644
--- a/src/org/connectbot/service/TerminalKeyListener.java
+++ b/app/src/main/java/org/connectbot/service/TerminalKeyListener.java
@@ -18,7 +18,6 @@ package org.connectbot.service;
import java.io.IOException;
-import org.connectbot.TerminalView;
import org.connectbot.bean.SelectionArea;
import org.connectbot.util.PreferenceConstants;
@@ -126,7 +125,7 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha
}
/**
- * Handle onKey() events coming down from a {@link TerminalView} above us.
+ * Handle onKey() events coming down from a {@link org.connectbot.TerminalView} above us.
* Modify the keys to make more sense to a host then pass it to the transport.
*/
public boolean onKey(View v, int keyCode, KeyEvent event) {
@@ -183,7 +182,7 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
bridge.increaseFontSize();
return true;
- } else if(keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
+ } else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
bridge.decreaseFontSize();
return true;
}
@@ -304,12 +303,11 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha
// with our derived modifier state applied.
int uchar = event.getUnicodeChar(derivedMetaState & ~HC_META_CTRL_MASK);
int ucharWithoutAlt = event.getUnicodeChar(
- derivedMetaState & ~(HC_META_ALT_MASK | HC_META_CTRL_MASK));
+ derivedMetaState & ~(HC_META_ALT_MASK | HC_META_CTRL_MASK));
if (uchar == 0) {
// Keymap doesn't know the key with alt on it, so just go with the unmodified version
uchar = ucharWithoutAlt;
- }
- else if (uchar != ucharWithoutAlt) {
+ } else if (uchar != ucharWithoutAlt) {
// The alt key was used to modify the character returned; therefore, drop the alt
// modifier from the state so we don't end up sending alt+key.
derivedMetaState &= ~HC_META_ALT_MASK;
@@ -357,15 +355,15 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha
String camera = manager.prefs.getString(
PreferenceConstants.CAMERA,
PreferenceConstants.CAMERA_CTRLA_SPACE);
- if(PreferenceConstants.CAMERA_CTRLA_SPACE.equals(camera)) {
+ if (PreferenceConstants.CAMERA_CTRLA_SPACE.equals(camera)) {
bridge.transport.write(0x01);
bridge.transport.write(' ');
- } else if(PreferenceConstants.CAMERA_CTRLA.equals(camera)) {
+ } else if (PreferenceConstants.CAMERA_CTRLA.equals(camera)) {
bridge.transport.write(0x01);
- } else if(PreferenceConstants.CAMERA_ESC.equals(camera)) {
- ((vt320)buffer).keyTyped(vt320.KEY_ESCAPE, ' ', 0);
- } else if(PreferenceConstants.CAMERA_ESC_A.equals(camera)) {
- ((vt320)buffer).keyTyped(vt320.KEY_ESCAPE, ' ', 0);
+ } else if (PreferenceConstants.CAMERA_ESC.equals(camera)) {
+ ((vt320) buffer).keyTyped(vt320.KEY_ESCAPE, ' ', 0);
+ } else if (PreferenceConstants.CAMERA_ESC_A.equals(camera)) {
+ ((vt320) buffer).keyTyped(vt320.KEY_ESCAPE, ' ', 0);
bridge.transport.write('a');
}
@@ -376,7 +374,7 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha
getStateForBuffer());
return true;
case KeyEvent.KEYCODE_ENTER:
- ((vt320)buffer).keyTyped(vt320.KEY_ENTER, ' ', 0);
+ ((vt320) buffer).keyTyped(vt320.KEY_ENTER, ' ', 0);
return true;
case KeyEvent.KEYCODE_DPAD_LEFT:
@@ -482,7 +480,7 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha
}
public void sendEscape() {
- ((vt320)buffer).keyTyped(vt320.KEY_ESCAPE, ' ', 0);
+ ((vt320) buffer).keyTyped(vt320.KEY_ESCAPE, ' ', 0);
}
/**
@@ -586,10 +584,10 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
if (PreferenceConstants.KEYMODE.equals(key) ||
- PreferenceConstants.SHIFT_FKEYS.equals(key) ||
- PreferenceConstants.CTRL_FKEYS.equals(key) ||
- PreferenceConstants.VOLUME_FONT.equals(key) ||
- PreferenceConstants.STICKY_MODIFIERS.equals(key)) {
+ PreferenceConstants.SHIFT_FKEYS.equals(key) ||
+ PreferenceConstants.CTRL_FKEYS.equals(key) ||
+ PreferenceConstants.VOLUME_FONT.equals(key) ||
+ PreferenceConstants.STICKY_MODIFIERS.equals(key)) {
updatePrefs();
}
}
@@ -602,7 +600,7 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha
prefs.getBoolean(PreferenceConstants.CTRL_FKEYS, false);
volumeKeysChangeFontSize = prefs.getBoolean(PreferenceConstants.VOLUME_FONT, true);
String stickyModifiers = prefs.getString(PreferenceConstants.STICKY_MODIFIERS,
- PreferenceConstants.NO);
+ PreferenceConstants.NO);
if (PreferenceConstants.ALT.equals(stickyModifiers)) {
stickyMetas = OUR_ALT_ON;
} else if (PreferenceConstants.YES.equals(stickyModifiers)) {
diff --git a/src/org/connectbot/service/TerminalManager.java b/app/src/main/java/org/connectbot/service/TerminalManager.java
index 369d79a..928c5f5 100644
--- a/src/org/connectbot/service/TerminalManager.java
+++ b/app/src/main/java/org/connectbot/service/TerminalManager.java
@@ -172,12 +172,12 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
disconnectAll(true);
- if(hostdb != null) {
+ if (hostdb != null) {
hostdb.close();
hostdb = null;
}
- if(pubkeydb != null) {
+ if (pubkeydb != null) {
pubkeydb.close();
pubkeydb = null;
}
@@ -261,7 +261,7 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
int scrollback = 140;
try {
scrollback = Integer.parseInt(prefs.getString(PreferenceConstants.SCROLLBACK, "140"));
- } catch(Exception e) {
+ } catch (Exception e) {
}
return scrollback;
}
@@ -400,7 +400,7 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
public boolean removeKey(byte[] publicKey) {
String nickname = null;
- for (Entry<String,KeyHolder> entry : loadedKeypairs.entrySet()) {
+ for (Entry<String, KeyHolder> entry : loadedKeypairs.entrySet()) {
if (Arrays.equals(entry.getValue().openSSHPubkey, publicKey)) {
nickname = entry.getKey();
break;
@@ -431,7 +431,7 @@ public class TerminalManager extends Service implements BridgeDisconnectedListen
}
public String getKeyNickname(byte[] publicKey) {
- for (Entry<String,KeyHolder> entry : loadedKeypairs.entrySet()) {
+ for (Entry<String, KeyHolder> entry : loadedKeypairs.entrySet()) {
if (Arrays.equals(entry.getValue().openSSHPubkey, publicKey))
return entry.getKey();
}
diff --git a/src/org/connectbot/transport/AbsTransport.java b/app/src/main/java/org/connectbot/transport/AbsTransport.java
index 18397ea..bc19b92 100644
--- a/src/org/connectbot/transport/AbsTransport.java
+++ b/app/src/main/java/org/connectbot/transport/AbsTransport.java
@@ -40,7 +40,8 @@ public abstract class AbsTransport {
String emulation;
- public AbsTransport() {}
+ public AbsTransport() {
+ }
public AbsTransport(HostBean host, TerminalBridge bridge, TerminalManager manager) {
this.host = host;
@@ -120,11 +121,11 @@ public abstract class AbsTransport {
*/
public abstract void setDimensions(int columns, int rows, int width, int height);
- public void setOptions(Map<String,String> options) {
+ public void setOptions(Map<String, String> options) {
// do nothing
}
- public Map<String,String> getOptions() {
+ public Map<String, String> getOptions() {
return null;
}
diff --git a/src/org/connectbot/transport/Local.java b/app/src/main/java/org/connectbot/transport/Local.java
index 5ace1b0..5ace1b0 100644
--- a/src/org/connectbot/transport/Local.java
+++ b/app/src/main/java/org/connectbot/transport/Local.java
diff --git a/src/org/connectbot/transport/SSH.java b/app/src/main/java/org/connectbot/transport/SSH.java
index 6ef9745..9a97596 100644
--- a/src/org/connectbot/transport/SSH.java
+++ b/app/src/main/java/org/connectbot/transport/SSH.java
@@ -153,7 +153,7 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
else if ("ssh-dss".equals(serverHostKeyAlgorithm))
algorithmName = "DSA";
else if (serverHostKeyAlgorithm.startsWith("ecdsa-"))
- algorithmName = "EC";
+ algorithmName = "EC";
else
algorithmName = serverHostKeyAlgorithm;
@@ -168,8 +168,8 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
bridge.outputLine(manager.res.getString(R.string.host_fingerprint, algorithmName, fingerprint));
result = bridge.promptHelper.requestBooleanPrompt(null, manager.res.getString(R.string.prompt_continue_connecting));
- if(result == null) return false;
- if(result.booleanValue()) {
+ if (result == null) return false;
+ if (result.booleanValue()) {
// save this key in known database
manager.hostdb.saveKnownHost(hostname, port, serverHostKeyAlgorithm, serverHostKey);
}
@@ -192,8 +192,8 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
// Users have no way to delete keys, so we'll prompt them for now.
result = bridge.promptHelper.requestBooleanPrompt(null, manager.res.getString(R.string.prompt_continue_connecting));
- if(result == null) return false;
- if(result.booleanValue()) {
+ if (result == null) return false;
+ if (result.booleanValue()) {
// save this key in known database
manager.hostdb.saveKnownHost(hostname, port, serverHostKeyAlgorithm, serverHostKey);
}
@@ -212,7 +212,7 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
finishConnection();
return;
}
- } catch(Exception e) {
+ } catch (Exception e) {
Log.d(TAG, "Host does not support 'none' authentication.");
}
@@ -262,7 +262,7 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
// it blocks until authentication finishes
bridge.outputLine(manager.res.getString(R.string.terminal_auth_ki));
interactiveCanContinue = false;
- if(connection.authenticateWithKeyboardInteractive(host.getUsername(), this)) {
+ if (connection.authenticateWithKeyboardInteractive(host.getUsername(), this)) {
finishConnection();
} else {
bridge.outputLine(manager.res.getString(R.string.terminal_auth_ki_fail));
@@ -283,7 +283,7 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
} catch (IllegalStateException e) {
Log.e(TAG, "Connection went away while we were trying to authenticate", e);
return;
- } catch(Exception e) {
+ } catch (Exception e) {
Log.e(TAG, "Problem during handleAuthentication()", e);
}
}
@@ -299,7 +299,7 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
private boolean tryPublicKey(PubkeyBean pubkey) throws NoSuchAlgorithmException, InvalidKeySpecException, IOException {
KeyPair pair = null;
- if(manager.isKeyLoaded(pubkey.getNickname())) {
+ if (manager.isKeyLoaded(pubkey.getNickname())) {
// load this key from memory if its already there
Log.d(TAG, String.format("Found unlocked key '%s' already in-memory", pubkey.getNickname()));
@@ -321,7 +321,7 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
return false;
}
- if(PubkeyDatabase.KEY_TYPE_IMPORTED.equals(pubkey.getType())) {
+ if (PubkeyDatabase.KEY_TYPE_IMPORTED.equals(pubkey.getType())) {
// load specific key using pem format
pair = PEMDecoder.decode(new String(pubkey.getPrivateKey()).toCharArray(), password);
} else {
@@ -356,7 +356,7 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
private boolean tryPublicKey(String username, String keyNickname, KeyPair pair) throws IOException {
//bridge.outputLine(String.format("Attempting 'publickey' with key '%s' [%s]...", keyNickname, trileadKey.toString()));
boolean success = connection.authenticateWithPublicKey(username, pair);
- if(!success)
+ if (!success)
bridge.outputLine(manager.res.getString(R.string.terminal_auth_pubkey_fail, keyNickname));
return success;
}
@@ -468,7 +468,7 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
// sleep to make sure we dont kill system
Thread.sleep(1000);
}
- } catch(Exception e) {
+ } catch (Exception e) {
Log.e(TAG, "Problem in SSH connection thread during authentication", e);
}
}
@@ -668,7 +668,7 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
if (HostDatabase.PORTFORWARD_LOCAL.equals(portForward.getType())) {
LocalPortForwarder lpf = null;
- lpf = (LocalPortForwarder)portForward.getIdentifier();
+ lpf = (LocalPortForwarder) portForward.getIdentifier();
if (!portForward.isEnabled() || lpf == null) {
Log.d(TAG, String.format("Could not disable %s; it appears to be not enabled or have no handler", portForward.getNickname()));
@@ -698,7 +698,7 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
return true;
} else if (HostDatabase.PORTFORWARD_DYNAMIC5.equals(portForward.getType())) {
DynamicPortForwarder dpf = null;
- dpf = (DynamicPortForwarder)portForward.getIdentifier();
+ dpf = (DynamicPortForwarder) portForward.getIdentifier();
if (!portForward.isEnabled() || dpf == null) {
Log.d(TAG, String.format("Could not disable %s; it appears to be not enabled or have no handler", portForward.getNickname()));
@@ -796,7 +796,7 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
public String[] replyToChallenge(String name, String instruction, int numPrompts, String[] prompt, boolean[] echo) {
interactiveCanContinue = true;
String[] responses = new String[numPrompts];
- for(int i = 0; i < numPrompts; i++) {
+ for (int i = 0; i < numPrompts; i++) {
// request response from user for each prompt
responses[i] = bridge.promptHelper.requestStringPrompt(instruction, prompt[i]);
}
@@ -859,10 +859,10 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC
this.useAuthAgent = useAuthAgent;
}
- public Map<String,byte[]> retrieveIdentities() {
- Map<String,byte[]> pubKeys = new HashMap<String,byte[]>(manager.loadedKeypairs.size());
+ public Map<String, byte[]> retrieveIdentities() {
+ Map<String, byte[]> pubKeys = new HashMap<String, byte[]>(manager.loadedKeypairs.size());
- for (Entry<String,KeyHolder> entry : manager.loadedKeypairs.entrySet()) {
+ for (Entry<String, KeyHolder> entry : manager.loadedKeypairs.entrySet()) {
KeyPair pair = entry.getValue().pair;
try {
diff --git a/src/org/connectbot/transport/Telnet.java b/app/src/main/java/org/connectbot/transport/Telnet.java
index 5fde2f6..5fde2f6 100644
--- a/src/org/connectbot/transport/Telnet.java
+++ b/app/src/main/java/org/connectbot/transport/Telnet.java
diff --git a/src/org/connectbot/transport/TransportFactory.java b/app/src/main/java/org/connectbot/transport/TransportFactory.java
index 72e5e08..72e5e08 100644
--- a/src/org/connectbot/transport/TransportFactory.java
+++ b/app/src/main/java/org/connectbot/transport/TransportFactory.java
diff --git a/src/org/connectbot/util/Colors.java b/app/src/main/java/org/connectbot/util/Colors.java
index ff88d68..ff88d68 100644
--- a/src/org/connectbot/util/Colors.java
+++ b/app/src/main/java/org/connectbot/util/Colors.java
diff --git a/src/org/connectbot/util/EastAsianWidth.java b/app/src/main/java/org/connectbot/util/EastAsianWidth.java
index 0e274b5..ea80cdd 100644
--- a/src/org/connectbot/util/EastAsianWidth.java
+++ b/app/src/main/java/org/connectbot/util/EastAsianWidth.java
@@ -17,6 +17,7 @@
package org.connectbot.util;
+import android.annotation.TargetApi;
import android.graphics.Paint;
import android.text.AndroidCharacter;
@@ -55,12 +56,13 @@ public abstract class EastAsianWidth {
paint.getTextWidths(charArray, start, end, mWidths);
final int N = end - start;
for (int i = 0; i < N; i++)
- wideAttribute[i] = (byte) (((int)mWidths[i] != charWidth) ?
+ wideAttribute[i] = (byte) (((int) mWidths[i] != charWidth) ?
AndroidCharacter.EAST_ASIAN_WIDTH_WIDE :
AndroidCharacter.EAST_ASIAN_WIDTH_NARROW);
}
}
+ @TargetApi(8)
private static class FroyoAndBeyond extends EastAsianWidth {
private static class Holder {
private static final FroyoAndBeyond sInstance = new FroyoAndBeyond();
diff --git a/src/org/connectbot/util/Encryptor.java b/app/src/main/java/org/connectbot/util/Encryptor.java
index 9d21454..11a71d6 100644
--- a/src/org/connectbot/util/Encryptor.java
+++ b/app/src/main/java/org/connectbot/util/Encryptor.java
@@ -59,8 +59,8 @@ public final class Encryptor
/**
* Private constructor that should never be called.
*/
- private Encryptor()
- {}
+ private Encryptor() {
+ }
/**
diff --git a/src/org/connectbot/util/EntropyDialog.java b/app/src/main/java/org/connectbot/util/EntropyDialog.java
index 4498ce2..4498ce2 100644
--- a/src/org/connectbot/util/EntropyDialog.java
+++ b/app/src/main/java/org/connectbot/util/EntropyDialog.java
diff --git a/src/org/connectbot/util/EntropyView.java b/app/src/main/java/org/connectbot/util/EntropyView.java
index c988673..3fb2a90 100644
--- a/src/org/connectbot/util/EntropyView.java
+++ b/app/src/main/java/org/connectbot/util/EntropyView.java
@@ -88,7 +88,7 @@ public class EntropyView extends View {
@Override
public void onDraw(Canvas c) {
String prompt = String.format(getResources().getString(R.string.pubkey_touch_prompt),
- (int)(100.0 * (mEntropyByteIndex / 20.0)) + (int)(5.0 * (mEntropyBitIndex / 8.0)));
+ (int) (100.0 * (mEntropyByteIndex / 20.0)) + (int) (5.0 * (mEntropyBitIndex / 8.0)));
if (splitText > 0 ||
mPaint.measureText(prompt) > (getWidth() * 0.8)) {
if (splitText == 0)
@@ -132,9 +132,9 @@ public class EntropyView extends View {
// Get the lowest 4 bits of each X, Y input and concat to the entropy-gathering
// string.
if (mFlipFlop)
- input = (byte)((((int)lastX & 0x0F) << 4) | ((int)lastY & 0x0F));
+ input = (byte) ((((int) lastX & 0x0F) << 4) | ((int) lastY & 0x0F));
else
- input = (byte)((((int)lastY & 0x0F) << 4) | ((int)lastX & 0x0F));
+ input = (byte) ((((int) lastY & 0x0F) << 4) | ((int) lastX & 0x0F));
mFlipFlop = !mFlipFlop;
for (int i = 0; i < 4 && mEntropyByteIndex < SHA1_MAX_BYTES; i++) {
diff --git a/src/org/connectbot/util/HelpTopicView.java b/app/src/main/java/org/connectbot/util/HelpTopicView.java
index 0cbc267..0cbc267 100644
--- a/src/org/connectbot/util/HelpTopicView.java
+++ b/app/src/main/java/org/connectbot/util/HelpTopicView.java
diff --git a/src/org/connectbot/util/HostDatabase.java b/app/src/main/java/org/connectbot/util/HostDatabase.java
index c6707ae..d1d87c7 100644
--- a/src/org/connectbot/util/HostDatabase.java
+++ b/app/src/main/java/org/connectbot/util/HostDatabase.java
@@ -554,7 +554,7 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
try {
known.addHostkey(new String[] { String.format("%s:%d", hostname, port) }, hostkeyalgo, hostkey);
- } catch(Exception e) {
+ } catch (Exception e) {
Log.e(TAG, "Problem while adding a known host from database", e);
}
}
diff --git a/src/org/connectbot/util/OnDbWrittenListener.java b/app/src/main/java/org/connectbot/util/OnDbWrittenListener.java
index ef33797..ef33797 100644
--- a/src/org/connectbot/util/OnDbWrittenListener.java
+++ b/app/src/main/java/org/connectbot/util/OnDbWrittenListener.java
diff --git a/src/org/connectbot/util/OnEntropyGatheredListener.java b/app/src/main/java/org/connectbot/util/OnEntropyGatheredListener.java
index 5debd65..5debd65 100644
--- a/src/org/connectbot/util/OnEntropyGatheredListener.java
+++ b/app/src/main/java/org/connectbot/util/OnEntropyGatheredListener.java
diff --git a/src/org/connectbot/util/PreferenceConstants.java b/app/src/main/java/org/connectbot/util/PreferenceConstants.java
index d3cd832..d3cd832 100644
--- a/src/org/connectbot/util/PreferenceConstants.java
+++ b/app/src/main/java/org/connectbot/util/PreferenceConstants.java
diff --git a/src/org/connectbot/util/PubkeyDatabase.java b/app/src/main/java/org/connectbot/util/PubkeyDatabase.java
index a8993cb..a8993cb 100644
--- a/src/org/connectbot/util/PubkeyDatabase.java
+++ b/app/src/main/java/org/connectbot/util/PubkeyDatabase.java
diff --git a/src/org/connectbot/util/PubkeyUtils.java b/app/src/main/java/org/connectbot/util/PubkeyUtils.java
index e7922bd..53f2481 100644
--- a/src/org/connectbot/util/PubkeyUtils.java
+++ b/app/src/main/java/org/connectbot/util/PubkeyUtils.java
@@ -85,7 +85,7 @@ public class PubkeyUtils {
private PubkeyUtils() {
}
- public static String formatKey(Key key){
+ public static String formatKey(Key key) {
String algo = key.getAlgorithm();
String fmt = key.getFormat();
byte[] encoded = key.getEncoded();
diff --git a/src/org/connectbot/util/RobustSQLiteOpenHelper.java b/app/src/main/java/org/connectbot/util/RobustSQLiteOpenHelper.java
index abdd991..abdd991 100644
--- a/src/org/connectbot/util/RobustSQLiteOpenHelper.java
+++ b/app/src/main/java/org/connectbot/util/RobustSQLiteOpenHelper.java
diff --git a/src/org/connectbot/util/UberColorPickerDialog.java b/app/src/main/java/org/connectbot/util/UberColorPickerDialog.java
index dc36bcb..dc46525 100644
--- a/src/org/connectbot/util/UberColorPickerDialog.java
+++ b/app/src/main/java/org/connectbot/util/UberColorPickerDialog.java
@@ -60,7 +60,7 @@ import android.view.View;
/**
* UberColorPickerDialog is a seriously enhanced version of the UberColorPickerDialog
* class provided in the Android API Demos.<p>
- *
+ * <p/>
* NOTE (from Kenny Root): This is a VERY slimmed down version custom for ConnectBot.
* Visit Keith's site for the full version at the URL listed in the author line.<p>
*
@@ -79,13 +79,14 @@ public class UberColorPickerDialog extends Dialog {
/**
* Ctor
+ *
* @param context
* @param listener
* @param initialColor
*/
public UberColorPickerDialog(Context context,
- OnColorChangedListener listener,
- int initialColor) {
+ OnColorChangedListener listener,
+ int initialColor) {
super(context);
mListener = listener;
@@ -114,20 +115,19 @@ public class UberColorPickerDialog extends Dialog {
try {
setContentView(new ColorPickerView(getContext(), l, screenWidth, screenHeight, mInitialColor));
- }
- catch (Exception e) {
+ } catch (Exception e) {
//There is currently only one kind of ctor exception, that where no methods are enabled.
- dismiss(); //This doesn't work! The dialog is still shown (its title at least, the layout is empty from the exception being thrown). <sigh>
+ dismiss(); //This doesn't work! The dialog is still shown (its title at least, the layout is empty from the exception being thrown). <sigh>
}
}
/**
* ColorPickerView is the meat of this color picker (as opposed to the enclosing class).
* All the heavy lifting is done directly by this View subclass.
- * <P>
+ * <p/>
* You can enable/disable whichever color chooser methods you want by modifying the ENABLED_METHODS switches. They *should*
* do all the work required to properly enable/disable methods without losing track of what goes with what and what maps to what.
- * <P>
+ * <p/>
* If you add a new color chooser method, do a text search for "NEW_METHOD_WORK_NEEDED_HERE". That tag indicates all
* the locations in the code that will have to be amended in order to properly add a new color chooser method.
* I highly recommend adding new methods to the end of the list. If you want to try to reorder the list, you're on your own.
@@ -146,7 +146,7 @@ public class UberColorPickerDialog extends Dialog {
//NEW_METHOD_WORK_NEEDED_HERE
//Add a new entry to the list for each controller in the new method
- private static final int TRACKED_NONE = -1; //No object on screen is currently being tracked
+ private static final int TRACKED_NONE = -1; //No object on screen is currently being tracked
private static final int TRACK_SWATCH_OLD = 10;
private static final int TRACK_SWATCH_NEW = 11;
private static final int TRACK_HS_PALETTE = 30;
@@ -178,7 +178,7 @@ public class UberColorPickerDialog extends Dialog {
private final int mButtonTextMarginPx;
private int mMethod = METHOD_HS_V_PALETTE;
- private int mTracking = TRACKED_NONE; //What object on screen is currently being tracked for movement
+ private int mTracking = TRACKED_NONE; //What object on screen is currently being tracked for movement
//Zillions of persistant Paint objecs for drawing the View
@@ -209,30 +209,31 @@ public class UberColorPickerDialog extends Dialog {
private Rect mVerSliderRect = new Rect();
private int[] mSpectrumColorsRev;
- private int mOriginalColor = 0; //The color passed in at the beginning, which can be reverted to at any time by tapping the old swatch.
+ private int mOriginalColor = 0; //The color passed in at the beginning, which can be reverted to at any time by tapping the old swatch.
private float[] mHSV = new float[3];
private int[] mRGB = new int[3];
private float[] mYUV = new float[3];
private String mHexStr = "";
- private boolean mHSVenabled = true; //Only true if an HSV method is enabled
- private boolean mRGBenabled = true; //Only true if an RGB method is enabled
- private boolean mYUVenabled = true; //Only true if a YUV method is enabled
- private boolean mHexenabled = true; //Only true if an RGB method is enabled
- private int[] mCoord = new int[3]; //For drawing slider/palette markers
- private int mFocusedControl = -1; //Which control receives trackball events.
+ private boolean mHSVenabled = true; //Only true if an HSV method is enabled
+ private boolean mRGBenabled = true; //Only true if an RGB method is enabled
+ private boolean mYUVenabled = true; //Only true if a YUV method is enabled
+ private boolean mHexenabled = true; //Only true if an RGB method is enabled
+ private int[] mCoord = new int[3]; //For drawing slider/palette markers
+ private int mFocusedControl = -1; //Which control receives trackball events.
private OnColorChangedListener mListener;
/**
* Ctor.
+ *
* @param c
* @param l
- * @param width Used to determine orientation and adjust layout accordingly
+ * @param width Used to determine orientation and adjust layout accordingly
* @param height Used to determine orientation and adjust layout accordingly
- * @param color The initial color
+ * @param color The initial color
* @throws Exception
*/
ColorPickerView(Context c, OnColorChangedListener l, int width, int height, int color)
- throws Exception {
+ throws Exception {
super(c);
DisplayMetrics metrics = c.getResources().getDisplayMetrics();
@@ -309,9 +310,9 @@ public class UberColorPickerDialog extends Dialog {
mPaletteRadiusPx = mPaletteDimPx / 2;
//Rainbows make everybody happy!
- mSpectrumColorsRev = new int[] {
- 0xFFFF0000, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF,
- 0xFF00FF00, 0xFFFFFF00, 0xFFFF0000,
+ mSpectrumColorsRev = new int[]{
+ 0xFFFF0000, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF,
+ 0xFF00FF00, 0xFFFFFF00, 0xFFFF0000,
};
//Setup all the Paint and Shader objects. There are lots of them!
@@ -393,6 +394,7 @@ public class UberColorPickerDialog extends Dialog {
/**
* Draw the old and new swatches.
+ *
* @param canvas
*/
private void drawSwatches(Canvas canvas) {
@@ -422,6 +424,7 @@ public class UberColorPickerDialog extends Dialog {
/**
* Write the color parametes (HSV, RGB, YUV, Hex, etc.).
+ *
* @param canvas
*/
private void writeColorParams(Canvas canvas) {
@@ -449,6 +452,7 @@ public class UberColorPickerDialog extends Dialog {
/**
* Place a small circle on the 2D palette to indicate the current values.
+ *
* @param canvas
* @param markerPosX
* @param markerPosY
@@ -462,6 +466,7 @@ public class UberColorPickerDialog extends Dialog {
/**
* Draw a line across the slider to indicate its current value.
+ *
* @param canvas
* @param markerPos
*/
@@ -474,6 +479,7 @@ public class UberColorPickerDialog extends Dialog {
/**
* Frame the slider to indicate that it has trackball focus.
+ *
* @param canvas
*/
private void hilightFocusedVerSlider(Canvas canvas) {
@@ -485,6 +491,7 @@ public class UberColorPickerDialog extends Dialog {
/**
* Frame the 2D palette to indicate that it has trackball focus.
+ *
* @param canvas
*/
private void hilightFocusedOvalPalette(Canvas canvas) {
@@ -496,8 +503,10 @@ public class UberColorPickerDialog extends Dialog {
//NEW_METHOD_WORK_NEEDED_HERE
//To add a new method, replicate the basic draw functions here. Use the 2D palette or 1D sliders as templates for the new method.
+
/**
* Draw the UI for HSV with angular H and radial S combined in 2D and a 1D V slider.
+ *
* @param canvas
*/
private void drawHSV1Palette(Canvas canvas) {
@@ -536,6 +545,7 @@ public class UberColorPickerDialog extends Dialog {
//NEW_METHOD_WORK_NEEDED_HERE
//To add a new method, replicate and extend the last init function shown below
+
/**
* Initialize a color chooser.
*/
@@ -553,6 +563,7 @@ public class UberColorPickerDialog extends Dialog {
//NEW_METHOD_WORK_NEEDED_HERE
//To add a new method, replicate and extend the set functions below, one per UI controller in the new method
+
/**
* Adjust a Paint which, when painted, dims its underlying object to show the effects of varying value (brightness).
*/
@@ -595,15 +606,17 @@ public class UberColorPickerDialog extends Dialog {
/**
* Wrap Math.round(). I'm not a Java expert. Is this the only way to avoid writing "(int)Math.round" everywhere?
+ *
* @param x
* @return
*/
private int round(double x) {
- return (int)Math.round(x);
+ return (int) Math.round(x);
}
/**
* Limit a value to the range [0,1].
+ *
* @param n
* @return
*/
@@ -618,6 +631,7 @@ public class UberColorPickerDialog extends Dialog {
/**
* Limit a value to the range [0,max].
+ *
* @param n
* @param max
* @return
@@ -633,6 +647,7 @@ public class UberColorPickerDialog extends Dialog {
/**
* Limit a value to the range [min,max].
+ *
* @param n
* @param min
* @param max
@@ -650,6 +665,7 @@ public class UberColorPickerDialog extends Dialog {
/**
* No clue what this does (some sort of average/mean I presume). It came with the original UberColorPickerDialog
* in the API Demos and wasn't documented. I don't feel like spending any time figuring it out, I haven't looked at it at all.
+ *
* @param s
* @param d
* @param p
@@ -663,6 +679,7 @@ public class UberColorPickerDialog extends Dialog {
* Came with the original UberColorPickerDialog in the API Demos, wasn't documented. I believe it takes an array of
* colors and a value in the range [0,1] and interpolates a resulting color in a seemingly predictable manner.
* I haven't looked at it at all.
+ *
* @param colors
* @param unit
* @return
@@ -676,12 +693,12 @@ public class UberColorPickerDialog extends Dialog {
}
float p = unit * (colors.length - 1);
- int i = (int)p;
+ int i = (int) p;
p -= i;
// now p is just the fractional part [0...1) and i is the index
int c0 = colors[i];
- int c1 = colors[i+1];
+ int c1 = colors[i + 1];
int a = ave(Color.alpha(c0), Color.alpha(c1), p);
int r = ave(Color.red(c0), Color.red(c1), p);
int g = ave(Color.green(c0), Color.green(c1), p);
@@ -692,6 +709,7 @@ public class UberColorPickerDialog extends Dialog {
/**
* A standard point-in-rect routine.
+ *
* @param x
* @param y
* @param r
@@ -764,8 +782,8 @@ public class UberColorPickerDialog extends Dialog {
else if (y > 0)
y2 = jump;
- mCoord[0] += x2;
- mCoord[1] += y2;
+ mCoord[0] += x2;
+ mCoord[1] += y2;
if (mCoord[0] < -mPaletteRadiusPx)
mCoord[0] = -mPaletteRadiusPx;
@@ -780,9 +798,9 @@ public class UberColorPickerDialog extends Dialog {
if (radius > mPaletteRadiusPx)
radius = mPaletteRadiusPx;
- float angle = (float)java.lang.Math.atan2(mCoord[1], mCoord[0]);
+ float angle = (float) java.lang.Math.atan2(mCoord[1], mCoord[0]);
// need to turn angle [-PI ... PI] into unit [0....1]
- float unit = angle/(2*PI);
+ float unit = angle / (2 * PI);
if (unit < 0) {
unit += 1;
}
@@ -906,7 +924,7 @@ public class UberColorPickerDialog extends Dialog {
boolean inSwatchNew = ptInRect(round(x), round(y), mNewSwatchRect);
//Get the event's distance from the center of the main 2D palette
- float radius = (float)java.lang.Math.sqrt(circlePinnedX * circlePinnedX + circlePinnedY * circlePinnedY);
+ float radius = (float) java.lang.Math.sqrt(circlePinnedX * circlePinnedX + circlePinnedY * circlePinnedY);
//Is the event in a circle-pinned 2D palette?
boolean inOvalPalette = radius <= mPaletteRadiusPx;
@@ -933,8 +951,7 @@ public class UberColorPickerDialog extends Dialog {
if (inOvalPalette) {
mTracking = TRACK_HS_PALETTE;
mFocusedControl = 0;
- }
- else if (inVerSlider) {
+ } else if (inVerSlider) {
mTracking = TRACK_VER_VALUE_SLIDER;
mFocusedControl = 1;
}
@@ -944,9 +961,9 @@ public class UberColorPickerDialog extends Dialog {
//To add a new method, replicate and extend the entries in this list,
//one per UI controller the new method requires.
if (mTracking == TRACK_HS_PALETTE) {
- float angle = (float)java.lang.Math.atan2(circlePinnedY, circlePinnedX);
+ float angle = (float) java.lang.Math.atan2(circlePinnedY, circlePinnedX);
// need to turn angle [-PI ... PI] into unit [0....1]
- float unit = angle/(2*PI);
+ float unit = angle / (2 * PI);
if (unit < 0) {
unit += 1;
}
@@ -965,8 +982,7 @@ public class UberColorPickerDialog extends Dialog {
setVerValSlider();
invalidate();
- }
- else if (mTracking == TRACK_VER_VALUE_SLIDER) {
+ } else if (mTracking == TRACK_VER_VALUE_SLIDER) {
if (mCoord[2] != y2) {
mCoord[2] = y2;
float value = 1.0f - (float) y2 / (float) mPaletteDimPx;
@@ -989,13 +1005,12 @@ public class UberColorPickerDialog extends Dialog {
mSwatchNew.setColor(mOriginalColor);
initUI();
invalidate();
- }
- else if (mTracking == TRACK_SWATCH_NEW && inSwatchNew) {
+ } else if (mTracking == TRACK_SWATCH_NEW && inSwatchNew) {
mListener.colorChanged(mSwatchNew.getColor());
invalidate();
}
- mTracking= TRACKED_NONE;
+ mTracking = TRACKED_NONE;
break;
}
diff --git a/src/org/connectbot/util/VolumePreference.java b/app/src/main/java/org/connectbot/util/VolumePreference.java
index 2e7f61c..09feb61 100644
--- a/src/org/connectbot/util/VolumePreference.java
+++ b/app/src/main/java/org/connectbot/util/VolumePreference.java
@@ -54,7 +54,7 @@ public class VolumePreference extends DialogPreference implements OnSeekBarChang
SeekBar sb = new SeekBar(getContext());
sb.setMax(100);
- sb.setProgress((int)(getPersistedFloat(
+ sb.setProgress((int) (getPersistedFloat(
PreferenceConstants.DEFAULT_BELL_VOLUME) * 100));
sb.setPadding(10, 10, 10, 10);
sb.setOnSeekBarChangeListener(this);
diff --git a/src/org/connectbot/util/XmlBuilder.java b/app/src/main/java/org/connectbot/util/XmlBuilder.java
index 4a6f62d..4a6f62d 100644
--- a/src/org/connectbot/util/XmlBuilder.java
+++ b/app/src/main/java/org/connectbot/util/XmlBuilder.java
diff --git a/src/org/keyczar/jce/EcCore.java b/app/src/main/java/org/keyczar/jce/EcCore.java
index 681d5db..681d5db 100644
--- a/src/org/keyczar/jce/EcCore.java
+++ b/app/src/main/java/org/keyczar/jce/EcCore.java
diff --git a/src/org/openintents/intents/FileManagerIntents.java b/app/src/main/java/org/openintents/intents/FileManagerIntents.java
index fba2555..fba2555 100644
--- a/src/org/openintents/intents/FileManagerIntents.java
+++ b/app/src/main/java/org/openintents/intents/FileManagerIntents.java
diff --git a/jni/Exec/com_google_ase_Exec.cpp b/app/src/main/jni/com_google_ase_Exec.cpp
index b78f356..b78f356 100644
--- a/jni/Exec/com_google_ase_Exec.cpp
+++ b/app/src/main/jni/com_google_ase_Exec.cpp
diff --git a/jni/Exec/com_google_ase_Exec.h b/app/src/main/jni/com_google_ase_Exec.h
index a2a6052..a2a6052 100644
--- a/jni/Exec/com_google_ase_Exec.h
+++ b/app/src/main/jni/com_google_ase_Exec.h
diff --git a/res/anim/fade_out_delayed.xml b/app/src/main/res/anim/fade_out_delayed.xml
index 20ca839..20ca839 100644
--- a/res/anim/fade_out_delayed.xml
+++ b/app/src/main/res/anim/fade_out_delayed.xml
diff --git a/res/anim/fade_stay_hidden.xml b/app/src/main/res/anim/fade_stay_hidden.xml
index e62ca8b..e62ca8b 100644
--- a/res/anim/fade_stay_hidden.xml
+++ b/app/src/main/res/anim/fade_stay_hidden.xml
diff --git a/res/anim/keyboard_fade_in.xml b/app/src/main/res/anim/keyboard_fade_in.xml
index edd5b94..edd5b94 100644
--- a/res/anim/keyboard_fade_in.xml
+++ b/app/src/main/res/anim/keyboard_fade_in.xml
diff --git a/res/anim/keyboard_fade_out.xml b/app/src/main/res/anim/keyboard_fade_out.xml
index 1f37d32..1f37d32 100644
--- a/res/anim/keyboard_fade_out.xml
+++ b/app/src/main/res/anim/keyboard_fade_out.xml
diff --git a/res/anim/slide_left_in.xml b/app/src/main/res/anim/slide_left_in.xml
index 29a0048..29a0048 100644
--- a/res/anim/slide_left_in.xml
+++ b/app/src/main/res/anim/slide_left_in.xml
diff --git a/res/anim/slide_left_out.xml b/app/src/main/res/anim/slide_left_out.xml
index 9c46442..9c46442 100644
--- a/res/anim/slide_left_out.xml
+++ b/app/src/main/res/anim/slide_left_out.xml
diff --git a/res/anim/slide_right_in.xml b/app/src/main/res/anim/slide_right_in.xml
index 0d52c9f..0d52c9f 100644
--- a/res/anim/slide_right_in.xml
+++ b/app/src/main/res/anim/slide_right_in.xml
diff --git a/res/anim/slide_right_out.xml b/app/src/main/res/anim/slide_right_out.xml
index ace4e9d..ace4e9d 100644
--- a/res/anim/slide_right_out.xml
+++ b/app/src/main/res/anim/slide_right_out.xml
diff --git a/res/color/blue.xml b/app/src/main/res/color/blue.xml
index 981c3ef..981c3ef 100644
--- a/res/color/blue.xml
+++ b/app/src/main/res/color/blue.xml
diff --git a/res/color/green.xml b/app/src/main/res/color/green.xml
index 388ea58..388ea58 100644
--- a/res/color/green.xml
+++ b/app/src/main/res/color/green.xml
diff --git a/res/color/red.xml b/app/src/main/res/color/red.xml
index b7e18cd..b7e18cd 100644
--- a/res/color/red.xml
+++ b/app/src/main/res/color/red.xml
diff --git a/res/drawable-hdpi/icon.png b/app/src/main/res/drawable-hdpi/icon.png
index a0e8560..a0e8560 100644
--- a/res/drawable-hdpi/icon.png
+++ b/app/src/main/res/drawable-hdpi/icon.png
Binary files differ
diff --git a/res/drawable-hdpi/notification_icon.png b/app/src/main/res/drawable-hdpi/notification_icon.png
index ecc44a3..ecc44a3 100644
--- a/res/drawable-hdpi/notification_icon.png
+++ b/app/src/main/res/drawable-hdpi/notification_icon.png
Binary files differ
diff --git a/res/drawable-mdpi/icon.png b/app/src/main/res/drawable-mdpi/icon.png
index 46d97d3..46d97d3 100644
--- a/res/drawable-mdpi/icon.png
+++ b/app/src/main/res/drawable-mdpi/icon.png
Binary files differ
diff --git a/res/drawable-mdpi/notification_icon.png b/app/src/main/res/drawable-mdpi/notification_icon.png
index 118d838..118d838 100644
--- a/res/drawable-mdpi/notification_icon.png
+++ b/app/src/main/res/drawable-mdpi/notification_icon.png
Binary files differ
diff --git a/res/drawable-xhdpi/icon.png b/app/src/main/res/drawable-xhdpi/icon.png
index 891f59e..891f59e 100644
--- a/res/drawable-xhdpi/icon.png
+++ b/app/src/main/res/drawable-xhdpi/icon.png
Binary files differ
diff --git a/res/drawable-xhdpi/notification_icon.png b/app/src/main/res/drawable-xhdpi/notification_icon.png
index 3b79360..3b79360 100644
--- a/res/drawable-xhdpi/notification_icon.png
+++ b/app/src/main/res/drawable-xhdpi/notification_icon.png
Binary files differ
diff --git a/res/drawable-xxhdpi/icon.png b/app/src/main/res/drawable-xxhdpi/icon.png
index 9bc6c3e..9bc6c3e 100644
--- a/res/drawable-xxhdpi/icon.png
+++ b/app/src/main/res/drawable-xxhdpi/icon.png
Binary files differ
diff --git a/res/drawable-xxhdpi/notification_icon.png b/app/src/main/res/drawable-xxhdpi/notification_icon.png
index 0d8b9e1..0d8b9e1 100644
--- a/res/drawable-xxhdpi/notification_icon.png
+++ b/app/src/main/res/drawable-xxhdpi/notification_icon.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/icon.png b/app/src/main/res/drawable-xxxhdpi/icon.png
index 226eee9..226eee9 100644
--- a/res/drawable-xxxhdpi/icon.png
+++ b/app/src/main/res/drawable-xxxhdpi/icon.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/notification_icon.png b/app/src/main/res/drawable-xxxhdpi/notification_icon.png
index 2bafbb9..2bafbb9 100644
--- a/res/drawable-xxxhdpi/notification_icon.png
+++ b/app/src/main/res/drawable-xxxhdpi/notification_icon.png
Binary files differ
diff --git a/res/drawable/button_ctrl.png b/app/src/main/res/drawable/button_ctrl.png
index dc4d786..dc4d786 100644
--- a/res/drawable/button_ctrl.png
+++ b/app/src/main/res/drawable/button_ctrl.png
Binary files differ
diff --git a/res/drawable/button_esc.png b/app/src/main/res/drawable/button_esc.png
index 5f0cfc6..5f0cfc6 100644
--- a/res/drawable/button_esc.png
+++ b/app/src/main/res/drawable/button_esc.png
Binary files differ
diff --git a/res/drawable/button_keyboard.png b/app/src/main/res/drawable/button_keyboard.png
index 9205d8b..9205d8b 100644
--- a/res/drawable/button_keyboard.png
+++ b/app/src/main/res/drawable/button_keyboard.png
Binary files differ
diff --git a/res/drawable/connected.xml b/app/src/main/res/drawable/connected.xml
index 7b633d3..7b633d3 100644
--- a/res/drawable/connected.xml
+++ b/app/src/main/res/drawable/connected.xml
diff --git a/res/drawable/highlight_disabled_pressed.9.png b/app/src/main/res/drawable/highlight_disabled_pressed.9.png
index 807fcb5..807fcb5 100644
--- a/res/drawable/highlight_disabled_pressed.9.png
+++ b/app/src/main/res/drawable/highlight_disabled_pressed.9.png
Binary files differ
diff --git a/res/drawable/ic_btn_back.png b/app/src/main/res/drawable/ic_btn_back.png
index 9615e67..9615e67 100644
--- a/res/drawable/ic_btn_back.png
+++ b/app/src/main/res/drawable/ic_btn_back.png
Binary files differ
diff --git a/res/drawable/ic_btn_next.png b/app/src/main/res/drawable/ic_btn_next.png
index ea2a80e..ea2a80e 100644
--- a/res/drawable/ic_btn_next.png
+++ b/app/src/main/res/drawable/ic_btn_next.png
Binary files differ
diff --git a/res/drawable/pubkey.xml b/app/src/main/res/drawable/pubkey.xml
index 1926d24..1926d24 100644
--- a/res/drawable/pubkey.xml
+++ b/app/src/main/res/drawable/pubkey.xml
diff --git a/res/drawable/pubkey_locked.png b/app/src/main/res/drawable/pubkey_locked.png
index 7df56b5..7df56b5 100644
--- a/res/drawable/pubkey_locked.png
+++ b/app/src/main/res/drawable/pubkey_locked.png
Binary files differ
diff --git a/res/drawable/pubkey_unlocked.png b/app/src/main/res/drawable/pubkey_unlocked.png
index eec4558..eec4558 100644
--- a/res/drawable/pubkey_unlocked.png
+++ b/app/src/main/res/drawable/pubkey_unlocked.png
Binary files differ
diff --git a/res/layout-land/item_host.xml b/app/src/main/res/layout-land/item_host.xml
index 9cde624..9cde624 100644
--- a/res/layout-land/item_host.xml
+++ b/app/src/main/res/layout-land/item_host.xml
diff --git a/res/layout-port/item_host.xml b/app/src/main/res/layout-port/item_host.xml
index 24d34ba..24d34ba 100644
--- a/res/layout-port/item_host.xml
+++ b/app/src/main/res/layout-port/item_host.xml
diff --git a/res/layout/act_colors.xml b/app/src/main/res/layout/act_colors.xml
index 3bda649..3bda649 100644
--- a/res/layout/act_colors.xml
+++ b/app/src/main/res/layout/act_colors.xml
diff --git a/res/layout/act_console.xml b/app/src/main/res/layout/act_console.xml
index f7db787..f7db787 100644
--- a/res/layout/act_console.xml
+++ b/app/src/main/res/layout/act_console.xml
diff --git a/res/layout/act_generatepubkey.xml b/app/src/main/res/layout/act_generatepubkey.xml
index 171ffd8..171ffd8 100644
--- a/res/layout/act_generatepubkey.xml
+++ b/app/src/main/res/layout/act_generatepubkey.xml
diff --git a/res/layout/act_help.xml b/app/src/main/res/layout/act_help.xml
index 833aefb..833aefb 100644
--- a/res/layout/act_help.xml
+++ b/app/src/main/res/layout/act_help.xml
diff --git a/res/layout/act_help_topic.xml b/app/src/main/res/layout/act_help_topic.xml
index 7123d63..7123d63 100644
--- a/res/layout/act_help_topic.xml
+++ b/app/src/main/res/layout/act_help_topic.xml
diff --git a/res/layout/act_hostlist.xml b/app/src/main/res/layout/act_hostlist.xml
index 3c6f4b1..3c6f4b1 100644
--- a/res/layout/act_hostlist.xml
+++ b/app/src/main/res/layout/act_hostlist.xml
diff --git a/res/layout/act_portforwardlist.xml b/app/src/main/res/layout/act_portforwardlist.xml
index b8589d0..b8589d0 100644
--- a/res/layout/act_portforwardlist.xml
+++ b/app/src/main/res/layout/act_portforwardlist.xml
diff --git a/res/layout/act_pubkeylist.xml b/app/src/main/res/layout/act_pubkeylist.xml
index ceabb52..ceabb52 100644
--- a/res/layout/act_pubkeylist.xml
+++ b/app/src/main/res/layout/act_pubkeylist.xml
diff --git a/res/layout/act_wizard.xml b/app/src/main/res/layout/act_wizard.xml
index c68a561..c68a561 100644
--- a/res/layout/act_wizard.xml
+++ b/app/src/main/res/layout/act_wizard.xml
diff --git a/res/layout/dia_changepassword.xml b/app/src/main/res/layout/dia_changepassword.xml
index 1548b3d..1548b3d 100644
--- a/res/layout/dia_changepassword.xml
+++ b/app/src/main/res/layout/dia_changepassword.xml
diff --git a/res/layout/dia_gatherentropy.xml b/app/src/main/res/layout/dia_gatherentropy.xml
index 8c7153a..8c7153a 100644
--- a/res/layout/dia_gatherentropy.xml
+++ b/app/src/main/res/layout/dia_gatherentropy.xml
diff --git a/res/layout/dia_password.xml b/app/src/main/res/layout/dia_password.xml
index 599af83..599af83 100644
--- a/res/layout/dia_password.xml
+++ b/app/src/main/res/layout/dia_password.xml
diff --git a/res/layout/dia_portforward.xml b/app/src/main/res/layout/dia_portforward.xml
index 9402eef..9402eef 100644
--- a/res/layout/dia_portforward.xml
+++ b/app/src/main/res/layout/dia_portforward.xml
diff --git a/res/layout/dia_resize.xml b/app/src/main/res/layout/dia_resize.xml
index 2269bd6..2269bd6 100644
--- a/res/layout/dia_resize.xml
+++ b/app/src/main/res/layout/dia_resize.xml
diff --git a/res/layout/item_portforward.xml b/app/src/main/res/layout/item_portforward.xml
index 4a98f24..4a98f24 100644
--- a/res/layout/item_portforward.xml
+++ b/app/src/main/res/layout/item_portforward.xml
diff --git a/res/layout/item_pubkey.xml b/app/src/main/res/layout/item_pubkey.xml
index 7f4fa5f..7f4fa5f 100644
--- a/res/layout/item_pubkey.xml
+++ b/app/src/main/res/layout/item_pubkey.xml
diff --git a/res/layout/item_terminal.xml b/app/src/main/res/layout/item_terminal.xml
index 9a8ff19..9a8ff19 100644
--- a/res/layout/item_terminal.xml
+++ b/app/src/main/res/layout/item_terminal.xml
diff --git a/res/layout/wiz_eula.xml b/app/src/main/res/layout/wiz_eula.xml
index 06b7c56..06b7c56 100644
--- a/res/layout/wiz_eula.xml
+++ b/app/src/main/res/layout/wiz_eula.xml
diff --git a/res/raw/bell.ogg b/app/src/main/res/raw/bell.ogg
index 674f25d..674f25d 100644
--- a/res/raw/bell.ogg
+++ b/app/src/main/res/raw/bell.ogg
Binary files differ
diff --git a/res/values-af/strings.xml b/app/src/main/res/values-af/strings.xml
index 442f28f..442f28f 100644
--- a/res/values-af/strings.xml
+++ b/app/src/main/res/values-af/strings.xml
diff --git a/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 5fb33d6..5fb33d6 100644
--- a/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
diff --git a/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml
index 1646a69..1646a69 100644
--- a/res/values-be/strings.xml
+++ b/app/src/main/res/values-be/strings.xml
diff --git a/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml
index f87787b..f87787b 100644
--- a/res/values-bg/strings.xml
+++ b/app/src/main/res/values-bg/strings.xml
diff --git a/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index 7696bb8..7696bb8 100644
--- a/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
diff --git a/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 6bc0b87..6bc0b87 100644
--- a/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
diff --git a/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index 5e72bcb..5e72bcb 100644
--- a/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
diff --git a/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 2a7b470..1eb2220 100644
--- a/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -77,6 +77,7 @@
<string name="pref_rotation_summary">Wie soll die Rotation beim Ein-/Ausklappen der Tastatur verändert werden</string>
<string name="pref_fullscreen_title">Vollbild</string>
<string name="pref_fullscreen_summary">Statuszeile in der Konsole verbergen</string>
+ <string name="pref_keyboard_category">Tastatur</string>
<string name="pref_memkeys_title">Schlüssel im Speicher behalten</string>
<string name="pref_memkeys_summary">Entsperrte Schlüssel im Speicher halten, bis der Hintergrunddienst beendet wurde</string>
<string name="pref_conn_persist_title">Persistente Verbindungen</string>
diff --git a/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 5b0e837..5b0e837 100644
--- a/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
diff --git a/res/values-en-rCA/strings.xml b/app/src/main/res/values-en-rCA/strings.xml
index 534a588..534a588 100644
--- a/res/values-en-rCA/strings.xml
+++ b/app/src/main/res/values-en-rCA/strings.xml
diff --git a/app/src/main/res/values-en-rGB/strings.xml b/app/src/main/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..fabe684
--- /dev/null
+++ b/app/src/main/res/values-en-rGB/strings.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<resources>
+ <string name="title_colors">Colours</string>
+ <string name="hostpref_color_title">Colour category</string>
+ <string name="list_menu_sortcolor">Sort by colour</string>
+ <string name="color_gray">grey</string>
+</resources>
diff --git a/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 87bb50f..87bb50f 100644
--- a/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
diff --git a/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index 6cf248b..6cf248b 100644
--- a/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
diff --git a/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml
index 94edc23..94edc23 100644
--- a/res/values-fa/strings.xml
+++ b/app/src/main/res/values-fa/strings.xml
diff --git a/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index 1e35e66..1e35e66 100644
--- a/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
diff --git a/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index ad2f276..ad2f276 100644
--- a/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
diff --git a/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index c88fe6b..c88fe6b 100644
--- a/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
diff --git a/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
index ecb3ccc..ecb3ccc 100644
--- a/res/values-he/strings.xml
+++ b/app/src/main/res/values-he/strings.xml
diff --git a/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index 269a58b..269a58b 100644
--- a/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
diff --git a/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 5a41a02..5a41a02 100644
--- a/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
diff --git a/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml
index 5e318f5..5e318f5 100644
--- a/res/values-id/strings.xml
+++ b/app/src/main/res/values-id/strings.xml
diff --git a/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml
index a5fc71f..a5fc71f 100644
--- a/res/values-is/strings.xml
+++ b/app/src/main/res/values-is/strings.xml
diff --git a/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index f8c8062..f8c8062 100644
--- a/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
diff --git a/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index f374e2d..f374e2d 100644
--- a/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
diff --git a/res/values-ka/strings.xml b/app/src/main/res/values-ka/strings.xml
index d1343d7..d1343d7 100644
--- a/res/values-ka/strings.xml
+++ b/app/src/main/res/values-ka/strings.xml
diff --git a/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index 83313ef..83313ef 100644
--- a/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
diff --git a/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index 7b61c88..7b61c88 100644
--- a/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
diff --git a/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml
index 94edc23..94edc23 100644
--- a/res/values-lv/strings.xml
+++ b/app/src/main/res/values-lv/strings.xml
diff --git a/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml
index 9be11ac..9be11ac 100644
--- a/res/values-mk/strings.xml
+++ b/app/src/main/res/values-mk/strings.xml
diff --git a/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml
index 81025dc..81025dc 100644
--- a/res/values-nb/strings.xml
+++ b/app/src/main/res/values-nb/strings.xml
diff --git a/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 7d3af43..7d3af43 100644
--- a/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
diff --git a/res/values-oc/strings.xml b/app/src/main/res/values-oc/strings.xml
index aad61b6..9dcad52 100644
--- a/res/values-oc/strings.xml
+++ b/app/src/main/res/values-oc/strings.xml
@@ -1,4 +1,4 @@
-<?xml version='1.0' encoding='utf-8'?>
+<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_desc">Un client SSH simple, open-source e poderós.</string>
<string name="title_hosts_list">Òstes</string>
diff --git a/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index dd64905..dd64905 100644
--- a/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
diff --git a/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index df33acf..df33acf 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
diff --git a/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 4aeb1a2..4aeb1a2 100644
--- a/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
diff --git a/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index 2581c39..2581c39 100644
--- a/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
diff --git a/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 61e19c3..61e19c3 100644
--- a/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
diff --git a/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index aa5e226..aa5e226 100644
--- a/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
diff --git a/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml
index 8552716..8552716 100644
--- a/res/values-sl/strings.xml
+++ b/app/src/main/res/values-sl/strings.xml
diff --git a/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 73e73da..73e73da 100644
--- a/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
diff --git a/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 2554ea1..2554ea1 100644
--- a/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
diff --git a/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index f6d929c..f6d929c 100644
--- a/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
diff --git a/res/values-v11/styles.xml b/app/src/main/res/values-v11/styles.xml
index 9a0c22b..9a0c22b 100644
--- a/res/values-v11/styles.xml
+++ b/app/src/main/res/values-v11/styles.xml
diff --git a/res/values-v14/styles.xml b/app/src/main/res/values-v14/styles.xml
index 3969010..3969010 100644
--- a/res/values-v14/styles.xml
+++ b/app/src/main/res/values-v14/styles.xml
diff --git a/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index a9c64c2..a9c64c2 100644
--- a/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
diff --git a/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index b1aa96a..b1aa96a 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
diff --git a/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index 94edc23..94edc23 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
diff --git a/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index cb19e39..53891a4 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -79,6 +79,7 @@
<string name="pref_titlebarhide_summary">輕觸終端機來顯示標題列並存取選單</string>
<string name="pref_fullscreen_title">全螢幕</string>
<string name="pref_fullscreen_summary">當在控制台時隱藏狀態列</string>
+ <string name="pref_keyboard_category">鍵盤</string>
<string name="pref_shiftfkeys_title">Shift+num 為功能鍵</string>
<string name="pref_shiftfkeys_summary">在硬體鍵盤上,shift 加數字鍵時傳送 F1-F10</string>
<string name="pref_ctrlfkeys_title">Ctrl+num 為功能鍵</string>
@@ -91,6 +92,7 @@
<string name="pref_conn_persist_summary">在背景執行時仍保持連線狀態</string>
<string name="pref_keymode_title">快捷鍵</string>
<string name="pref_keymode_summary">選擇如何使用 Alt 來叫出 \'/\' 和用 Shift 呼叫 Tab</string>
+ <string name="only_alt">只有Alt</string>
<string name="pref_camera_title">照相快捷鍵</string>
<string name="pref_camera_summary">選擇當照相按鈕按下時將要觸發的快捷鍵</string>
<string name="pref_keepalive_title">保持螢幕喚醒</string>
diff --git a/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 4721490..4721490 100644
--- a/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
diff --git a/res/values/notrans.xml b/app/src/main/res/values/notrans.xml
index 3142ed6..3142ed6 100644
--- a/res/values/notrans.xml
+++ b/app/src/main/res/values/notrans.xml
diff --git a/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 49c3af4..49c3af4 100644
--- a/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
diff --git a/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 22e830b..22e830b 100644
--- a/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
diff --git a/res/values/version.xml b/app/src/main/res/values/version.xml
index 94227c9..94227c9 100644
--- a/res/values/version.xml
+++ b/app/src/main/res/values/version.xml
diff --git a/res/xml/host_prefs.xml b/app/src/main/res/xml/host_prefs.xml
index a2fc1a4..a2fc1a4 100644
--- a/res/xml/host_prefs.xml
+++ b/app/src/main/res/xml/host_prefs.xml
diff --git a/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 70bdb5b..70bdb5b 100644
--- a/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..62b4fc4
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,32 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+
+buildscript {
+ repositories {
+ jcenter()
+ maven {
+ url 'https://dl.bintray.com/phildopus/maven'
+ }
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:1.1.0'
+ classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+'
+ }
+}
+
+allprojects {
+ repositories {
+ jcenter()
+ }
+}
+
+project.ext.preDexLibs = !project.hasProperty('disablePreDex')
+
+subprojects {
+ project.plugins.whenPluginAdded { plugin ->
+ if ("com.android.build.gradle.AppPlugin".equals(plugin.class.name)) {
+ project.android.dexOptions.preDexLibraries = rootProject.ext.preDexLibs
+ } else if ("com.android.build.gradle.LibraryPlugin".equals(plugin.class.name)) {
+ project.android.dexOptions.preDexLibraries = rootProject.ext.preDexLibs
+ }
+ }
+}
diff --git a/build.xml b/build.xml
index aebe4f9..376125b 100644
--- a/build.xml
+++ b/build.xml
@@ -2,82 +2,6 @@
<!-- vim: set ts=4 sw=4 et: -->
<project name="ConnectBot" default="help">
- <!-- The local.properties file is created and updated by the 'android' tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <loadproperties srcFile="local.properties" />
-
- <!-- The ant.properties file can be created by you. It is only edited by the
- 'android' tool to add properties to it.
- This is the place to change some Ant specific build properties.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- For other overridable properties, look at the beginning of the rules
- files in the SDK, at tools/ant/build.xml
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <property file="ant.properties" />
-
- <!-- The project.properties file is created and updated by the 'android'
- tool, as well as ADT.
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <loadproperties srcFile="project.properties" />
-
- <!-- quick check on sdk.dir -->
- <fail
- message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'"
- unless="sdk.dir"
- />
-
-
-<!-- extension targets. Uncomment the ones where you want to do custom work
- in between standard targets -->
-<!--
- <target name="-pre-build">
- </target>
- <target name="-pre-compile">
- </target>
-
- /* This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir} */
- <target name="-post-compile">
- </target>
--->
-
- <!-- Import the actual build file.
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <import> task.
- - customize it to your needs.
- - Customize the whole content of build.xml
- - copy/paste the content of the rules files (minus the top node)
- into this file, replacing the <import> task.
- - customize to your needs.
-
- ***********************
- ****** IMPORTANT ******
- ***********************
- In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
- in order to avoid having your file be overridden by tools such as "android update project"
- -->
- <!-- version-tag: custom -->
- <import file="${sdk.dir}/tools/ant/build.xml" />
-
<!-- Begin custom ConnectBot stuff -->
<!-- Output directory for .po files. -->
diff --git a/config/quality.gradle b/config/quality.gradle
new file mode 100644
index 0000000..2df9dcb
--- /dev/null
+++ b/config/quality.gradle
@@ -0,0 +1,17 @@
+apply plugin: 'checkstyle'
+
+check.dependsOn 'checkstyle'
+
+task checkstyle(type: Checkstyle) {
+ configFile file("${project.rootDir}/config/quality/checkstyle/checkstyle.xml")
+ configProperties.checkstyleSuppressionsPath = file("${project.rootDir}/config/quality/checkstyle/suppressions.xml").absolutePath
+
+ source 'src/main/java'
+ include 'org/connectbot/**/*.java'
+ exclude '**/gen/**'
+
+ def configProps = ['proj.module.dir': projectDir.absolutePath]
+ configProperties configProps
+
+ classpath = files()
+}
diff --git a/config/quality/checkstyle/checkstyle.xml b/config/quality/checkstyle/checkstyle.xml
new file mode 100644
index 0000000..105f707
--- /dev/null
+++ b/config/quality/checkstyle/checkstyle.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!DOCTYPE module PUBLIC
+ "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
+<module name="Checker">
+ <module name="TreeWalker">
+ <property name="fileExtensions" value="java"/>
+ <module name="RegexpSinglelineJava">
+ <property name="format" value="^\t* +\t*\S"/>
+ <property name="message"
+ value="Line has leading space characters; indentation should be performed with tabs only."/>
+ <property name="ignoreComments" value="true"/>
+ </module>
+
+ <module name="AvoidStarImport" />
+ <module name="IllegalImport" />
+ <module name="RedundantImport" />
+ <module name="UnusedImports" />
+ <module name="NoWhitespaceAfter">
+ <property name="tokens" value="BNOT,DEC,DOT,INC,LNOT,UNARY_MINUS,UNARY_PLUS" />
+ </module>
+ <module name="NoWhitespaceBefore" />
+ <module name="ParenPad" />
+ <module name="TypecastParenPad" />
+ <module name="WhitespaceAfter" />
+ <module name="WhitespaceAround">
+ <property name="allowEmptyMethods" value="true" />
+ </module>
+ </module>
+</module>
diff --git a/config/quality/checkstyle/suppressions.xml b/config/quality/checkstyle/suppressions.xml
new file mode 100644
index 0000000..e36b8a9
--- /dev/null
+++ b/config/quality/checkstyle/suppressions.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+ ~ ConnectBot: simple, powerful, open-source SSH client for Android
+ ~ Copyright 2015 Kenny Root, Jeffrey Sharkey
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<!DOCTYPE suppressions PUBLIC
+ "-//Puppy Crawl//DTD Suppressions 1.1//EN"
+ "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
+
+<suppressions>
+</suppressions> \ No newline at end of file
diff --git a/config/translations.gradle b/config/translations.gradle
new file mode 100644
index 0000000..14a2f12
--- /dev/null
+++ b/config/translations.gradle
@@ -0,0 +1,83 @@
+/*
+ * ConnectBot: simple, powerful, open-source SSH client for Android
+ * Copyright 2015 Kenny Root, Jeffrey Sharkey
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+def localeDir = file('locale')
+def launchpadImportBasename = 'launchpad-import'
+def launchpadExportFile = getRootProject().file('launchpad-export.tar.gz')
+
+def android2poExec = 'a2po'
+def android2poArgs = ['--groups', 'strings',
+ '--android', getProjectDir().getPath() + '/src/main/res',
+ '--gettext', localeDir,
+ '--template', 'fortune/fortune.pot',
+ '--layout', 'fortune/fortune-%(locale)s.po']
+
+task ensureLocalDirExists {
+ localeDir.mkdirs()
+}
+
+task untarTranslations(type: Copy) {
+ from tarTree(resources.gzip(launchpadExportFile))
+ into localeDir
+}
+
+task translationsImport(type: Exec, dependsOn: 'untarTranslations') {
+ description "Import translations into ConnectBot from Launchpad's export function"
+ executable = android2poExec
+ args = ['import'] + android2poArgs
+
+ // Save the output to print out.
+ standardOutput = new ByteArrayOutputStream()
+ errorOutput = new ByteArrayOutputStream()
+ ext.output = {
+ return standardOutput.toString()
+ }
+ ext.errs = {
+ return errorOutput.toString()
+ }
+
+ doLast {
+ println()
+ println("Translations import output:")
+ println("${translationsImport.output}")
+ println("${translationsImport.errs}")
+ }
+}
+
+task exportFromAndroid(type: Exec) {
+ executable = android2poExec
+ args = ['export'] + android2poArgs
+
+ // Save the output to print out.
+ standardOutput = new ByteArrayOutputStream()
+ ext.output = {
+ return standardOutput.toString()
+ }
+}
+
+task translationsExport(type: Tar, dependsOn: 'exportFromAndroid') {
+ description "Export translations from ConnectBot in a format suitable to import into Launchpad"
+ baseName = launchpadImportBasename
+ from localeDir
+ compression = Compression.GZIP
+ doLast {
+ println()
+ println('Import file into Launchpad:')
+ println(getArchivePath())
+ println()
+ }
+}
diff --git a/connectbot.iml b/connectbot.iml
new file mode 100644
index 0000000..0bb6048
--- /dev/null
+++ b/connectbot.iml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="java-gradle" name="Java-Gradle">
+ <configuration>
+ <option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
+ </configuration>
+ </facet>
+ </component>
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <excludeFolder url="file://$MODULE_DIR$/.gradle" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ </component>
+</module>
+
diff --git a/connectbot.sublime-project b/connectbot.sublime-project
deleted file mode 100644
index e35ca4e..0000000
--- a/connectbot.sublime-project
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "folders":
- [
- {
- "path": ".",
- "folder_exclude_patterns": ["bin", "gen"]
- }
- ],
- "build_systems":
- [
- {
- "name": "Android Debug",
- "cmd": ["ant", "debug"],
- "file_regex": "^ *\\[javac\\] (.+):([0-9]+):() (.*)$",
- "working_dir": "${project_path:${folder}}",
- "selector": "source.java",
-
- "windows":
- {
- "cmd": ["ant.bat", "debug"]
- },
-
- "variants":
- [
- {
- "name": "Run",
- "cmd": ["ant", "debug", "install"],
- "windows":
- {
- "cmd": ["ant.bat", "debug", "install"]
- }
- }
- ]
- }
- ]
-}
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..8c0fb64
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.jar
Binary files differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..8c0121b
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Mon Mar 23 16:07:51 GMT 2015
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
diff --git a/gradlew b/gradlew
new file mode 100755
index 0000000..91a7e26
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,164 @@
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+esac
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched.
+if $cygwin ; then
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >&-
+APP_HOME="`pwd -P`"
+cd "$SAVED" >&-
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 0000000..8a0b282
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,90 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/jni/Android.mk b/jni/Android.mk
deleted file mode 100644
index 5053e7d..0000000
--- a/jni/Android.mk
+++ /dev/null
@@ -1 +0,0 @@
-include $(call all-subdir-makefiles)
diff --git a/jni/Application.mk b/jni/Application.mk
deleted file mode 100644
index 0a352f9..0000000
--- a/jni/Application.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# Build both ARMv5TE and x86-32 machine code.
-APP_ABI := armeabi x86
diff --git a/jni/Exec/Android.mk b/jni/Exec/Android.mk
deleted file mode 100644
index 505b7cb..0000000
--- a/jni/Exec/Android.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := com_google_ase_Exec
-LOCAL_CFLAGS := -Werror
-LOCAL_SRC_FILES := com_google_ase_Exec.cpp
-LOCAL_LDLIBS := -llog
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/libs/armeabi/libcom_google_ase_Exec.so b/libs/armeabi/libcom_google_ase_Exec.so
deleted file mode 100755
index eca95a6..0000000
--- a/libs/armeabi/libcom_google_ase_Exec.so
+++ /dev/null
Binary files differ
diff --git a/libs/x86/libcom_google_ase_Exec.so b/libs/x86/libcom_google_ase_Exec.so
deleted file mode 100755
index 55f602d..0000000
--- a/libs/x86/libcom_google_ase_Exec.so
+++ /dev/null
Binary files differ
diff --git a/project.properties b/project.properties
deleted file mode 100644
index 7892870..0000000
--- a/project.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-
-# Indicates whether an apk should be generated for each density.
-split.density=false
-proguard.config=proguard.cfg
-# Project target.
-target=android-15
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
deleted file mode 100644
index 6bc6957..0000000
--- a/res/values-en-rGB/strings.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * ConnectBot: simple, powerful, open-source SSH client for Android
- * Copyright 2007 Kenny Root, Jeffrey Sharkey
- * Copyright 2011 Darren Salt
- *
- * This file is derived from res/values/strings.xml
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="title_colors">"Colours"</string>
- <string name="hostpref_color_title">"Colour category"</string>
- <string name="list_menu_sortcolor">"Sort by colour"</string>
- <string name="color_gray">"grey"</string>
-</resources>
diff --git a/robolectric-tests/.gitignore b/robolectric-tests/.gitignore
new file mode 100644
index 0000000..796b96d
--- /dev/null
+++ b/robolectric-tests/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/robolectric-tests/build.gradle b/robolectric-tests/build.gradle
new file mode 100644
index 0000000..0cf5a7e
--- /dev/null
+++ b/robolectric-tests/build.gradle
@@ -0,0 +1,48 @@
+/*
+ * ConnectBot: simple, powerful, open-source SSH client for Android
+ * Copyright 2014 Kenny Root, Jeffrey Sharkey
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+apply plugin: 'java'
+
+evaluationDependsOn(':app')
+
+dependencies {
+ def androidModule = project(':app')
+ compile androidModule
+
+ testCompile androidModule.android.applicationVariants.toList().first().javaCompile.classpath
+ testCompile androidModule.android.applicationVariants.toList().first().javaCompile.outputs.files
+ testCompile files(androidModule.android.getBootClasspath())
+
+ // This gets the location of the SDK's Android Support Repo
+ androidModule.repositories {
+ all { ArtifactRepository repo ->
+ if (repo.url.toString().contains("extras/android/m2repository")) {
+ project.repositories.maven { url = repo.url }
+ }
+ }
+ }
+
+ testCompile 'junit:junit:4.10'
+ testCompile 'org.robolectric:robolectric:2.3'
+}
+
+tasks.withType(Test) {
+ scanForTestClasses = false
+ include "**/*Should.class"
+ include "**/*Test.class"
+ include "**/*Tests.class"
+} \ No newline at end of file
diff --git a/robolectric-tests/robolectric-tests.iml b/robolectric-tests/robolectric-tests.iml
new file mode 100644
index 0000000..ffc093e
--- /dev/null
+++ b/robolectric-tests/robolectric-tests.iml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="connectbot" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="android-gradle" name="Android-Gradle">
+ <configuration>
+ <option name="GRADLE_PROJECT_PATH" value=":robolectric-tests" />
+ </configuration>
+ </facet>
+ <facet type="java-gradle" name="Java-Gradle">
+ <configuration>
+ <option name="BUILD_FOLDER_PATH" />
+ </configuration>
+ </facet>
+ </component>
+ <component name="NewModuleRootManager" inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/build/classes/main" />
+ <output-test url="file://$MODULE_DIR$/build/classes/test" />
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
+ <excludeFolder url="file://$MODULE_DIR$/.gradle" />
+ <excludeFolder url="file://$MODULE_DIR$/build" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module" module-name="app" exported="" />
+ <orderEntry type="library" exported="" scope="TEST" name="junit-4.10" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="robolectric-2.3" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="objenesis-1.3" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="sqlite4java-0.282" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="asm-5.0.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="asm-commons-5.0.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="asm-util-5.0.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="asm-analysis-5.0.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="commons-logging-1.1.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="commons-codec-1.3" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="httpclient-4.0.3" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="vtd-xml-2.11" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="support-v4-19.0.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="fest-util-1.2.5" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="fest-reflect-1.4.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="maven-ant-tasks-2.1.3" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="asm-tree-5.0.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="httpcore-4.0.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="ant-1.8.0" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="classworlds-1.1-alpha-2" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="plexus-container-default-1.0-alpha-9-stable-1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="plexus-utils-1.5.15" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="plexus-interpolation-1.11" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="maven-artifact-2.2.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="maven-artifact-manager-2.2.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="maven-model-2.2.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="maven-project-2.2.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="maven-error-diagnostics-2.2.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="maven-settings-2.2.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="wagon-file-1.0-beta-6" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="wagon-http-lightweight-1.0-beta-6" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="wagon-provider-api-1.0-beta-6" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="ant-launcher-1.8.0" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="maven-repository-metadata-2.2.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="backport-util-concurrent-3.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="maven-profile-2.2.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="maven-plugin-registry-2.2.1" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="wagon-http-shared-1.0-beta-6" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="xercesMinimal-1.9.6.2" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="nekohtml-1.9.6.2" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="_Users_kenny_git_connectbot_app_build_intermediates_classes_debug" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="_Users_kenny_git_connectbot_app_build_intermediates_dependency_cache_debug" level="project" />
+ <orderEntry type="library" exported="" scope="TEST" name="android" level="project" />
+ </component>
+</module>
+
diff --git a/tests/src/org/connectbot/HostBeanTest.java b/robolectric-tests/src/test/java/org/connectbot/HostBeanTest.java
index a252aca..2f8eb2f 100644
--- a/tests/src/org/connectbot/HostBeanTest.java
+++ b/robolectric-tests/src/test/java/org/connectbot/HostBeanTest.java
@@ -18,25 +18,31 @@
package org.connectbot;
import org.connectbot.bean.HostBean;
-import org.connectbot.mock.BeanTestCase;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
-import android.test.AndroidTestCase;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.connectbot.mock.BeanAssertions.assertMeetsEqualsContract;
+import static org.connectbot.mock.BeanAssertions.assertMeetsHashCodeContract;
/**
* @author Kenny Root
- *
*/
-public class HostBeanTest extends AndroidTestCase {
+@Config(manifest = "../app/src/main/AndroidManifest.xml", emulateSdk = 16)
+@RunWith(RobolectricTestRunner.class)
+public class HostBeanTest {
private static final String[] FIELDS = { "nickname", "username",
"hostname", "port" };
- HostBean host1;
- HostBean host2;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
+ private HostBean host1;
+ private HostBean host2;
+ @Before
+ public void setUp() {
host1 = new HostBean();
host1.setNickname("Home");
host1.setUsername("bob");
@@ -50,19 +56,16 @@ public class HostBeanTest extends AndroidTestCase {
host2.setPort(22);
}
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- public void testIdEquality() {
+ @Test
+ public void id_Equality() {
host1.setId(1);
host2.setId(1);
assertTrue(host1.equals(host2));
assertTrue(host1.hashCode() == host2.hashCode());
}
- public void testIdInequality() {
+ @Test
+ public void id_Inequality() {
host1.setId(1);
host2.setId(2);
// HostBeans shouldn't be equal when their IDs are not the same
@@ -72,7 +75,8 @@ public class HostBeanTest extends AndroidTestCase {
host1.hashCode() == host2.hashCode());
}
- public void testIdEquality2() {
+ @Test
+ public void id_Equality2() {
host1.setId(1);
host2.setId(1);
host2.setNickname("Work");
@@ -86,11 +90,13 @@ public class HostBeanTest extends AndroidTestCase {
host1.hashCode() == host2.hashCode());
}
+ @Test
public void testBeanMeetsEqualsContract() {
- BeanTestCase.assertMeetsEqualsContract(HostBean.class, FIELDS);
+ assertMeetsEqualsContract(HostBean.class, FIELDS);
}
+ @Test
public void testBeanMeetsHashCodeContract() {
- BeanTestCase.assertMeetsHashCodeContract(HostBean.class, FIELDS);
+ assertMeetsHashCodeContract(HostBean.class, FIELDS);
}
}
diff --git a/tests/src/org/connectbot/SelectionAreaTest.java b/robolectric-tests/src/test/java/org/connectbot/SelectionAreaTest.java
index 93e0293..6e4134a 100644
--- a/tests/src/org/connectbot/SelectionAreaTest.java
+++ b/robolectric-tests/src/test/java/org/connectbot/SelectionAreaTest.java
@@ -18,18 +18,26 @@
package org.connectbot;
import org.connectbot.bean.SelectionArea;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
-import android.test.AndroidTestCase;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
/**
* @author Kenny Root
*
*/
-public class SelectionAreaTest extends AndroidTestCase {
+@Config(manifest = "../app/src/main/AndroidManifest.xml", emulateSdk = 16)
+@RunWith(RobolectricTestRunner.class)
+public class SelectionAreaTest {
private static final int WIDTH = 80;
private static final int HEIGHT = 24;
- public void testCreate() {
+ @Test
+ public void createSelectionArea() {
SelectionArea sa = new SelectionArea();
assertTrue(sa.getLeft() == 0);
@@ -39,7 +47,8 @@ public class SelectionAreaTest extends AndroidTestCase {
assertTrue(sa.isSelectingOrigin());
}
- public void testCheckMovement() {
+ @Test
+ public void checkMovement() {
SelectionArea sa = new SelectionArea();
sa.setBounds(WIDTH, HEIGHT);
@@ -65,7 +74,8 @@ public class SelectionAreaTest extends AndroidTestCase {
assertTrue(sa.getBottom() == 0);
}
- public void testBounds() {
+ @Test
+ public void boundsAreCorrect() {
SelectionArea sa = new SelectionArea();
sa.setBounds(WIDTH, HEIGHT);
@@ -99,7 +109,8 @@ public class SelectionAreaTest extends AndroidTestCase {
sa.getTop() == 0);
}
- public void testSetThenMove() {
+ @Test
+ public void setThenMove() {
SelectionArea sa = new SelectionArea();
sa.setBounds(WIDTH, HEIGHT);
diff --git a/tests/src/org/connectbot/mock/BeanTestCase.java b/robolectric-tests/src/test/java/org/connectbot/mock/BeanAssertions.java
index 5d13d9f..cf7b7de 100644
--- a/tests/src/org/connectbot/mock/BeanTestCase.java
+++ b/robolectric-tests/src/test/java/org/connectbot/mock/BeanAssertions.java
@@ -7,11 +7,17 @@ import junit.framework.TestCase;
import java.lang.reflect.Field;
-public class BeanTestCase extends TestCase {
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+public class BeanAssertions {
private static final String TEST_STRING_VAL1 = "Some Value";
private static final String TEST_STRING_VAL2 = "Some Other Value";
+ private BeanAssertions() {
+ }
+
public static void assertMeetsEqualsContract(Class<?> classUnderTest,
String[] fieldNames) {
Object o1;
diff --git a/tests/src/org/connectbot/mock/NullOutputStream.java b/robolectric-tests/src/test/java/org/connectbot/mock/NullOutputStream.java
index 79b8e72..79b8e72 100644
--- a/tests/src/org/connectbot/mock/NullOutputStream.java
+++ b/robolectric-tests/src/test/java/org/connectbot/mock/NullOutputStream.java
diff --git a/tests/src/org/connectbot/mock/NullTransport.java b/robolectric-tests/src/test/java/org/connectbot/mock/NullTransport.java
index d841e6a..d841e6a 100644
--- a/tests/src/org/connectbot/mock/NullTransport.java
+++ b/robolectric-tests/src/test/java/org/connectbot/mock/NullTransport.java
diff --git a/tests/src/org/connectbot/util/PubkeyUtilsTest.java b/robolectric-tests/src/test/java/org/connectbot/util/PubkeyUtilsTest.java
index 1eb1ee6..0843e74 100644
--- a/tests/src/org/connectbot/util/PubkeyUtilsTest.java
+++ b/robolectric-tests/src/test/java/org/connectbot/util/PubkeyUtilsTest.java
@@ -17,6 +17,11 @@
package org.connectbot.util;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
import java.math.BigInteger;
import java.security.KeyPair;
import java.security.NoSuchAlgorithmException;
@@ -27,14 +32,18 @@ import java.security.interfaces.ECPublicKey;
import java.security.interfaces.RSAPublicKey;
import java.util.Arrays;
-import android.test.AndroidTestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
/**
* @author Kenny Root
- *
*/
-public class PubkeyUtilsTest extends AndroidTestCase {
- public void testEncodeHex_Null_Failure() throws Exception {
+@Config(manifest = "../app/src/main/AndroidManifest.xml", emulateSdk = 16)
+@RunWith(RobolectricTestRunner.class)
+public class PubkeyUtilsTest {
+ @Test
+ public void encodeHex_Null_Failure() throws Exception {
try {
PubkeyUtils.encodeHex(null);
fail("Should throw null pointer exception when argument is null");
@@ -42,7 +51,9 @@ public class PubkeyUtilsTest extends AndroidTestCase {
// success
}
}
- public void testEncodeHex_Success() throws Exception {
+
+ @Test
+ public void encodeHex_Success() throws Exception {
byte[] input = {(byte) 0xFF, 0x00, (byte) 0xA5, 0x5A, 0x12, 0x23};
String expected = "ff00a55a1223";
@@ -50,7 +61,8 @@ public class PubkeyUtilsTest extends AndroidTestCase {
PubkeyUtils.encodeHex(input), expected);
}
- public void testSha256_Empty_Success() throws Exception {
+ @Test
+ public void sha256_Empty_Success() throws Exception {
byte[] empty_hashed = new byte[] {
(byte) 0xe3, (byte) 0xb0, (byte) 0xc4, (byte) 0x42,
(byte) 0x98, (byte) 0xfc, (byte) 0x1c, (byte) 0x14,
@@ -234,19 +246,23 @@ public class PubkeyUtilsTest extends AndroidTestCase {
private static final BigInteger DSA_KEY_priv = new BigInteger("2950e4774fb2fffb5d33c937f0b58ffb0d45c200", 16);
private static final BigInteger DSA_KEY_pub = new BigInteger("0087b82cdf3232db3bec0d00e96c8393bc7f5629551ea1a00888961cf56e80a36f2a7b316bc10b1d367a5ea374235c9361a472a9176f6cf61f708b86a52b4fae814abd1f1bdd16eea94aea9281851032b1bad7567624c615d6899ca1c94ad614f14e767e49d2ba5223cd113a0d02b66183653cd346ae76d85843afe66520904274", 16);
- public void testGetOidFromPkcs8Encoded_Ec_NistP256() throws Exception {
+ @Test
+ public void getOidFromPkcs8Encoded_Ec_NistP256() throws Exception {
assertEquals("1.2.840.10045.2.1", PubkeyUtils.getOidFromPkcs8Encoded(EC_KEY_PKCS8));
}
- public void testGetOidFromPkcs8Encoded_Rsa() throws Exception {
+ @Test
+ public void getOidFromPkcs8Encoded_Rsa() throws Exception {
assertEquals("1.2.840.113549.1.1.1", PubkeyUtils.getOidFromPkcs8Encoded(RSA_KEY_PKCS8));
}
- public void testGetOidFromPkcs8Encoded_Dsa() throws Exception {
+ @Test
+ public void getOidFromPkcs8Encoded_Dsa() throws Exception {
assertEquals("1.2.840.10040.4.1", PubkeyUtils.getOidFromPkcs8Encoded(DSA_KEY_PKCS8));
}
- public void testGetOidFromPkcs8Encoded_Null_Failure() throws Exception {
+ @Test
+ public void getOidFromPkcs8Encoded_Null_Failure() throws Exception {
try {
PubkeyUtils.getOidFromPkcs8Encoded(null);
fail("Should throw NoSuchAlgorithmException");
@@ -254,7 +270,8 @@ public class PubkeyUtilsTest extends AndroidTestCase {
}
}
- public void testGetOidFromPkcs8Encoded_NotCorrectDer_Failure() throws Exception {
+ @Test
+ public void getOidFromPkcs8Encoded_NotCorrectDer_Failure() throws Exception {
try {
PubkeyUtils.getOidFromPkcs8Encoded(new byte[] { 0x30, 0x01, 0x00 });
fail("Should throw NoSuchAlgorithmException");
@@ -262,19 +279,22 @@ public class PubkeyUtilsTest extends AndroidTestCase {
}
}
- public void testGetAlgorithmForOid_Ecdsa() throws Exception {
+ @Test
+ public void getAlgorithmForOid_Ecdsa() throws Exception {
assertEquals("EC", PubkeyUtils.getAlgorithmForOid("1.2.840.10045.2.1"));
}
- public void testGetAlgorithmForOid_Rsa() throws Exception {
+ @Test
+ public void getAlgorithmForOid_Rsa() throws Exception {
assertEquals("RSA", PubkeyUtils.getAlgorithmForOid("1.2.840.113549.1.1.1"));
}
- public void testGetAlgorithmForOid_Dsa() throws Exception {
+ public void getAlgorithmForOid_Dsa() throws Exception {
assertEquals("DSA", PubkeyUtils.getAlgorithmForOid("1.2.840.10040.4.1"));
}
- public void testGetAlgorithmForOid_NullInput_Failure() throws Exception {
+ @Test
+ public void getAlgorithmForOid_NullInput_Failure() throws Exception {
try {
PubkeyUtils.getAlgorithmForOid(null);
fail("Should throw NoSuchAlgorithmException");
@@ -282,7 +302,8 @@ public class PubkeyUtilsTest extends AndroidTestCase {
}
}
- public void testGetAlgorithmForOid_UnknownOid_Failure() throws Exception {
+ @Test
+ public void getAlgorithmForOid_UnknownOid_Failure() throws Exception {
try {
PubkeyUtils.getAlgorithmForOid("1.3.66666.2000.4000.1");
fail("Should throw NoSuchAlgorithmException");
@@ -290,7 +311,8 @@ public class PubkeyUtilsTest extends AndroidTestCase {
}
}
- public void testRecoverKeyPair_Dsa() throws Exception {
+ @Test
+ public void recoverKeyPair_Dsa() throws Exception {
KeyPair kp = PubkeyUtils.recoverKeyPair(DSA_KEY_PKCS8);
DSAPublicKey pubKey = (DSAPublicKey) kp.getPublic();
@@ -303,7 +325,8 @@ public class PubkeyUtilsTest extends AndroidTestCase {
assertEquals(params.getQ(), DSA_KEY_Q);
}
- public void testRecoverKeyPair_Rsa() throws Exception {
+ @Test
+ public void recoverKeyPair_Rsa() throws Exception {
KeyPair kp = PubkeyUtils.recoverKeyPair(RSA_KEY_PKCS8);
RSAPublicKey pubKey = (RSAPublicKey) kp.getPublic();
@@ -312,7 +335,8 @@ public class PubkeyUtilsTest extends AndroidTestCase {
assertEquals(RSA_KEY_E, pubKey.getPublicExponent());
}
- public void testRecoverKeyPair_Ec() throws Exception {
+ @Test
+ public void recoverKeyPair_Ec() throws Exception {
KeyPair kp = PubkeyUtils.recoverKeyPair(EC_KEY_PKCS8);
ECPublicKey pubKey = (ECPublicKey) kp.getPublic();
@@ -335,7 +359,8 @@ public class PubkeyUtilsTest extends AndroidTestCase {
}
}
- public void testRecoverPublicKey_FakeKey_Failure() throws Exception {
+ @Test
+ public void recoverPublicKey_FakeKey_Failure() throws Exception {
try {
PubkeyUtils.recoverPublicKey(null, new MyPrivateKey());
fail("Should not accept unknown key types");
diff --git a/settings.gradle b/settings.gradle
new file mode 100644
index 0000000..61ac55a
--- /dev/null
+++ b/settings.gradle
@@ -0,0 +1 @@
+include ':app', ':robolectric-tests'
diff --git a/tests/.classpath b/tests/.classpath
deleted file mode 100644
index 1ff00ba..0000000
--- a/tests/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="gen"/>
- <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
- <classpathentry combineaccessrules="false" kind="src" path="/connectbot"/>
- <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
- <classpathentry kind="output" path="bin/classes"/>
-</classpath>
diff --git a/tests/.gitignore b/tests/.gitignore
deleted file mode 100644
index fcead0a..0000000
--- a/tests/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-coverage
-gen
-libs
diff --git a/tests/.project b/tests/.project
deleted file mode 100644
index 97395ce..0000000
--- a/tests/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>connectbot tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.ApkBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/tests/.settings/org.eclipse.jdt.core.prefs b/tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index e87c6c7..0000000
--- a/tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,291 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/tests/.settings/org.eclipse.jdt.ui.prefs b/tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index e777683..0000000
--- a/tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,113 +0,0 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=false
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_to_enhanced_for_loop=false
-cleanup.correct_indentation=true
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=false
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=false
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=true
-cleanup.remove_unnecessary_nls_tags=true
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=true
-cleanup.sort_members_all=true
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=true
-cleanup.use_parentheses_in_expressions=false
-cleanup.use_this_for_non_static_field_access=true
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=true
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup_profile=_ConnectBot Light Cleanup
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_ConnectBot
-formatter_settings_version=12
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.ondemandthreshold=99
-org.eclipse.jdt.ui.staticondemandthreshold=99
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\n * \n */</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created JavaScript files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\n * \n */</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for vars" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Jsdoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created function stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated function stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=false
-sp_cleanup.format_source_code_changes_only=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
deleted file mode 100644
index 59a5b6f..0000000
--- a/tests/AndroidManifest.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us -->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="org.connectbot.tests"
- android:versionCode="1"
- android:versionName="1.0">
- <!-- We add an application tag here just so that we can indicate that
- this package needs to link against the android.test library,
- which is needed when building test cases. -->
- <application>
- <uses-library android:name="android.test.runner" />
- </application>
- <!--
- This declares that this application uses the instrumentation test runner targeting
- the package of org.connectbot. To run the tests use the command:
- "adb shell am instrument -w org.connectbot.tests/android.test.InstrumentationTestRunner"
- -->
- <instrumentation android:name="android.test.InstrumentationTestRunner"
- android:targetPackage="org.connectbot"
- android:label="Tests for ConnectBot" />
-</manifest>
diff --git a/tests/ant.properties b/tests/ant.properties
deleted file mode 100644
index 366f276..0000000
--- a/tests/ant.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file is used to override default values used by the Ant build system.
-#
-# This file must be checked in Version Control Systems, as it is
-# integral to the build system of your project.
-
-# This file is only used by the Ant script.
-
-# You can use this to override default values such as
-# 'source.dir' for the location of your java source folder and
-# 'out.dir' for the location of your output folder.
-
-# You can also use it define how the release builds are signed by declaring
-# the following properties:
-# 'key.store' for the location of your keystore and
-# 'key.alias' for the name of the key to use.
-# The password will be asked during the build when you use the 'release' target.
-
-tested.project.dir=..
-source-folder=src
-application-package=org.connectbot
-out-folder=bin
diff --git a/tests/build.xml b/tests/build.xml
deleted file mode 100644
index 234ab54..0000000
--- a/tests/build.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vim: set ts=4 sw=4 et: -->
-<project name="tests" default="help">
-
- <!-- The local.properties file is created and updated by the 'android' tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <loadproperties srcFile="local.properties" />
-
- <!-- The ant.properties file can be created by you. It is only edited by the
- 'android' tool to add properties to it.
- This is the place to change some Ant specific build properties.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- For other overridable properties, look at the beginning of the rules
- files in the SDK, at tools/ant/build.xml
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <property file="ant.properties" />
-
- <!-- The project.properties file is created and updated by the 'android'
- tool, as well as ADT.
-
- This contains project specific properties such as project target, and library
- dependencies. Lower level build properties are stored in ant.properties
- (or in .classpath for Eclipse projects).
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <loadproperties srcFile="project.properties" />
-
- <!-- quick check on sdk.dir -->
- <fail
- message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'"
- unless="sdk.dir"
- />
-
-
-<!-- extension targets. Uncomment the ones where you want to do custom work
- in between standard targets -->
-<!--
- <target name="-pre-build">
- </target>
- <target name="-pre-compile">
- </target>
-
- /* This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir} */
- <target name="-post-compile">
- </target>
--->
-
- <!-- Import the actual build file.
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <import> task.
- - customize it to your needs.
- - Customize the whole content of build.xml
- - copy/paste the content of the rules files (minus the top node)
- into this file, replacing the <import> task.
- - customize to your needs.
-
- ***********************
- ****** IMPORTANT ******
- ***********************
- In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
- in order to avoid having your file be overridden by tools such as "android update project"
- -->
- <!-- version-tag: custom -->
- <import file="${sdk.dir}/tools/ant/build.xml" />
-
- <target name="coverage-xml" depends="-test-project-check">
-
- <property name="tested.project.absolute.dir" location="${tested.project.dir}" />
-
- <property name="test.runner" value="android.test.InstrumentationTestRunner" />
-
- <!-- Application package of the tested project extracted from its manifest file -->
- <xpath input="${tested.project.absolute.dir}/AndroidManifest.xml"
- expression="/manifest/@package" output="tested.manifest.package" />
-
- <getprojectpaths projectPath="${tested.project.absolute.dir}"
- binOut="tested.project.out.absolute.dir"
- srcOut="tested.project.source.absolute.dir" />
-
- <getlibpath projectPath="${tested.project.absolute.dir}"
- libraryFolderPathOut="tested.project.lib.source.path"
- leaf="@{source.dir}" />
-
- <property name="emma.dump.file"
- value="/data/data/${tested.manifest.package}/coverage.ec" />
-
- <run-tests-helper emma.enabled="true">
- <extra-instrument-args>
- <arg value="-e" />
- <arg value="coverageFile" />
- <arg value="${emma.dump.file}" />
- </extra-instrument-args>
- </run-tests-helper>
- <echo>Downloading coverage file into project directory...</echo>
- <exec executable="${adb}" failonerror="true">
- <arg line="${adb.device.arg}" />
- <arg value="pull" />
- <arg value="${emma.dump.file}" />
- <arg value="${out.absolute.dir}/coverage.ec" />
- </exec>
- <echo>Extracting XML coverage report...</echo>
- <emma>
- <report sourcepath="${tested.project.source.absolute.dir}:${tested.project.lib.source.path.value}"
- verbosity="${verbosity}">
- <!-- TODO: report.dir or something like should be introduced if necessary -->
- <infileset file="${out.absolute.dir}/coverage.ec" />
- <infileset file="${tested.project.out.absolute.dir}/coverage.em" />
- <!-- TODO: reports in other, indicated by user formats -->
- <xml outfile="${out.absolute.dir}/coverage.xml" />
- </report>
- </emma>
- <echo level="info">Cleaning up temporary files...</echo>
- <delete file="${out.absolute.dir}/coverage.ec" />
- <delete file="${out.absolute.dir}/coverage.em" />
- <echo level="info">Saving the report file in ${out.absolute.dir}/coverage.xml</echo>
- </target>
-
-</project>
diff --git a/tests/proguard.cfg b/tests/proguard.cfg
deleted file mode 100644
index b1cdf17..0000000
--- a/tests/proguard.cfg
+++ /dev/null
@@ -1,40 +0,0 @@
--optimizationpasses 5
--dontusemixedcaseclassnames
--dontskipnonpubliclibraryclasses
--dontpreverify
--verbose
--optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-
--keep public class * extends android.app.Activity
--keep public class * extends android.app.Application
--keep public class * extends android.app.Service
--keep public class * extends android.content.BroadcastReceiver
--keep public class * extends android.content.ContentProvider
--keep public class * extends android.app.backup.BackupAgentHelper
--keep public class * extends android.preference.Preference
--keep public class com.android.vending.licensing.ILicensingService
-
--keepclasseswithmembernames class * {
- native <methods>;
-}
-
--keepclasseswithmembers class * {
- public <init>(android.content.Context, android.util.AttributeSet);
-}
-
--keepclasseswithmembers class * {
- public <init>(android.content.Context, android.util.AttributeSet, int);
-}
-
--keepclassmembers class * extends android.app.Activity {
- public void *(android.view.View);
-}
-
--keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
-}
-
--keep class * implements android.os.Parcelable {
- public static final android.os.Parcelable$Creator *;
-}
diff --git a/tests/project.properties b/tests/project.properties
deleted file mode 100644
index d1f88bc..0000000
--- a/tests/project.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-
-# Indicates whether an apk should be generated for each density.
-split.density=false
-# Project target.
-target=android-11
diff --git a/tests/src/org/connectbot/HostListActivityTest.java b/tests/src/org/connectbot/HostListActivityTest.java
deleted file mode 100644
index 3962c9a..0000000
--- a/tests/src/org/connectbot/HostListActivityTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * ConnectBot: simple, powerful, open-source SSH client for Android
- * Copyright 2007 Kenny Root, Jeffrey Sharkey
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.connectbot;
-
-import android.app.Activity;
-import android.test.ActivityInstrumentationTestCase2;
-
-/**
- * This is a simple framework for a test of an Application. See
- * {@link android.test.ApplicationTestCase ApplicationTestCase} for more
- * information on how to write and extend Application tests.
- * <p/>
- * To run this test, you can type: adb shell am instrument -w \ -e class
- * org.connectbot.HostListActivityTest \
- * org.connectbot.tests/android.test.InstrumentationTestRunner
- */
-public class HostListActivityTest extends ActivityInstrumentationTestCase2<HostListActivity> {
- private Activity mActivity;
-
- public HostListActivityTest() {
- super("org.connectbot", HostListActivity.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- setActivityInitialTouchMode(false);
-
- mActivity = getActivity();
- }
-}
diff --git a/tests/src/org/connectbot/SettingsActivityTest.java b/tests/src/org/connectbot/SettingsActivityTest.java
deleted file mode 100644
index 6b79136..0000000
--- a/tests/src/org/connectbot/SettingsActivityTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * ConnectBot: simple, powerful, open-source SSH client for Android
- * Copyright 2007 Kenny Root, Jeffrey Sharkey
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.connectbot;
-
-import android.test.ActivityInstrumentationTestCase2;
-
-/**
- * This is a simple framework for a test of an Application. See
- * {@link android.test.ApplicationTestCase ApplicationTestCase} for more
- * information on how to write and extend Application tests.
- * <p/>
- * To run this test, you can type:
- * adb shell am instrument -w \
- * -e class org.connectbot.HostListActivityTest \
- * org.connectbot.tests/android.test.InstrumentationTestRunner
- */
-public class SettingsActivityTest extends
- ActivityInstrumentationTestCase2<SettingsActivity> {
-
- public SettingsActivityTest() {
- super("org.connectbot", SettingsActivity.class);
- }
-
- public void testOpenMenu() {
- SettingsActivity a = getActivity();
-
- a.openOptionsMenu();
-
- a.closeOptionsMenu();
- }
-
-}
diff --git a/tests/src/org/connectbot/TerminalBridgeTest.java b/tests/src/org/connectbot/TerminalBridgeTest.java
deleted file mode 100644
index bfa5e23..0000000
--- a/tests/src/org/connectbot/TerminalBridgeTest.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * ConnectBot: simple, powerful, open-source SSH client for Android
- * Copyright 2007 Kenny Root, Jeffrey Sharkey
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.connectbot;
-
-import android.test.AndroidTestCase;
-
-/**
- * @author Kenny Root
- *
- */
-public class TerminalBridgeTest extends AndroidTestCase {
- public void testShiftLock() throws SecurityException, NoSuchFieldException,
- IllegalArgumentException, IllegalAccessException {
-// TerminalBridge bridge = new TerminalBridge();
-// AbsTransport nullTransport = new NullTransport();
-//
-// // Make sure onKey will work when we call it
-// Field disconnected = TerminalBridge.class
-// .getDeclaredField("disconnected");
-// Field keymode = TerminalBridge.class.getDeclaredField("keymode");
-// Field transport = TerminalBridge.class.getDeclaredField("transport");
-//
-// disconnected.setAccessible(true);
-// keymode.setAccessible(true);
-// transport.setAccessible(true);
-//
-// disconnected.setBoolean(bridge, false);
-// keymode.set(bridge, PreferenceConstants.KEYMODE_RIGHT);
-// transport.set(bridge, nullTransport);
-//
-// // Begin tests
-// assertTrue("Meta state is " + bridge.getMetaState()
-// + " when it should be 0", bridge.getMetaState() == 0);
-//
-// KeyEvent shiftDown = new KeyEvent(KeyEvent.ACTION_DOWN,
-// KeyEvent.KEYCODE_SHIFT_LEFT);
-// bridge.onKey(null, shiftDown.getKeyCode(), shiftDown);
-//
-// assertTrue("Shift test: after shift press, meta state is "
-// + bridge.getMetaState() + " when it should be "
-// + TerminalBridge.META_SHIFT_ON,
-// bridge.getMetaState() == TerminalBridge.META_SHIFT_ON);
-//
-// KeyEvent shiftUp = KeyEvent.changeAction(shiftDown, KeyEvent.ACTION_UP);
-// bridge.onKey(null, shiftUp.getKeyCode(), shiftUp);
-//
-// assertTrue("Shift test: after shift release, meta state is "
-// + bridge.getMetaState() + " when it should be "
-// + TerminalBridge.META_SHIFT_ON,
-// bridge.getMetaState() == TerminalBridge.META_SHIFT_ON);
-//
-// KeyEvent letterAdown = new KeyEvent(KeyEvent.ACTION_DOWN,
-// KeyEvent.KEYCODE_A);
-// KeyEvent letterAup = KeyEvent.changeAction(letterAdown,
-// KeyEvent.ACTION_UP);
-//
-// bridge.onKey(null, letterAdown.getKeyCode(), letterAdown);
-// bridge.onKey(null, letterAup.getKeyCode(), letterAup);
-//
-// assertTrue("Shift test: after letter press and release, meta state is "
-// + bridge.getMetaState() + " when it should be 0", bridge
-// .getMetaState() == 0);
-//
-// bridge.onKey(null, shiftDown.getKeyCode(), shiftDown);
-// bridge.onKey(null, shiftUp.getKeyCode(), shiftUp);
-// bridge.onKey(null, shiftDown.getKeyCode(), shiftDown);
-// bridge.onKey(null, shiftUp.getKeyCode(), shiftUp);
-//
-// assertTrue("Shift lock test: after two shift presses, meta state is "
-// + bridge.getMetaState() + " when it should be "
-// + TerminalBridge.META_SHIFT_LOCK,
-// bridge.getMetaState() == TerminalBridge.META_SHIFT_LOCK);
-//
-// bridge.onKey(null, letterAdown.getKeyCode(), letterAdown);
-//
-// assertTrue(
-// "Shift lock test: after letter press, meta state is "
-// + bridge.getMetaState() + " when it should be "
-// + TerminalBridge.META_SHIFT_LOCK,
-// bridge.getMetaState() == TerminalBridge.META_SHIFT_LOCK);
-//
-// bridge.onKey(null, letterAup.getKeyCode(), letterAup);
-//
-// assertTrue(
-// "Shift lock test: after letter press and release, meta state is "
-// + bridge.getMetaState() + " when it should be "
-// + TerminalBridge.META_SHIFT_LOCK,
-// bridge.getMetaState() == TerminalBridge.META_SHIFT_LOCK);
- }
-}