aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* am 92f1bf25: Merge "Throw OutOfSpaceException instead of ↵Brian Duff2015-04-212-1/+28
|\ | | | | | | | | | | | | IllegalArgumentException." * commit '92f1bf25e822eb156a57b7ede390efb89e283a87': Throw OutOfSpaceException instead of IllegalArgumentException.
| * Merge "Throw OutOfSpaceException instead of IllegalArgumentException."Brian Duff2015-04-212-1/+28
| |\
| | * Throw OutOfSpaceException instead of IllegalArgumentException.Charles Munger2015-04-212-1/+28
| |/ | | | | | | | | | | | | | | | | | | | | | | | | When a MessageNano containing a String is serialized into a buffer that is too small to contain it, and the buffer's boundary happens to be where the string field's length delimiting varint is serialized, and the string's length and 3*length have the same length when encoded as a varint, an IllegalArgumentException is thrown rather than an OutOfSpaceException. Github issue: https://github.com/google/protobuf/issues/292 Change-Id: If478d68cf15bfd0662252d008e42b2bf1ff1c75e
* | am ff882b40: Merge "Generate a CREATOR for each Parcelable message."Jeff Davidson2015-04-064-36/+34
|\ \ | |/ | | | | | | * commit 'ff882b4094995bc7dd9b183951cf84aa04527361': Generate a CREATOR for each Parcelable message.
| * Merge "Generate a CREATOR for each Parcelable message."Jeff Davidson2015-04-064-36/+34
| |\
| | * Generate a CREATOR for each Parcelable message.Jeff Davidson2015-04-034-36/+34
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is less ideal from a dex count perspective because it requires a new variable for each message, and because most apps have proguard rules that will ensure that CREATOR classes are retained. However, it is required to be able to use nano protos inside of AIDL files, as the autogenerated AIDL code fails to compile otherwise. This is a substantial benefit as it allows for backwards-compatible parameters and return types in AIDL methods along the lines of safeparcel. Bug: 19084705 Change-Id: I66a2c0424b96cf8ff6b631b186cc4f9407dfc1f4
* | am 00c7607c: Merge "Inline unknownFieldData{Equals,HashCode} to generated code."Brian Duff2015-03-203-35/+19
|\ \ | |/ | | | | | | * commit '00c7607ce445af504021447068d6237ba8100716': Inline unknownFieldData{Equals,HashCode} to generated code.
| * Merge "Inline unknownFieldData{Equals,HashCode} to generated code."Brian Duff2015-03-203-35/+19
| |\
| | * Inline unknownFieldData{Equals,HashCode} to generated code.Brian Duff2015-03-203-35/+19
| |/ | | | | | | | | | | | | | | | | | | It turns out dex (apparently) was inlining these protected final methods from ExtendableMessageNano into every message class. Removing these methods from the base class and inlining their code reduces the method count by 2 methods / message when the store_unknown_fields option is on. Change-Id: I0aa09f2016d39939c4c8b8219601793b8fab301f
* | am 51e32ffa: Merge "Expose generate_clear as an option."Brian Duff2015-03-201-0/+2
|\ \ | |/ | | | | | | * commit '51e32ffaa5e2ea3528a58db5d34e8a0dc0a9ac93': Expose generate_clear as an option.
| * Merge "Expose generate_clear as an option."Brian Duff2015-03-201-0/+2
| |\
| | * Expose generate_clear as an option.Brian Duff2015-02-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I wasn't able to get the clear() method to inline into the constructor when optimizations are on in proguard. As a result, every message has an extra superfluous kept method assuming the app never uses clear() directly. There are a couple of instances where setting this option false is necessary in order to get code dexing successfully without hitting the method limit, e.g. https://goto.google.com/tltzq In this example, I tried turning on the method/inlining/unique and method/inlining/short optimizations before resorting to adding the generate_clear option, but the method count did not decrease. The clear() methods were contributing over a thousand extra methods. Change-Id: If6a9651d6a59cdf70b1040d8248779710ac73105
* | | am 182e6d05: Merge "Added a build rule for the full version of the protocol ↵P.Y. Laligand2015-03-121-0/+17
|\ \ \ | |/ / | | | | | | | | | | | | | | | buffer library." * commit '182e6d054c06f3a8e44cf9a09e14870366fa1190': Added a build rule for the full version of the protocol buffer library.
| * | Merge "Added a build rule for the full version of the protocol buffer library."P.Y. Laligand2015-03-121-0/+17
| |\ \
| | * | Added a build rule for the full version of the protocol buffer library.P.Y. Laligand2015-03-111-0/+17
| |/ / | | | | | | | | | | | | | | | | | | | | | Only added a host-side version as the full version is unlikely to be used on the device side. b/19415609 Change-Id: Ibdd1ad589c2becff735a8cc72b7a7e5d89e45d3e
* | | am ba4c97c2: Merge commit \'7304898f86cd6b2e525772e9cda4ba686b7d3fd2\' into HEADBill Yi2015-02-200-0/+0
|\ \ \ | |/ / | | | | | | * commit 'ba4c97c2d3811c60ad95627927ad2fc72406fb27':
| * | Merge commit '7304898f86cd6b2e525772e9cda4ba686b7d3fd2' into HEADBill Yi2015-02-191-0/+13
| |\ \ | | |/ | |/|
* | | am 72b0f4cf: Merge "Generate @IntDef annotations for nanoproto enums."Jeff Davidson2015-02-196-11/+98
|\ \ \ | |/ / | | | | | | | | | * commit '72b0f4cfbb910909f953c52ba7d097a6b3904cbb': Generate @IntDef annotations for nanoproto enums.
| * | Merge "Generate @IntDef annotations for nanoproto enums."Jeff Davidson2015-02-196-11/+98
| |\ \
| | * | Generate @IntDef annotations for nanoproto enums.Jeff Davidson2015-02-196-11/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | @IntDef is a support library annotation which allows build tools to determine the valid set of values for a given integer field when that field is intended to be restricted like an enum. This avoids the overhead of enums while still allowing for compile-time type checking in most circumstances. Change-Id: Iee02e0b49a8e069f6456572f538e0a0d301fdfd5
* | | | am 971aedc7: Merge "Add reset() and position() to CodedOutputByteBufferNano."Brian Duff2015-02-171-0/+17
|\ \ \ \ | |/ / / | | | / | |_|/ |/| | * commit '971aedc78cbafac28e521808710574803708202f': Add reset() and position() to CodedOutputByteBufferNano.
| * | Merge "Add reset() and position() to CodedOutputByteBufferNano."Brian Duff2015-02-171-0/+17
| |\ \ | | |/ | |/|
| | * Add reset() and position() to CodedOutputByteBufferNano.Shai Barack2015-02-171-0/+17
| |/ | | | | | | Change-Id: Ie2a9e36276ac35e10b3f8d379b5742d50a0374e9
* | am 46fe64be: DO NOT MERGE Overloading createMessageTyped to accept a tag as ↵Kweku Adams2015-02-111-0/+13
|\ \ | | | | | | | | | | | | | | | | | | an integer. * commit '46fe64be0fc97ba82c8ac34f700b43a5e1a7653d': DO NOT MERGE Overloading createMessageTyped to accept a tag as an integer.
| * | DO NOT MERGE Overloading createMessageTyped to accept a tag as an integer.Kweku Adams2015-02-101-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building, some instances expect createMessageTyped to have the signature (int, Class, long), while others expect (int, Class, int). Simply having the former signature meant that builds expecting the latter would fail. This is a cherrypick of change b2a9d4321578139677c146ce37eba5e27e8f5c79 from master. Change-Id: Ib02dbf66173510f4edea32c7b43e82c1a7a38aa2
* | | am aecce146: (-s ours) DO NOT MERGE Fix bug with large extension field numbers.Brian Duff2015-02-110-0/+0
|\ \ \ | |/ / | | | | | | | | | * commit 'aecce146f3b94732d08ca796eb402575be6fd930': DO NOT MERGE Fix bug with large extension field numbers.
| * | DO NOT MERGE Fix bug with large extension field numbers.Brian Duff2015-02-103-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, extensions with field numbers greater than 268435455 would result in a compile time error in generated code that looks something like this: Foo.java:3178: error: integer number too large: 3346754610 3346754610); This is because we were trying to represent the tag number (an unsigned int) using a java int constant, but java int constants are signed, and can't exceed Integer.MAX_VALUE. Fixed by declaring it as a long instead, and casting it down to an int in the implementation. This is safe, because the tag value always fits in 32 bis. This is a cherrypick of change b7cf53ba3b46eb17180465d3d3bb151fa4d93f3d from master. Change-Id: If2017bacb4e20af667eaeaf9b65ddc2c30a7709f
* | | am eb5ae9e2: Merge "Use libstdc++, not libc++_static, with protobuf."Jeff Davidson2015-02-061-2/+2
|\ \ \ | | |/ | |/| | | | | | | * commit 'eb5ae9e258a8fc953e6cf0b3a0dd04a112a05a3c': Use libstdc++, not libc++_static, with protobuf.
| * | Merge "Use libstdc++, not libc++_static, with protobuf."Jeff Davidson2015-02-061-2/+2
| |\ \
| | * | Use libstdc++, not libc++_static, with protobuf.Jeff Davidson2015-02-061-2/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | libc++_static causes problems with some windows builds. libstdc++ reverts back to the old behavior of using the system's libstdc++ (or libc++ on darwin). Bug: 19285118 Change-Id: Ib4fca25da24746e55b620db63f2f810ba3794f3d
* | | am f2982dd2: Merge "Include libc++ statically in aprotoc."Jeff Davidson2015-02-061-0/+4
|\ \ \ | |/ / | | | | | | | | | * commit 'f2982dd208b744cde5dd54dcd4b4c53f47f03712': Include libc++ statically in aprotoc.
| * | Merge "Include libc++ statically in aprotoc."Jeff Davidson2015-02-061-0/+4
| |\ \
| | * | Include libc++ statically in aprotoc.Jeff Davidson2015-02-061-0/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | Allows us to include aprotoc as a prebuilt separate from the platform build for use in unbundled projects. Bug: 19285118 Change-Id: I05f5dbf019ab08db31c33e7d30899189175a8315
* | | am 1c2c4706: Merge "Exclude cachedSize when printing fields."Brian Duff2015-01-221-0/+4
|\ \ \ | |/ / | | | | | | | | | * commit '1c2c4706c4995122bb1271618511b27e84a9326a': Exclude cachedSize when printing fields.
| * | Merge "Exclude cachedSize when printing fields."Brian Duff2015-01-221-0/+4
| |\ \
| | * | Exclude cachedSize when printing fields.Brian Duff2015-01-221-0/+4
| |/ / | | | | | | | | | Change-Id: I85563b74237d38c1e447b7286f5f6e62d57e3d63
* | | am e6ae5ecf: Merge "Upgrade protobuf library to v2.6.1."Jeff Davidson2015-01-22410-476/+897
|\ \ \ | |/ / | | | | | | | | | * commit 'e6ae5ecfc360e1ad261b561c8e5e16b6554d5347': Upgrade protobuf library to v2.6.1.
| * | Merge "Upgrade protobuf library to v2.6.1."Jeff Davidson2015-01-21410-476/+897
| |\ \
| | * | Upgrade protobuf library to v2.6.1.Jeff Davidson2015-01-20410-476/+897
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous commit was actually between v2.6.0 and v2.6.1. This CL was created by generating a patch with: git format-patch edc5994525c79cd1919859a370837a6ff7c8e308..v2.6.1 and applying this patch to the tree. The patch was clean except for pom.xml, where the packaging type should have previously been changed from "jar" to "bundle". Reran ./configure && make -j12 check to regenerate configure script and makefiles. Change-Id: I817ff426c9a512cbda0246df5aee38f97e762dea
* | | am 80aff29b: Merge "Update protobuf\'s gtest to expected version."Jeff Davidson2015-01-20128-8683/+39460
|\ \ \ | |/ / | | | | | | | | | * commit '80aff29bb2d37977a02c0a677721522d3467a4d9': Update protobuf's gtest to expected version.
| * | Merge "Update protobuf's gtest to expected version."Jeff Davidson2015-01-20128-8683/+39460
| |\ \
| | * | Update protobuf's gtest to expected version.Jeff Davidson2015-01-20128-8683/+39460
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Generated by running: rm -rf gtest ./autogen.sh ./configure Change-Id: I5d9c0bea09dd9d3e4d7d4442dd8222011f5c522a
* | | am 77a6b2f4: Merge "Update protobuf library from 2.3 to 2.6."Jeff Davidson2015-01-15466-17934/+93818
|\ \ \ | |/ / | | | | | | | | | * commit '77a6b2f4cdd580d57630f079db1d908d7fd90a54': Update protobuf library from 2.3 to 2.6.
| * | Merge "Update protobuf library from 2.3 to 2.6."Jeff Davidson2015-01-15466-17934/+93818
| |\ \
| | * | Update protobuf library from 2.3 to 2.6.Jeff Davidson2015-01-15466-17934/+93818
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Copied in all files from the open source protobuf project at commit edc5994525c79cd1919859a370837a6ff7c8e308, removing files which have been renamed (COPYING.txt -> LICENSE, README.txt -> README.md). Removed 2.3 prebuilts, which is an approach that will not work due to incompatibility with the 2.6 runtime. Merged in micro/nano-specific changes in the following files: -Android.mk - updated list of C++/Java sources, bumped versions -java/README.txt - merged in micro/nano instructions, bumped versions -java/pom.xml - merged in micro/nano build rules, set packaging to jar -src/Makefile.am - merged in references to micro/nano generators -src/google/protobuf/compiler/javamicro/javamicro_file.h - imported google/protobuf/compiler/code_generator.h and removed redundant OutputDirectory class. -src/google/protobuf/compiler/javanano/javanano_file.h - same -Replaced instances of vector with std::vector as needed to get libprotobuf-cpp-full to compile. Plan to upstream this fix per discussion with protobuf maintainers. Reran autogen.sh to update ./configure and associated scripts. Change-Id: I949d32fb5126f1c05e2a6ed48f6636a4a9b15a48
* | | am c7c25812: Merge "When no clear() is generated, still initialize fields."Brian Duff2015-01-094-12/+33
|\ \ \ | |/ / | | | | | | | | | * commit 'c7c25812eb19d080087b71e08bfe35aff9f21433': When no clear() is generated, still initialize fields.
| * | Merge "When no clear() is generated, still initialize fields."Brian Duff2015-01-094-12/+33
| |\ \
| | * | When no clear() is generated, still initialize fields.Brian Duff2015-01-094-12/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://android-review.googlesource.com/#/c/67890/ removed field initialization from the ctor, making it just call clear() instead. When I added the generate_clear option back (as part of the reftypes compat mode) in https://android-review.googlesource.com/#/c/109530/, I forgot to ensure that what clear() used to do was inlined in the constructor. This change fixes NPEs that are happening for users of reftypes_compat_mode who rely on unset repeated fields being empty arrays rather than null. Change-Id: Idb58746c60f4a4054b7ebb5c3b0e76b16ff88184
* | | | am 25794277: Merge "Add clone() method support for nano."Brian Duff2015-01-0920-10/+213
|\ \ \ \ | |/ / / | | | | | | | | | | | | * commit '25794277fd65aabe917fc6c01b3162e243740634': Add clone() method support for nano.
| * | | Merge "Add clone() method support for nano."Brian Duff2015-01-0920-10/+213
| |\ \ \