1. 02 Sep, 2014 1 commit
    • Brian Duff's avatar
      Add MessageNano.messageNanoEquals(). · 72881dad
      Brian Duff authored
      Allows two messages to be compared directly for equality without
      generating an equals method for every generated message.
      
      (Ports CL58125010)
      
      Change-Id: I92ab5088539d1fd722fee7b5e28a8c825926c3b6
      72881dad
  2. 29 Aug, 2014 2 commits
  3. 28 Aug, 2014 4 commits
  4. 05 Aug, 2014 1 commit
  5. 29 Jul, 2014 1 commit
  6. 28 Jul, 2014 1 commit
  7. 21 Jul, 2014 2 commits
  8. 17 Jul, 2014 2 commits
  9. 14 Jul, 2014 1 commit
  10. 15 Jul, 2014 1 commit
    • Max Cai's avatar
      Fix access around unknownFieldData. · d1a8a8f6
      Max Cai authored
      Instead of publishing its class I chose to encapsulate the troublesome
      references in equals()/hashCode() in the generated code into superclass
      methods in ExtendableMessageNano.
      
      Changed a couple of java packages in the test suite to catch this issue
      easier in the future.
      
      Change-Id: I43f88411f63bb6f3ffc8d63361f2f77bebf6220a
      d1a8a8f6
  11. 14 Jul, 2014 2 commits
    • Max Cai's avatar
      Merge "Keep pointers to extension values." · 30b1454d
      Max Cai authored
      30b1454d
    • Juan Silveira's avatar
      Keep pointers to extension values. · 79f19eb9
      Juan Silveira authored
      The current implementation of getExtension deserialises the field from bytes
      and returns a new object every time. This means that changes to those objects
      are reflected when the messages is serialised unless setExtension is called. It
      also means that every call to getExtension and setExtension is expensive.
      
      This change introduces a FieldData class that contains everything that's known
      about the field at the time. This can be all the tag/byte[] pairs associated
      with a given field or an Extension and a value object. This is so that two
      messages with a repeated extension can be compared even if the extension
      has been deserialised in one of them but not the other.
      
      This change also adds FieldArray class based on SparseArray from the Android
      compatibility library. This is used in ExtendableMessageNano to make lookup
      of FieldDatas by their field number faster.
      
      Implications:
      * calling getExtension multiple times deserialises the field only once and
        returns the same object.
      * calling setExtension doesn't cause the object to be serialised immediately,
        that only happens when the container message is serialised.
      * getExtension is no longer a read-only thread-safe operation. README.txt has
        been updated to relfect that.
      * comparison using equals and hashCode continues to work.
      
      Bug: 10863158
      
      Change-Id: I81c7cb0c73cc0611a1f7c1eabf5eed259738e8bc
      79f19eb9
  12. 03 Jul, 2014 1 commit
  13. 02 May, 2014 3 commits
  14. 01 May, 2014 3 commits
  15. 29 Apr, 2014 1 commit
  16. 25 Apr, 2014 2 commits
    • Jeff Davidson's avatar
      a2724e7c
    • Jeff Davidson's avatar
      Support generation of Parcelable nano messages. · ec4b1ce0
      Jeff Davidson authored
      This CL adds the "parcelable_messages" option. When enabled, all
      generated message classes will conform to the Android Parcelable
      contract. This is achieved by introducing a new parent class for
      generated classes which implements the required functionality.
      
      Since the store_unknown_fields option also makes use of a superclass,
      ExtendableMessageNano, we have two versions of the new Parcelable
      superclass: one extending MessageNano, and one extending
      ExtendableMessageNano. These classes are otherwise identical.
      
      As these classes depend on Android framework jars, they are not
      included in the host .jar build of the nanoproto library.
      
      Finally, add a test suite for running tests of Android-specific
      functionality, as this cannot be done on a desktop JVM.
      
      Change-Id: Icc2a257f03317e947f7078dbb9857c3286857497
      ec4b1ce0
  17. 24 Apr, 2014 1 commit
  18. 23 Apr, 2014 1 commit
    • Jie Dai's avatar
      Adds --ignore_service nano proto compiler flag · d9425a62
      Jie Dai authored
      Nano proto compiler normally throws an error if any service is
      defined. If --ignore-services=true is set, no error is thrown and the
      service is simply skipped.
      
      Change-Id: Id82583555085cc55550d03a485d3f0189885240b
      d9425a62
  19. 14 Apr, 2014 1 commit
  20. 10 Apr, 2014 1 commit
  21. 22 Mar, 2014 3 commits
  22. 21 Mar, 2014 3 commits
  23. 08 Mar, 2014 1 commit
  24. 07 Mar, 2014 1 commit