The primary purpose of this change is to remove padding and aperture from base Resource, both java and native code. These make sense for a nine-patch bitmap but end up having arbitray values everywhere else. And are used in an ad-hoc way to send meta-data from java to native to build cc::Layers for drawing UI elements backed by the resource.
On the java side this will remove getPadding and getAperture from the interface. On the native side we'll have a Resource base class, which is a container for a UIResource. Subclasses can inherit from this to attach any additional meta-data, NinePatchResource being one of them. We can have an enum for each sub-class to safely downcast since the ResourceManager will still return the base Resource.
Comment 1 by khushals...@chromium.org
, Mar 10 2017