212068 Commits

Author SHA1 Message Date
Mark Salyzyn
c954fde0b6 jni: is loggable speedup, not within signal
Speedup by telling __android_is_loggable interface it will not
be called within a signal handler. This saves two system calls.

Bug: 25563384
Change-Id: Ib8188641c8c76e5aa848476da98596be6b8e5040
2015-11-12 15:40:51 -08:00
Svetoslav Ganov
8f87949340 Merge "System crash fixed when turn off MagnificationGesture" 2015-11-12 16:00:28 +00:00
Wale Ogunwale
cbcafde45e Merge "Avoid configuration of callback being reset after relayout." 2015-11-12 15:55:18 +00:00
riddle_hsu
164725c652 Avoid configuration of callback being reset after relayout.
mPendingConfiguration is a parameter of IWindowSession.relayout.
And IWindowSession.aidl declared "out Configuration outConfig",
it will always create a new configuration for remote side to write.
If remote side does not write (WMS does not have config change),
the new default configuration will be returned.

In original code passes mPendingConfiguration to updateConfiguration
directly, then callbacks (sConfigCallbacks) receive the same
instance of mPendingConfiguration. And because the implementation
of callback may use the configuration after relayout has reset
the configuration to default, then it may have timing that results
"showing hybrid of portrait and landscape modes" which try to fix
in commit e36d6e27.

To avoid this, always create a copy to updateConfiguration.
MSG_RESIZED_REPORT from dispatchResized also did the same thing.

Related commit:
e36d6e277e49475076b7872d36ea6a5c5b996e9d
694f79b5d1196640d1beb680b7d1fc68e6e77cbd

Change-Id: Ic1abd596e384918224b3a7020583d9a04641cccc
2015-11-12 14:07:12 +08:00
Chad Brubaker
d1c469e876 Merge "Add NetworkSecurityConfigProvider" 2015-11-11 20:25:04 +00:00
Amith Yamasani
10b0bae06f Merge "Fix system watchdog timeout when reading too many usage events." 2015-11-11 20:24:39 +00:00
Chad Brubaker
f1e813ea33 Merge "Add support for debug-overrides configuration" 2015-11-11 19:03:30 +00:00
Chad Brubaker
5a1078f40d Add NetworkSecurityConfigProvider
Change-Id: I321e3ca94cc2a8d5e0e5d82a83b255ff5b8a71d2
2015-11-11 10:54:54 -08:00
John Reck
8c85c00b5e Merge "Fix memory corruption in SpotShadow" 2015-11-11 17:52:08 +00:00
Calin Juravle
8fa7e93050 Merge "Parse method-trace properties only in debug builds." 2015-11-11 16:54:52 +00:00
Keith Mok
a1f5631340 Fix memory corruption in SpotShadow
The array list is too small and causing stack corruption

Change-Id: I0e34dad39357fb63977d2ce6f183ced7b6a632be
2015-11-11 08:49:20 -08:00
Calin Juravle
92290b8963 Parse method-trace properties only in debug builds.
Bug: 25612377
Change-Id: Ia1d8e6c5afbdd70486d5aa8c059e70e27b03367d
2015-11-11 10:36:47 +00:00
John Reck
37bf3ec9d2 Merge "Fix HWUI Path Cache dangling pointer" 2015-11-10 23:20:03 +00:00
Chad Brubaker
08d36202da Add support for debug-overrides configuration
Debug overrides are only used if the application is debuggable in
order to help local debugging and development by trusting additional
CAs. In a non-debuggable version of the application the debug-overrides
are ignored.

Trust anchors in the debug override configuration have two key
differences from those in base-config and domain-config:
1) trust anchors in the debug-overrides are trusted for all connections
in addition to any trust anchors included in the relevant base/domain
configs.
2) By default trust anchors in the debug config override pins, as their
purpose is for connecting to non-standard servers for debugging and
testing and those servers should not be pinned in the production
configuration.

Change-Id: I15ee98eae182be0ffaa49b06bc5e1c6c3d22baee
2015-11-10 12:40:00 -08:00
Svetoslav Ganov
8d8515e708 Merge "Avoid NPE in printspooler when changing language" 2015-11-10 00:58:28 +00:00
Nick Kralevich
51b48b3877 Merge "system_server: allow /proc read access to other UIDs" 2015-11-09 20:05:22 +00:00
Digish Pandya
2e4f67c388 Fix HWUI Path Cache dangling pointer
When precache, PathTexture is added to PathCache, and it is released after drawn if we want to clean it.
But the PathCache LRU still holds the entry of the PathTexture object. When trim the cache in
the end of each frame, LRU finds that its mListener is not NULL and invoke the functor, however,
mListerer points to the released PathTexture object and is a dangling pointer, thus leads to crash.
Smart pointer don't help here since they only manage scopes, while PathTexture is also controled by
its cleanup field.
The fix is to also remove the LRU entry of PathTexture*, it will also release the texture object
and there won't be texture leaks.

Change-Id: Iaa0621df5dc71532e9e75b38ad94384353930b95
2015-11-09 14:22:25 +05:30
Mark Lu
4e59db328d Fix system watchdog timeout when reading too many usage events.
Symptom:
As issue link:
https://code.google.com/p/android/issues/detail?id=193100

RootCause:
UsageStatsService.onDisplayChanged executed in system main thread,
If calling UsageStatsManager.queryEvents with too many events before it
(i.e. in daily usage event file,
too many activity resume / pause events or configuration change
during monkey test),
System will be blocked then watchdog timeout.

Solution:
Let display listener executed in background thread handler

Change-Id: Ic894d112612400ed8fb7ba843b3309fdc4f66fe1
2015-11-09 07:24:48 +00:00
Nick Kralevich
368513fa99 system_server: allow /proc read access to other UIDs
Add system_server to AID_READPROC, to allow system_server to read
/proc entries associated with other UIDs.

Bug: 23310674
Change-Id: I1602b8ee30670cde4ed56e2f901524c105895352
2015-11-07 17:04:04 -08:00
Chad Brubaker
749501e88e Merge "Support nested domain-config elements" 2015-11-07 22:11:04 +00:00
Chad Brubaker
ead46ecc84 Merge "Add xml source for network security configuration" 2015-11-07 22:10:50 +00:00
Chad Brubaker
bd173c28fc Support nested domain-config elements
Nested domain-config inherit unset parameters from the domain-config
they are nested in. This helps avoid copy and pasted configs that are
almost the same except a few minor differences for a domain with
slightly different requirements.

For example: Consider a domain-config for example.com that, among other
settings, does not enforce hsts. Now if you want the rules for
example.com to apply to secure.example.com except that hsts _is_
enforced you can make a nested domain-config for secure.example.com
under example.com that sets hstsEnforced="true" and nothing else.

Change-Id: I9e33f7e62127fd7f4f15c3560fff2f2626477bd4
2015-11-07 13:31:04 -08:00
Chad Brubaker
5f96702f58 Add xml source for network security configuration
XmlConfigSource parses an ApplicationConfig from an xml resource.
Currently this supports app-wide default configuration via the
base-config element, per domain via the domain-config element and
inheritance of unset properties at parse time.

Inheritance of unset properties is currently only:
domain-config -> base-config -> platform default configuration
Where the most specific value is used.
For example: If the base-config specifies trust anchors, all connections
will use those anchors except for connections to a domain which has a
domain-config that specifies trust anchors, in which case the
domain-config's trust anchors will be used. If the domain-config or
base-config don't set trust anchors, or don't exist, then the platform
default trust anchors will be used.

Nested domain-config entries, debug-overrides, and thorough
documentation of the xml format will follow in later commits.

Change-Id: I1232ff1e8079a81b340bc12e142f0889f6947aa0
2015-11-06 22:24:01 -08:00
Chad Brubaker
1347cb81f4 Merge "Fix incorrect hstsEnforced lookup" 2015-11-07 02:37:45 +00:00
Chad Brubaker
825c3f91ed Fix incorrect hstsEnforced lookup
Change-Id: I00364d8c1d3311bebd3ad88e557860e694ba5018
2015-11-06 18:08:12 -08:00
Chad Brubaker
1483ee3aa5 Merge "Fix directory check in UserCertificateSource" 2015-11-06 21:02:23 +00:00
Chad Brubaker
c5c51dafb3 Merge "Fix incorrect hasPerDomainConfigs check" 2015-11-06 21:02:01 +00:00
Chad Brubaker
b0f8b4bb35 Fix directory check in UserCertificateSource
If the user has not added any CAs to the user trust store the user-added
directory will not have been created.

Change-Id: I8b5f73af3c0761c56969874231004fedbf7badda
2015-11-06 13:00:15 -08:00
Chad Brubaker
35de8d6d2b Fix incorrect hasPerDomainConfigs check
Change-Id: Iaeedbbcc5f12475d346a77dba84b38a1d3d8d346
2015-11-06 12:50:31 -08:00
Chad Brubaker
7e98f2e697 Merge "Use a builder for NetworkSecurityConfig" 2015-11-06 20:21:29 +00:00
Masaaki Iwaguchi
5b6d99e87a System crash fixed when turn off MagnificationGesture
Symptom:
WindowManagerService throws exception and system crashes.

Root cause:
When the MagnificationGesture is turned off during animation of scale
up/down, WindowManagerService.mAccessibilityController can be null so
exception is thrown.

Solution:
Cancel ongoing animation before turning off MagnificationGesture.

Change-Id: I469d84e024bdd453e3729a69229398233ed2eb61
2015-11-06 12:40:14 +01:00
Svetoslav Ganov
7abb36599d Merge "Take into account default app for default grants" 2015-11-06 00:34:21 +00:00
Svetoslav
5d05bbea5f Take into account default app for default grants
Change-Id: Ib78c7dbda65d405bbf74544cad18e5e10bfcdeec
2015-11-05 16:33:05 -08:00
Svetoslav Ganov
9ae3aeec53 Merge "Revert "Take into account default app for default grants"" 2015-11-06 00:24:59 +00:00
Svetoslav Ganov
d2bbf1bf0a Revert "Take into account default app for default grants"
Apparently OEMs can set the chooser so this patch is not enough since it assumes the chooser is a platform component.

This reverts commit fce33d58d87fd494686aae4e21332b58ec260b73.

Change-Id: I3b8e499d2f0a731a227d193f6c5d6ed528be2272
2015-11-06 00:24:47 +00:00
Tenghui Zhu
3226c57321 Merge "When the incoming light source is invalid, don't generate any shadow" 2015-11-05 23:56:56 +00:00
Teng-Hui Zhu
83ea5b7b22 When the incoming light source is invalid, don't generate any shadow
b/25417885

Change-Id: I4b87e35ca68091fd0409cb9fe9b9400af860a507
2015-11-05 15:48:35 -08:00
Chad Brubaker
80a73f5939 Use a builder for NetworkSecurityConfig
The builder supports all the standard builder set* methods as well as
setting a parent builder to use when values are not set (recursively).
This allows us to have a level of inheretence in configurations without
complicating the lookup and trust checking logic by doing inheretence
when building the configs.

Change-Id: I054af83451e52761227479eadf9cb9803437505f
2015-11-05 12:50:30 -08:00
Dan Albert
22b7e496c2 Merge "Use std::unique_ptr instead of UniquePtr." 2015-11-05 19:32:43 +00:00
Chad Brubaker
8c35820720 Merge "Add initial network security config implementation" 2015-11-05 18:46:24 +00:00
Brian Carlstrom
ffb15da518 Merge "Fixes for sm and pm usage" 2015-11-05 18:38:56 +00:00
Brian Carlstrom
82bfca4609 Fixes for sm and pm usage
sm showed IllegalArgumentException after usage.
pm inconsistently used "return showUsage()"

Bug: 20948199
Change-Id: I5828489a9d4ef2eabfb97dd408d66e1560a5a983
2015-11-05 10:33:40 -08:00
Dan Albert
d9a1b35df6 Merge "Don't apply clang flag to gcc builds." 2015-11-05 18:18:45 +00:00
Masaaki Iwaguchi
86d13f3daf Avoid NPE in printspooler when changing language
PrintActivity is recreated when the language setting is changed.
As a result of the recreation mCurrentPrinter is null, which causes
a NullPointerException when onActivityResult() is called.

The issue is solved with a simple null check.

Change-Id: Ic58f0ca01577d2ec02d494739f3bc2f06240dd44
2015-11-05 17:39:21 +00:00
Dan Albert
0eadf57cad Don't apply clang flag to gcc builds.
For whatever reason GCC doesn't fail the build on unknown flags unless
there is also a warning emitted. Since we're now deprecating
UniquePtr, the warning is thrown here and the build fails (despite not
being -Werror).

Bug: http://b/22403888
Change-Id: I4af7911a51f7af9aa47a596a76f3e9d79535585b
2015-11-05 00:59:09 -08:00
Dan Albert
b0624da118 Use std::unique_ptr instead of UniquePtr.
We're deprecating UniquePtr, so we need to move to the real thing.

Bug: http://b/22403888
Change-Id: I5b7fdf4924dd8c12a8c7dba89278714ca6fdc60a
2015-11-05 00:57:12 -08:00
Svetoslav Ganov
82eeb2f20c Merge "Take into account default app for default grants" 2015-11-05 02:19:12 +00:00
Svetoslav Ganov
035374d7a2 Merge "Enforce weaker grant if app is default handler for miltiple action" 2015-11-05 02:19:00 +00:00
Svetoslav
5db602fd19 Enforce weaker grant if app is default handler for miltiple action
Change-Id: Ibc46e458e277412ebb276eb5ba6f2765b6b6c5e9
2015-11-05 02:18:13 +00:00
Chad Brubaker
6bc1e3966c Add initial network security config implementation
Initial implementation of a unified application wide static
network security configuration.

This currently encompases:
* Trust decisions such as what trust anchors to use as well as static
  certificate pinning.
* Policy on what to do with cleartext traffic.

In order to prevent issues due to interplay of various components in an
application and their potentially different security requirements
configuration can be specified at a per-domain granularity in addition
to application wide defaults.

This change contains the internal data structures and trust management
code, hooking these up in application startup will come in a future
commit.

Change-Id: I53ce5ba510a4221d58839e61713262a8f4c6699c
2015-11-04 14:31:18 -08:00