- 06 May, 2015 1 commit
-
-
Thomas Van Lenten authored
-
- 30 Apr, 2015 1 commit
-
-
Bo Yang authored
-
- 29 Apr, 2015 2 commits
- 28 Apr, 2015 13 commits
-
-
Jeff Davidson authored
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
-
Charles Munger authored
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
-
Brian Duff authored
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
-
Brian Duff authored
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
-
Jeff Davidson authored
@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
-
Shai Barack authored
Change-Id: Ie2a9e36276ac35e10b3f8d379b5742d50a0374e9
-
Kweku Adams authored
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
-
Brian Duff authored
Change-Id: I85563b74237d38c1e447b7286f5f6e62d57e3d63
-
Brian Duff authored
Upstreamed from Another Place (cr/57247854). Change-Id: I2aaf59544c0f5ae21a51891d8a5eeda1dc722c90
-
Brian Duff authored
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
-
Brian Duff authored
Forgot to update these in https://android-review.googlesource.com/#/c/109809/ Change-Id: I53f838e2f134f53964161d9620d5ead00c4a3939
-
Charles Munger authored
Measuring the serialized size of nano protos is now a zero-alloc operation, and serializing a proto now allocates no memory (other than the output buffer) instead of O(total length of strings). Change-Id: Id5e2ac3bdc4ac56c0bf13d725472da3a00c9baec Signed-off-by: Charles Munger <clm@google.com>
-
Brian Duff authored
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. Change-Id: If2017bacb4e20af667eaeaf9b65ddc2c30a7709f
-
- 24 Apr, 2015 1 commit
-
-
Feng Xiao authored
-
- 21 Apr, 2015 1 commit
-
-
Jisi Liu authored
A few fix-ups for protoc-artifacts
-
- 20 Apr, 2015 2 commits
- 17 Apr, 2015 1 commit
-
-
Kun Zhang authored
1. make google/protobuf/stubs/pbconfig.h before making protoc, otherwise it won't build a freshly checked-out code. 2. Document the build environments that have been tested to work. 3. Add support for MINGW64
-
- 15 Apr, 2015 1 commit
-
-
Josh Haberman authored
This is necessary for testing on iOS. Change-Id: I54ec1e3aa2e9fbfff9a6cd6580920a6a62069b63
-
- 13 Apr, 2015 3 commits
-
-
Joshua Haberman authored
Fix for issue 283: JSON handler cleanup typo causing segfault.
-
Chris Fallin authored
-
Chris Fallin authored
Includes repro test case from @wfarr.
-
- 11 Apr, 2015 1 commit
-
-
Joshua Haberman authored
Migrate Python tests to stdlib unittest, drop apputils dependency.
-
- 10 Apr, 2015 8 commits
-
-
Tamir Duberstein authored
Use stdlib's 'unittest' instead.
-
Tamir Duberstein authored
We already run all tests with and without `--cpp_implementation`
-
Tamir Duberstein authored
-
Tamir Duberstein authored
-
Tamir Duberstein authored
-
Joshua Haberman authored
Added Python to Travis build and clarified setup instructions.
-
Josh Haberman authored
-
Josh Haberman authored
-
- 09 Apr, 2015 2 commits
-
-
Josh Haberman authored
-
Jisi Liu authored
Process to deploy artifacts for multiple platforms into a single release.
-
- 08 Apr, 2015 3 commits
-
-
Joshua Haberman authored
Remove useless file that doesn't load
-
Tamir Duberstein authored
This file was broken in ada65567.
-
Feng Xiao authored
-