From 51c1f2b5c44a653874b3a6b89929c522eaf0a2d2 Mon Sep 17 00:00:00 2001 From: cping Date: Fri, 24 Jul 2015 18:11:41 +0800 Subject: [PATCH] update update --- demo/demo.jar | Bin 8017747 -> 7986399 bytes .../src/com/google/zxing/BarcodeFormat.java | 3 - .../com/google/zxing/MultiFormatReader.java | 5 - .../com/google/zxing/MultiFormatWriter.java | 4 - .../zxing/aztec/AztecDetectorResult.java | 49 -- .../com/google/zxing/aztec/AztecReader.java | 123 --- .../com/google/zxing/aztec/AztecWriter.java | 99 --- .../google/zxing/aztec/decoder/Decoder.java | 351 -------- .../google/zxing/aztec/detector/Detector.java | 674 --------------- .../google/zxing/aztec/encoder/AztecCode.java | 89 -- .../zxing/aztec/encoder/BinaryShiftToken.java | 60 -- .../google/zxing/aztec/encoder/Encoder.java | 384 --------- .../zxing/aztec/encoder/HighLevelEncoder.java | 312 ------- .../zxing/aztec/encoder/SimpleToken.java | 46 - .../com/google/zxing/aztec/encoder/State.java | 179 ---- .../com/google/zxing/aztec/encoder/Token.java | 47 - .../src/org/ripple/power/config/LSystem.java | 2 +- .../org/ripple/power/helper/HelperDialog.java | 25 +- .../org/ripple/power/txns/btc/BTCLoader.java | 13 +- eclipse/src/org/ripple/power/ui/MainUI.java | 9 +- .../ripple/power/ui/RPAccountInfoDialog.java | 5 +- .../ripple/power/ui/RPChatServerDialog.java | 5 +- .../org/ripple/power/ui/RPExchangeDialog.java | 3 + .../org/ripple/power/ui/RPGatewayDialog.java | 3 + .../power/ui/RPOtherServicesDialog.java | 117 ++- .../power/ui/RPSelectAddressDialog.java | 3 + .../ripple/power/ui/RPSelectMoneyDialog.java | 3 + .../{BTCTopPanel.java => BTCCmdPanel.java} | 78 +- .../src/org/ripple/power/ui/btc/BTCPanel.java | 4 +- .../org/ripple/power/ui/btc/BTCWallet.java | 426 ---------- .../power/ui/btc/BitcoinWalletDialog.java | 430 ++++++++++ .../power/ui/btc/DownloadBlocksDialog.java | 8 +- .../power/ui/btc/ReceiveAddressDialog.java | 5 +- .../power/ui/btc/SendAddressDialog.java | 5 +- .../org/ripple/power/ui/btc/SendDialog.java | 5 +- .../org/ripple/power/ui/btc/SignDialog.java | 5 +- .../ripple/power/ui/btc/TransactionPanel.java | 804 +++++++++--------- .../org/ripple/power/ui/btc/VerifyDialog.java | 5 +- .../src/org/ripple/power/utils/IP46Utils.java | 10 +- eclipse/src/res/config/gateways.json | 8 + 40 files changed, 1071 insertions(+), 3335 deletions(-) delete mode 100644 eclipse/src/com/google/zxing/aztec/AztecDetectorResult.java delete mode 100644 eclipse/src/com/google/zxing/aztec/AztecReader.java delete mode 100644 eclipse/src/com/google/zxing/aztec/AztecWriter.java delete mode 100644 eclipse/src/com/google/zxing/aztec/decoder/Decoder.java delete mode 100644 eclipse/src/com/google/zxing/aztec/detector/Detector.java delete mode 100644 eclipse/src/com/google/zxing/aztec/encoder/AztecCode.java delete mode 100644 eclipse/src/com/google/zxing/aztec/encoder/BinaryShiftToken.java delete mode 100644 eclipse/src/com/google/zxing/aztec/encoder/Encoder.java delete mode 100644 eclipse/src/com/google/zxing/aztec/encoder/HighLevelEncoder.java delete mode 100644 eclipse/src/com/google/zxing/aztec/encoder/SimpleToken.java delete mode 100644 eclipse/src/com/google/zxing/aztec/encoder/State.java delete mode 100644 eclipse/src/com/google/zxing/aztec/encoder/Token.java rename eclipse/src/org/ripple/power/ui/btc/{BTCTopPanel.java => BTCCmdPanel.java} (64%) delete mode 100644 eclipse/src/org/ripple/power/ui/btc/BTCWallet.java create mode 100644 eclipse/src/org/ripple/power/ui/btc/BitcoinWalletDialog.java diff --git a/demo/demo.jar b/demo/demo.jar index 4b743ea706ffb0002dc7b81b362b0f04da56fcde..f1f9392efd8f95f82d033cbb9543828f4f8e1f9c 100644 GIT binary patch delta 287744 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

wWhJ3!gyO`@hN+ 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�|CS9f25eb;kXw9_TK>8LH+@Vg$ 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 KHSRX+b%frJXD3KWD1wVVR>;b#iOn1~^J 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

mX(RYbx zzK)Rn#AJR=Wm!WqvPX4T5-B6?g_+TEz=}@TtCNJ|u?i&EL7m19D67v*)=nh7)&Y8~ zlNE4{gE~RTPSqfe>P!LK|D;%39nt=DTFG2=gidHa-!I?@$}CZ6`@I}6pvi97M(yl? z3Rl%wjq}W$)K0>f9h`vjbfnYn$Xu#3G8d{tQ(e?fls7iXio?X<7%v9<&}C=jC(?%n zqNuG4Y<`3bGhEaK!f}80>rG~^Fy(d<3pmllpOTCz&lT0DO^S?I&{+>8chMDkx8clE zDLFT_DcQQARMdFUt3eWkHDl#~DcyXWgrniyP?lXp1?=RGSU=-!u&ieULtagi5fcji zC&_^2#$OnMH@=Km)i>Fc&FUhA_=Ox9?184bAlKoIT2vAYe;ojqrdmd96UQh9*n1S&i{a z8bNo+TUj?ecMC%CqmXIMEv3rrF7(u)oF=?LZ3qNu zf@wx6zR2t%ESza%*3wkda{^x1Pcz9F_BGz~Uc-A{?G?k@D$f5n3mLfMtM)Ns{4pP2 z%_d7fwLSYtP0}aH+xe+|Bz*(IhbJ_|tL9et)KvSNjx)A0AFm*A)}X|9R2{roinY@9 z4L^N7-_=p(8$e`ySS)ny6hU^kOphsh?#NR94+$ z{o$|6!x=GMH<4ZY1|5nK(v8k zoUPkLZ9{oMYD20@O~FBqfoL?eRsmPLq~J)zK-A%&oeJ182&1P_M`R>XSbsteNXk^D zDJhx@sHNne1R?nur?g2vngcmm7CQ%nP;f?@U`|VeS@(wv&1FlU=cL%t`(T(p6vz}dh z338;dO+kq5(3iYU_r zpyvuzOJdb2dbub1(;rN<=WKs+jRX1gAN{Fk9FUY-{b_leI$3Y;z5aBQA=QuilSe%M zQT^SYddGu2pr${S0})oJ=w>{UUT;la2?$@qFp~Yw^q{f?bu;0uH{E8xc%9{&h~LO4 z8q9tt$I%w{>)4!Lvfs@uDLM&R^39}iN$Tdpn%1;830Yg5MYT!L@79h|lhtW@+p_a% z%h7y$T9J&h$?A|#ZBFDn@;dM`8SP+ZE?K0YIXiZu>=Z=&(1{kZ@a!)1Yl=EmZ(p~3 z+EbP9M4_pu@cVmEk5puJb+3F{c@b*ul2Mrsr$Q0FOs!5;w-g@bv0r={(G1UZ>PsV= z!F@)H@@YpiIHGlBKK;x7d3z|IqMGBMZ;s^CIQCD}(R`|4|F|B{r?<@!Yt5s4N=Sou zE;`VJG#InWsQ_0g7ua$8otk5Y{5(yq5>zgwE#QPrZuqgM?k&_of@@>^Z%1VM-^JwG68OF8)UzdG`OGb( zl`T=4#U+Jwt0mf@(UL-PY6VNrt|+8#?4QCtg|v+Qv#qKSyMhPU)6VvAjF5p=w(5K# zmA4#VOFMG`HD}NdmkQ~i%RpP&-x}|hi!x9&!NLFzrHlu3hCvYq8YnLl^ZKlb1JIpk zGTgKtPtkL1>i zJ--1`$d2M~46vXsZ9up@Ljx^s1A_H(P3SHQom!;{g|>wazpRx)ZZxee;+@+mg>30) zTXneJ{$Dhqs@Q=BWS0d(#TgCMDGRD5{jLd>vrzPHP3U136xZI zC$__AEd>YOu)yJVD0JVhJYb%U3FOG3JkU8CeZ0^Acwj{~dXrJOR)WQOmJMy&7xO@5 z4zz7s&jXWkFz36BUG0o^A_rY}!^1q_*j^o}yM|J;QR(`(XTwEY)Z1R|NL$(?8N7)` zAX~syTllr7j1EX4-IWD!T3!cO^=|+VTzH@5z_Z^5VX~Nu+NzqU z5x*E@$Z8Vawc_9!#<{6KSfAcA2(-<3voQpf9kvuikQVZbIQdejMR>U(^?&{=J#iZ_lo O9))k=I?-74&Ho2mD3L?} delta 316161 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

=_#D=Lna6^V_k(W_F-T#0wz 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 z

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 z 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 z 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 ve*ujx;ak?9xqL*m)PciOhWYt48 hints) { if (formats.contains(BarcodeFormat.DATA_MATRIX)) { readers.add(new DataMatrixReader()); } - if (formats.contains(BarcodeFormat.AZTEC)) { - readers.add(new AztecReader()); - } if (formats.contains(BarcodeFormat.MAXICODE)) { readers.add(new MaxiCodeReader()); } @@ -154,7 +150,6 @@ public void setHints(Map hints) { readers.add(new QRCodeReader()); readers.add(new DataMatrixReader()); - readers.add(new AztecReader()); readers.add(new MaxiCodeReader()); if (tryHarder) { diff --git a/eclipse/src/com/google/zxing/MultiFormatWriter.java b/eclipse/src/com/google/zxing/MultiFormatWriter.java index 37446280..82a626bd 100644 --- a/eclipse/src/com/google/zxing/MultiFormatWriter.java +++ b/eclipse/src/com/google/zxing/MultiFormatWriter.java @@ -16,7 +16,6 @@ package com.google.zxing; -import com.google.zxing.aztec.AztecWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.datamatrix.DataMatrixWriter; import com.google.zxing.oned.CodaBarWriter; @@ -77,9 +76,6 @@ public BitMatrix encode(String contents, BarcodeFormat format, int width, case DATA_MATRIX: writer = new DataMatrixWriter(); break; - case AZTEC: - writer = new AztecWriter(); - break; default: throw new IllegalArgumentException( "No encoder available for format " + format); diff --git a/eclipse/src/com/google/zxing/aztec/AztecDetectorResult.java b/eclipse/src/com/google/zxing/aztec/AztecDetectorResult.java deleted file mode 100644 index d50a5838..00000000 --- a/eclipse/src/com/google/zxing/aztec/AztecDetectorResult.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2010 ZXing authors - * - * 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 com.google.zxing.aztec; - -import com.google.zxing.ResultPoint; -import com.google.zxing.common.BitMatrix; -import com.google.zxing.common.DetectorResult; - -public final class AztecDetectorResult extends DetectorResult { - - private final boolean compact; - private final int nbDatablocks; - private final int nbLayers; - - public AztecDetectorResult(BitMatrix bits, ResultPoint[] points, - boolean compact, int nbDatablocks, int nbLayers) { - super(bits, points); - this.compact = compact; - this.nbDatablocks = nbDatablocks; - this.nbLayers = nbLayers; - } - - public int getNbLayers() { - return nbLayers; - } - - public int getNbDatablocks() { - return nbDatablocks; - } - - public boolean isCompact() { - return compact; - } - -} diff --git a/eclipse/src/com/google/zxing/aztec/AztecReader.java b/eclipse/src/com/google/zxing/aztec/AztecReader.java deleted file mode 100644 index 6c23c6ee..00000000 --- a/eclipse/src/com/google/zxing/aztec/AztecReader.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright 2010 ZXing authors - * - * 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 com.google.zxing.aztec; - -import com.google.zxing.BarcodeFormat; -import com.google.zxing.BinaryBitmap; -import com.google.zxing.DecodeHintType; -import com.google.zxing.FormatException; -import com.google.zxing.NotFoundException; -import com.google.zxing.Reader; -import com.google.zxing.Result; -import com.google.zxing.ResultMetadataType; -import com.google.zxing.ResultPoint; -import com.google.zxing.ResultPointCallback; -import com.google.zxing.aztec.decoder.Decoder; -import com.google.zxing.aztec.detector.Detector; -import com.google.zxing.common.DecoderResult; - -import java.util.List; -import java.util.Map; - -/** - * This implementation can detect and decode Aztec codes in an image. - * - * @author David Olivier - */ -public final class AztecReader implements Reader { - - /** - * Locates and decodes a Data Matrix code in an image. - * - * @return a String representing the content encoded by the Data Matrix code - * @throws NotFoundException - * if a Data Matrix code cannot be found - * @throws FormatException - * if a Data Matrix code cannot be decoded - */ - @Override - public Result decode(BinaryBitmap image) throws NotFoundException, - FormatException { - return decode(image, null); - } - - @Override - public Result decode(BinaryBitmap image, Map hints) - throws NotFoundException, FormatException { - - NotFoundException notFoundException = null; - FormatException formatException = null; - Detector detector = new Detector(image.getBlackMatrix()); - ResultPoint[] points = null; - DecoderResult decoderResult = null; - try { - AztecDetectorResult detectorResult = detector.detect(false); - points = detectorResult.getPoints(); - decoderResult = new Decoder().decode(detectorResult); - } catch (NotFoundException e) { - notFoundException = e; - } catch (FormatException e) { - formatException = e; - } - if (decoderResult == null) { - try { - AztecDetectorResult detectorResult = detector.detect(true); - points = detectorResult.getPoints(); - decoderResult = new Decoder().decode(detectorResult); - } catch (NotFoundException | FormatException e) { - if (notFoundException != null) { - throw notFoundException; - } - if (formatException != null) { - throw formatException; - } - throw e; - } - } - - if (hints != null) { - ResultPointCallback rpcb = (ResultPointCallback) hints - .get(DecodeHintType.NEED_RESULT_POINT_CALLBACK); - if (rpcb != null) { - for (ResultPoint point : points) { - rpcb.foundPossibleResultPoint(point); - } - } - } - - Result result = new Result(decoderResult.getText(), - decoderResult.getRawBytes(), points, BarcodeFormat.AZTEC); - - List byteSegments = decoderResult.getByteSegments(); - if (byteSegments != null) { - result.putMetadata(ResultMetadataType.BYTE_SEGMENTS, byteSegments); - } - String ecLevel = decoderResult.getECLevel(); - if (ecLevel != null) { - result.putMetadata(ResultMetadataType.ERROR_CORRECTION_LEVEL, - ecLevel); - } - - return result; - } - - @Override - public void reset() { - // do nothing - } - -} diff --git a/eclipse/src/com/google/zxing/aztec/AztecWriter.java b/eclipse/src/com/google/zxing/aztec/AztecWriter.java deleted file mode 100644 index b7744666..00000000 --- a/eclipse/src/com/google/zxing/aztec/AztecWriter.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright 2013 ZXing authors - * - * 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 com.google.zxing.aztec; - -import com.google.zxing.BarcodeFormat; -import com.google.zxing.EncodeHintType; -import com.google.zxing.Writer; -import com.google.zxing.aztec.encoder.AztecCode; -import com.google.zxing.aztec.encoder.Encoder; -import com.google.zxing.common.BitMatrix; - -import java.nio.charset.Charset; -import java.util.Map; - -public final class AztecWriter implements Writer { - - private static final Charset DEFAULT_CHARSET = Charset - .forName("ISO-8859-1"); - - @Override - public BitMatrix encode(String contents, BarcodeFormat format, int width, - int height) { - return encode(contents, format, width, height, null); - } - - @Override - public BitMatrix encode(String contents, BarcodeFormat format, int width, - int height, Map hints) { - String charset = hints == null ? null : (String) hints - .get(EncodeHintType.CHARACTER_SET); - Number eccPercent = hints == null ? null : (Number) hints - .get(EncodeHintType.ERROR_CORRECTION); - Number layers = hints == null ? null : (Number) hints - .get(EncodeHintType.AZTEC_LAYERS); - return encode( - contents, - format, - width, - height, - charset == null ? DEFAULT_CHARSET : Charset.forName(charset), - eccPercent == null ? Encoder.DEFAULT_EC_PERCENT : eccPercent - .intValue(), - layers == null ? Encoder.DEFAULT_AZTEC_LAYERS : layers - .intValue()); - } - - private static BitMatrix encode(String contents, BarcodeFormat format, - int width, int height, Charset charset, int eccPercent, int layers) { - if (format != BarcodeFormat.AZTEC) { - throw new IllegalArgumentException( - "Can only encode AZTEC, but got " + format); - } - AztecCode aztec = Encoder.encode(contents.getBytes(charset), - eccPercent, layers); - return renderResult(aztec, width, height); - } - - private static BitMatrix renderResult(AztecCode code, int width, int height) { - BitMatrix input = code.getMatrix(); - if (input == null) { - throw new IllegalStateException(); - } - int inputWidth = input.getWidth(); - int inputHeight = input.getHeight(); - int outputWidth = Math.max(width, inputWidth); - int outputHeight = Math.max(height, inputHeight); - - int multiple = Math.min(outputWidth / inputWidth, outputHeight - / inputHeight); - int leftPadding = (outputWidth - (inputWidth * multiple)) / 2; - int topPadding = (outputHeight - (inputHeight * multiple)) / 2; - - BitMatrix output = new BitMatrix(outputWidth, outputHeight); - - for (int inputY = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) { - // Write the contents of this row of the barcode - for (int inputX = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) { - if (input.get(inputX, inputY)) { - output.setRegion(outputX, outputY, multiple, multiple); - } - } - } - return output; - } -} diff --git a/eclipse/src/com/google/zxing/aztec/decoder/Decoder.java b/eclipse/src/com/google/zxing/aztec/decoder/Decoder.java deleted file mode 100644 index 669dd315..00000000 --- a/eclipse/src/com/google/zxing/aztec/decoder/Decoder.java +++ /dev/null @@ -1,351 +0,0 @@ -/* - * Copyright 2010 ZXing authors - * - * 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 com.google.zxing.aztec.decoder; - -import com.google.zxing.FormatException; -import com.google.zxing.aztec.AztecDetectorResult; -import com.google.zxing.common.BitMatrix; -import com.google.zxing.common.DecoderResult; -import com.google.zxing.common.reedsolomon.GenericGF; -import com.google.zxing.common.reedsolomon.ReedSolomonDecoder; -import com.google.zxing.common.reedsolomon.ReedSolomonException; - -import java.util.Arrays; - -/** - *

- * The main class which implements Aztec Code decoding -- as opposed to locating - * and extracting the Aztec Code from an image. - *

- * - * @author David Olivier - */ -public final class Decoder { - - private enum Table { - UPPER, LOWER, MIXED, DIGIT, PUNCT, BINARY - } - - private static final String[] UPPER_TABLE = { "CTRL_PS", " ", "A", "B", - "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", - "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "CTRL_LL", - "CTRL_ML", "CTRL_DL", "CTRL_BS" }; - - private static final String[] LOWER_TABLE = { "CTRL_PS", " ", "a", "b", - "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", - "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "CTRL_US", - "CTRL_ML", "CTRL_DL", "CTRL_BS" }; - - private static final String[] MIXED_TABLE = { "CTRL_PS", " ", "\1", "\2", - "\3", "\4", "\5", "\6", "\7", "\b", "\t", "\n", "\13", "\f", "\r", - "\33", "\34", "\35", "\36", "\37", "@", "\\", "^", "_", "`", "|", - "~", "\177", "CTRL_LL", "CTRL_UL", "CTRL_PL", "CTRL_BS" }; - - private static final String[] PUNCT_TABLE = { "", "\r", "\r\n", ". ", ", ", - ": ", "!", "\"", "#", "$", "%", "&", "'", "(", ")", "*", "+", ",", - "-", ".", "/", ":", ";", "<", "=", ">", "?", "[", "]", "{", "}", - "CTRL_UL" }; - - private static final String[] DIGIT_TABLE = { "CTRL_PS", " ", "0", "1", - "2", "3", "4", "5", "6", "7", "8", "9", ",", ".", "CTRL_UL", - "CTRL_US" }; - - private AztecDetectorResult ddata; - - public DecoderResult decode(AztecDetectorResult detectorResult) - throws FormatException { - ddata = detectorResult; - BitMatrix matrix = detectorResult.getBits(); - boolean[] rawbits = extractBits(matrix); - boolean[] correctedBits = correctBits(rawbits); - String result = getEncodedData(correctedBits); - return new DecoderResult(null, result, null, null); - } - - // This method is used for testing the high-level encoder - public static String highLevelDecode(boolean[] correctedBits) { - return getEncodedData(correctedBits); - } - - /** - * Gets the string encoded in the aztec code bits - * - * @return the decoded string - */ - private static String getEncodedData(boolean[] correctedBits) { - int endIndex = correctedBits.length; - Table latchTable = Table.UPPER; // table most recently latched to - Table shiftTable = Table.UPPER; // table to use for the next read - StringBuilder result = new StringBuilder(20); - int index = 0; - while (index < endIndex) { - if (shiftTable == Table.BINARY) { - if (endIndex - index < 5) { - break; - } - int length = readCode(correctedBits, index, 5); - index += 5; - if (length == 0) { - if (endIndex - index < 11) { - break; - } - length = readCode(correctedBits, index, 11) + 31; - index += 11; - } - for (int charCount = 0; charCount < length; charCount++) { - if (endIndex - index < 8) { - index = endIndex; // Force outer loop to exit - break; - } - int code = readCode(correctedBits, index, 8); - result.append((char) code); - index += 8; - } - // Go back to whatever mode we had been in - shiftTable = latchTable; - } else { - int size = shiftTable == Table.DIGIT ? 4 : 5; - if (endIndex - index < size) { - break; - } - int code = readCode(correctedBits, index, size); - index += size; - String str = getCharacter(shiftTable, code); - if (str.startsWith("CTRL_")) { - // Table changes - shiftTable = getTable(str.charAt(5)); - if (str.charAt(6) == 'L') { - latchTable = shiftTable; - } - } else { - result.append(str); - // Go back to whatever mode we had been in - shiftTable = latchTable; - } - } - } - return result.toString(); - } - - /** - * gets the table corresponding to the char passed - */ - private static Table getTable(char t) { - switch (t) { - case 'L': - return Table.LOWER; - case 'P': - return Table.PUNCT; - case 'M': - return Table.MIXED; - case 'D': - return Table.DIGIT; - case 'B': - return Table.BINARY; - case 'U': - default: - return Table.UPPER; - } - } - - /** - * Gets the character (or string) corresponding to the passed code in the - * given table - * - * @param table - * the table used - * @param code - * the code of the character - */ - private static String getCharacter(Table table, int code) { - switch (table) { - case UPPER: - return UPPER_TABLE[code]; - case LOWER: - return LOWER_TABLE[code]; - case MIXED: - return MIXED_TABLE[code]; - case PUNCT: - return PUNCT_TABLE[code]; - case DIGIT: - return DIGIT_TABLE[code]; - default: - // Should not reach here. - throw new IllegalStateException("Bad table"); - } - } - - /** - *

- * Performs RS error correction on an array of bits. - *

- * - * @return the corrected array - * @throws FormatException - * if the input contains too many errors - */ - private boolean[] correctBits(boolean[] rawbits) throws FormatException { - GenericGF gf; - int codewordSize; - - if (ddata.getNbLayers() <= 2) { - codewordSize = 6; - gf = GenericGF.AZTEC_DATA_6; - } else if (ddata.getNbLayers() <= 8) { - codewordSize = 8; - gf = GenericGF.AZTEC_DATA_8; - } else if (ddata.getNbLayers() <= 22) { - codewordSize = 10; - gf = GenericGF.AZTEC_DATA_10; - } else { - codewordSize = 12; - gf = GenericGF.AZTEC_DATA_12; - } - - int numDataCodewords = ddata.getNbDatablocks(); - int numCodewords = rawbits.length / codewordSize; - if (numCodewords < numDataCodewords) { - throw FormatException.getFormatInstance(); - } - int offset = rawbits.length % codewordSize; - int numECCodewords = numCodewords - numDataCodewords; - - int[] dataWords = new int[numCodewords]; - for (int i = 0; i < numCodewords; i++, offset += codewordSize) { - dataWords[i] = readCode(rawbits, offset, codewordSize); - } - - try { - ReedSolomonDecoder rsDecoder = new ReedSolomonDecoder(gf); - rsDecoder.decode(dataWords, numECCodewords); - } catch (ReedSolomonException ignored) { - throw FormatException.getFormatInstance(); - } - - // Now perform the unstuffing operation. - // First, count how many bits are going to be thrown out as stuffing - int mask = (1 << codewordSize) - 1; - int stuffedBits = 0; - for (int i = 0; i < numDataCodewords; i++) { - int dataWord = dataWords[i]; - if (dataWord == 0 || dataWord == mask) { - throw FormatException.getFormatInstance(); - } else if (dataWord == 1 || dataWord == mask - 1) { - stuffedBits++; - } - } - // Now, actually unpack the bits and remove the stuffing - boolean[] correctedBits = new boolean[numDataCodewords * codewordSize - - stuffedBits]; - int index = 0; - for (int i = 0; i < numDataCodewords; i++) { - int dataWord = dataWords[i]; - if (dataWord == 1 || dataWord == mask - 1) { - // next codewordSize-1 bits are all zeros or all ones - Arrays.fill(correctedBits, index, index + codewordSize - 1, - dataWord > 1); - index += codewordSize - 1; - } else { - for (int bit = codewordSize - 1; bit >= 0; --bit) { - correctedBits[index++] = (dataWord & (1 << bit)) != 0; - } - } - } - return correctedBits; - } - - /** - * Gets the array of bits from an Aztec Code matrix - * - * @return the array of bits - */ - boolean[] extractBits(BitMatrix matrix) { - boolean compact = ddata.isCompact(); - int layers = ddata.getNbLayers(); - int baseMatrixSize = compact ? 11 + layers * 4 : 14 + layers * 4; // not - // including - // alignment - // lines - int[] alignmentMap = new int[baseMatrixSize]; - boolean[] rawbits = new boolean[totalBitsInLayer(layers, compact)]; - - if (compact) { - for (int i = 0; i < alignmentMap.length; i++) { - alignmentMap[i] = i; - } - } else { - int matrixSize = baseMatrixSize + 1 + 2 - * ((baseMatrixSize / 2 - 1) / 15); - int origCenter = baseMatrixSize / 2; - int center = matrixSize / 2; - for (int i = 0; i < origCenter; i++) { - int newOffset = i + i / 15; - alignmentMap[origCenter - i - 1] = center - newOffset - 1; - alignmentMap[origCenter + i] = center + newOffset + 1; - } - } - for (int i = 0, rowOffset = 0; i < layers; i++) { - int rowSize = compact ? (layers - i) * 4 + 9 - : (layers - i) * 4 + 12; - // The top-left most point of this layer is (not - // including alignment lines) - int low = i * 2; - // The bottom-right most point of this layer is (not - // including alignment lines) - int high = baseMatrixSize - 1 - low; - // We pull bits from the two 2 x rowSize columns and two rowSize x 2 - // rows - for (int j = 0; j < rowSize; j++) { - int columnOffset = j * 2; - for (int k = 0; k < 2; k++) { - // left column - rawbits[rowOffset + columnOffset + k] = matrix.get( - alignmentMap[low + k], alignmentMap[low + j]); - // bottom row - rawbits[rowOffset + 2 * rowSize + columnOffset + k] = matrix - .get(alignmentMap[low + j], alignmentMap[high - k]); - // right column - rawbits[rowOffset + 4 * rowSize + columnOffset + k] = matrix - .get(alignmentMap[high - k], alignmentMap[high - j]); - // top row - rawbits[rowOffset + 6 * rowSize + columnOffset + k] = matrix - .get(alignmentMap[high - j], alignmentMap[low + k]); - } - } - rowOffset += rowSize * 8; - } - return rawbits; - } - - /** - * Reads a code of given length and at given index in an array of bits - */ - private static int readCode(boolean[] rawbits, int startIndex, int length) { - int res = 0; - for (int i = startIndex; i < startIndex + length; i++) { - res <<= 1; - if (rawbits[i]) { - res |= 0x01; - } - } - return res; - } - - private static int totalBitsInLayer(int layers, boolean compact) { - return ((compact ? 88 : 112) + 16 * layers) * layers; - } -} diff --git a/eclipse/src/com/google/zxing/aztec/detector/Detector.java b/eclipse/src/com/google/zxing/aztec/detector/Detector.java deleted file mode 100644 index a558f605..00000000 --- a/eclipse/src/com/google/zxing/aztec/detector/Detector.java +++ /dev/null @@ -1,674 +0,0 @@ -/* - * Copyright 2010 ZXing authors - * - * 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 com.google.zxing.aztec.detector; - -import com.google.zxing.NotFoundException; -import com.google.zxing.ResultPoint; -import com.google.zxing.aztec.AztecDetectorResult; -import com.google.zxing.common.BitMatrix; -import com.google.zxing.common.GridSampler; -import com.google.zxing.common.detector.MathUtils; -import com.google.zxing.common.detector.WhiteRectangleDetector; -import com.google.zxing.common.reedsolomon.GenericGF; -import com.google.zxing.common.reedsolomon.ReedSolomonDecoder; -import com.google.zxing.common.reedsolomon.ReedSolomonException; - -/** - * Encapsulates logic that can detect an Aztec Code in an image, even if the - * Aztec Code is rotated or skewed, or partially obscured. - * - * @author David Olivier - * @author Frank Yellin - */ -public final class Detector { - - private final BitMatrix image; - - private boolean compact; - private int nbLayers; - private int nbDataBlocks; - private int nbCenterLayers; - private int shift; - - public Detector(BitMatrix image) { - this.image = image; - } - - public AztecDetectorResult detect() throws NotFoundException { - return detect(false); - } - - /** - * Detects an Aztec Code in an image. - * - * @param isMirror - * if true, image is a mirror-image of original - * @return {@link AztecDetectorResult} encapsulating results of detecting an - * Aztec Code - * @throws NotFoundException - * if no Aztec Code can be found - */ - public AztecDetectorResult detect(boolean isMirror) - throws NotFoundException { - - // 1. Get the center of the aztec matrix - Point pCenter = getMatrixCenter(); - - // 2. Get the center points of the four diagonal points just outside the - // bull's eye - // [topRight, bottomRight, bottomLeft, topLeft] - ResultPoint[] bullsEyeCorners = getBullsEyeCorners(pCenter); - - if (isMirror) { - ResultPoint temp = bullsEyeCorners[0]; - bullsEyeCorners[0] = bullsEyeCorners[2]; - bullsEyeCorners[2] = temp; - } - - // 3. Get the size of the matrix and other parameters from the bull's - // eye - extractParameters(bullsEyeCorners); - - // 4. Sample the grid - BitMatrix bits = sampleGrid(image, bullsEyeCorners[shift % 4], - bullsEyeCorners[(shift + 1) % 4], - bullsEyeCorners[(shift + 2) % 4], - bullsEyeCorners[(shift + 3) % 4]); - - // 5. Get the corners of the matrix. - ResultPoint[] corners = getMatrixCornerPoints(bullsEyeCorners); - - return new AztecDetectorResult(bits, corners, compact, nbDataBlocks, - nbLayers); - } - - /** - * Extracts the number of data layers and data blocks from the layer around - * the bull's eye. - * - * @param bullsEyeCorners - * the array of bull's eye corners - * @throws NotFoundException - * in case of too many errors or invalid parameters - */ - private void extractParameters(ResultPoint[] bullsEyeCorners) - throws NotFoundException { - if (!isValid(bullsEyeCorners[0]) || !isValid(bullsEyeCorners[1]) - || !isValid(bullsEyeCorners[2]) || !isValid(bullsEyeCorners[3])) { - throw NotFoundException.getNotFoundInstance(); - } - int length = 2 * nbCenterLayers; - // Get the bits around the bull's eye - int[] sides = { - sampleLine(bullsEyeCorners[0], bullsEyeCorners[1], length), // Right - // side - sampleLine(bullsEyeCorners[1], bullsEyeCorners[2], length), // Bottom - sampleLine(bullsEyeCorners[2], bullsEyeCorners[3], length), // Left - // side - sampleLine(bullsEyeCorners[3], bullsEyeCorners[0], length) // Top - }; - - // bullsEyeCorners[shift] is the corner of the bulls'eye that has three - // orientation marks. - // sides[shift] is the row/column that goes from the corner with three - // orientation marks to the corner with two. - shift = getRotation(sides, length); - - // Flatten the parameter bits into a single 28- or 40-bit long - long parameterData = 0; - for (int i = 0; i < 4; i++) { - int side = sides[(shift + i) % 4]; - if (compact) { - // Each side of the form ..XXXXXXX. where Xs are parameter data - parameterData <<= 7; - parameterData += (side >> 1) & 0x7F; - } else { - // Each side of the form ..XXXXX.XXXXX. where Xs are parameter - // data - parameterData <<= 10; - parameterData += ((side >> 2) & (0x1f << 5)) - + ((side >> 1) & 0x1F); - } - } - - // Corrects parameter data using RS. Returns just the data portion - // without the error correction. - int correctedData = getCorrectedParameterData(parameterData, compact); - - if (compact) { - // 8 bits: 2 bits layers and 6 bits data blocks - nbLayers = (correctedData >> 6) + 1; - nbDataBlocks = (correctedData & 0x3F) + 1; - } else { - // 16 bits: 5 bits layers and 11 bits data blocks - nbLayers = (correctedData >> 11) + 1; - nbDataBlocks = (correctedData & 0x7FF) + 1; - } - } - - private static final int[] EXPECTED_CORNER_BITS = { 0xee0, // 07340 XXX .XX - // X.. ... - 0x1dc, // 00734 ... XXX .XX X.. - 0x83b, // 04073 X.. ... XXX .XX - 0x707, // 03407 .XX X.. ... XXX - }; - - private static int getRotation(int[] sides, int length) - throws NotFoundException { - // In a normal pattern, we expect to See - // ** .* D A - // * * - // - // . * - // .. .. C B - // - // Grab the 3 bits from each of the sides the form the locator pattern - // and concatenate - // into a 12-bit integer. Start with the bit at A - int cornerBits = 0; - for (int side : sides) { - // XX......X where X's are orientation marks - int t = ((side >> (length - 2)) << 1) + (side & 1); - cornerBits = (cornerBits << 3) + t; - } - // Mov the bottom bit to the top, so that the three bits of the locator - // pattern at A are - // together. cornerBits is now: - // 3 orientation bits at A || 3 orientation bits at B || ... || 3 - // orientation bits at D - cornerBits = ((cornerBits & 1) << 11) + (cornerBits >> 1); - // The result shift indicates which element of BullsEyeCorners[] goes - // into the top-left - // corner. Since the four rotation values have a Hamming distance of 8, - // we - // can easily tolerate two errors. - for (int shift = 0; shift < 4; shift++) { - if (Integer.bitCount(cornerBits ^ EXPECTED_CORNER_BITS[shift]) <= 2) { - return shift; - } - } - throw NotFoundException.getNotFoundInstance(); - } - - /** - * Corrects the parameter bits using Reed-Solomon algorithm. - * - * @param parameterData - * parameter bits - * @param compact - * true if this is a compact Aztec code - * @throws NotFoundException - * if the array contains too many errors - */ - private static int getCorrectedParameterData(long parameterData, - boolean compact) throws NotFoundException { - int numCodewords; - int numDataCodewords; - - if (compact) { - numCodewords = 7; - numDataCodewords = 2; - } else { - numCodewords = 10; - numDataCodewords = 4; - } - - int numECCodewords = numCodewords - numDataCodewords; - int[] parameterWords = new int[numCodewords]; - for (int i = numCodewords - 1; i >= 0; --i) { - parameterWords[i] = (int) parameterData & 0xF; - parameterData >>= 4; - } - try { - ReedSolomonDecoder rsDecoder = new ReedSolomonDecoder( - GenericGF.AZTEC_PARAM); - rsDecoder.decode(parameterWords, numECCodewords); - } catch (ReedSolomonException ignored) { - throw NotFoundException.getNotFoundInstance(); - } - // Toss the error correction. Just return the data as an integer - int result = 0; - for (int i = 0; i < numDataCodewords; i++) { - result = (result << 4) + parameterWords[i]; - } - return result; - } - - /** - * Finds the corners of a bull-eye centered on the passed point. This - * returns the centers of the diagonal points just outside the bull's eye - * Returns [topRight, bottomRight, bottomLeft, topLeft] - * - * @param pCenter - * Center point - * @return The corners of the bull-eye - * @throws NotFoundException - * If no valid bull-eye can be found - */ - private ResultPoint[] getBullsEyeCorners(Point pCenter) - throws NotFoundException { - - Point pina = pCenter; - Point pinb = pCenter; - Point pinc = pCenter; - Point pind = pCenter; - - boolean color = true; - - for (nbCenterLayers = 1; nbCenterLayers < 9; nbCenterLayers++) { - Point pouta = getFirstDifferent(pina, color, 1, -1); - Point poutb = getFirstDifferent(pinb, color, 1, 1); - Point poutc = getFirstDifferent(pinc, color, -1, 1); - Point poutd = getFirstDifferent(pind, color, -1, -1); - - // d a - // - // c b - - if (nbCenterLayers > 2) { - float q = distance(poutd, pouta) * nbCenterLayers - / (distance(pind, pina) * (nbCenterLayers + 2)); - if (q < 0.75 || q > 1.25 - || !isWhiteOrBlackRectangle(pouta, poutb, poutc, poutd)) { - break; - } - } - - pina = pouta; - pinb = poutb; - pinc = poutc; - pind = poutd; - - color = !color; - } - - if (nbCenterLayers != 5 && nbCenterLayers != 7) { - throw NotFoundException.getNotFoundInstance(); - } - - compact = nbCenterLayers == 5; - - // Expand the square by .5 pixel in each direction so that we're on the - // border - // between the white square and the black square - ResultPoint pinax = new ResultPoint(pina.getX() + 0.5f, - pina.getY() - 0.5f); - ResultPoint pinbx = new ResultPoint(pinb.getX() + 0.5f, - pinb.getY() + 0.5f); - ResultPoint pincx = new ResultPoint(pinc.getX() - 0.5f, - pinc.getY() + 0.5f); - ResultPoint pindx = new ResultPoint(pind.getX() - 0.5f, - pind.getY() - 0.5f); - - // Expand the square so that its corners are the centers of the points - // just outside the bull's eye. - return expandSquare(new ResultPoint[] { pinax, pinbx, pincx, pindx }, - 2 * nbCenterLayers - 3, 2 * nbCenterLayers); - } - - /** - * Finds a candidate center point of an Aztec code from an image - * - * @return the center point - */ - private Point getMatrixCenter() { - - ResultPoint pointA; - ResultPoint pointB; - ResultPoint pointC; - ResultPoint pointD; - - // Get a white rectangle that can be the border of the matrix in center - // bull's eye or - try { - - ResultPoint[] cornerPoints = new WhiteRectangleDetector(image) - .detect(); - pointA = cornerPoints[0]; - pointB = cornerPoints[1]; - pointC = cornerPoints[2]; - pointD = cornerPoints[3]; - - } catch (NotFoundException e) { - - // This exception can be in case the initial rectangle is white - // In that case, surely in the bull's eye, we try to expand the - // rectangle. - int cx = image.getWidth() / 2; - int cy = image.getHeight() / 2; - pointA = getFirstDifferent(new Point(cx + 7, cy - 7), false, 1, -1) - .toResultPoint(); - pointB = getFirstDifferent(new Point(cx + 7, cy + 7), false, 1, 1) - .toResultPoint(); - pointC = getFirstDifferent(new Point(cx - 7, cy + 7), false, -1, 1) - .toResultPoint(); - pointD = getFirstDifferent(new Point(cx - 7, cy - 7), false, -1, -1) - .toResultPoint(); - - } - - // Compute the center of the rectangle - int cx = MathUtils - .round((pointA.getX() + pointD.getX() + pointB.getX() + pointC - .getX()) / 4.0f); - int cy = MathUtils - .round((pointA.getY() + pointD.getY() + pointB.getY() + pointC - .getY()) / 4.0f); - - // Redetermine the white rectangle starting from previously computed - // center. - // This will ensure that we end up with a white rectangle in center - // bull's eye - // in order to compute a more accurate center. - try { - ResultPoint[] cornerPoints = new WhiteRectangleDetector(image, 15, - cx, cy).detect(); - pointA = cornerPoints[0]; - pointB = cornerPoints[1]; - pointC = cornerPoints[2]; - pointD = cornerPoints[3]; - } catch (NotFoundException e) { - // This exception can be in case the initial rectangle is white - // In that case we try to expand the rectangle. - pointA = getFirstDifferent(new Point(cx + 7, cy - 7), false, 1, -1) - .toResultPoint(); - pointB = getFirstDifferent(new Point(cx + 7, cy + 7), false, 1, 1) - .toResultPoint(); - pointC = getFirstDifferent(new Point(cx - 7, cy + 7), false, -1, 1) - .toResultPoint(); - pointD = getFirstDifferent(new Point(cx - 7, cy - 7), false, -1, -1) - .toResultPoint(); - } - - // Recompute the center of the rectangle - cx = MathUtils - .round((pointA.getX() + pointD.getX() + pointB.getX() + pointC - .getX()) / 4.0f); - cy = MathUtils - .round((pointA.getY() + pointD.getY() + pointB.getY() + pointC - .getY()) / 4.0f); - - return new Point(cx, cy); - } - - /** - * Gets the Aztec code corners from the bull's eye corners and the - * parameters. - * - * @param bullsEyeCorners - * the array of bull's eye corners - * @return the array of aztec code corners - */ - private ResultPoint[] getMatrixCornerPoints(ResultPoint[] bullsEyeCorners) { - return expandSquare(bullsEyeCorners, 2 * nbCenterLayers, getDimension()); - } - - /** - * Creates a BitMatrix by sampling the provided image. topLeft, topRight, - * bottomRight, and bottomLeft are the centers of the squares on the - * diagonal just outside the bull's eye. - */ - private BitMatrix sampleGrid(BitMatrix image, ResultPoint topLeft, - ResultPoint topRight, ResultPoint bottomRight, - ResultPoint bottomLeft) throws NotFoundException { - - GridSampler sampler = GridSampler.getInstance(); - int dimension = getDimension(); - - float low = dimension / 2.0f - nbCenterLayers; - float high = dimension / 2.0f + nbCenterLayers; - - return sampler.sampleGrid(image, dimension, dimension, - low, - low, // topleft - high, - low, // topright - high, - high, // bottomright - low, - high, // bottomleft - topLeft.getX(), topLeft.getY(), topRight.getX(), - topRight.getY(), bottomRight.getX(), bottomRight.getY(), - bottomLeft.getX(), bottomLeft.getY()); - } - - /** - * Samples a line. - * - * @param p1 - * start point (inclusive) - * @param p2 - * end point (exclusive) - * @param size - * number of bits - * @return the array of bits as an int (first bit is high-order bit of - * result) - */ - private int sampleLine(ResultPoint p1, ResultPoint p2, int size) { - int result = 0; - - float d = distance(p1, p2); - float moduleSize = d / size; - float px = p1.getX(); - float py = p1.getY(); - float dx = moduleSize * (p2.getX() - p1.getX()) / d; - float dy = moduleSize * (p2.getY() - p1.getY()) / d; - for (int i = 0; i < size; i++) { - if (image.get(MathUtils.round(px + i * dx), - MathUtils.round(py + i * dy))) { - result |= 1 << (size - i - 1); - } - } - return result; - } - - /** - * @return true if the border of the rectangle passed in parameter is - * compound of white points only or black points only - */ - private boolean isWhiteOrBlackRectangle(Point p1, Point p2, Point p3, - Point p4) { - - int corr = 3; - - p1 = new Point(p1.getX() - corr, p1.getY() + corr); - p2 = new Point(p2.getX() - corr, p2.getY() - corr); - p3 = new Point(p3.getX() + corr, p3.getY() - corr); - p4 = new Point(p4.getX() + corr, p4.getY() + corr); - - int cInit = getColor(p4, p1); - - if (cInit == 0) { - return false; - } - - int c = getColor(p1, p2); - - if (c != cInit) { - return false; - } - - c = getColor(p2, p3); - - if (c != cInit) { - return false; - } - - c = getColor(p3, p4); - - return c == cInit; - - } - - /** - * Gets the color of a segment - * - * @return 1 if segment more than 90% black, -1 if segment is more than 90% - * white, 0 else - */ - private int getColor(Point p1, Point p2) { - float d = distance(p1, p2); - float dx = (p2.getX() - p1.getX()) / d; - float dy = (p2.getY() - p1.getY()) / d; - int error = 0; - - float px = p1.getX(); - float py = p1.getY(); - - boolean colorModel = image.get(p1.getX(), p1.getY()); - - for (int i = 0; i < d; i++) { - px += dx; - py += dy; - if (image.get(MathUtils.round(px), MathUtils.round(py)) != colorModel) { - error++; - } - } - - float errRatio = error / d; - - if (errRatio > 0.1f && errRatio < 0.9f) { - return 0; - } - - return (errRatio <= 0.1f) == colorModel ? 1 : -1; - } - - /** - * Gets the coordinate of the first point with a different color in the - * given direction - */ - private Point getFirstDifferent(Point init, boolean color, int dx, int dy) { - int x = init.getX() + dx; - int y = init.getY() + dy; - - while (isValid(x, y) && image.get(x, y) == color) { - x += dx; - y += dy; - } - - x -= dx; - y -= dy; - - while (isValid(x, y) && image.get(x, y) == color) { - x += dx; - } - x -= dx; - - while (isValid(x, y) && image.get(x, y) == color) { - y += dy; - } - y -= dy; - - return new Point(x, y); - } - - /** - * Expand the square represented by the corner points by pushing out equally - * in all directions - * - * @param cornerPoints - * the corners of the square, which has the bull's eye at its - * center - * @param oldSide - * the original length of the side of the square in the target - * bit matrix - * @param newSide - * the new length of the size of the square in the target bit - * matrix - * @return the corners of the expanded square - */ - private static ResultPoint[] expandSquare(ResultPoint[] cornerPoints, - float oldSide, float newSide) { - float ratio = newSide / (2 * oldSide); - float dx = cornerPoints[0].getX() - cornerPoints[2].getX(); - float dy = cornerPoints[0].getY() - cornerPoints[2].getY(); - float centerx = (cornerPoints[0].getX() + cornerPoints[2].getX()) / 2.0f; - float centery = (cornerPoints[0].getY() + cornerPoints[2].getY()) / 2.0f; - - ResultPoint result0 = new ResultPoint(centerx + ratio * dx, centery - + ratio * dy); - ResultPoint result2 = new ResultPoint(centerx - ratio * dx, centery - - ratio * dy); - - dx = cornerPoints[1].getX() - cornerPoints[3].getX(); - dy = cornerPoints[1].getY() - cornerPoints[3].getY(); - centerx = (cornerPoints[1].getX() + cornerPoints[3].getX()) / 2.0f; - centery = (cornerPoints[1].getY() + cornerPoints[3].getY()) / 2.0f; - ResultPoint result1 = new ResultPoint(centerx + ratio * dx, centery - + ratio * dy); - ResultPoint result3 = new ResultPoint(centerx - ratio * dx, centery - - ratio * dy); - - return new ResultPoint[] { result0, result1, result2, result3 }; - } - - private boolean isValid(int x, int y) { - return x >= 0 && x < image.getWidth() && y > 0 && y < image.getHeight(); - } - - private boolean isValid(ResultPoint point) { - int x = MathUtils.round(point.getX()); - int y = MathUtils.round(point.getY()); - return isValid(x, y); - } - - private static float distance(Point a, Point b) { - return MathUtils.distance(a.getX(), a.getY(), b.getX(), b.getY()); - } - - private static float distance(ResultPoint a, ResultPoint b) { - return MathUtils.distance(a.getX(), a.getY(), b.getX(), b.getY()); - } - - private int getDimension() { - if (compact) { - return 4 * nbLayers + 11; - } - if (nbLayers <= 4) { - return 4 * nbLayers + 15; - } - return 4 * nbLayers + 2 * ((nbLayers - 4) / 8 + 1) + 15; - } - - static final class Point { - private final int x; - private final int y; - - ResultPoint toResultPoint() { - return new ResultPoint(getX(), getY()); - } - - Point(int x, int y) { - this.x = x; - this.y = y; - } - - int getX() { - return x; - } - - int getY() { - return y; - } - - @Override - public String toString() { - return "<" + x + ' ' + y + '>'; - } - } -} diff --git a/eclipse/src/com/google/zxing/aztec/encoder/AztecCode.java b/eclipse/src/com/google/zxing/aztec/encoder/AztecCode.java deleted file mode 100644 index bd94d759..00000000 --- a/eclipse/src/com/google/zxing/aztec/encoder/AztecCode.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright 2013 ZXing authors - * - * 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 com.google.zxing.aztec.encoder; - -import com.google.zxing.common.BitMatrix; - -/** - * Aztec 2D code representation - * - * @author Rustam Abdullaev - */ -public final class AztecCode { - - private boolean compact; - private int size; - private int layers; - private int codeWords; - private BitMatrix matrix; - - /** - * @return {@code true} if compact instead of full mode - */ - public boolean isCompact() { - return compact; - } - - public void setCompact(boolean compact) { - this.compact = compact; - } - - /** - * @return size in pixels (width and height) - */ - public int getSize() { - return size; - } - - public void setSize(int size) { - this.size = size; - } - - /** - * @return number of levels - */ - public int getLayers() { - return layers; - } - - public void setLayers(int layers) { - this.layers = layers; - } - - /** - * @return number of data codewords - */ - public int getCodeWords() { - return codeWords; - } - - public void setCodeWords(int codeWords) { - this.codeWords = codeWords; - } - - /** - * @return the symbol image - */ - public BitMatrix getMatrix() { - return matrix; - } - - public void setMatrix(BitMatrix matrix) { - this.matrix = matrix; - } - -} diff --git a/eclipse/src/com/google/zxing/aztec/encoder/BinaryShiftToken.java b/eclipse/src/com/google/zxing/aztec/encoder/BinaryShiftToken.java deleted file mode 100644 index 585ca00f..00000000 --- a/eclipse/src/com/google/zxing/aztec/encoder/BinaryShiftToken.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2013 ZXing authors - * - * 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 com.google.zxing.aztec.encoder; - -import com.google.zxing.common.BitArray; - -final class BinaryShiftToken extends Token { - - private final short binaryShiftStart; - private final short binaryShiftByteCount; - - BinaryShiftToken(Token previous, int binaryShiftStart, - int binaryShiftByteCount) { - super(previous); - this.binaryShiftStart = (short) binaryShiftStart; - this.binaryShiftByteCount = (short) binaryShiftByteCount; - } - - @Override - public void appendTo(BitArray bitArray, byte[] text) { - for (int i = 0; i < binaryShiftByteCount; i++) { - if (i == 0 || (i == 31 && binaryShiftByteCount <= 62)) { - // We need a header before the first character, and before - // character 31 when the total byte code is <= 62 - bitArray.appendBits(31, 5); // BINARY_SHIFT - if (binaryShiftByteCount > 62) { - bitArray.appendBits(binaryShiftByteCount - 31, 16); - } else if (i == 0) { - // 1 <= binaryShiftByteCode <= 62 - bitArray.appendBits(Math.min(binaryShiftByteCount, 31), 5); - } else { - // 32 <= binaryShiftCount <= 62 and i == 31 - bitArray.appendBits(binaryShiftByteCount - 31, 5); - } - } - bitArray.appendBits(text[binaryShiftStart + i], 8); - } - } - - @Override - public String toString() { - return "<" + binaryShiftStart + "::" - + (binaryShiftStart + binaryShiftByteCount - 1) + '>'; - } - -} diff --git a/eclipse/src/com/google/zxing/aztec/encoder/Encoder.java b/eclipse/src/com/google/zxing/aztec/encoder/Encoder.java deleted file mode 100644 index 1bb4157d..00000000 --- a/eclipse/src/com/google/zxing/aztec/encoder/Encoder.java +++ /dev/null @@ -1,384 +0,0 @@ -/* - * Copyright 2013 ZXing authors - * - * 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 com.google.zxing.aztec.encoder; - -import com.google.zxing.common.BitArray; -import com.google.zxing.common.BitMatrix; -import com.google.zxing.common.reedsolomon.GenericGF; -import com.google.zxing.common.reedsolomon.ReedSolomonEncoder; - -/** - * Generates Aztec 2D barcodes. - * - * @author Rustam Abdullaev - */ -public final class Encoder { - - public static final int DEFAULT_EC_PERCENT = 33; // default minimal - // percentage of error - // check words - public static final int DEFAULT_AZTEC_LAYERS = 0; - private static final int MAX_NB_BITS = 32; - private static final int MAX_NB_BITS_COMPACT = 4; - - private static final int[] WORD_SIZE = { 4, 6, 6, 8, 8, 8, 8, 8, 8, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12 }; - - private Encoder() { - } - - /** - * Encodes the given binary content as an Aztec symbol - * - * @param data - * input data string - * @return Aztec symbol matrix with metadata - */ - public static AztecCode encode(byte[] data) { - return encode(data, DEFAULT_EC_PERCENT, DEFAULT_AZTEC_LAYERS); - } - - /** - * Encodes the given binary content as an Aztec symbol - * - * @param data - * input data string - * @param minECCPercent - * minimal percentage of error check words (According to ISO/IEC - * 24778:2008, a minimum of 23% + 3 words is recommended) - * @param userSpecifiedLayers - * if non-zero, a user-specified value for the number of layers - * @return Aztec symbol matrix with metadata - */ - public static AztecCode encode(byte[] data, int minECCPercent, - int userSpecifiedLayers) { - // High-level encode - BitArray bits = new HighLevelEncoder(data).encode(); - - // stuff bits and choose symbol size - int eccBits = bits.getSize() * minECCPercent / 100 + 11; - int totalSizeBits = bits.getSize() + eccBits; - boolean compact; - int layers; - int totalBitsInLayer; - int wordSize; - BitArray stuffedBits; - if (userSpecifiedLayers != DEFAULT_AZTEC_LAYERS) { - compact = userSpecifiedLayers < 0; - layers = Math.abs(userSpecifiedLayers); - if (layers > (compact ? MAX_NB_BITS_COMPACT : MAX_NB_BITS)) { - throw new IllegalArgumentException(String.format( - "Illegal value %s for layers", userSpecifiedLayers)); - } - totalBitsInLayer = totalBitsInLayer(layers, compact); - wordSize = WORD_SIZE[layers]; - int usableBitsInLayers = totalBitsInLayer - - (totalBitsInLayer % wordSize); - stuffedBits = stuffBits(bits, wordSize); - if (stuffedBits.getSize() + eccBits > usableBitsInLayers) { - throw new IllegalArgumentException( - "Data to large for user specified layer"); - } - if (compact && stuffedBits.getSize() > wordSize * 64) { - // Compact format only allows 64 data words, though C4 can hold - // more words than that - throw new IllegalArgumentException( - "Data to large for user specified layer"); - } - } else { - wordSize = 0; - stuffedBits = null; - // We look at the possible table sizes in the order Compact1, - // Compact2, Compact3, - // Compact4, Normal4,... Normal(i) for i < 4 isn't typically used - // since Compact(i+1) - // is the same size, but has more data. - for (int i = 0;; i++) { - if (i > MAX_NB_BITS) { - throw new IllegalArgumentException( - "Data too large for an Aztec code"); - } - compact = i <= 3; - layers = compact ? i + 1 : i; - totalBitsInLayer = totalBitsInLayer(layers, compact); - if (totalSizeBits > totalBitsInLayer) { - continue; - } - // [Re]stuff the bits if this is the first opportunity, or if - // the - // wordSize has changed - if (wordSize != WORD_SIZE[layers]) { - wordSize = WORD_SIZE[layers]; - stuffedBits = stuffBits(bits, wordSize); - } - int usableBitsInLayers = totalBitsInLayer - - (totalBitsInLayer % wordSize); - if (compact && stuffedBits.getSize() > wordSize * 64) { - // Compact format only allows 64 data words, though C4 can - // hold more words than that - continue; - } - if (stuffedBits.getSize() + eccBits <= usableBitsInLayers) { - break; - } - } - } - BitArray messageBits = generateCheckWords(stuffedBits, - totalBitsInLayer, wordSize); - - // generate mode message - int messageSizeInWords = stuffedBits.getSize() / wordSize; - BitArray modeMessage = generateModeMessage(compact, layers, - messageSizeInWords); - - // allocate symbol - int baseMatrixSize = compact ? 11 + layers * 4 : 14 + layers * 4; // not - // including - // alignment - // lines - int[] alignmentMap = new int[baseMatrixSize]; - int matrixSize; - if (compact) { - // no alignment marks in compact mode, alignmentMap is a no-op - matrixSize = baseMatrixSize; - for (int i = 0; i < alignmentMap.length; i++) { - alignmentMap[i] = i; - } - } else { - matrixSize = baseMatrixSize + 1 + 2 - * ((baseMatrixSize / 2 - 1) / 15); - int origCenter = baseMatrixSize / 2; - int center = matrixSize / 2; - for (int i = 0; i < origCenter; i++) { - int newOffset = i + i / 15; - alignmentMap[origCenter - i - 1] = center - newOffset - 1; - alignmentMap[origCenter + i] = center + newOffset + 1; - } - } - BitMatrix matrix = new BitMatrix(matrixSize); - - // draw data bits - for (int i = 0, rowOffset = 0; i < layers; i++) { - int rowSize = compact ? (layers - i) * 4 + 9 - : (layers - i) * 4 + 12; - for (int j = 0; j < rowSize; j++) { - int columnOffset = j * 2; - for (int k = 0; k < 2; k++) { - if (messageBits.get(rowOffset + columnOffset + k)) { - matrix.set(alignmentMap[i * 2 + k], alignmentMap[i * 2 - + j]); - } - if (messageBits.get(rowOffset + rowSize * 2 + columnOffset - + k)) { - matrix.set(alignmentMap[i * 2 + j], - alignmentMap[baseMatrixSize - 1 - i * 2 - k]); - } - if (messageBits.get(rowOffset + rowSize * 4 + columnOffset - + k)) { - matrix.set( - alignmentMap[baseMatrixSize - 1 - i * 2 - k], - alignmentMap[baseMatrixSize - 1 - i * 2 - j]); - } - if (messageBits.get(rowOffset + rowSize * 6 + columnOffset - + k)) { - matrix.set( - alignmentMap[baseMatrixSize - 1 - i * 2 - j], - alignmentMap[i * 2 + k]); - } - } - } - rowOffset += rowSize * 8; - } - - // draw mode message - drawModeMessage(matrix, compact, matrixSize, modeMessage); - - // draw alignment marks - if (compact) { - drawBullsEye(matrix, matrixSize / 2, 5); - } else { - drawBullsEye(matrix, matrixSize / 2, 7); - for (int i = 0, j = 0; i < baseMatrixSize / 2 - 1; i += 15, j += 16) { - for (int k = (matrixSize / 2) & 1; k < matrixSize; k += 2) { - matrix.set(matrixSize / 2 - j, k); - matrix.set(matrixSize / 2 + j, k); - matrix.set(k, matrixSize / 2 - j); - matrix.set(k, matrixSize / 2 + j); - } - } - } - - AztecCode aztec = new AztecCode(); - aztec.setCompact(compact); - aztec.setSize(matrixSize); - aztec.setLayers(layers); - aztec.setCodeWords(messageSizeInWords); - aztec.setMatrix(matrix); - return aztec; - } - - private static void drawBullsEye(BitMatrix matrix, int center, int size) { - for (int i = 0; i < size; i += 2) { - for (int j = center - i; j <= center + i; j++) { - matrix.set(j, center - i); - matrix.set(j, center + i); - matrix.set(center - i, j); - matrix.set(center + i, j); - } - } - matrix.set(center - size, center - size); - matrix.set(center - size + 1, center - size); - matrix.set(center - size, center - size + 1); - matrix.set(center + size, center - size); - matrix.set(center + size, center - size + 1); - matrix.set(center + size, center + size - 1); - } - - static BitArray generateModeMessage(boolean compact, int layers, - int messageSizeInWords) { - BitArray modeMessage = new BitArray(); - if (compact) { - modeMessage.appendBits(layers - 1, 2); - modeMessage.appendBits(messageSizeInWords - 1, 6); - modeMessage = generateCheckWords(modeMessage, 28, 4); - } else { - modeMessage.appendBits(layers - 1, 5); - modeMessage.appendBits(messageSizeInWords - 1, 11); - modeMessage = generateCheckWords(modeMessage, 40, 4); - } - return modeMessage; - } - - private static void drawModeMessage(BitMatrix matrix, boolean compact, - int matrixSize, BitArray modeMessage) { - int center = matrixSize / 2; - if (compact) { - for (int i = 0; i < 7; i++) { - int offset = center - 3 + i; - if (modeMessage.get(i)) { - matrix.set(offset, center - 5); - } - if (modeMessage.get(i + 7)) { - matrix.set(center + 5, offset); - } - if (modeMessage.get(20 - i)) { - matrix.set(offset, center + 5); - } - if (modeMessage.get(27 - i)) { - matrix.set(center - 5, offset); - } - } - } else { - for (int i = 0; i < 10; i++) { - int offset = center - 5 + i + i / 5; - if (modeMessage.get(i)) { - matrix.set(offset, center - 7); - } - if (modeMessage.get(i + 10)) { - matrix.set(center + 7, offset); - } - if (modeMessage.get(29 - i)) { - matrix.set(offset, center + 7); - } - if (modeMessage.get(39 - i)) { - matrix.set(center - 7, offset); - } - } - } - } - - private static BitArray generateCheckWords(BitArray bitArray, - int totalBits, int wordSize) { - // bitArray is guaranteed to be a multiple of the wordSize, so no - // padding needed - int messageSizeInWords = bitArray.getSize() / wordSize; - ReedSolomonEncoder rs = new ReedSolomonEncoder(getGF(wordSize)); - int totalWords = totalBits / wordSize; - int[] messageWords = bitsToWords(bitArray, wordSize, totalWords); - rs.encode(messageWords, totalWords - messageSizeInWords); - int startPad = totalBits % wordSize; - BitArray messageBits = new BitArray(); - messageBits.appendBits(0, startPad); - for (int messageWord : messageWords) { - messageBits.appendBits(messageWord, wordSize); - } - return messageBits; - } - - private static int[] bitsToWords(BitArray stuffedBits, int wordSize, - int totalWords) { - int[] message = new int[totalWords]; - int i; - int n; - for (i = 0, n = stuffedBits.getSize() / wordSize; i < n; i++) { - int value = 0; - for (int j = 0; j < wordSize; j++) { - value |= stuffedBits.get(i * wordSize + j) ? (1 << wordSize - j - - 1) : 0; - } - message[i] = value; - } - return message; - } - - private static GenericGF getGF(int wordSize) { - switch (wordSize) { - case 4: - return GenericGF.AZTEC_PARAM; - case 6: - return GenericGF.AZTEC_DATA_6; - case 8: - return GenericGF.AZTEC_DATA_8; - case 10: - return GenericGF.AZTEC_DATA_10; - case 12: - return GenericGF.AZTEC_DATA_12; - default: - return null; - } - } - - static BitArray stuffBits(BitArray bits, int wordSize) { - BitArray out = new BitArray(); - - int n = bits.getSize(); - int mask = (1 << wordSize) - 2; - for (int i = 0; i < n; i += wordSize) { - int word = 0; - for (int j = 0; j < wordSize; j++) { - if (i + j >= n || bits.get(i + j)) { - word |= 1 << (wordSize - 1 - j); - } - } - if ((word & mask) == mask) { - out.appendBits(word & mask, wordSize); - i--; - } else if ((word & mask) == 0) { - out.appendBits(word | 1, wordSize); - i--; - } else { - out.appendBits(word, wordSize); - } - } - return out; - } - - private static int totalBitsInLayer(int layers, boolean compact) { - return ((compact ? 88 : 112) + 16 * layers) * layers; - } -} diff --git a/eclipse/src/com/google/zxing/aztec/encoder/HighLevelEncoder.java b/eclipse/src/com/google/zxing/aztec/encoder/HighLevelEncoder.java deleted file mode 100644 index 28de6cfd..00000000 --- a/eclipse/src/com/google/zxing/aztec/encoder/HighLevelEncoder.java +++ /dev/null @@ -1,312 +0,0 @@ -/* - * Copyright 2013 ZXing authors - * - * 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 com.google.zxing.aztec.encoder; - -import com.google.zxing.common.BitArray; - -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; - -/** - * This produces nearly optimal encodings of text into the first-level of - * encoding used by Aztec code. - * - * It uses a dynamic algorithm. For each prefix of the string, it determines a - * set of encodings that could lead to this prefix. We repeatedly add a - * character and generate a new set of optimal encodings until we have read - * through the entire input. - * - * @author Frank Yellin - * @author Rustam Abdullaev - */ -public final class HighLevelEncoder { - - static final String[] MODE_NAMES = { "UPPER", "LOWER", "DIGIT", "MIXED", - "PUNCT" }; - - static final int MODE_UPPER = 0; // 5 bits - static final int MODE_LOWER = 1; // 5 bits - static final int MODE_DIGIT = 2; // 4 bits - static final int MODE_MIXED = 3; // 5 bits - static final int MODE_PUNCT = 4; // 5 bits - - // The Latch Table shows, for each pair of Modes, the optimal method for - // getting from one mode to another. In the worst possible case, this can - // be up to 14 bits. In the best possible case, we are already there! - // The high half-word of each entry gives the number of bits. - // The low half-word of each entry are the actual bits necessary to change - static final int[][] LATCH_TABLE = { { 0, (5 << 16) + 28, // UPPER -> LOWER - (5 << 16) + 30, // UPPER -> DIGIT - (5 << 16) + 29, // UPPER -> MIXED - (10 << 16) + (29 << 5) + 30, // UPPER -> MIXED -> PUNCT - }, { (9 << 16) + (30 << 4) + 14, // LOWER -> DIGIT -> UPPER - 0, (5 << 16) + 30, // LOWER -> DIGIT - (5 << 16) + 29, // LOWER -> MIXED - (10 << 16) + (29 << 5) + 30, // LOWER -> MIXED -> PUNCT - }, { (4 << 16) + 14, // DIGIT -> UPPER - (9 << 16) + (14 << 5) + 28, // DIGIT -> UPPER -> LOWER - 0, (9 << 16) + (14 << 5) + 29, // DIGIT -> UPPER -> MIXED - (14 << 16) + (14 << 10) + (29 << 5) + 30, - // DIGIT -> UPPER -> MIXED -> PUNCT - }, { (5 << 16) + 29, // MIXED -> UPPER - (5 << 16) + 28, // MIXED -> LOWER - (10 << 16) + (29 << 5) + 30, // MIXED -> UPPER -> DIGIT - 0, (5 << 16) + 30, // MIXED -> PUNCT - }, { (5 << 16) + 31, // PUNCT -> UPPER - (10 << 16) + (31 << 5) + 28, // PUNCT -> UPPER -> LOWER - (10 << 16) + (31 << 5) + 30, // PUNCT -> UPPER -> DIGIT - (10 << 16) + (31 << 5) + 29, // PUNCT -> UPPER -> MIXED - 0, }, }; - - // A reverse mapping from [mode][char] to the encoding for that character - // in that mode. An entry of 0 indicates no mapping exists. - private static final int[][] CHAR_MAP = new int[5][256]; - static { - CHAR_MAP[MODE_UPPER][' '] = 1; - for (int c = 'A'; c <= 'Z'; c++) { - CHAR_MAP[MODE_UPPER][c] = c - 'A' + 2; - } - CHAR_MAP[MODE_LOWER][' '] = 1; - for (int c = 'a'; c <= 'z'; c++) { - CHAR_MAP[MODE_LOWER][c] = c - 'a' + 2; - } - CHAR_MAP[MODE_DIGIT][' '] = 1; - for (int c = '0'; c <= '9'; c++) { - CHAR_MAP[MODE_DIGIT][c] = c - '0' + 2; - } - CHAR_MAP[MODE_DIGIT][','] = 12; - CHAR_MAP[MODE_DIGIT]['.'] = 13; - int[] mixedTable = { '\0', ' ', '\1', '\2', '\3', '\4', '\5', '\6', - '\7', '\b', '\t', '\n', '\13', '\f', '\r', '\33', '\34', '\35', - '\36', '\37', '@', '\\', '^', '_', '`', '|', '~', '\177' }; - for (int i = 0; i < mixedTable.length; i++) { - CHAR_MAP[MODE_MIXED][mixedTable[i]] = i; - } - int[] punctTable = { '\0', '\r', '\0', '\0', '\0', '\0', '!', '\'', - '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', - '/', ':', ';', '<', '=', '>', '?', '[', ']', '{', '}' }; - for (int i = 0; i < punctTable.length; i++) { - if (punctTable[i] > 0) { - CHAR_MAP[MODE_PUNCT][punctTable[i]] = i; - } - } - } - - // A map showing the available shift codes. (The shifts to BINARY are not - // shown - static final int[][] SHIFT_TABLE = new int[6][6]; // mode shift codes, per - // table - static { - for (int[] table : SHIFT_TABLE) { - Arrays.fill(table, -1); - } - SHIFT_TABLE[MODE_UPPER][MODE_PUNCT] = 0; - - SHIFT_TABLE[MODE_LOWER][MODE_PUNCT] = 0; - SHIFT_TABLE[MODE_LOWER][MODE_UPPER] = 28; - - SHIFT_TABLE[MODE_MIXED][MODE_PUNCT] = 0; - - SHIFT_TABLE[MODE_DIGIT][MODE_PUNCT] = 0; - SHIFT_TABLE[MODE_DIGIT][MODE_UPPER] = 15; - } - - private final byte[] text; - - public HighLevelEncoder(byte[] text) { - this.text = text; - } - - /** - * @return text represented by this encoder encoded as a {@link BitArray} - */ - public BitArray encode() { - Collection states = Collections - .singletonList(State.INITIAL_STATE); - for (int index = 0; index < text.length; index++) { - int pairCode; - int nextChar = index + 1 < text.length ? text[index + 1] : 0; - switch (text[index]) { - case '\r': - pairCode = nextChar == '\n' ? 2 : 0; - break; - case '.': - pairCode = nextChar == ' ' ? 3 : 0; - break; - case ',': - pairCode = nextChar == ' ' ? 4 : 0; - break; - case ':': - pairCode = nextChar == ' ' ? 5 : 0; - break; - default: - pairCode = 0; - } - if (pairCode > 0) { - // We have one of the four special PUNCT pairs. Treat them - // specially. - // Get a new set of states for the two new characters. - states = updateStateListForPair(states, index, pairCode); - index++; - } else { - // Get a new set of states for the new character. - states = updateStateListForChar(states, index); - } - } - // We are left with a set of states. Find the shortest one. - State minState = Collections.min(states, new Comparator() { - @Override - public int compare(State a, State b) { - return a.getBitCount() - b.getBitCount(); - } - }); - // Convert it to a bit array, and return. - return minState.toBitArray(text); - } - - // We update a set of states for a new character by updating each state - // for the new character, merging the results, and then removing the - // non-optimal states. - private Collection updateStateListForChar(Iterable states, - int index) { - Collection result = new LinkedList<>(); - for (State state : states) { - updateStateForChar(state, index, result); - } - return simplifyStates(result); - } - - // Return a set of states that represent the possible ways of updating this - // state for the next character. The resulting set of states are added to - // the "result" list. - private void updateStateForChar(State state, int index, - Collection result) { - char ch = (char) (text[index] & 0xFF); - boolean charInCurrentTable = CHAR_MAP[state.getMode()][ch] > 0; - State stateNoBinary = null; - for (int mode = 0; mode <= MODE_PUNCT; mode++) { - int charInMode = CHAR_MAP[mode][ch]; - if (charInMode > 0) { - if (stateNoBinary == null) { - // Only create stateNoBinary the first time it's required. - stateNoBinary = state.endBinaryShift(index); - } - // Try generating the character by latching to its mode - if (!charInCurrentTable || mode == state.getMode() - || mode == MODE_DIGIT) { - // If the character is in the current table, we don't want - // to latch to - // any other mode except possibly digit (which uses only 4 - // bits). Any - // other latch would be equally successful *after* this - // character, and - // so wouldn't save any bits. - State latch_state = stateNoBinary.latchAndAppend(mode, - charInMode); - result.add(latch_state); - } - // Try generating the character by switching to its mode. - if (!charInCurrentTable - && SHIFT_TABLE[state.getMode()][mode] >= 0) { - // It never makes sense to temporarily shift to another mode - // if the - // character exists in the current mode. That can never save - // bits. - State shift_state = stateNoBinary.shiftAndAppend(mode, - charInMode); - result.add(shift_state); - } - } - } - if (state.getBinaryShiftByteCount() > 0 - || CHAR_MAP[state.getMode()][ch] == 0) { - // It's never worthwhile to go into binary shift mode if you're not - // already - // in binary shift mode, and the character exists in your current - // mode. - // That can never save bits over just outputting the char in the - // current mode. - State binaryState = state.addBinaryShiftChar(index); - result.add(binaryState); - } - } - - private static Collection updateStateListForPair( - Iterable states, int index, int pairCode) { - Collection result = new LinkedList<>(); - for (State state : states) { - updateStateForPair(state, index, pairCode, result); - } - return simplifyStates(result); - } - - private static void updateStateForPair(State state, int index, - int pairCode, Collection result) { - State stateNoBinary = state.endBinaryShift(index); - // Possibility 1. Latch to MODE_PUNCT, and then append this code - result.add(stateNoBinary.latchAndAppend(MODE_PUNCT, pairCode)); - if (state.getMode() != MODE_PUNCT) { - // Possibility 2. Shift to MODE_PUNCT, and then append this code. - // Every state except MODE_PUNCT (handled above) can shift - result.add(stateNoBinary.shiftAndAppend(MODE_PUNCT, pairCode)); - } - if (pairCode == 3 || pairCode == 4) { - // both characters are in DIGITS. Sometimes better to just add two - // digits - State digit_state = stateNoBinary.latchAndAppend(MODE_DIGIT, - 16 - pairCode) // period or comma in DIGIT - .latchAndAppend(MODE_DIGIT, 1); // space in DIGIT - result.add(digit_state); - } - if (state.getBinaryShiftByteCount() > 0) { - // It only makes sense to do the characters as binary if we're - // already - // in binary mode. - State binaryState = state.addBinaryShiftChar(index) - .addBinaryShiftChar(index + 1); - result.add(binaryState); - } - } - - private static Collection simplifyStates(Iterable states) { - List result = new LinkedList<>(); - for (State newState : states) { - boolean add = true; - for (Iterator iterator = result.iterator(); iterator - .hasNext();) { - State oldState = iterator.next(); - if (oldState.isBetterThanOrEqualTo(newState)) { - add = false; - break; - } - if (newState.isBetterThanOrEqualTo(oldState)) { - iterator.remove(); - } - } - if (add) { - result.add(newState); - } - } - return result; - } - -} diff --git a/eclipse/src/com/google/zxing/aztec/encoder/SimpleToken.java b/eclipse/src/com/google/zxing/aztec/encoder/SimpleToken.java deleted file mode 100644 index 39dbd241..00000000 --- a/eclipse/src/com/google/zxing/aztec/encoder/SimpleToken.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2013 ZXing authors - * - * 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 com.google.zxing.aztec.encoder; - -import com.google.zxing.common.BitArray; - -final class SimpleToken extends Token { - - // For normal words, indicates value and bitCount - private final short value; - private final short bitCount; - - SimpleToken(Token previous, int value, int bitCount) { - super(previous); - this.value = (short) value; - this.bitCount = (short) bitCount; - } - - @Override - void appendTo(BitArray bitArray, byte[] text) { - bitArray.appendBits(value, bitCount); - } - - @Override - public String toString() { - int value = this.value & ((1 << bitCount) - 1); - value |= 1 << bitCount; - return '<' + Integer.toBinaryString(value | (1 << bitCount)).substring( - 1) + '>'; - } - -} diff --git a/eclipse/src/com/google/zxing/aztec/encoder/State.java b/eclipse/src/com/google/zxing/aztec/encoder/State.java deleted file mode 100644 index d80f1760..00000000 --- a/eclipse/src/com/google/zxing/aztec/encoder/State.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Copyright 2013 ZXing authors - * - * 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 com.google.zxing.aztec.encoder; - -import java.util.Deque; -import java.util.LinkedList; - -import com.google.zxing.common.BitArray; - -/** - * State represents all information about a sequence necessary to generate the - * current output. Note that a state is immutable. - */ -final class State { - - static final State INITIAL_STATE = new State(Token.EMPTY, - HighLevelEncoder.MODE_UPPER, 0, 0); - - // The current mode of the encoding (or the mode to which we'll return if - // we're in Binary Shift mode. - private final int mode; - // The list of tokens that we output. If we are in Binary Shift mode, this - // token list does *not* yet included the token for those bytes - private final Token token; - // If non-zero, the number of most recent bytes that should be output - // in Binary Shift mode. - private final int binaryShiftByteCount; - // The total number of bits generated (including Binary Shift). - private final int bitCount; - - private State(Token token, int mode, int binaryBytes, int bitCount) { - this.token = token; - this.mode = mode; - this.binaryShiftByteCount = binaryBytes; - this.bitCount = bitCount; - // Make sure we match the token - // int binaryShiftBitCount = (binaryShiftByteCount * 8) + - // (binaryShiftByteCount == 0 ? 0 : - // binaryShiftByteCount <= 31 ? 10 : - // binaryShiftByteCount <= 62 ? 20 : 21); - // assert this.bitCount == token.getTotalBitCount() + - // binaryShiftBitCount; - } - - int getMode() { - return mode; - } - - Token getToken() { - return token; - } - - int getBinaryShiftByteCount() { - return binaryShiftByteCount; - } - - int getBitCount() { - return bitCount; - } - - // Create a new state representing this state with a latch to a (not - // necessary different) mode, and then a code. - State latchAndAppend(int mode, int value) { - // assert binaryShiftByteCount == 0; - int bitCount = this.bitCount; - Token token = this.token; - if (mode != this.mode) { - int latch = HighLevelEncoder.LATCH_TABLE[this.mode][mode]; - token = token.add(latch & 0xFFFF, latch >> 16); - bitCount += latch >> 16; - } - int latchModeBitCount = mode == HighLevelEncoder.MODE_DIGIT ? 4 : 5; - token = token.add(value, latchModeBitCount); - return new State(token, mode, 0, bitCount + latchModeBitCount); - } - - // Create a new state representing this state, with a temporary shift - // to a different mode to output a single value. - State shiftAndAppend(int mode, int value) { - // assert binaryShiftByteCount == 0 && this.mode != mode; - Token token = this.token; - int thisModeBitCount = this.mode == HighLevelEncoder.MODE_DIGIT ? 4 : 5; - // Shifts exist only to UPPER and PUNCT, both with tokens size 5. - token = token.add(HighLevelEncoder.SHIFT_TABLE[this.mode][mode], - thisModeBitCount); - token = token.add(value, 5); - return new State(token, this.mode, 0, this.bitCount + thisModeBitCount - + 5); - } - - // Create a new state representing this state, but an additional character - // output in Binary Shift mode. - State addBinaryShiftChar(int index) { - Token token = this.token; - int mode = this.mode; - int bitCount = this.bitCount; - if (this.mode == HighLevelEncoder.MODE_PUNCT - || this.mode == HighLevelEncoder.MODE_DIGIT) { - // assert binaryShiftByteCount == 0; - int latch = HighLevelEncoder.LATCH_TABLE[mode][HighLevelEncoder.MODE_UPPER]; - token = token.add(latch & 0xFFFF, latch >> 16); - bitCount += latch >> 16; - mode = HighLevelEncoder.MODE_UPPER; - } - int deltaBitCount = (binaryShiftByteCount == 0 || binaryShiftByteCount == 31) ? 18 - : (binaryShiftByteCount == 62) ? 9 : 8; - State result = new State(token, mode, binaryShiftByteCount + 1, - bitCount + deltaBitCount); - if (result.binaryShiftByteCount == 2047 + 31) { - // The string is as long as it's allowed to be. We should end it. - result = result.endBinaryShift(index + 1); - } - return result; - } - - // Create the state identical to this one, but we are no longer in - // Binary Shift mode. - State endBinaryShift(int index) { - if (binaryShiftByteCount == 0) { - return this; - } - Token token = this.token; - token = token.addBinaryShift(index - binaryShiftByteCount, - binaryShiftByteCount); - // assert token.getTotalBitCount() == this.bitCount; - return new State(token, mode, 0, this.bitCount); - } - - // Returns true if "this" state is better (or equal) to be in than "that" - // state under all possible circumstances. - boolean isBetterThanOrEqualTo(State other) { - int mySize = this.bitCount - + (HighLevelEncoder.LATCH_TABLE[this.mode][other.mode] >> 16); - if (other.binaryShiftByteCount > 0 - && (this.binaryShiftByteCount == 0 || this.binaryShiftByteCount > other.binaryShiftByteCount)) { - mySize += 10; // Cost of entering Binary Shift mode. - } - return mySize <= other.bitCount; - } - - BitArray toBitArray(byte[] text) { - // Reverse the tokens, so that they are in the order that they should - // be output - Deque symbols = new LinkedList<>(); - for (Token token = endBinaryShift(text.length).token; token != null; token = token - .getPrevious()) { - symbols.addFirst(token); - } - BitArray bitArray = new BitArray(); - // Add each token to the result. - for (Token symbol : symbols) { - symbol.appendTo(bitArray, text); - } - // assert bitArray.getSize() == this.bitCount; - return bitArray; - } - - @Override - public String toString() { - return String.format("%s bits=%d bytes=%d", - HighLevelEncoder.MODE_NAMES[mode], bitCount, - binaryShiftByteCount); - } - -} diff --git a/eclipse/src/com/google/zxing/aztec/encoder/Token.java b/eclipse/src/com/google/zxing/aztec/encoder/Token.java deleted file mode 100644 index 38864e2f..00000000 --- a/eclipse/src/com/google/zxing/aztec/encoder/Token.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2013 ZXing authors - * - * 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 com.google.zxing.aztec.encoder; - -import com.google.zxing.common.BitArray; - -abstract class Token { - - static final Token EMPTY = new SimpleToken(null, 0, 0); - - private final Token previous; - - Token(Token previous) { - this.previous = previous; - } - - final Token getPrevious() { - return previous; - } - - final Token add(int value, int bitCount) { - return new SimpleToken(this, value, bitCount); - } - - final Token addBinaryShift(int start, int byteCount) { - // int bitCount = (byteCount * 8) + (byteCount <= 31 ? 10 : byteCount <= - // 62 ? 20 : 21); - return new BinaryShiftToken(this, start, byteCount); - } - - abstract void appendTo(BitArray bitArray, byte[] text); - -} diff --git a/eclipse/src/org/ripple/power/config/LSystem.java b/eclipse/src/org/ripple/power/config/LSystem.java index 5a1bc4d9..7892be58 100644 --- a/eclipse/src/org/ripple/power/config/LSystem.java +++ b/eclipse/src/org/ripple/power/config/LSystem.java @@ -443,7 +443,7 @@ public final static void callScreenRunnable(Runnable runnable) { public static final String applicationName = "RipplePower"; - public static final String applicationVersion = "Demo 0.1.2"; + public static final String applicationVersion = "Demo 0.1.3"; public static final String walletName = "ripple_wallet.dat"; diff --git a/eclipse/src/org/ripple/power/helper/HelperDialog.java b/eclipse/src/org/ripple/power/helper/HelperDialog.java index 4f233022..6ecaaf23 100644 --- a/eclipse/src/org/ripple/power/helper/HelperDialog.java +++ b/eclipse/src/org/ripple/power/helper/HelperDialog.java @@ -15,6 +15,7 @@ import org.ripple.power.config.LSystem; import org.ripple.power.config.Loop; +import org.ripple.power.config.Model; import org.ripple.power.i18n.LangConfig; import org.ripple.power.timer.LTimerContext; import org.ripple.power.txns.Updateable; @@ -241,6 +242,13 @@ public static void showDialog() { } } + public static boolean isSystemVisible() { + if (instance != null) { + return instance.isVisible(); + } + return false; + } + public synchronized static RPPushTool get() { if (instance == null) { instance = load(); @@ -404,11 +412,22 @@ private void drawLineString(Graphics g, String message, int x, int y) { } } - public static void main(String[] args) { - RPPushTool rpp = HelperDialog.get(); + public static void setHelperMessage(RPPushTool rpp, String message) { if ((rpp.obj != null) && (rpp.obj instanceof HelperDialog)) { HelperDialog dialog = (HelperDialog) rpp.obj; - dialog.setMessage("Hello, Ripple World ! Right and Justice are on our side !"); + dialog.setMessage(message); + } + } + + public static void setSystemHelperMessage(String message){ + if (LSystem.current == Model.Ripple) { + if (HelperDialog.isSystemVisible()) { + RPPushTool rpp = HelperDialog.get(); + HelperDialog + .setHelperMessage( + rpp, + message); + } } } diff --git a/eclipse/src/org/ripple/power/txns/btc/BTCLoader.java b/eclipse/src/org/ripple/power/txns/btc/BTCLoader.java index 5ae92c7d..518367f3 100644 --- a/eclipse/src/org/ripple/power/txns/btc/BTCLoader.java +++ b/eclipse/src/org/ripple/power/txns/btc/BTCLoader.java @@ -559,7 +559,7 @@ public static void shutdown() { if (propFile != null) { saveProperties(); } - log.info("JavaBitcoin shutdown completed"); + log.info("RipplePower shutdown completed"); if (LogManager.getLogManager() instanceof LogManagerOverride) ((LogManagerOverride) LogManager.getLogManager()).logShutdown(); @@ -568,7 +568,7 @@ public static void shutdown() { public static void saveProperties() { try { try (FileOutputStream out = new FileOutputStream(propFile)) { - properties.store(out, "JavaBitcoin Properties"); + properties.store(out, "RipplePower Properties"); } } catch (Exception exc) { ErrorLog.logException( @@ -578,15 +578,6 @@ public static void saveProperties() { private static void processArguments(String[] args) throws UnknownHostException { - // - // PROD indicates we should use the production network - // TEST indicates we should use the test network - // LOAD indicates we should load the block chain from the reference - // client data directory - // RETRY indicates we should retry a block that is currently held - // MIGRATE indicate we should migrate a LevelDB database to an H2 - // database - // switch (args[0].toLowerCase()) { case "bootstrap": createBootstrap = true; diff --git a/eclipse/src/org/ripple/power/ui/MainUI.java b/eclipse/src/org/ripple/power/ui/MainUI.java index afb953f1..f2869d22 100644 --- a/eclipse/src/org/ripple/power/ui/MainUI.java +++ b/eclipse/src/org/ripple/power/ui/MainUI.java @@ -333,11 +333,10 @@ public void action(Object o) { PriceMonitor.get(); if (LSystem.current == Model.Ripple) { RPPushTool rpp = HelperDialog.get(); - if ((rpp.obj != null) - && (rpp.obj instanceof HelperDialog)) { - HelperDialog dialog = (HelperDialog) rpp.obj; - dialog.setMessage("Hello, Ripple World ! Right and Justice are on our side ! This is a Java Version Ripple Desktop Client for interacting with the Ripple network ."); - } + HelperDialog + .setHelperMessage( + rpp, + "Hello, Ripple World ! Right and Justice are on our side ! This is a Java Version Ripple Desktop Client for interacting with the Ripple network ."); LSystem.sleep(LSystem.SECOND); } if (LSystem.current == Model.Ripple) { diff --git a/eclipse/src/org/ripple/power/ui/RPAccountInfoDialog.java b/eclipse/src/org/ripple/power/ui/RPAccountInfoDialog.java index 03945795..837ef53f 100644 --- a/eclipse/src/org/ripple/power/ui/RPAccountInfoDialog.java +++ b/eclipse/src/org/ripple/power/ui/RPAccountInfoDialog.java @@ -21,6 +21,7 @@ import javax.swing.table.TableRowSorter; import org.ripple.power.config.LSystem; +import org.ripple.power.helper.HelperDialog; import org.ripple.power.helper.HelperWindow; import org.ripple.power.i18n.LangConfig; import org.ripple.power.txns.AccountFind; @@ -505,8 +506,10 @@ public void action(Object o) { } }); pack(); + + HelperDialog.setSystemHelperMessage("View the Ripple address detail data [ if your using a Ripple Labs public node , please update node to the s2.ripple.com view all history , s1.ripple.com only save one month's transactions ] . "); - }// + } private JPopupMenu _popMenu = new JPopupMenu(); diff --git a/eclipse/src/org/ripple/power/ui/RPChatServerDialog.java b/eclipse/src/org/ripple/power/ui/RPChatServerDialog.java index 0b3d4cd3..b6104d8a 100644 --- a/eclipse/src/org/ripple/power/ui/RPChatServerDialog.java +++ b/eclipse/src/org/ripple/power/ui/RPChatServerDialog.java @@ -212,7 +212,10 @@ public void canceled() { } else if (obj == sysMessage || obj == sysMessageButton) { sendSystemMessage(); } else if (obj == myIP) { - info("Net IP:" + IP46Utils.getLocalIP()); + try { + info("Net IP:" + IP46Utils.getLocalIP()); + } catch (Exception exc) { + } } } diff --git a/eclipse/src/org/ripple/power/ui/RPExchangeDialog.java b/eclipse/src/org/ripple/power/ui/RPExchangeDialog.java index ba413844..411a0e0c 100644 --- a/eclipse/src/org/ripple/power/ui/RPExchangeDialog.java +++ b/eclipse/src/org/ripple/power/ui/RPExchangeDialog.java @@ -26,6 +26,7 @@ import org.json.JSONObject; import org.ripple.power.config.LSystem; import org.ripple.power.config.Session; +import org.ripple.power.helper.HelperDialog; import org.ripple.power.helper.HelperWindow; import org.ripple.power.hft.TraderProcess; import org.ripple.power.i18n.LangConfig; @@ -325,6 +326,8 @@ public RPExchangeDialog(String text, JFrame parent, final WalletItem item) { this.setPreferredSize(dim); this.setSize(dim); this.initComponents(); + + HelperDialog.setSystemHelperMessage("In the Ripple network, Start online trading . "); } private void initComponents() { diff --git a/eclipse/src/org/ripple/power/ui/RPGatewayDialog.java b/eclipse/src/org/ripple/power/ui/RPGatewayDialog.java index d9d82faf..bbc41998 100644 --- a/eclipse/src/org/ripple/power/ui/RPGatewayDialog.java +++ b/eclipse/src/org/ripple/power/ui/RPGatewayDialog.java @@ -23,6 +23,7 @@ import org.json.JSONObject; import org.ripple.power.config.LSystem; +import org.ripple.power.helper.HelperDialog; import org.ripple.power.helper.HelperWindow; import org.ripple.power.i18n.LangConfig; import org.ripple.power.txns.AccountFind; @@ -132,6 +133,8 @@ public RPGatewayDialog(String text, JFrame parent, final WalletItem item) { setPreferredSize(dim); setSize(dim); initComponents(); + + HelperDialog.setSystemHelperMessage("Set or Add and Create Ripple Gateway . "); } diff --git a/eclipse/src/org/ripple/power/ui/RPOtherServicesDialog.java b/eclipse/src/org/ripple/power/ui/RPOtherServicesDialog.java index c0e0c12f..9b4430e8 100644 --- a/eclipse/src/org/ripple/power/ui/RPOtherServicesDialog.java +++ b/eclipse/src/org/ripple/power/ui/RPOtherServicesDialog.java @@ -30,6 +30,8 @@ public class RPOtherServicesDialog extends JPanel { private RPCButton _ripple_bitcoin_news; private RPCButton _script_editor; private RPCButton _p2pchat; + private RPCButton _btc38forRippleFox; + private RPCButton _botTraded; private static RPPushTool instance = null; @@ -63,7 +65,7 @@ private static RPPushTool load() { RPOtherServicesDialog services = new RPOtherServicesDialog(); return RPPushTool.pop(new Point( (size.width - services.getWidth()) - 10, size.getHeight()), - (int) (screenInsets.bottom + services.getHeight() + 150), + (int) (screenInsets.bottom + services.getHeight() + 70), "Other Apps/Services", services); } else { RPOtherServicesDialog services = new RPOtherServicesDialog(); @@ -75,7 +77,7 @@ private static RPPushTool load() { } public RPOtherServicesDialog() { - Dimension dim = new Dimension(246, 465); + Dimension dim = new Dimension(246, 565); setPreferredSize(dim); setSize(dim); initComponents(); @@ -94,14 +96,17 @@ private void initComponents() { _script_editor = new RPCButton(); _downloader = new RPCButton(); _p2pchat = new RPCButton(); + _btc38forRippleFox = new RPCButton(); + _botTraded = new RPCButton(); setLayout(null); + int size = 10; _rippleTrade.setText(LangConfig.get(this, "rl", "RippleTrade(RL Server)")); _rippleTrade.setFont(font); add(_rippleTrade); - _rippleTrade.setBounds(10, 10, 224, 34); + _rippleTrade.setBounds(10, size, 224, 34); _rippleTrade.addActionListener(new ActionListener() { @Override @@ -111,10 +116,58 @@ public void actionPerformed(ActionEvent e) { } }); + _botTraded.setText("BOT Trading"); + _botTraded.setFont(font); + add(_botTraded); + _botTraded.setBounds(10, size += 50, 224, 34); + _botTraded.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + if (LSystem.applicationMain != null) { + UIMessage.infoMessage(LSystem.applicationMain, + "The next version open function......"); + } + } + }); + + _btc2ripple_sn.setText(LangConfig.get(this, "pay", "Pay Money")); + _btc2ripple_sn.setFont(font); + add(_btc2ripple_sn); + _btc2ripple_sn.setBounds(10, size += 50, 224, 34); + _btc2ripple_sn.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + RPPayPortDialog + .showDialog("Pay Money", LSystem.applicationMain); + } + }); + + _btc2ripple_co.setText(LangConfig.get(this, "todo", "Encryp Todo")); + _btc2ripple_co.setFont(font); + add(_btc2ripple_co); + _btc2ripple_co.setBounds(10, size += 50, 224, 34); + _btc2ripple_co.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + + LSystem.postThread(new Updateable() { + + @Override + public void action(Object o) { + RPTodoFrame.get(); + } + }); + + } + }); + _xrp2vpn.setText(LangConfig.get(this, "vpn", "XRP Buy VPN")); _xrp2vpn.setFont(font); add(_xrp2vpn); - _xrp2vpn.setBounds(10, 160, 224, 34); + _xrp2vpn.setBounds(10, size += 50, 224, 34); _xrp2vpn.addActionListener(new ActionListener() { @Override @@ -124,11 +177,24 @@ public void actionPerformed(ActionEvent e) { } }); + _btc38forRippleFox.setText("RippleFox Send to BTC38"); + _btc38forRippleFox.setFont(font); + add(_btc38forRippleFox); + _btc38forRippleFox.setBounds(10, size += 50, 224, 34); + _btc38forRippleFox.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + LSystem.openURL("https://ripplefox.com/cny/btc38"); + + } + }); + _ripple_bitcoin_news.setText(LangConfig.get(this, "news", "Ripple/Bitcoin News")); _ripple_bitcoin_news.setFont(font); add(_ripple_bitcoin_news); - _ripple_bitcoin_news.setBounds(10, 210, 224, 34); + _ripple_bitcoin_news.setBounds(10, size += 50, 224, 34); _ripple_bitcoin_news.addActionListener(new ActionListener() { @Override @@ -142,7 +208,7 @@ public void actionPerformed(ActionEvent e) { "Ripple Script Editor")); _script_editor.setFont(font); add(_script_editor); - _script_editor.setBounds(10, 260, 224, 34); + _script_editor.setBounds(10, size += 50, 224, 34); _script_editor.addActionListener(new ActionListener() { @Override @@ -155,7 +221,7 @@ public void actionPerformed(ActionEvent e) { "Ripple Trading Tools")); _activeRipple.setFont(font); add(_activeRipple); - _activeRipple.setBounds(10, 310, 224, 34); + _activeRipple.setBounds(10, size += 50, 224, 34); _activeRipple.addActionListener(new ActionListener() { @Override @@ -169,7 +235,7 @@ public void actionPerformed(ActionEvent e) { _downloader.setText(LangConfig.get(this, "download", "Downloader")); _downloader.setFont(font); add(_downloader); - _downloader.setBounds(10, 360, 224, 34); + _downloader.setBounds(10, size += 50, 224, 34); _downloader.addActionListener(new ActionListener() { @Override @@ -181,7 +247,7 @@ public void actionPerformed(ActionEvent e) { _p2pchat.setText(LangConfig.get(this, "chat", "Ripple P2P Chat")); _p2pchat.setFont(font); add(_p2pchat); - _p2pchat.setBounds(10, 410, 224, 34); + _p2pchat.setBounds(10, size += 50, 224, 34); _p2pchat.addActionListener(new ActionListener() { @Override @@ -191,39 +257,6 @@ public void actionPerformed(ActionEvent e) { } }); - _btc2ripple_sn.setText(LangConfig.get(this, "pay", "Pay Money")); - _btc2ripple_sn.setFont(font); - add(_btc2ripple_sn); - _btc2ripple_sn.setBounds(10, 60, 224, 34); - _btc2ripple_sn.addActionListener(new ActionListener() { - - @Override - public void actionPerformed(ActionEvent e) { - RPPayPortDialog - .showDialog("Pay Money", LSystem.applicationMain); - } - }); - - _btc2ripple_co.setText(LangConfig.get(this, "todo", "Encryp Todo")); - _btc2ripple_co.setFont(font); - add(_btc2ripple_co); - _btc2ripple_co.setBounds(10, 110, 224, 34); - _btc2ripple_co.addActionListener(new ActionListener() { - - @Override - public void actionPerformed(ActionEvent e) { - - LSystem.postThread(new Updateable() { - - @Override - public void action(Object o) { - RPTodoFrame.get(); - } - }); - - } - }); - setBackground(UIConfig.dialogbackground); } } diff --git a/eclipse/src/org/ripple/power/ui/RPSelectAddressDialog.java b/eclipse/src/org/ripple/power/ui/RPSelectAddressDialog.java index 9a35e1fc..44ebdb60 100644 --- a/eclipse/src/org/ripple/power/ui/RPSelectAddressDialog.java +++ b/eclipse/src/org/ripple/power/ui/RPSelectAddressDialog.java @@ -11,6 +11,7 @@ import org.ripple.power.RippleBlobObj; import org.ripple.power.config.LSystem; +import org.ripple.power.helper.HelperDialog; import org.ripple.power.ui.graphics.LImage; import org.ripple.power.ui.view.RPToast; import org.ripple.power.ui.view.WaitDialog; @@ -115,6 +116,8 @@ public void actionPerformed(ActionEvent e) { this.setBackground(UIConfig.dialogbackground); this.tool = RPDialogTool.show(parent, text, this, -1, -1, false, LSystem.MINUTE); + + HelperDialog.setSystemHelperMessage("Ripple secret create or import , The Ripple secret is stored Your Computer . Your are the sole owner , will not be uploaded to the Ripple network ."); } } diff --git a/eclipse/src/org/ripple/power/ui/RPSelectMoneyDialog.java b/eclipse/src/org/ripple/power/ui/RPSelectMoneyDialog.java index 1798e9a5..021358c9 100644 --- a/eclipse/src/org/ripple/power/ui/RPSelectMoneyDialog.java +++ b/eclipse/src/org/ripple/power/ui/RPSelectMoneyDialog.java @@ -11,6 +11,7 @@ import javax.swing.JPanel; import org.ripple.power.config.LSystem; +import org.ripple.power.helper.HelperDialog; import org.ripple.power.i18n.LangConfig; import org.ripple.power.ui.graphics.LImage; import org.ripple.power.ui.view.RPToast; @@ -141,6 +142,8 @@ public RPSelectMoneyDialog(String text, Window parent, WalletItem item) { setBackground(UIConfig.dialogbackground); this.tool = RPDialogTool.show(parent, text, this, -1, -1, false, LSystem.MINUTE); + + HelperDialog.setSystemHelperMessage("Send XRP / IOU to the specified Ripple address or Ripple account name . "); } @Override diff --git a/eclipse/src/org/ripple/power/ui/btc/BTCTopPanel.java b/eclipse/src/org/ripple/power/ui/btc/BTCCmdPanel.java similarity index 64% rename from eclipse/src/org/ripple/power/ui/btc/BTCTopPanel.java rename to eclipse/src/org/ripple/power/ui/btc/BTCCmdPanel.java index 22126a75..ecd9829a 100644 --- a/eclipse/src/org/ripple/power/ui/btc/BTCTopPanel.java +++ b/eclipse/src/org/ripple/power/ui/btc/BTCCmdPanel.java @@ -22,7 +22,7 @@ import org.ripple.power.ui.graphics.chart.LineChartCanvas; import org.ripple.power.utils.GraphicsUtils; -public class BTCTopPanel extends JPanel { +public class BTCCmdPanel extends JPanel { /** * @@ -32,6 +32,16 @@ public class BTCTopPanel extends JPanel { private ImageIcon blocks = new ImageIcon(new LImage("icons/web.png") .scaledInstance(48, 48).getBufferedImage()); + private ImageIcon wallet = new ImageIcon(new LImage("icons/wallet.png") + .scaledInstance(48, 48).getBufferedImage()); + + private ImageIcon brain = new ImageIcon(new LImage("icons/safe.png") + .scaledInstance(48, 48).getBufferedImage()); + + private ImageIcon exchange = new ImageIcon(new LImage("icons/post.png") + .scaledInstance(48, 48).getBufferedImage()); + + private BTCPricePanel price; private LineChartCanvas btcChartCanvas; private ChartValueSerie btcChart = new ChartValueSerie(LColor.red, 1); @@ -52,8 +62,8 @@ public void start() { price.start(); } } - - public BTCTopPanel() { + + public BTCCmdPanel() { super(null); frameWidth = LSystem.applicationMain.getWidth(); frameHeight = LSystem.applicationMain.getHeight() - 200; @@ -69,7 +79,7 @@ public BTCTopPanel() { downloadBlockButton.setText("Download Blocks"); downloadBlockButton.setFont(GraphicsUtils.getFont( LangConfig.getFontName(), 1, 20)); - downloadBlockButton.setBounds(20, price.getHeight() + 50, 350, 100); + downloadBlockButton.setBounds(30, price.getHeight() + 50, 320, 100); downloadBlockButton.addActionListener(new ActionListener() { @Override @@ -89,6 +99,58 @@ public void run() { }); add(downloadBlockButton); + RPCButton walletButton = new RPCButton(wallet); + walletButton.setText("Bitcoin Wallet"); + walletButton.setFont(GraphicsUtils.getFont(LangConfig.getFontName(), 1, + 20)); + walletButton.setBounds( + downloadBlockButton.getX() + downloadBlockButton.getWidth() + + 20, price.getHeight() + 50, 320, 100); + walletButton.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + + BTCLoader.start(new String[] {}); + LSystem.invokeLater(new Runnable() { + + @Override + public void run() { + + BitcoinWalletDialog.showDialog("Bitcoin Wallet", + LSystem.applicationMain); + } + }); + + + } + }); + add(walletButton); + + + //Brain wallet hacker + /** + * BTC transactions for monitoring, found the wallet in line dictionaries brain immediately send to your address...... + */ + RPCButton brainButton = new RPCButton(brain); + brainButton.setText("Brain wallet hacker"); + brainButton.setFont(GraphicsUtils.getFont(LangConfig.getFontName(), 1, + 20)); + brainButton.setBounds( + walletButton.getX() + walletButton.getWidth() + + 20, price.getHeight() + 50, 320, 100); + add(brainButton); + + //Exchange BTC to XRP + RPCButton toXrpButton = new RPCButton(exchange); + toXrpButton.setText("Exchange BTC to XRP"); + toXrpButton.setFont(GraphicsUtils.getFont(LangConfig.getFontName(), 1, + 20)); + toXrpButton.setBounds( + brainButton.getX() + brainButton.getWidth() + + 20, price.getHeight() + 50, 320, 100); + add(toXrpButton); + final int width = frameWidth - price.getWidth() - 70; if (!isRunning) { @@ -121,8 +183,8 @@ public void action(Object o) { } - private LineChartCanvas addChart(LineChartCanvas canvas, int w, - int h, ChartValueSerie my) { + private LineChartCanvas addChart(LineChartCanvas canvas, int w, int h, + ChartValueSerie my) { if (canvas == null) { canvas = new LineChartCanvas(w, h); canvas.setTextVis(false, false, true, true); @@ -135,7 +197,7 @@ private LineChartCanvas addChart(LineChartCanvas canvas, int w, @Override public void run() { - BTCTopPanel.this.repaint(); + BTCCmdPanel.this.repaint(); tmp.validate(); tmp.repaint(); } @@ -145,7 +207,7 @@ public void run() { return canvas; } - private void addData(ChartValueSerie chart, int day, String cur) + private void addData(ChartValueSerie chart, int day, String cur) throws Exception { ArrayMap arrays = OtherData.getCapitalization(day, cur); if (arrays != null && arrays.size() > 0) { diff --git a/eclipse/src/org/ripple/power/ui/btc/BTCPanel.java b/eclipse/src/org/ripple/power/ui/btc/BTCPanel.java index 260d778d..e7ca0060 100644 --- a/eclipse/src/org/ripple/power/ui/btc/BTCPanel.java +++ b/eclipse/src/org/ripple/power/ui/btc/BTCPanel.java @@ -15,14 +15,14 @@ public class BTCPanel extends RoundedPanel { */ private static final long serialVersionUID = 1L; - private BTCTopPanel panel; + private BTCCmdPanel panel; public BTCPanel() { super(new BorderLayout()); setOpaque(true); setBackground(UIConfig.background); setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); - panel = new BTCTopPanel(); + panel = new BTCCmdPanel(); add(panel); } diff --git a/eclipse/src/org/ripple/power/ui/btc/BTCWallet.java b/eclipse/src/org/ripple/power/ui/btc/BTCWallet.java deleted file mode 100644 index 2c7f06d4..00000000 --- a/eclipse/src/org/ripple/power/ui/btc/BTCWallet.java +++ /dev/null @@ -1,426 +0,0 @@ -package org.ripple.power.ui.btc; - -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Point; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import javax.swing.JFrame; -import javax.swing.JMenuBar; -import javax.swing.JOptionPane; -import javax.swing.WindowConstants; - -import org.ripple.power.config.LSystem; -import org.ripple.power.txns.btc.AddressFormatException; -import org.ripple.power.txns.btc.BTCLoader; -import org.ripple.power.txns.btc.BlockStoreException; -import org.ripple.power.txns.btc.BlockStoreListener; -import org.ripple.power.txns.btc.ConnectionListener; -import org.ripple.power.txns.btc.DumpedPrivateKey; -import org.ripple.power.txns.btc.ECKey; -import org.ripple.power.txns.btc.InventoryItem; -import org.ripple.power.txns.btc.InventoryMessage; -import org.ripple.power.txns.btc.Message; -import org.ripple.power.txns.btc.Peer; -import org.ripple.power.txns.btc.SendTransaction; -import org.ripple.power.txns.btc.StoredHeader; -import org.ripple.power.ui.errors.ErrorLog; -import org.ripple.power.ui.view.Menus; - -public final class BTCWallet extends JFrame implements ActionListener, ConnectionListener, BlockStoreListener { - - /** - * - */ - private static final long serialVersionUID = 1L; - - private boolean windowMinimized = false; - - private boolean synchronizingTitle = false; - - private boolean txBroadcastDone = false; - - private boolean rescanChain = false; - - private final TransactionPanel transactionPanel; - - public BTCWallet() { - super("Bitcoin Wallet"); - setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); - int frameX = 320; - int frameY = 10; - String propValue = BTCLoader.properties.getProperty("window.main.position"); - if (propValue != null) { - int sep = propValue.indexOf(','); - frameX = Integer.parseInt(propValue.substring(0, sep)); - frameY = Integer.parseInt(propValue.substring(sep+1)); - } - setLocation(frameX, frameY); - int frameWidth = 840; - int frameHeight = 580; - propValue = BTCLoader.properties.getProperty("window.main.size"); - if (propValue != null) { - int sep = propValue.indexOf(','); - frameWidth = Math.max(frameWidth, Integer.parseInt(propValue.substring(0, sep))); - frameHeight = Math.max(frameHeight, Integer.parseInt(propValue.substring(sep+1))); - } - setPreferredSize(new Dimension(frameWidth, frameHeight)); - JMenuBar menuBar = new JMenuBar(); - menuBar.setOpaque(true); - menuBar.setBackground(new Color(230,230,230)); - menuBar.add(new Menus(this, "File", new String[] {"Exit", "exit"})); - menuBar.add(new Menus(this, "View", new String[] {"Receive Addresses", "view receive"}, - new String[] {"Send Addresses", "view send"})); - menuBar.add(new Menus(this, "Actions", new String[] {"Send Coins", "send coins"}, - new String[] {"Sign Message", "sign message"}, - new String[] {"Verify Message", "verify message"})); - menuBar.add(new Menus(this, "Tools", new String[] {"Export Keys", "export keys"}, - new String[] {"Import Keys", "import keys"}, - new String[] {"Rescan Block Chain", "rescan"})); - menuBar.add(new Menus(this, "Help", new String[] {"About", "about"})); - - setJMenuBar(menuBar); - - transactionPanel = new TransactionPanel(this); - setContentPane(transactionPanel); - - if (BTCLoader.networkChainHeight > BTCLoader.blockStore.getChainHeight()) { - setTitle("Bitcoin Wallet - Synchronizing with network"); - synchronizingTitle = true; - } - - addWindowListener(new ApplicationWindowListener()); - - BTCLoader.networkHandler.addListener(this); - - BTCLoader.databaseHandler.addListener(this); - } - - - @Override - public void addChainBlock(StoredHeader blockHeader) { - - LSystem.invokeLater(new Runnable() { - - @Override - public void run() { - - transactionPanel.statusChanged(); - if (synchronizingTitle && !rescanChain && - BTCLoader.networkChainHeight <= BTCLoader.blockStore.getChainHeight()) { - synchronizingTitle = false; - setTitle("Bitcoin Wallet"); - } - - } - }); - } - - @Override - public void txUpdated() { - LSystem.invokeLater(new Runnable() { - - @Override - public void run() { - - transactionPanel.walletChanged(); - - - } - }); - } - - @Override - public void rescanCompleted() { - - LSystem.invokeLater(new Runnable() { - - @Override - public void run() { - - rescanChain = false; - transactionPanel.statusChanged(); - if (synchronizingTitle && BTCLoader.networkChainHeight <= BTCLoader.blockStore.getChainHeight()) { - synchronizingTitle = false; - setTitle("Bitcoin Wallet"); - } - - } - }); - } - - @Override - public void actionPerformed(ActionEvent ae) { - try { - String action = ae.getActionCommand(); - switch (action) { - case "exit": - exitProgram(); - break; - case "view receive": - ReceiveAddressDialog.showDialog(this); - transactionPanel.statusChanged(); - break; - case "view send": - SendAddressDialog.showDialog(this); - transactionPanel.statusChanged(); - break; - case "send coins": - SendDialog.showDialog(this); - break; - case "sign message": - if (BTCLoader.keys.isEmpty()) - JOptionPane.showMessageDialog(this, "There are no keys defined", "Error", - JOptionPane.ERROR_MESSAGE); - else - SignDialog.showDialog(this); - break; - case "verify message": - VerifyDialog.showDialog(this); - break; - case "export keys": - exportPrivateKeys(); - break; - case "import keys": - importPrivateKeys(); - break; - case "rescan": - rescan(); - break; - } - } catch (IOException exc) { - ErrorLog.logException("Unable to process key file", exc); - } catch (AddressFormatException exc) { - ErrorLog.logException("Key format is not valid", exc); - } catch (BlockStoreException exc) { - ErrorLog.logException("Unable to perform database operation", exc); - } catch (Exception exc) { - ErrorLog.logException("Exception while processing action event", exc); - } - } - - private void exportPrivateKeys() throws IOException { - StringBuilder keyText = new StringBuilder(256); - File keyFile = new File(LSystem.getBitcionDirectory()+LSystem.FS+"BitcoinWallet.keys"); - if (keyFile.exists()){ - keyFile.delete(); - } - try (BufferedWriter out = new BufferedWriter(new FileWriter(keyFile))) { - for (ECKey key : BTCLoader.keys) { - String address = key.toAddress().toString(); - DumpedPrivateKey dumpedKey = key.getPrivKeyEncoded(); - keyText.append("Label:"); - keyText.append(key.getLabel()); - keyText.append("\nTime:"); - keyText.append(Long.toString(key.getCreationTime())); - keyText.append("\nAddress:"); - keyText.append(address); - keyText.append("\nPrivate:"); - keyText.append(dumpedKey.toString()); - keyText.append("\n\n"); - out.write(keyText.toString()); - keyText.delete(0,keyText.length()); - } - } - JOptionPane.showMessageDialog(this, "Keys exported to BitcoinWallet.keys", "Keys Exported", - JOptionPane.INFORMATION_MESSAGE); - } - - private void importPrivateKeys() throws IOException, AddressFormatException, BlockStoreException { - File keyFile = new File(LSystem.getBitcionDirectory()+LSystem.FS+"BitcoinWallet.keys"); - if (!keyFile.exists()) { - JOptionPane.showMessageDialog(this, "BitcoinWallet.keys does not exist", - "Error", JOptionPane.ERROR_MESSAGE); - return; - } - - try (BufferedReader in = new BufferedReader(new FileReader(keyFile))) { - String line; - String importedLabel = ""; - String importedTime = ""; - String importedAddress = ""; - String encodedPrivateKey = ""; - boolean foundKey = false; - while ((line=in.readLine()) != null) { - - line = line.trim(); - - if (line.length() == 0 || line.charAt(0) == '#'){ - continue; - } - int sep = line.indexOf(':'); - if (sep <1 || line.length() == sep+1){ - continue; - } - String keyword = line.substring(0, sep); - String value = line.substring(sep+1); - switch (keyword) { - case "Label": - importedLabel = value; - break; - case "Time": - importedTime = value; - break; - case "Address": - importedAddress = value; - break; - case "Private": - encodedPrivateKey = value; - foundKey = true; - break; - } - - if (foundKey) { - DumpedPrivateKey dumpedKey = new DumpedPrivateKey(encodedPrivateKey); - ECKey key = dumpedKey.getKey(); - if (importedAddress.equals(key.toAddress().toString())) { - key.setLabel(importedLabel); - key.setCreationTime(Long.parseLong(importedTime)); - if (!BTCLoader.keys.contains(key)) { - BTCLoader.blockStore.storeKey(key); - synchronized(BTCLoader.lock) { - boolean added = false; - for (int i=0; i 0) { - BTCLoader.keys.add(i, key); - added = true; - break; - } - } - if (!added) - BTCLoader.keys.add(key); - BTCLoader.bloomFilter.insert(key.getPubKey()); - BTCLoader.bloomFilter.insert(key.getPubKeyHash()); - } - } - } else { - JOptionPane.showMessageDialog(this, - String.format("Address %s does not match imported private key", importedAddress), - "Error", JOptionPane.ERROR_MESSAGE); - } - - foundKey = false; - importedLabel = ""; - importedTime = ""; - importedAddress = ""; - encodedPrivateKey = ""; - } - } - } - JOptionPane.showMessageDialog(this, "Keys imported from BitcoinWallet.keys", "Keys Imported", - JOptionPane.INFORMATION_MESSAGE); - } - - private void rescan() throws BlockStoreException { - - long creationTime = System.currentTimeMillis()/1000; - for (ECKey key : BTCLoader.keys){ - creationTime = Math.min(creationTime, key.getCreationTime()); - } - - synchronizingTitle = true; - rescanChain = true; - setTitle("Bitcoin Wallet - Synchronizing with network"); - - BTCLoader.blockStore.deleteTransactions(creationTime); - transactionPanel.walletChanged(); - - BTCLoader.databaseHandler.rescanChain(creationTime); - } - - private void exitProgram() throws IOException { - - if (!windowMinimized) { - Point p = getLocation(); - Dimension d = getSize(); - BTCLoader.properties.setProperty("window.main.position", p.x+","+p.y); - BTCLoader.properties.setProperty("window.main.size", d.width+","+d.height); - } - BTCLoader.shutdown(); - } - - private class ApplicationWindowListener extends WindowAdapter { - - - public ApplicationWindowListener() { - } - - @Override - public void windowIconified(WindowEvent we) { - windowMinimized = true; - } - - @Override - public void windowDeiconified(WindowEvent we) { - windowMinimized = false; - } - - @Override - public void windowClosing(WindowEvent we) { - try { - exitProgram(); - } catch (Exception exc) { - ErrorLog.logException("Exception while closing application window", exc); - } - } - } - - @Override - public void connectionStarted(Peer peer, int count) { - - if (!synchronizingTitle && BTCLoader.networkChainHeight > BTCLoader.blockStore.getChainHeight()) { - synchronizingTitle = true; - LSystem.invokeLater(new Runnable() { - - @Override - public void run() { - - setTitle("Synchronizing bitcoin network"); - - - } - }); - } - - if (!txBroadcastDone) { - txBroadcastDone = true; - try { - List sendList = BTCLoader.blockStore.getSendTxList(); - if (!sendList.isEmpty()) { - List invList = new ArrayList(sendList.size()); - for (SendTransaction sendTx : sendList) { - int depth = BTCLoader.blockStore.getTxDepth(sendTx.getTxHash()); - if (depth == 0) - invList.add(new InventoryItem(InventoryItem.INV_TX, sendTx.getTxHash())); - } - if (!invList.isEmpty()) { - Message invMsg = InventoryMessage.buildInventoryMessage(peer, invList); - BTCLoader.networkHandler.sendMessage(invMsg); - BTCLoader.info(String.format("Pending transaction inventory sent to %s", - peer.getAddress().toString())); - } - } - } catch (BlockStoreException exc) { - ErrorLog.logException("Unable to get send transaction list", exc); - } - } - - - } - - @Override - public void connectionEnded(Peer peer, int count) { - - } -} diff --git a/eclipse/src/org/ripple/power/ui/btc/BitcoinWalletDialog.java b/eclipse/src/org/ripple/power/ui/btc/BitcoinWalletDialog.java new file mode 100644 index 00000000..19b4f49a --- /dev/null +++ b/eclipse/src/org/ripple/power/ui/btc/BitcoinWalletDialog.java @@ -0,0 +1,430 @@ +package org.ripple.power.ui.btc; + +import java.awt.Color; +import java.awt.Dialog; +import java.awt.Dimension; +import java.awt.Window; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.JDialog; +import javax.swing.JMenuBar; +import javax.swing.JOptionPane; + +import org.ripple.power.config.LSystem; +import org.ripple.power.helper.HelperWindow; +import org.ripple.power.txns.btc.AddressFormatException; +import org.ripple.power.txns.btc.BTCLoader; +import org.ripple.power.txns.btc.BlockStoreException; +import org.ripple.power.txns.btc.BlockStoreListener; +import org.ripple.power.txns.btc.ConnectionListener; +import org.ripple.power.txns.btc.DumpedPrivateKey; +import org.ripple.power.txns.btc.ECKey; +import org.ripple.power.txns.btc.InventoryItem; +import org.ripple.power.txns.btc.InventoryMessage; +import org.ripple.power.txns.btc.Message; +import org.ripple.power.txns.btc.Peer; +import org.ripple.power.txns.btc.SendTransaction; +import org.ripple.power.txns.btc.StoredHeader; +import org.ripple.power.ui.UIRes; +import org.ripple.power.ui.errors.ErrorLog; +import org.ripple.power.ui.view.Menus; +import org.ripple.power.utils.SwingUtils; + +public final class BitcoinWalletDialog extends JDialog implements + ActionListener, ConnectionListener, BlockStoreListener { + + /** + * + */ + private static final long serialVersionUID = 1L; + + private boolean synchronizingTitle = false; + + private boolean txBroadcastDone = false; + + private boolean rescanChain = false; + + private final TransactionPanel transactionPanel; + + public static BitcoinWalletDialog showDialog(String text, Window parent) { + BitcoinWalletDialog dialog = new BitcoinWalletDialog(text, parent); + dialog.pack(); + dialog.setLocationRelativeTo(parent); + dialog.setVisible(true); + return dialog; + } + + public BitcoinWalletDialog(String text, Window parent) { + super(LSystem.applicationMain, text, Dialog.ModalityType.DOCUMENT_MODAL); + addWindowListener(HelperWindow.get()); + setIconImage(UIRes.getIcon()); + setResizable(false); + int frameWidth = 900; + int frameHeight = 580; + if (LSystem.applicationMain != null) { + frameWidth = LSystem.applicationMain.getWidth() - 150; + frameHeight = LSystem.applicationMain.getHeight() - 150; + } + setPreferredSize(new Dimension(frameWidth, frameHeight)); + JMenuBar menuBar = new JMenuBar(); + menuBar.setOpaque(true); + menuBar.setBackground(new Color(230, 230, 230)); + menuBar.add(new Menus(this, "File", new String[] { "Exit", "exit" })); + menuBar.add(new Menus(this, "View", new String[] { "Receive Addresses", + "view receive" }, + new String[] { "Send Addresses", "view send" })); + menuBar.add(new Menus(this, "Actions", new String[] { "Send Coins", + "send coins" }, + new String[] { "Sign Message", "sign message" }, new String[] { + "Verify Message", "verify message" })); + menuBar.add(new Menus(this, "Tools", new String[] { "Export Keys", + "export keys" }, new String[] { "Import Keys", "import keys" }, + new String[] { "Rescan Block Chain", "rescan" })); + + setJMenuBar(menuBar); + transactionPanel = new TransactionPanel(this); + setContentPane(transactionPanel); + if (BTCLoader.networkChainHeight > BTCLoader.blockStore + .getChainHeight()) { + setTitle("Bitcoin Wallet - Synchronizing with network"); + synchronizingTitle = true; + } + addWindowListener(new ApplicationWindowListener()); + BTCLoader.networkHandler.addListener(this); + BTCLoader.databaseHandler.addListener(this); + } + + @Override + public void addChainBlock(StoredHeader blockHeader) { + LSystem.invokeLater(new Runnable() { + + @Override + public void run() { + + transactionPanel.statusChanged(); + if (synchronizingTitle + && !rescanChain + && BTCLoader.networkChainHeight <= BTCLoader.blockStore + .getChainHeight()) { + synchronizingTitle = false; + setTitle("Bitcoin Wallet"); + } + + } + }); + } + + @Override + public void txUpdated() { + LSystem.invokeLater(new Runnable() { + + @Override + public void run() { + + transactionPanel.walletChanged(); + + } + }); + } + + @Override + public void rescanCompleted() { + LSystem.invokeLater(new Runnable() { + + @Override + public void run() { + + rescanChain = false; + transactionPanel.statusChanged(); + if (synchronizingTitle + && BTCLoader.networkChainHeight <= BTCLoader.blockStore + .getChainHeight()) { + synchronizingTitle = false; + setTitle("Bitcoin Wallet"); + } + + } + }); + } + + @Override + public void actionPerformed(ActionEvent ae) { + try { + String action = ae.getActionCommand(); + switch (action) { + case "exit": + exit(); + break; + case "view receive": + ReceiveAddressDialog.showDialog(this); + transactionPanel.statusChanged(); + break; + case "view send": + SendAddressDialog.showDialog(this); + transactionPanel.statusChanged(); + break; + case "send coins": + SendDialog.showDialog(this); + break; + case "sign message": + if (BTCLoader.keys.isEmpty()) { + JOptionPane.showMessageDialog(this, + "There are no keys defined", "Error", + JOptionPane.ERROR_MESSAGE); + } else { + SignDialog.showDialog(this); + } + break; + case "verify message": + VerifyDialog.showDialog(this); + break; + case "export keys": + exportDefPrivateKeys(); + break; + case "import keys": + importDefPrivateKeys(); + break; + case "rescan": + rescan(); + break; + } + } catch (IOException exc) { + ErrorLog.logException("Unable to process key file", exc); + } catch (AddressFormatException exc) { + ErrorLog.logException("Key format is not valid", exc); + } catch (BlockStoreException exc) { + ErrorLog.logException("Unable to perform database operation", exc); + } catch (Exception exc) { + ErrorLog.logException("Exception while processing action event", + exc); + } + } + + private void exportDefPrivateKeys() throws IOException { + StringBuilder keyText = new StringBuilder(256); + File keyFile = new File(LSystem.getBitcionDirectory() + LSystem.FS + + "BTCWallet.keys"); + if (keyFile.exists()) { + keyFile.delete(); + } + try (BufferedWriter out = new BufferedWriter(new FileWriter(keyFile))) { + for (ECKey key : BTCLoader.keys) { + String address = key.toAddress().toString(); + DumpedPrivateKey dumpedKey = key.getPrivKeyEncoded(); + keyText.append("Label:"); + keyText.append(key.getLabel()); + keyText.append("\nTime:"); + keyText.append(Long.toString(key.getCreationTime())); + keyText.append("\nAddress:"); + keyText.append(address); + keyText.append("\nPrivate:"); + keyText.append(dumpedKey.toString()); + keyText.append("\n\n"); + out.write(keyText.toString()); + keyText.delete(0, keyText.length()); + } + } + JOptionPane.showMessageDialog(this, "Keys exported to BTCWallet.keys", + "Keys Exported", JOptionPane.INFORMATION_MESSAGE); + } + + private void importDefPrivateKeys() throws IOException, + AddressFormatException, BlockStoreException { + File keyFile = new File(LSystem.getBitcionDirectory() + LSystem.FS + + "BTCWallet.keys"); + if (!keyFile.exists()) { + JOptionPane.showMessageDialog(this, + "BTCWallet.keys does not exist", "Error", + JOptionPane.ERROR_MESSAGE); + return; + } + + try (BufferedReader in = new BufferedReader(new FileReader(keyFile))) { + String line; + String importedLabel = ""; + String importedTime = ""; + String importedAddress = ""; + String encodedPrivateKey = ""; + boolean foundKey = false; + while ((line = in.readLine()) != null) { + line = line.trim(); + if (line.length() == 0 || line.charAt(0) == '#') { + continue; + } + int sep = line.indexOf(':'); + if (sep < 1 || line.length() == sep + 1) { + continue; + } + String keyword = line.substring(0, sep); + String value = line.substring(sep + 1); + switch (keyword) { + case "Label": + importedLabel = value; + break; + case "Time": + importedTime = value; + break; + case "Address": + importedAddress = value; + break; + case "Private": + encodedPrivateKey = value; + foundKey = true; + break; + } + if (foundKey) { + DumpedPrivateKey dumpedKey = new DumpedPrivateKey( + encodedPrivateKey); + ECKey key = dumpedKey.getKey(); + if (importedAddress.equals(key.toAddress().toString())) { + key.setLabel(importedLabel); + key.setCreationTime(Long.parseLong(importedTime)); + if (!BTCLoader.keys.contains(key)) { + BTCLoader.blockStore.storeKey(key); + synchronized (BTCLoader.lock) { + boolean added = false; + for (int i = 0; i < BTCLoader.keys.size(); i++) { + if (BTCLoader.keys.get(i).getLabel() + .compareToIgnoreCase(importedLabel) > 0) { + BTCLoader.keys.add(i, key); + added = true; + break; + } + } + if (!added) + BTCLoader.keys.add(key); + BTCLoader.bloomFilter.insert(key.getPubKey()); + BTCLoader.bloomFilter.insert(key + .getPubKeyHash()); + } + } + } else { + JOptionPane + .showMessageDialog( + this, + String.format( + "Address %s does not match imported private key", + importedAddress), "Error", + JOptionPane.ERROR_MESSAGE); + } + foundKey = false; + importedLabel = ""; + importedTime = ""; + importedAddress = ""; + encodedPrivateKey = ""; + } + } + } + JOptionPane.showMessageDialog(this, + "Keys imported from BTCWallet.keys", "Keys Imported", + JOptionPane.INFORMATION_MESSAGE); + } + + private void rescan() throws BlockStoreException { + long creationTime = System.currentTimeMillis() / 1000; + for (ECKey key : BTCLoader.keys) { + creationTime = Math.min(creationTime, key.getCreationTime()); + } + synchronizingTitle = true; + rescanChain = true; + setTitle("Bitcoin Wallet - Synchronizing with network"); + BTCLoader.blockStore.deleteTransactions(creationTime); + transactionPanel.walletChanged(); + BTCLoader.databaseHandler.rescanChain(creationTime); + } + + private void exit() throws IOException { + BTCLoader.shutdown(); + SwingUtils.close(this); + } + + private class ApplicationWindowListener extends WindowAdapter { + + public ApplicationWindowListener() { + } + + @Override + public void windowIconified(WindowEvent we) { + + } + + @Override + public void windowDeiconified(WindowEvent we) { + + } + + @Override + public void windowClosing(WindowEvent we) { + try { + exit(); + } catch (Exception exc) { + ErrorLog.logException( + "Exception while closing application window", exc); + } + } + } + + @Override + public void connectionStarted(Peer peer, int count) { + if (!synchronizingTitle + && BTCLoader.networkChainHeight > BTCLoader.blockStore + .getChainHeight()) { + synchronizingTitle = true; + LSystem.invokeLater(new Runnable() { + + @Override + public void run() { + + setTitle("Bitcoin Wallet - Synchronizing with network"); + + } + }); + } + if (!txBroadcastDone) { + txBroadcastDone = true; + try { + List sendList = BTCLoader.blockStore + .getSendTxList(); + if (!sendList.isEmpty()) { + List invList = new ArrayList( + sendList.size()); + for (SendTransaction sendTx : sendList) { + int depth = BTCLoader.blockStore.getTxDepth(sendTx + .getTxHash()); + if (depth == 0) + invList.add(new InventoryItem(InventoryItem.INV_TX, + sendTx.getTxHash())); + } + if (!invList.isEmpty()) { + Message invMsg = InventoryMessage + .buildInventoryMessage(peer, invList); + BTCLoader.networkHandler.sendMessage(invMsg); + BTCLoader.info(String.format( + "Pending transaction inventory sent to %s", + peer.getAddress().toString())); + } + } + } catch (BlockStoreException exc) { + ErrorLog.logException("Unable to get send transaction list", + exc); + } + } + + } + + @Override + public void connectionEnded(Peer peer, int count) { + + } +} diff --git a/eclipse/src/org/ripple/power/ui/btc/DownloadBlocksDialog.java b/eclipse/src/org/ripple/power/ui/btc/DownloadBlocksDialog.java index 017fef77..6dac5cda 100644 --- a/eclipse/src/org/ripple/power/ui/btc/DownloadBlocksDialog.java +++ b/eclipse/src/org/ripple/power/ui/btc/DownloadBlocksDialog.java @@ -15,6 +15,7 @@ import org.ripple.power.ui.UIRes; import org.ripple.power.ui.errors.ErrorLog; import org.ripple.power.ui.view.ABaseDialog; +import org.ripple.power.utils.SwingUtils; public final class DownloadBlocksDialog extends ABaseDialog implements ActionListener { @@ -56,7 +57,7 @@ public void actionPerformed(ActionEvent ae) { String action = ae.getActionCommand(); switch (action) { case "exit": - exitProgram(); + exit(); break; } } catch (Exception exc) { @@ -65,8 +66,9 @@ public void actionPerformed(ActionEvent ae) { } } - private void exitProgram() throws IOException { + private void exit() throws IOException { BTCLoader.shutdown(); + SwingUtils.close(this); } private class ApplicationWindowListener extends WindowAdapter { @@ -91,7 +93,7 @@ public void windowDeiconified(WindowEvent we) { @Override public void windowClosing(WindowEvent we) { try { - exitProgram(); + exit(); } catch (Exception exc) { ErrorLog.logException( "Exception while closing application window", exc); diff --git a/eclipse/src/org/ripple/power/ui/btc/ReceiveAddressDialog.java b/eclipse/src/org/ripple/power/ui/btc/ReceiveAddressDialog.java index 4e123606..dbdc7b64 100644 --- a/eclipse/src/org/ripple/power/ui/btc/ReceiveAddressDialog.java +++ b/eclipse/src/org/ripple/power/ui/btc/ReceiveAddressDialog.java @@ -12,7 +12,6 @@ import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JDialog; -import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; @@ -54,7 +53,7 @@ public class ReceiveAddressDialog extends JDialog implements ActionListener { private final JScrollPane scrollPane; - public ReceiveAddressDialog(JFrame parent) { + public ReceiveAddressDialog(JDialog parent) { super(parent, "Receive Addresses", Dialog.ModalityType.DOCUMENT_MODAL); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); tableModel = new AddressTableModel(columnNames, columnClasses); @@ -82,7 +81,7 @@ public ReceiveAddressDialog(JFrame parent) { setContentPane(contentPane); } - public static void showDialog(JFrame parent) { + public static void showDialog(JDialog parent) { try { JDialog dialog = new ReceiveAddressDialog(parent); dialog.pack(); diff --git a/eclipse/src/org/ripple/power/ui/btc/SendAddressDialog.java b/eclipse/src/org/ripple/power/ui/btc/SendAddressDialog.java index 52b5a84a..410d2ba2 100644 --- a/eclipse/src/org/ripple/power/ui/btc/SendAddressDialog.java +++ b/eclipse/src/org/ripple/power/ui/btc/SendAddressDialog.java @@ -12,7 +12,6 @@ import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JDialog; -import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; @@ -49,7 +48,7 @@ public class SendAddressDialog extends JDialog implements ActionListener { private final JScrollPane scrollPane; - public SendAddressDialog(JFrame parent) { + public SendAddressDialog(JDialog parent) { super(parent, "Send Addresses", Dialog.ModalityType.DOCUMENT_MODAL); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); @@ -82,7 +81,7 @@ public SendAddressDialog(JFrame parent) { setContentPane(contentPane); } - public static void showDialog(JFrame parent) { + public static void showDialog(JDialog parent) { try { JDialog dialog = new SendAddressDialog(parent); dialog.pack(); diff --git a/eclipse/src/org/ripple/power/ui/btc/SendDialog.java b/eclipse/src/org/ripple/power/ui/btc/SendDialog.java index 2c7cf0ed..0f11f13c 100644 --- a/eclipse/src/org/ripple/power/ui/btc/SendDialog.java +++ b/eclipse/src/org/ripple/power/ui/btc/SendDialog.java @@ -13,7 +13,6 @@ import javax.swing.BoxLayout; import javax.swing.JComboBox; import javax.swing.JDialog; -import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; @@ -55,7 +54,7 @@ public class SendDialog extends JDialog implements ActionListener { private BigInteger sendFee; - public SendDialog(JFrame parent) { + public SendDialog(JDialog parent) { super(parent, "Send Coins", Dialog.ModalityType.DOCUMENT_MODAL); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); if (BTCLoader.addresses.isEmpty()) { @@ -102,7 +101,7 @@ public SendDialog(JFrame parent) { setContentPane(contentPane); } - public static void showDialog(JFrame parent) { + public static void showDialog(JDialog parent) { try { JDialog dialog = new SendDialog(parent); dialog.pack(); diff --git a/eclipse/src/org/ripple/power/ui/btc/SignDialog.java b/eclipse/src/org/ripple/power/ui/btc/SignDialog.java index 648b660e..0e8f6932 100644 --- a/eclipse/src/org/ripple/power/ui/btc/SignDialog.java +++ b/eclipse/src/org/ripple/power/ui/btc/SignDialog.java @@ -13,7 +13,6 @@ import javax.swing.BoxLayout; import javax.swing.JComboBox; import javax.swing.JDialog; -import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; @@ -43,7 +42,7 @@ public class SignDialog extends JDialog implements ActionListener { private final JTextField signatureField; - public SignDialog(JFrame parent) { + public SignDialog(JDialog parent) { super(parent, "Sign Message", Dialog.ModalityType.DOCUMENT_MODAL); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); String[] keyLabels = new String[BTCLoader.keys.size()]; @@ -86,7 +85,7 @@ public SignDialog(JFrame parent) { setContentPane(contentPane); } - public static void showDialog(JFrame parent) { + public static void showDialog(JDialog parent) { try { JDialog dialog = new SignDialog(parent); dialog.pack(); diff --git a/eclipse/src/org/ripple/power/ui/btc/TransactionPanel.java b/eclipse/src/org/ripple/power/ui/btc/TransactionPanel.java index 793fab25..acded886 100644 --- a/eclipse/src/org/ripple/power/ui/btc/TransactionPanel.java +++ b/eclipse/src/org/ripple/power/ui/btc/TransactionPanel.java @@ -16,7 +16,7 @@ import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; -import javax.swing.JFrame; +import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; @@ -27,6 +27,7 @@ import javax.swing.table.AbstractTableModel; import javax.swing.table.TableRowSorter; +import org.ripple.power.config.LSystem; import org.ripple.power.txns.btc.Address; import org.ripple.power.txns.btc.BTCLoader; import org.ripple.power.txns.btc.BlockStoreException; @@ -34,403 +35,434 @@ import org.ripple.power.txns.btc.ECKey; import org.ripple.power.txns.btc.ReceiveTransaction; import org.ripple.power.txns.btc.SendTransaction; +import org.ripple.power.ui.UIConfig; import org.ripple.power.ui.errors.ErrorLog; import org.ripple.power.ui.table.AddressTable; import org.ripple.power.ui.view.ButtonPane; public class TransactionPanel extends JPanel implements ActionListener { - /** + /** * */ private static final long serialVersionUID = 1L; - private static final Class[] columnClasses = { - Date.class, String.class, String.class, String.class, BigInteger.class, BigInteger.class, - String.class, String.class}; - - private static final String[] columnNames = { - "Date", "Transaction ID", "Type", "Name/Address", "Amount", "Fee", - "Location", "Status"}; - - private static final int[] columnTypes = { - AddressTable.DATE, AddressTable.ADDRESS, AddressTable.TYPE, AddressTable.ADDRESS, AddressTable.AMOUNT, - AddressTable.AMOUNT, AddressTable.STATUS, AddressTable.STATUS}; - - private final JLabel walletLabel; - - private final JLabel safeLabel; - - private final JLabel blockLabel; - - private final JScrollPane scrollPane; - - private final JTable table; - - private final TransactionTableModel tableModel; - - private BigInteger safeBalance; - - private BigInteger walletBalance; - - public TransactionPanel(JFrame parentFrame) { - super(); - setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); - setOpaque(true); - setBackground(Color.WHITE); - setBorder(BorderFactory.createEmptyBorder(15, 15, 15, 15)); - - tableModel = new TransactionTableModel(columnNames, columnClasses); - table = new AddressTable(tableModel, columnTypes); - table.setRowSorter(new TableRowSorter<>(tableModel)); - table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - String frameSize = BTCLoader.properties.getProperty("window.main.size"); - if (frameSize != null) { - int sep = frameSize.indexOf(','); - int frameHeight = Integer.parseInt(frameSize.substring(sep+1)); - table.setPreferredScrollableViewportSize(new Dimension( - table.getPreferredScrollableViewportSize().width, - (frameHeight/table.getRowHeight())*table.getRowHeight())); - } - - scrollPane = new JScrollPane(table); - - JPanel statusPane = new JPanel(); - statusPane.setLayout(new BoxLayout(statusPane, BoxLayout.X_AXIS)); - statusPane.setBackground(Color.WHITE); - walletLabel = new JLabel(getWalletText(), SwingConstants.CENTER); - statusPane.add(walletLabel); - safeLabel = new JLabel(getSafeText(), SwingConstants.CENTER); - statusPane.add(safeLabel); - blockLabel = new JLabel(getBlockText(), SwingConstants.CENTER); - statusPane.add(blockLabel); - - JPanel buttonPane = new ButtonPane(this, 15, new String[] {"Copy TxID", "copy txid"}, - new String[] {"Move to Safe", "move to safe"}, - new String[] {"Move to Wallet", "move to blockStore"}); - buttonPane.setBackground(Color.white); - - add(statusPane); - add(Box.createVerticalStrut(15)); - add(scrollPane); - add(Box.createVerticalStrut(15)); - add(buttonPane); - } - - - @Override - public void actionPerformed(ActionEvent ae) { - try { - int row = table.getSelectedRow(); - if (row < 0) { - JOptionPane.showMessageDialog(this, "No transaction selected", "Error", JOptionPane.ERROR_MESSAGE); - } else { - row = table.convertRowIndexToModel(row); - String action = ae.getActionCommand(); - switch (action) { - case "copy txid": - String address = (String)tableModel.getValueAt(row, 1); - StringSelection sel = new StringSelection(address); - Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard(); - cb.setContents(sel, null); - break; - case "move to safe": - if (moveToSafe(row)) { - tableModel.fireTableRowsUpdated(row, row); - walletLabel.setText(getWalletText()); - safeLabel.setText(getSafeText()); - } - break; - case "move to blockStore": - if (moveToWallet(row)) { - tableModel.fireTableRowsUpdated(row, row); - walletLabel.setText(getWalletText()); - safeLabel.setText(getSafeText()); - } - break; - } - } - } catch (BlockStoreException exc) { - ErrorLog.logException("Unable to update blockStore", exc); - } catch (Exception exc) { - ErrorLog.logException("Exception while processing action event", exc); - } - } - - public void walletChanged() { - int row = table.getSelectedRow(); - tableModel.walletChanged(); - if (row >= 0 && row < table.getRowCount()){ - table.setRowSelectionInterval(row, row); - } - walletLabel.setText(getWalletText()); - safeLabel.setText(getSafeText()); - } - - public void statusChanged() { - blockLabel.setText(getBlockText()); - tableModel.fireTableDataChanged(); - } - - private boolean moveToSafe(int row) throws BlockStoreException { - BlockTransaction tx = tableModel.getTransaction(row); - if (!(tx instanceof ReceiveTransaction)) { - JOptionPane.showMessageDialog(this, "The safe contains coins that you have received and not spent", - "Error", JOptionPane.ERROR_MESSAGE); - return false; - } - ReceiveTransaction rcvTx = (ReceiveTransaction)tx; - if (rcvTx.inSafe()) { - JOptionPane.showMessageDialog(this, "The transaction is already in the safe", - "Error", JOptionPane.ERROR_MESSAGE); - return false; - } - if (rcvTx.isSpent()) { - JOptionPane.showMessageDialog(this, "The coins have already been spent", - "Error", JOptionPane.ERROR_MESSAGE); - return false; - } - BTCLoader.blockStore.setTxSafe(rcvTx.getTxHash(), rcvTx.getTxIndex(), true); - rcvTx.setSafe(true); - safeBalance = safeBalance.add(rcvTx.getValue()); - walletBalance = walletBalance.subtract(rcvTx.getValue()); - return true; - } - - private boolean moveToWallet(int row) throws BlockStoreException { - BlockTransaction tx = tableModel.getTransaction(row); - if (!(tx instanceof ReceiveTransaction)) { - JOptionPane.showMessageDialog(this, "The safe contains coins that you have received and not spent", - "Error", JOptionPane.ERROR_MESSAGE); - return false; - } - ReceiveTransaction rcvTx = (ReceiveTransaction)tx; - if (!rcvTx.inSafe()) { - JOptionPane.showMessageDialog(this, "The transaction is not in the safe", - "Error", JOptionPane.ERROR_MESSAGE); - return false; - } - BTCLoader.blockStore.setTxSafe(rcvTx.getTxHash(), rcvTx.getTxIndex(), false); - walletBalance = walletBalance.add(rcvTx.getValue()); - safeBalance = safeBalance.subtract(rcvTx.getValue()); - rcvTx.setSafe(false); - return true; - } - - private String getWalletText() { - return String.format("

Wallet %s BTC

", BTCLoader.satoshiToString(walletBalance)); - } - - private String getSafeText() { - return String.format("

Safe %s BTC

", BTCLoader.satoshiToString(safeBalance)); - } - - private String getBlockText() { - return String.format("

Block %d

", BTCLoader.blockStore.getChainHeight()); - } - - private class TransactionTableModel extends AbstractTableModel { - - /** + private static final Class[] columnClasses = { Date.class, String.class, + String.class, String.class, BigInteger.class, BigInteger.class, + String.class, String.class }; + + private static final String[] columnNames = { "Date", "Transaction ID", + "Type", "Name/Address", "Amount", "Fee", "Location", "Status" }; + + private static final int[] columnTypes = { AddressTable.DATE, + AddressTable.ADDRESS, AddressTable.TYPE, AddressTable.ADDRESS, + AddressTable.AMOUNT, AddressTable.AMOUNT, AddressTable.STATUS, + AddressTable.STATUS }; + + private final JLabel walletLabel; + + private final JLabel safeLabel; + + private final JLabel blockLabel; + + private final JScrollPane scrollPane; + + private final JTable table; + + private final TransactionTableModel tableModel; + + private BigInteger safeBalance; + + private BigInteger walletBalance; + + public TransactionPanel(JDialog parentFrame) { + super(); + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + setOpaque(true); + setBorder(BorderFactory.createEmptyBorder(15, 15, 15, 15)); + + tableModel = new TransactionTableModel(columnNames, columnClasses); + table = new AddressTable(tableModel, columnTypes); + table.setRowSorter(new TableRowSorter<>(tableModel)); + table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + + int frameHeight = 1200; + if (LSystem.applicationMain != null) { + frameHeight = LSystem.applicationMain.getHeight() + 50; + } + table.setPreferredScrollableViewportSize(new Dimension(table + .getPreferredScrollableViewportSize().width, + (frameHeight / table.getRowHeight()) * table.getRowHeight())); + + scrollPane = new JScrollPane(table); + + JPanel statusPane = new JPanel(); + statusPane.setLayout(new BoxLayout(statusPane, BoxLayout.X_AXIS)); + statusPane.setBackground(Color.WHITE); + walletLabel = new JLabel(getWalletText(), SwingConstants.CENTER); + statusPane.add(walletLabel); + safeLabel = new JLabel(getSafeText(), SwingConstants.CENTER); + statusPane.add(safeLabel); + blockLabel = new JLabel(getBlockText(), SwingConstants.CENTER); + statusPane.add(blockLabel); + + ButtonPane buttonPane = new ButtonPane(this, 20,new String[] { + "New Address", "new address" }, new String[] { + "Copy TxID", "copy txid" }, new String[] { "Move to Safe", + "move to safe" }, new String[] { "Move to Wallet", + "move to blockStore" }); + + buttonPane.setBackground(UIConfig.dialogbackground); + + add(statusPane); + add(Box.createVerticalStrut(5)); + add(scrollPane); + add(Box.createVerticalStrut(5)); + add(buttonPane); + + setBackground(UIConfig.dialogbackground); + } + + @Override + public void actionPerformed(ActionEvent ae) { + try { + int row = table.getSelectedRow(); + if (row < 0) { + JOptionPane.showMessageDialog(this, "No transaction selected", + "Error", JOptionPane.ERROR_MESSAGE); + } else { + row = table.convertRowIndexToModel(row); + String action = ae.getActionCommand(); + switch (action) { + case "new address": + + break; + case "copy txid": + String address = (String) tableModel.getValueAt(row, 1); + StringSelection sel = new StringSelection(address); + Clipboard cb = Toolkit.getDefaultToolkit() + .getSystemClipboard(); + cb.setContents(sel, null); + break; + case "move to safe": + if (moveToSafe(row)) { + tableModel.fireTableRowsUpdated(row, row); + walletLabel.setText(getWalletText()); + safeLabel.setText(getSafeText()); + } + break; + case "move to blockStore": + if (moveToWallet(row)) { + tableModel.fireTableRowsUpdated(row, row); + walletLabel.setText(getWalletText()); + safeLabel.setText(getSafeText()); + } + break; + } + } + } catch (BlockStoreException exc) { + ErrorLog.logException("Unable to update blockStore", exc); + } catch (Exception exc) { + ErrorLog.logException("Exception while processing action event", + exc); + } + } + + public void walletChanged() { + int row = table.getSelectedRow(); + tableModel.walletChanged(); + if (row >= 0 && row < table.getRowCount()) { + table.setRowSelectionInterval(row, row); + } + walletLabel.setText(getWalletText()); + safeLabel.setText(getSafeText()); + } + + public void statusChanged() { + blockLabel.setText(getBlockText()); + tableModel.fireTableDataChanged(); + } + + private boolean moveToSafe(int row) throws BlockStoreException { + BlockTransaction tx = tableModel.getTransaction(row); + if (!(tx instanceof ReceiveTransaction)) { + JOptionPane + .showMessageDialog( + this, + "The safe contains coins that you have received and not spent", + "Error", JOptionPane.ERROR_MESSAGE); + return false; + } + ReceiveTransaction rcvTx = (ReceiveTransaction) tx; + if (rcvTx.inSafe()) { + JOptionPane.showMessageDialog(this, + "The transaction is already in the safe", "Error", + JOptionPane.ERROR_MESSAGE); + return false; + } + if (rcvTx.isSpent()) { + JOptionPane.showMessageDialog(this, + "The coins have already been spent", "Error", + JOptionPane.ERROR_MESSAGE); + return false; + } + BTCLoader.blockStore.setTxSafe(rcvTx.getTxHash(), rcvTx.getTxIndex(), + true); + rcvTx.setSafe(true); + safeBalance = safeBalance.add(rcvTx.getValue()); + walletBalance = walletBalance.subtract(rcvTx.getValue()); + return true; + } + + private boolean moveToWallet(int row) throws BlockStoreException { + BlockTransaction tx = tableModel.getTransaction(row); + if (!(tx instanceof ReceiveTransaction)) { + JOptionPane + .showMessageDialog( + this, + "The safe contains coins that you have received and not spent", + "Error", JOptionPane.ERROR_MESSAGE); + return false; + } + ReceiveTransaction rcvTx = (ReceiveTransaction) tx; + if (!rcvTx.inSafe()) { + JOptionPane.showMessageDialog(this, + "The transaction is not in the safe", "Error", + JOptionPane.ERROR_MESSAGE); + return false; + } + BTCLoader.blockStore.setTxSafe(rcvTx.getTxHash(), rcvTx.getTxIndex(), + false); + walletBalance = walletBalance.add(rcvTx.getValue()); + safeBalance = safeBalance.subtract(rcvTx.getValue()); + rcvTx.setSafe(false); + return true; + } + + private String getWalletText() { + return String.format("

Wallet %s BTC

", + BTCLoader.satoshiToString(walletBalance)); + } + + private String getSafeText() { + return String.format("

Safe %s BTC

", + BTCLoader.satoshiToString(safeBalance)); + } + + private String getBlockText() { + return String.format("

Block %d

", + BTCLoader.blockStore.getChainHeight()); + } + + private class TransactionTableModel extends AbstractTableModel { + + /** * */ private static final long serialVersionUID = 1L; - private String[] columnNames; - - private Class[] columnClasses; - - private final List txList = new LinkedList<>(); - - public TransactionTableModel(String[] columnNames, Class[] columnClasses) { - super(); - if (columnNames.length != columnClasses.length) - throw new IllegalArgumentException("Number of names not same as number of classes"); - this.columnNames = columnNames; - this.columnClasses = columnClasses; - buildTxList(); - } - - private void buildTxList() { - txList.clear(); - walletBalance = BigInteger.ZERO; - safeBalance = BigInteger.ZERO; - try { - List sendList = BTCLoader.blockStore.getSendTxList(); - for (SendTransaction sendTx : sendList) { - long txTime = sendTx.getTxTime(); - walletBalance = walletBalance.subtract(sendTx.getValue()).subtract(sendTx.getFee()); - boolean added = false; - for (int i=0; i rcvList = BTCLoader.blockStore.getReceiveTxList(); - for (ReceiveTransaction rcvTx : rcvList) { - if (rcvTx.isChange()) - continue; - if (rcvTx.inSafe()) - safeBalance = safeBalance.add(rcvTx.getValue()); - else - walletBalance = walletBalance.add(rcvTx.getValue()); - long txTime = rcvTx.getTxTime(); - boolean added = false; - for (int i=0; i getColumnClass(int column) { - return columnClasses[column]; - } - - @Override - public String getColumnName(int column) { - return columnNames[column]; - } - - @Override - public int getRowCount() { - return txList.size(); - } - - @Override - public Object getValueAt(int row, int column) { - if (row >= txList.size()){ - throw new IndexOutOfBoundsException("Table row "+row+" is not valid"); - } - Object value; - BlockTransaction tx = txList.get(row); - switch (column) { - case 0: - value = new Date(tx.getTxTime()*1000); - break; - case 1: - value = tx.getTxHash().toString(); - break; - case 2: - if (tx instanceof ReceiveTransaction){ - value = "Received with"; - } - else{ - value = "Sent to"; - } - break; - case 3: - value = null; - Address addr = tx.getAddress(); - if (tx instanceof ReceiveTransaction) { - for (ECKey chkKey : BTCLoader.keys) { - if (Arrays.equals(chkKey.getPubKeyHash(), addr.getHash())) { - if (chkKey.getLabel().length() > 0){ - value = chkKey.getLabel(); - } - break; - } - } - } else { - for (Address chkAddr : BTCLoader.addresses) { - if (Arrays.equals(chkAddr.getHash(), addr.getHash())) { - if (chkAddr.getLabel().length() > 0){ - value = chkAddr.getLabel(); - } - break; - } - } - } - if (value == null){ - value = addr.toString(); - } - break; - case 4: - value = tx.getValue(); - break; - case 5: - if (tx instanceof SendTransaction){ - value = ((SendTransaction)tx).getFee(); - } - else{ - value = null; - } - break; - case 6: - if (tx instanceof ReceiveTransaction) { - if (((ReceiveTransaction)tx).inSafe()){ - value = "Safe"; - } - else{ - value = "Wallet"; - } - } else { - value = ""; - } - break; - case 7: // Status - try { - if (tx instanceof ReceiveTransaction && ((ReceiveTransaction)tx).isSpent()) { - value = "Spent"; - } else { - int depth = BTCLoader.blockStore.getTxDepth(tx.getTxHash()); - if ((tx instanceof ReceiveTransaction) && ((ReceiveTransaction)tx).isCoinBase()) { - if (depth == 0){ - value = "Pending"; - } - else if (depth < BTCLoader.COINBASE_MATURITY){ - value = "Immature"; - } - else{ - value = "Mature"; - } - } else if (depth == 0) { - value = "Pending"; - } else if (depth < BTCLoader.TRANSACTION_CONFIRMED) { - value = "Building"; - } else { - value = "Confirmed"; - } - } - } catch (BlockStoreException exc) { - ErrorLog.logException("Unable to get transaction depth", exc); - value = "Unknown"; - } - break; - default: - throw new IndexOutOfBoundsException("Table column "+column+" is not valid"); - } - return value; - } - - public void walletChanged() { - buildTxList(); - fireTableDataChanged(); - } - - public BlockTransaction getTransaction(int row) { - return txList.get(row); - } - - } + private String[] columnNames; + + private Class[] columnClasses; + + private final List txList = new LinkedList<>(); + + public TransactionTableModel(String[] columnNames, + Class[] columnClasses) { + super(); + if (columnNames.length != columnClasses.length) + throw new IllegalArgumentException( + "Number of names not same as number of classes"); + this.columnNames = columnNames; + this.columnClasses = columnClasses; + buildTxList(); + } + + private void buildTxList() { + txList.clear(); + walletBalance = BigInteger.ZERO; + safeBalance = BigInteger.ZERO; + try { + List sendList = BTCLoader.blockStore + .getSendTxList(); + for (SendTransaction sendTx : sendList) { + long txTime = sendTx.getTxTime(); + walletBalance = walletBalance.subtract(sendTx.getValue()) + .subtract(sendTx.getFee()); + boolean added = false; + for (int i = 0; i < txList.size(); i++) { + if (txList.get(i).getTxTime() <= txTime) { + txList.add(i, sendTx); + added = true; + break; + } + } + if (!added) + txList.add(sendTx); + } + List rcvList = BTCLoader.blockStore + .getReceiveTxList(); + for (ReceiveTransaction rcvTx : rcvList) { + if (rcvTx.isChange()) + continue; + if (rcvTx.inSafe()) + safeBalance = safeBalance.add(rcvTx.getValue()); + else + walletBalance = walletBalance.add(rcvTx.getValue()); + long txTime = rcvTx.getTxTime(); + boolean added = false; + for (int i = 0; i < txList.size(); i++) { + if (txList.get(i).getTxTime() <= txTime) { + txList.add(i, rcvTx); + added = true; + break; + } + } + if (!added) { + txList.add(rcvTx); + } + } + } catch (BlockStoreException exc) { + ErrorLog.logException("Unable to build transaction list", exc); + } + } + + @Override + public int getColumnCount() { + return columnNames.length; + } + + @Override + public Class getColumnClass(int column) { + return columnClasses[column]; + } + + @Override + public String getColumnName(int column) { + return columnNames[column]; + } + + @Override + public int getRowCount() { + return txList.size(); + } + + @Override + public Object getValueAt(int row, int column) { + if (row >= txList.size()) { + throw new IndexOutOfBoundsException("Table row " + row + + " is not valid"); + } + Object value; + BlockTransaction tx = txList.get(row); + switch (column) { + case 0: + value = new Date(tx.getTxTime() * 1000); + break; + case 1: + value = tx.getTxHash().toString(); + break; + case 2: + if (tx instanceof ReceiveTransaction) { + value = "Received with"; + } else { + value = "Sent to"; + } + break; + case 3: + value = null; + Address addr = tx.getAddress(); + if (tx instanceof ReceiveTransaction) { + for (ECKey chkKey : BTCLoader.keys) { + if (Arrays.equals(chkKey.getPubKeyHash(), + addr.getHash())) { + if (chkKey.getLabel().length() > 0) { + value = chkKey.getLabel(); + } + break; + } + } + } else { + for (Address chkAddr : BTCLoader.addresses) { + if (Arrays.equals(chkAddr.getHash(), addr.getHash())) { + if (chkAddr.getLabel().length() > 0) { + value = chkAddr.getLabel(); + } + break; + } + } + } + if (value == null) { + value = addr.toString(); + } + break; + case 4: + value = tx.getValue(); + break; + case 5: + if (tx instanceof SendTransaction) { + value = ((SendTransaction) tx).getFee(); + } else { + value = null; + } + break; + case 6: + if (tx instanceof ReceiveTransaction) { + if (((ReceiveTransaction) tx).inSafe()) { + value = "Safe"; + } else { + value = "Wallet"; + } + } else { + value = ""; + } + break; + case 7: // Status + try { + if (tx instanceof ReceiveTransaction + && ((ReceiveTransaction) tx).isSpent()) { + value = "Spent"; + } else { + int depth = BTCLoader.blockStore.getTxDepth(tx + .getTxHash()); + if ((tx instanceof ReceiveTransaction) + && ((ReceiveTransaction) tx).isCoinBase()) { + if (depth == 0) { + value = "Pending"; + } else if (depth < BTCLoader.COINBASE_MATURITY) { + value = "Immature"; + } else { + value = "Mature"; + } + } else if (depth == 0) { + value = "Pending"; + } else if (depth < BTCLoader.TRANSACTION_CONFIRMED) { + value = "Building"; + } else { + value = "Confirmed"; + } + } + } catch (BlockStoreException exc) { + ErrorLog.logException("Unable to get transaction depth", + exc); + value = "Unknown"; + } + break; + default: + throw new IndexOutOfBoundsException("Table column " + column + + " is not valid"); + } + return value; + } + + public void walletChanged() { + buildTxList(); + fireTableDataChanged(); + } + + public BlockTransaction getTransaction(int row) { + return txList.get(row); + } + + } } diff --git a/eclipse/src/org/ripple/power/ui/btc/VerifyDialog.java b/eclipse/src/org/ripple/power/ui/btc/VerifyDialog.java index 339e9724..a499376b 100644 --- a/eclipse/src/org/ripple/power/ui/btc/VerifyDialog.java +++ b/eclipse/src/org/ripple/power/ui/btc/VerifyDialog.java @@ -8,7 +8,6 @@ import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JDialog; -import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; @@ -37,7 +36,7 @@ public class VerifyDialog extends JDialog implements ActionListener { private final JTextField signatureField; - public VerifyDialog(JFrame parent) { + public VerifyDialog(JDialog parent) { super(parent, "Verify Message", Dialog.ModalityType.DOCUMENT_MODAL); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); addressField = new JTextField("", 34); @@ -72,7 +71,7 @@ public VerifyDialog(JFrame parent) { setContentPane(contentPane); } - public static void showDialog(JFrame parent) { + public static void showDialog(JDialog parent) { try { JDialog dialog = new VerifyDialog(parent); dialog.pack(); diff --git a/eclipse/src/org/ripple/power/utils/IP46Utils.java b/eclipse/src/org/ripple/power/utils/IP46Utils.java index a7ab4451..c269f9e9 100644 --- a/eclipse/src/org/ripple/power/utils/IP46Utils.java +++ b/eclipse/src/org/ripple/power/utils/IP46Utils.java @@ -1,5 +1,6 @@ package org.ripple.power.utils; +import java.io.IOException; import java.math.BigInteger; import java.net.Inet4Address; import java.net.Inet6Address; @@ -14,6 +15,7 @@ import java.util.regex.PatternSyntaxException; import org.ripple.power.config.LSystem; +import org.ripple.power.utils.HttpRequest.HttpRequestException; public class IP46Utils { @@ -272,7 +274,7 @@ public static InetAddress randomInetAddress() { : randomInet6Address(); } - public static String getLocalIP() { + public static String getLocalIP() throws HttpRequestException, IOException { String result = ""; String html = ""; html = getIpCheckReps("http://1111.ip138.com/ic.asp"); @@ -300,16 +302,12 @@ static String parseIpAddr(String html, int which) { return ip.trim(); } - public static String getIpCheckReps(String url) { + public static String getIpCheckReps(String url) throws HttpRequestException, IOException { HttpRequest request = HttpRequest.get(url); String result = ""; - try { if (request.ok()) { result = request.body(); } - } catch (Exception e) { - e.printStackTrace(); - } return result; } diff --git a/eclipse/src/res/config/gateways.json b/eclipse/src/res/config/gateways.json index e938aad8..fce504f9 100644 --- a/eclipse/src/res/config/gateways.json +++ b/eclipse/src/res/config/gateways.json @@ -338,5 +338,13 @@ }], "hotwallets": [], "domain": "" + },{ + "name": "Senderas", + "accounts": [{ + "address": "rJypGvB8H2JBj1QVYofUTU8kFtWLspNWqs", + "currencies": ["GBP"] + }], + "hotwallets": [], + "domain": "www.senderas.com" } ] \ No newline at end of file