3667 Commits

Author SHA1 Message Date
Adam Lesinski
beb9e33bfb AAPT: Fix regression in resource versioning
With a set of resources with the following configurations:

()
(land)

the regression caused any resources that needed to be versioned in configuration () to be lost.

Bug:23038206
Change-Id: I2f1b0313fb780ac241e7aaa487cb37dfb79c36aa
2015-08-14 13:41:46 -07:00
Diego Perez
7d85b5435d Merge "Make DelegateManager thread safe" into mnc-dev 2015-08-11 20:44:40 +00:00
Diego Perez
511e48728a Make DelegateManager thread safe
We have been seeing crashes on the Theme editor related to an assertion
on getDelegate when the object does not exist
(http://b.android.com/181951).
When debugging, the crash was happening without seeing a previous call
to removeJavaReference. This seems to completely remove that crash.
Since the DelegateManager can be called at least from two threads
(main thread and the finalizer), it should be thread safe.

Bug: http://b.android.com/181951
Change-Id: I1b28f863ff198f8592f170a98f9de391b2ac3ea2
2015-08-07 11:24:38 +01:00
Deepanshu Gupta
b556decf75 LayoutLib: Switch SimpleDateFormat to icu.
Use ICU's implementation of SimpleDateFormat in LayoutLib. The format
patterns used are not supported by java.text.SimpleDateFormat.

The change required adding a mechanism for promoting visibility of
fields in the framework in the create tool.
TODO: Add additional tests in the create tool for this new
functionality.

Change-Id: Id0f4be41f9731c42a28919c32cc5ef271a656982
2015-08-06 16:04:04 -07:00
Deepanshu Gupta
82c7fdb1f6 Replace Locale.getDefault with custom impl.
In LayoutLib the default locale should always be the locale set the
rendering params. This change replaces all calls to Locale.getDefault in
the framework with calls to AndroidLocale.getDefault() which tries to
find the locale from the current context, but falls back to the original
call.

Change-Id: I496b35dcfc17fd61fedee21c7495541ab870b1fc
2015-08-06 16:03:19 -07:00
Deepanshu Gupta
0437cac76c Make getInt in BridgeTypedArray accept empty String.
The XML editor already warns about the empty strings in places where an
int value is required. There's no need to show another warning for it in
the rendering panel. Also, the rendering might have also failed when the
empty string is encountered. Try an continue the rendering, because no
rendering state is really bad.

Change-Id: I85106f37e4462f237e85f0b065b4ce8a4bfabf4d
2015-08-04 11:57:10 -07:00
Deepanshu Gupta
a9090705ef Fix layout mirroring.
Change-Id: I7db398aa2d11dac1210e84922138f78f0c23bb9b
2015-08-04 11:56:44 -07:00
Diego Perez
405eceb20a Merge "Restore session params "no decoration" flag" into mnc-dev 2015-08-03 21:33:24 +00:00
Deepanshu Gupta
89a045c31f Revert to using AppTheme for LayoutLib tests.
Use AppTheme for all tests other than testExpand. AppTheme contains an
attribute needed by testArrayCheck. Also, since the AppTheme extends
Theme.Material.Light.DarkActionBar, other tests should be unaffected.

Also, update the golden image for the testArrayCheck.

Change-Id: Ib5f53f3b029c5aceef2b622e5ac63952d6b1972a
2015-08-03 11:42:33 -07:00
Deepanshu Gupta
9f280a9301 Fix Matrix_Delegate.native_getValues()
The bug manifested itself by not rendering the wifi icon in the status
bar.

Change-Id: I7debf3eef387965d774bf66e856812e67c8552a7
2015-08-03 10:24:57 -07:00
Diego Perez
71a85575d4 Restore session params "no decoration" flag
This seems to have removed from a previous version and the theme editor
relies on it to remove the decoration around the preview.

Change-Id: Ifab99e9c1689bfe44ca593e8c66c24e57c3e8c4c
2015-08-03 14:20:18 +01:00
Deepanshu Gupta
c2622d8923 Update test image for upated nav icons.
The image shows the nav icons to be separated by a significant distance.
This is because the switch to wide-screen layout happens based on
shortest width. The layout has a small shortest width and hence it uses
the phone layout for a horizontal nav bar and it doesn't look nice. Real
devices will never have this config, so it's okay.

Change-Id: Ic494ee7fdfb1116db39bcab6d6ee7a1e514b23df
2015-07-31 13:17:15 -07:00
Deepanshu Gupta
5a8f33f1b0 Fix typo: s/FullScreen/Fullscreen/ in LayoutLib.
Change-Id: Ia8d223ae01f08df945ab05615b07075b98a54a32
2015-07-31 13:10:18 -07:00
Deepanshu Gupta
7b1e486e87 Fix bugs introduced in 78aa664.
Fix a couple of bugs (ArrayIndexOutOfBoundsException due to
miscalculation and a typo - swapped src and dst) introduced in the CL:
78aa664 Poor implementation of Path.approximate()

Change-Id: Iff7dbbf66d2714df51699ddb9a4169c38feefa7b
2015-07-31 13:00:05 -07:00
Dianne Hackborn
e5d926deb2 Fix build.
Change-Id: I9c6b6cd354039ff2914837cfe97a783564ded66f
2015-07-31 11:17:43 -07:00
Adam Lesinski
e3b0119f79 Merge "AAPT: Fix resource versioning" into mnc-dev 2015-07-31 00:28:05 +00:00
Deepanshu Gupta
7676e403bd Merge changes I4c215676,Ib476302c,I0aede288,I9241dec7,Ibe7167a6, ... into mnc-dev
* changes:
  Update status bar time.
  Fix imports.
  Add MockView constructor used by LayoutInflater.
  Poor implementation of Path.approximate()
  Include EpicenterTranslateClipReveal in LayoutLib
  Fix theme namespace in tests.
  LayoutLib: fix layout when nav bar is absent.
  LayoutLib: Fix Status/Navigation Bar color.
2015-07-30 21:58:03 +00:00
Deepanshu Gupta
36e3fa55b6 Update status bar time.
Copy the value from the demo mode (commit 33b60bb45f)

Change-Id: I4c215676e7ae26a68aa370e99db005226d8a05d9
2015-07-29 17:01:33 -07:00
Deepanshu Gupta
671b7f9b99 Fix imports.
Also remove null checks on return value of ReflectionUtils.getMethod()
as the method always return non null.

Change-Id: Ib476302c2cf0504a0f54db4e795955ad10e5df3f
2015-07-29 15:34:48 -07:00
Deepanshu Gupta
9bf4b6f8c0 Add MockView constructor used by LayoutInflater.
Change-Id: I0aede28866c1b87fb66c8a416c5026a9b2cb04fe
2015-07-29 15:34:47 -07:00
Deepanshu Gupta
78aa664b02 Poor implementation of Path.approximate()
Include a very poor implementation of Path.approximate() in LayoutLib
that only returns the first and last coordinate of the path. This avoids
crashing the rendering when certain assumptions are made on the value
returned from the method.

Also change the error to a warning.

Change-Id: I9241dec734d4df90a9eebd1e6de8b3e443eee3c8
2015-07-29 15:34:38 -07:00
Deepanshu Gupta
214466c777 Include EpicenterTranslateClipReveal in LayoutLib
Needed by Spinner to create transitions that are then ignored :)

Change-Id: Ibe7167a643ecb186e97c9af446c0e1d2eb2d6f86
2015-07-29 14:30:05 -07:00
Deepanshu Gupta
4a6ee98d39 Fix theme namespace in tests.
The tests used framework theme (Material), but the ResourceResolver was
created with project theme. This caused tests to fail becasue of missing
resources.

Change-Id: Ia17ee19054f6689f85e3423e83c1f47a2cc4364f
2015-07-29 14:27:02 -07:00
Svet Ganov
f1b7f20bb8 Remove dependencies on the package installer's package name
bug:22700053

Change-Id: I8540eb8577fbec84e1a67e31e1c31ba654c828a4
2015-07-29 08:33:46 -07:00
Deepanshu Gupta
6e8d8ad2b7 LayoutLib: fix layout when nav bar is absent.
Change-Id: I0d3ee6fd5a4656156a630d3b298533ea13eb8415
2015-07-28 18:30:48 -07:00
Adam Lesinski
f45d2fad2e AAPT: Fix resource versioning
Resource generation was greedy, so when an attribute with sdk level 21 was used in a resource
with v1, and a different attribute with sdk level 21 was used in a resource with v11,
a v21 resource would be synthesized, but it would contain the attribute from v1 instead of v11.

This change fixes the issue, having the higher versioned resource take precedence.

Bug:22793816
Change-Id: Ia687f56b0d9969e424111477d55d9804255b22e9
2015-07-28 12:26:57 -07:00
Deepanshu Gupta
e3f9834ebd LayoutLib: Fix Status/Navigation Bar color.
If the color value for status bar or navigation bar is declared directly
in the theme (i.e. doesn't reference a color resource via @color/foo),
the ResourceType for the attribute is not assigned by the IDE. LayoutLib
used to ignore resources that were not of type color. This change fixes
the issue by also checking the resources without a type.

Change-Id: I94735ec225415282db06ab9db5c3233ad89c052f
2015-07-27 11:54:49 -07:00
Deepanshu Gupta
f199ac84f3 Merge "Set support flag for custom layouts for RecyclerView." into mnc-dev 2015-07-23 23:47:10 +00:00
Deepanshu Gupta
f7712d3524 Set support flag for custom layouts for RecyclerView.
Change-Id: I3a0349c0482ae45e226b2016a0f24707c85edff4
2015-07-23 16:40:23 -07:00
Deepanshu Gupta
49fcfdd4ba Merge changes I9c294329,Ie4db5d28 into mnc-dev
* changes:
  LayoutLib: translucent sys ui bars
  Move the layout code out of RenderSessionImpl.
2015-07-23 23:02:57 +00:00
Deepanshu Gupta
f33c0f8516 Merge "CalendarView rendering: use R.styleable to find attr." into mnc-dev 2015-07-23 23:02:46 +00:00
Deepanshu Gupta
fc8f4aad73 LayoutLib: translucent sys ui bars
Change-Id: I9c294329fc78418c505a5115bc9c07da29595af2
2015-07-23 15:54:26 -07:00
Deepanshu Gupta
b1484862e2 Move the layout code out of RenderSessionImpl.
Also, switch to using a RelativeLayout from a LinearLayout. The change
will help in future when enabling transparent status and nav bar.

Change-Id: Ie4db5d28313f1c5ef775603788598a56409f92c7
2015-07-23 11:59:16 -07:00
Deepanshu Gupta
e8018480db CalendarView rendering: use R.styleable to find attr.
Not all attr are added to R.attr. This results in some attr not being
found and hence a broken rendering. Fix the issue by adding all attr
referenced in R.styleable to the map of attr before adding any remaining
values from R.attr.

Change-Id: I1ebf8a394b9e1edbf7490e011833d20a00d38317
2015-07-23 11:59:09 -07:00
Diego Perez
b9935889b1 resolved conflicts for merge of 112d8a36 to mnc-dev
Change-Id: Ic9511a57db8a96f54dba0704800789a8602b9dd2
2015-07-21 15:32:55 +01:00
Diego Perez
112d8a3641 am d6f2a9ef: am 7720eb18: Merge "Render to measured size when using expand mode" into lmp-mr1-dev
* commit 'd6f2a9efbb0e0525f6cf970fd9c9b9b7082b19f9':
  Render to measured size when using expand mode
2015-07-21 13:20:23 +00:00
Diego Perez
7720eb18c1 Merge "Render to measured size when using expand mode" into lmp-mr1-dev 2015-07-21 12:56:56 +00:00
Deepanshu Gupta
a6ad75fbe0 Merge "Add tools:openDrawer to open a DrawerLayout." into mnc-dev 2015-07-16 00:59:36 +00:00
Deepanshu Gupta
4328626676 Merge "Change tools:list_item to listitem." into mnc-dev 2015-07-16 00:59:18 +00:00
Deepanshu Gupta
ccbc117703 Add tools:openDrawer to open a DrawerLayout.
Store a list of drawer layouts with tools:openDrawer encountered and
call openDrawer on them during the post-inflation processing.

Change-Id: Idee299a9af1bb106509a03bb2e8424c372b93dc5
2015-07-15 16:38:25 -07:00
Deepanshu Gupta
111dc04a28 Change tools:list_item to listitem.
The listitem is already in use for ListView. Reuse the same attribute
for RecyclerView rather than creating a new one.

Change-Id: I82aabe7d04fbe3e61645bc427a81c14c454d03c5
2015-07-15 16:31:00 -07:00
Dianne Hackborn
a503b62b15 Fix build.
Change-Id: Ib165c32d1d87e971902b4dd7300ccebd65e71a7d
2015-07-15 11:58:27 -07:00
Dianne Hackborn
fd854ee58c Fix issue #21626564: MMS should be receivied while Dozing
We now place whoever is receiving the MMS on the temporary
whitelist while doing so, so they can get network access to
download it.

There was also an issue that needed to be fixed where we
were no longer updating the list of allowed uids while
dozing based on their proc states...  we now do that.

Also did a bit of optimization of the temp white list update
path do the network policy manager, instead of going through
a broadcast we now directly call in to the network policy
manager.  This also allows us to have a synchronous version
of updating the list, so we can know the app has network access
before we tell it to do anything.

Finally added battery stats events for things going on and off
the whitelist so we can diagnose the behavior there.

Change-Id: Ic7fe010af680034d9f8cb014bb135b2addef7455
2015-07-14 18:33:08 -07:00
Fyodor Kupolov
d4fd8c766d Added sendBroadcastMultiplePermissions method
Added Context.sendBroadcastMultiplePermissions(Intent intent, String[]
receiverPermissions) method, which allows an array of required permissions
to be enforced.

Bug: 21852542
Change-Id: I27c9130e8f004b428452501ebc8a36aabde1f343
2015-07-14 17:25:42 -07:00
Fyodor Kupolov
e37520b49d Revert "Allow array of required permissions in sendBroadcast"
This reverts commit b4e7283c9afd9fb15ebd63f6ce9b75c9c1af658b.

Change-Id: Ie8390964bda5bdfa869cee8f46584043d8e7c664
2015-07-14 22:29:21 +00:00
Fyodor Kupolov
b4e7283c9a Allow array of required permissions in sendBroadcast
Added Context.sendBroadcast(Intent intent, String[] receiverPermissions)
method, which allows an array of required permissions to be enforced.

Bug: 21852542
Change-Id: I3b8ff258fa9f3249c344bb8093b820b24eef00c0
2015-07-14 12:50:22 -07:00
Bart Sears
0236e6b2d6 Fix the build.
Correct a typo.

Change-Id: I16131cf7c0ce17fa09dedc67264e8199482cd27e
2015-07-09 21:06:27 -07:00
Svetoslav
2bb3842a06 Fix build
Change-Id: I1b56c07aa5b85662f25158156d2c0eff115e9544
2015-07-09 20:22:23 -07:00
Deepanshu Gupta
cd595f1998 Fix Paint_Delegate.native_getRunAdvance()
Bug: 22249573
Change-Id: I29f7abe6448f439059547e1c1e310d3d651ac2d8
2015-07-07 14:38:39 -07:00
Deepanshu Gupta
490dd90c70 Add a default PackageManager to BridgeContext.
Needed for EditText.

Change-Id: I6c831467659ce814e86c13e928a2b77c14e1c139
2015-07-07 14:38:06 -07:00