This change doesn't change the functionality but removes dead code and
simplifies various places to remove warnings.
Change-Id: I371e06bfbd587dbf0eeafc69787b9805f7008f62
Framework has specialized versions of java.lang.System.arraycopy() for
all primitive data types. These versions are not present on the Desktop
VM. This change replaces calls to any of the specialized versions with
the more general alternative - the one using Objects.
Note that this was already being done for char.
Change-Id: If1584125fea8ecc080fb39a5ee6cdb4d922d0c98
Framework has overloaded java.lang.System.arraycopy() for char[]. The
method is not present on the Desktop VMs. This change replaces the calls
to this method by its more general alternative - the one using Objects.
TODO: Make it more configurable and flexible to allow rewrite of any
such methods in the future.
Change-Id: I6823b13e52b1c555eb257d02b79707d84e73236f
Update the doc to reflect the current state of the tool and use a
consistent 100 char column limit.
Change-Id: I64fb58cc46abbc2f3759cb1f99d42b5090c1409f
For specific methods, Layoublib_create can rewrite the implementation
of a method to invoke a delegate instead of the original code. This
allows layoutlib to implement native code or override existing behavior.
This patch also 'saves' the original implementation of a rewritten
method so that the delegate can access the original implementation
as needed. Obviously this is only done for non-native methods.
Given a non-native SomeClass.MethodName, we generate 2 methods:
- A copy of the original method named "SomeClass.MethodName_original".
The content is the original method as-is from the reader.
- A brand new implementation of SomeClass.MethodName which calls to a
non-existing method named "SomeClass_delegate.MethodName".
The implementation of this 'delegate' method is done in layoutlib_brigde.
Change-Id: I5ca2cd3ac55991a8e8a51c417e75ee447bf9e9e6