OSDN Git Service

android-x86/frameworks-base.git
9 years agoMake ViewStub support binding variables like include.
George Mount [Fri, 27 Mar 2015 23:05:21 +0000 (16:05 -0700)]
Make ViewStub support binding variables like include.

Bug 19969378

9 years agoMove to public final fields instead of getters for Views.
George Mount [Thu, 26 Mar 2015 00:06:47 +0000 (17:06 -0700)]
Move to public final fields instead of getters for Views.

Bug 19933644

9 years agoDon't execute binding when the root view is detached.
George Mount [Fri, 20 Mar 2015 20:49:37 +0000 (13:49 -0700)]
Don't execute binding when the root view is detached.

Also add tests for memory leaks. The binder should be deleted
when the root view is deleted.

Change-Id: Ifcb24feb80791e64cdfd7203d071d9b1453f6f70

9 years agoFix integration tests that were broken after package renaming
Yigit Boyar [Wed, 25 Mar 2015 19:46:05 +0000 (12:46 -0700)]
Fix integration tests that were broken after package renaming

9 years agoMove to package android.databinding.
George Mount [Mon, 23 Mar 2015 21:28:24 +0000 (14:28 -0700)]
Move to package android.databinding.

9 years agoCreated command line method to be invoked by make.
George Mount [Wed, 11 Mar 2015 23:17:31 +0000 (16:17 -0700)]
Created command line method to be invoked by make.

make needs some means for copying resource files, stripping them,
and generating the intermediate java/xml files. This calls into
the same code used by the gradle plugin to do it. When aapt
work has completed, this can be removed entirely and replaced
by a simple shell script.

Change-Id: Ie6e1fda8fa27892cc74a13f1404ab064f6210270

9 years agoMove common parts of AnnotationAnalyzer methods to ModelAnalyzer.
George Mount [Wed, 18 Mar 2015 14:11:07 +0000 (07:11 -0700)]
Move common parts of AnnotationAnalyzer methods to ModelAnalyzer.

Bug 19643846
Bug 19627630

Also made it so that setter methods will auto-cast from Object
when necessary. This is useful for heterogenous map objects
where .get(id) may return an Integer or a String or a Drawable.

Change-Id: Iacfd739ea4938f38b584a8eab9193f1fd4071df1

9 years agoSupport for multi module setups
Yigit Boyar [Fri, 13 Mar 2015 22:58:53 +0000 (15:58 -0700)]
Support for multi module setups

This CL adds support for building multi module apps
with proper context.

For library modules, we only generate base classes in the initial
compilation. We also generate a temporary BR file which does
not have final methods.

When final app is being generated, all layout binders, adapters
and Bindable information gets merged and all final classes
are generated in their appropriate packages.

This CL also adds support for Test runs and any
number of build variants.

Bug: 19714904
Change-Id: I9b50b54db05f3fa206eec33709d43c2ac94a9e5e

9 years agoUse abstract base class instead of interfaces for Binding objects.
George Mount [Thu, 12 Mar 2015 16:18:12 +0000 (09:18 -0700)]
Use abstract base class instead of interfaces for Binding objects.

Bug 19627511
Bug 19709604

Changed generated classes to end with "Binding" instead of "Binder"
to avoid confusion with Android Binders.

Removed DataBinder class and moved the important aspects of its
contents to ViewDataBinding.

Improved mapping of Views in included layouts. Avoid traversing
included layouts while looking for bound expressions.

Change-Id: I1f28093b0792d5428d07192f1fc458a5b4b788b2

9 years agoMove configuration values into a config file
Yigit Boyar [Fri, 13 Mar 2015 19:57:48 +0000 (12:57 -0700)]
Move configuration values into a config file

Change-Id: I7055c109cb04ae2ae375c2126c2a70fa52e85e31

9 years agoRestructure project for test apps
Yigit Boyar [Thu, 12 Mar 2015 21:30:29 +0000 (14:30 -0700)]
Restructure project for test apps

This CL updates project to use a local maven repo.
(local as in near source code w/ relative path).
This is necessary to have multiple versions of the
project on the same computer also provides better
separation.

I also moved integration tests to depend on these
because we cannot build the compiler and test app at
the same project.

I've changed library plugin's jar to be a separate
upload task to avoid some build issues in TestApp
when we release a @jar and @aar with same group and
artifact ids.

This CL also adds some convenience methods to
gradle build script to run all tests, prepare maven
repo, run integration tests etc. These were needed
to do CI.

Bug: 19718690
Change-Id: I3c80e09fe7c8c2780ca00c3e9b9ba99a162531cf

9 years agoMerge "Add a unit test to the sample project."
Michal Bendowski [Thu, 12 Mar 2015 18:30:23 +0000 (18:30 +0000)]
Merge "Add a unit test to the sample project."

9 years agoAdd a unit test to the sample project.
Michal Bendowski [Thu, 12 Mar 2015 16:34:11 +0000 (09:34 -0700)]
Add a unit test to the sample project.

9 years agoDowngrade to java 1.6
Yigit Boyar [Thu, 12 Mar 2015 00:05:50 +0000 (17:05 -0700)]
Downgrade to java 1.6

This CL removes java 1.7 code so that we can easily integrate
w/ Idea.

It also partially removes dependency on ModelAnalyzer for
interface generation so that we can call it from the Idea
plugin.

Change-Id: Id7616987f5660911e951ddf20dacd4f407dacbd9

9 years agoCheck API version for methods called via binding
Yigit Boyar [Wed, 4 Mar 2015 02:58:24 +0000 (18:58 -0800)]
Check API version for methods called via binding

In data binding, setting an attribute actually means calling a method, which might be
an issue if the method is added after a certain API.

This CL introduces a change which will check called methods per api and add necessary
API check code to avoid calling those methods in older platforms.

This CL also resurrects the Java Model Analyzer (in testing) and also fixes compiler tests.

Bug: 19593398
Change-Id: I0da4194625231cf43125e1b43338069e7d191eb9

9 years agoSupport bracket expressions for SparseArray.
George Mount [Thu, 5 Mar 2015 00:23:53 +0000 (16:23 -0800)]
Support bracket expressions for SparseArray.

Also support single-quotes for XML attributes.

9 years agoDon't require IDs for most bound views.
George Mount [Wed, 4 Mar 2015 19:27:20 +0000 (11:27 -0800)]
Don't require IDs for most bound views.

9 years agoFix gradle plugin
Yigit Boyar [Wed, 4 Mar 2015 02:38:07 +0000 (18:38 -0800)]
Fix gradle plugin

Change-Id: Iac2ea9ddcbf07bd390945723cb785d77c1efb7d0

9 years agoMove expression parsing to Annotation Processing stage.
George Mount [Wed, 25 Feb 2015 22:13:10 +0000 (14:13 -0800)]
Move expression parsing to Annotation Processing stage.

Change-Id: Ibf1e9c02856212c20300f10e4c63b96ec33b7a13

9 years agoAdd fraction resource parameters.
George Mount [Tue, 24 Feb 2015 00:18:38 +0000 (16:18 -0800)]
Add fraction resource parameters.

9 years agoAdd quantity and format string easy formats.
George Mount [Mon, 23 Feb 2015 23:43:53 +0000 (15:43 -0800)]
Add quantity and format string easy formats.

9 years agoAdded support for imports in type checking.
George Mount [Fri, 20 Feb 2015 18:42:13 +0000 (10:42 -0800)]
Added support for imports in type checking.

findType did not support user-defined imports, so casting,
for example, of Foo<String> didn't recognize Foo or String.
This also will import java.lang.* by default.

9 years agoFix broken static import with alias.
George Mount [Fri, 20 Feb 2015 00:43:01 +0000 (16:43 -0800)]
Fix broken static import with alias.

Added tests to ensure they don't break again.

9 years agoSupport static method and field access and improve method finding.
George Mount [Thu, 19 Feb 2015 01:20:03 +0000 (17:20 -0800)]
Support static method and field access and improve method finding.

Bug 19425630
Bug 19336295

Change-Id: I4c04db32492edfa093e94c3c15bf7799128b1e03

9 years agoSupport casting operation in binding expressions.
George Mount [Wed, 18 Feb 2015 18:19:43 +0000 (10:19 -0800)]
Support casting operation in binding expressions.

Bug 19272385

Change-Id: I5a992f4eaf6f456d21983481ab4ca01305582f36

9 years agoRemoved reflection-based implementations and renamed classes.
George Mount [Wed, 18 Feb 2015 00:02:52 +0000 (16:02 -0800)]
Removed reflection-based implementations and renamed classes.

Renamed Model* classes to Annotation*
Renamed Reflection* classes to Model*
Removed Class* classes -- they are no longer needed.

The names were confusing. I think this is better.

9 years agoMove expression generation to annotation processor.
George Mount [Wed, 11 Feb 2015 21:44:15 +0000 (13:44 -0800)]
Move expression generation to annotation processor.

9 years agoAllow chef to be created from bundle
Yigit Boyar [Wed, 11 Feb 2015 22:29:48 +0000 (14:29 -0800)]
Allow chef to be created from bundle

Change-Id: If5b00a98684803cdd46547b9a94c961fe0bbf4e3

9 years agoSeparate resource parser
Yigit Boyar [Tue, 10 Feb 2015 22:46:45 +0000 (14:46 -0800)]
Separate resource parser

Change-Id: I3b5f44b48269130834d013425dbaf79fe084c855

9 years agoPrepare ClassAnalyzer to be replaced by other implementations.
George Mount [Tue, 10 Feb 2015 19:02:48 +0000 (11:02 -0800)]
Prepare ClassAnalyzer to be replaced by other implementations.

ClassAnalyzer uses normal reflection. We intend to move
to an Annotation Processor and possibly an Android Studio
plugin version of type interaction as well. This abstracts
the type interaction to prepare.

Change-Id: I2b95ea9074bca7e3053aeadcd3692dffe93b41d6

9 years agoFix how we handle non-bindable fields in Observable objects
Yigit Boyar [Mon, 9 Feb 2015 23:56:14 +0000 (15:56 -0800)]
Fix how we handle non-bindable fields in Observable objects

Change-Id: Ia33200a2ade3bd3ed8d3a66e1602a04111f4387a

9 years agoAdded support for Observable fields.
George Mount [Fri, 6 Feb 2015 00:02:46 +0000 (16:02 -0800)]
Added support for Observable fields.

Added support for ObservableField and it primitive siblings.

Bug 19268016

Change-Id: I28322e5adc44d40013e876271e7d40010c2fe0bb

9 years agoCheck for final observable fields
Yigit Boyar [Sat, 7 Feb 2015 01:00:07 +0000 (17:00 -0800)]
Check for final observable fields

If a field is final, we know it cannot change thus cannot include it in dependency
logic. Unfortunately, observable final fields can invalidate themselves so
we should consider them dynamic.

Bug: 19299279
Change-Id: I643377f7faea6a7b0e858ee55d22318b3fc5898e

9 years agoTest now really breaks.
George Mount [Fri, 6 Feb 2015 23:38:38 +0000 (15:38 -0800)]
Test now really breaks.

Bug 19286803

9 years agoFixed unit test
Yigit Boyar [Fri, 6 Feb 2015 22:43:24 +0000 (14:43 -0800)]
Fixed unit test

Change-Id: Id3f93a76868c74237841f707e82623b24a98a779

9 years agoMade new breaking test.
George Mount [Fri, 6 Feb 2015 21:52:57 +0000 (13:52 -0800)]
Made new breaking test.

Bug 19286803

9 years agoadded test for binding to a final field
Yigit Boyar [Fri, 6 Feb 2015 21:19:47 +0000 (13:19 -0800)]
added test for binding to a final field

Change-Id: I0945b0128c390cd6f91337359c16fd9d94735550

9 years agoMade expressions prefix with "@"
George Mount [Wed, 4 Feb 2015 21:15:26 +0000 (13:15 -0800)]
Made expressions prefix with "@"

9 years agoAdded tests for BindingAdapters
George Mount [Wed, 4 Feb 2015 00:59:30 +0000 (16:59 -0800)]
Added tests for BindingAdapters

Fixed a few small bugs as well.

Change-Id: Ie50afc6be457b293ce69508452bb38ea1ab75b41

9 years agoSupport for layout files in multiple resource folders
Yigit Boyar [Tue, 3 Feb 2015 00:55:54 +0000 (16:55 -0800)]
Support for layout files in multiple resource folders

Multiple layout files with the same name now share a common interface.
They also share all variables no matter where it is defined.
If a variable is NOT used in one of the layout files, its implementation
does not create a field BUT STILL creates the setter (to implement
the base interface).

If the same view id is used for two different types of views, return
type in the interface is android.view.View. If it is an include,
the return value is IViewDataBinder.

Change-Id: Ie3cc2bb8ec5ea48b71337e314ec588a050d714df

9 years agoSupport include tags as inner binders
Yigit Boyar [Sat, 31 Jan 2015 00:58:32 +0000 (16:58 -0800)]
Support include tags as inner binders

Change-Id: I2d35c9887678a3547937ad384b9c0dc7603f4f60

9 years agoMade SetterStore serialization upgradable.
George Mount [Fri, 30 Jan 2015 20:03:33 +0000 (12:03 -0800)]
Made SetterStore serialization upgradable.

Bug 19197607

9 years agoMade ProcessBindable read intermediate files from class path.
George Mount [Thu, 29 Jan 2015 23:39:20 +0000 (15:39 -0800)]
Made ProcessBindable read intermediate files from class path.

Bug 19192030

9 years agoAdded tests for ViewBindingAdapter.
George Mount [Thu, 29 Jan 2015 18:06:23 +0000 (10:06 -0800)]
Added tests for ViewBindingAdapter.

Also fixed:
Bug 19192030

9 years agoAdd more tests.
George Mount [Wed, 28 Jan 2015 18:58:27 +0000 (10:58 -0800)]
Add more tests.

9 years agoMoved classes from library to baseLibrary
George Mount [Tue, 27 Jan 2015 23:23:47 +0000 (15:23 -0800)]
Moved classes from library to baseLibrary

Added tests for some classes.

9 years agofix genereated code folder
Yigit Boyar [Tue, 27 Jan 2015 22:30:59 +0000 (14:30 -0800)]
fix genereated code folder

Change-Id: Ic7efa25a60efac547bf7531b4b5aed8634babb95

9 years agomore integration tests
Yigit Boyar [Tue, 27 Jan 2015 02:30:26 +0000 (18:30 -0800)]
more integration tests

Change-Id: I275ab3b41930694acd5db3875a5b4265a19581ca

9 years agoProject renaming
George Mount [Tue, 27 Jan 2015 18:58:49 +0000 (10:58 -0800)]
Project renaming

9 years agoLazy load classes for SetterStore.
George Mount [Tue, 27 Jan 2015 17:18:53 +0000 (09:18 -0800)]
Lazy load classes for SetterStore.

9 years agoMerge "properly handle expressions which are static."
Yigit Boyar [Tue, 27 Jan 2015 01:41:32 +0000 (01:41 +0000)]
Merge "properly handle expressions which are static."

9 years agoFixed and added test for the expression parser.
George Mount [Tue, 27 Jan 2015 00:57:04 +0000 (16:57 -0800)]
Fixed and added test for the expression parser.

9 years agoproperly handle expressions which are static.
Yigit Boyar [Mon, 26 Jan 2015 19:11:46 +0000 (11:11 -0800)]
properly handle expressions which are static.

Also make bindable a runtime expression so that we can read it in the compiler

Change-Id: Id8f6cdf010dde61d64a20841557c3b997916fbf9

9 years agoAdd observable collections
George Mount [Fri, 23 Jan 2015 23:02:46 +0000 (15:02 -0800)]
Add observable collections

Change-Id: I609708e2c914fa0c38695172ede23207eb1569a1

9 years agoAdd resource support in binding expression.
George Mount [Thu, 22 Jan 2015 00:24:43 +0000 (16:24 -0800)]
Add resource support in binding expression.

Change-Id: Iccb8c3a5856c247d8245fe97a3c37cd60bb7e758

9 years agofixed tests
Yigit Boyar [Thu, 22 Jan 2015 02:34:32 +0000 (18:34 -0800)]
fixed tests

9 years agoCleanup previous layout generators.
Yigit Boyar [Thu, 22 Jan 2015 01:23:32 +0000 (17:23 -0800)]
Cleanup previous layout generators.

Change-Id: Ib55038fa762561ad69c3936e5731f2a27998c87f

9 years agoWIP Moved models to Java, refactored expressions to have proper dependencies, added...
Yigit Boyar [Fri, 9 Jan 2015 22:23:33 +0000 (14:23 -0800)]
WIP Moved models to Java, refactored expressions to have proper dependencies, added tests

Change-Id: I863787a3ed76ecc397b677cfd110aa7aba99cb38

9 years agoMade non-android XML namespace uniform for setter retrieval.
George Mount [Tue, 20 Jan 2015 21:57:17 +0000 (13:57 -0800)]
Made non-android XML namespace uniform for setter retrieval.

9 years agoAdded implementations of BindingAdapters.
George Mount [Tue, 20 Jan 2015 16:38:57 +0000 (08:38 -0800)]
Added implementations of BindingAdapters.

Added renaming attribute-to-setter and automatic Conversions.
Moved intermediate store (SetterStore) to compiler project.
Moved annotations to their own project.

9 years agoHandle BindingAdapters
George Mount [Fri, 9 Jan 2015 20:38:14 +0000 (12:38 -0800)]
Handle BindingAdapters

9 years agoinitial implementation for type resolution
Yigit Boyar [Fri, 9 Jan 2015 18:43:24 +0000 (10:43 -0800)]
initial implementation for type resolution

9 years agoNew expression language.
George Mount [Thu, 8 Jan 2015 00:34:06 +0000 (16:34 -0800)]
New expression language.

9 years agoStarted renaming to classes and methods to match design doc.
George Mount [Wed, 17 Dec 2014 22:07:28 +0000 (14:07 -0800)]
Started renaming to classes and methods to match design doc.

Change-Id: I3f2809bedfdd4b856d140fb9336ae3c077d1accb

9 years agoMove to android.binding.BR
George Mount [Wed, 17 Dec 2014 21:05:42 +0000 (13:05 -0800)]
Move to android.binding.BR

9 years agoAdd annotation processor.
George Mount [Wed, 17 Dec 2014 19:24:30 +0000 (11:24 -0800)]
Add annotation processor.

9 years agoUpload plugin for new lang
Yigit Boyar [Sat, 13 Dec 2014 02:45:04 +0000 (18:45 -0800)]
Upload plugin for new lang

9 years agoMerge "Revert "Added Bindable annotation processor.""
George Mount [Tue, 16 Dec 2014 23:58:43 +0000 (23:58 +0000)]
Merge "Revert "Added Bindable annotation processor.""

9 years agoRevert "Added Bindable annotation processor."
George Mount [Tue, 16 Dec 2014 23:58:36 +0000 (23:58 +0000)]
Revert "Added Bindable annotation processor."

This reverts commit 8f98922af15026fbbcf7ad55826198c58cb2d330.

Change-Id: I3afbc70d2743a682f04ec82a45c340ebde4cb47c

9 years agoRevert "Missed adding annotation processor code."
George Mount [Tue, 16 Dec 2014 23:58:15 +0000 (23:58 +0000)]
Revert "Missed adding annotation processor code."

This reverts commit 6c634edac4f9af4bdeb84cdc2f47e849bfd74d86.

Change-Id: I74afc4c8a10cd276d0bb422efd37ae339e8c8d86

9 years agoMissed adding annotation processor code.
George Mount [Tue, 16 Dec 2014 23:25:56 +0000 (15:25 -0800)]
Missed adding annotation processor code.

9 years agoAdded Bindable annotation processor.
George Mount [Tue, 16 Dec 2014 17:35:35 +0000 (09:35 -0800)]
Added Bindable annotation processor.

Change-Id: I17d4109f9d974d46474b9ac1fba4d303f232b097

9 years agomove dependencies from maven to project
Yigit Boyar [Sat, 13 Dec 2014 00:45:00 +0000 (16:45 -0800)]
move dependencies from maven to project

9 years agoReplace maven dependencies w/ direct project references
Yigit Boyar [Fri, 12 Dec 2014 23:15:25 +0000 (15:15 -0800)]
Replace maven dependencies w/ direct project references

9 years agoadd samples, upload gradle files
Yigit Boyar [Fri, 12 Dec 2014 22:26:25 +0000 (14:26 -0800)]
add samples, upload gradle files

9 years agoupdate demo app, create project gradle file
Yigit Boyar [Fri, 12 Dec 2014 01:00:47 +0000 (17:00 -0800)]
update demo app, create project gradle file

9 years agocleanup personal references
Yigit Boyar [Fri, 12 Dec 2014 00:01:02 +0000 (16:01 -0800)]
cleanup personal references

9 years agoadd copyright to project files
Yigit Boyar [Thu, 11 Dec 2014 23:52:25 +0000 (15:52 -0800)]
add copyright to project files

9 years agoadd demo app
Yigit Boyar [Thu, 11 Dec 2014 23:40:13 +0000 (15:40 -0800)]
add demo app

9 years agoinitial commit
Yigit Boyar [Thu, 11 Dec 2014 23:23:36 +0000 (15:23 -0800)]
initial commit

9 years agoInitial empty repository
Qiwen Zhao [Wed, 10 Dec 2014 22:10:18 +0000 (14:10 -0800)]
Initial empty repository