Commit Graph

431 Commits

Author SHA1 Message Date
Dimitry Ivanov
b1ef62bb38 Extract pathclassloader initialization to a separate class
To be able to reuse this code when creating a classloader for
the system_server.

Bug: http://b/27245894
Bug: http://b/27702070
Change-Id: I928175a39a1beb0446d863a5b8f5edf94686e768
(cherry picked from commit 5d7d777fa6)
2016-04-27 11:38:41 -07:00
Calin Juravle
8d74de5546 Read -Xjittransitionweight from system properties.
Bug: 27865109
Change-Id: I4a752a68693ac7d764d006f1282398c2e95ef1d0
2016-04-27 15:08:11 +01:00
Svet Ganov
53a441ca8e Ensure local settings caches are not stale
We used the system proterties as a shared memory mechanism
to propagate information to local settings caches when the
content has changed and the cache should be cleared. The
system properties are unfortunately updated asynchronously
leading to cases where clients may read stale data.

This change adds a simple int array data structure backed
by shared memory which guarantees individual values are
atomically read and updated without memory tear. Multi-
index opearations are not synchronized between each other.

The settings provider is using the new data structure to
propagate the settings generation which drives when caches
are purged.

We have a single memory array keeping the generation for
different settings tables per user. Since memory array is
not a compact data structure and the user space exceeds
the memory array size we use an in-memory map from keys
to indices in the memory array where the generation id of
a key is stored. A key is derived by the setting type in
the 4 most significant bits and the user id in the 28 least
significant bits.

The mapping from a key to an index is cleared if the user is
removed and the corresponding index in the memory arry is
reset to make it available for other users. The size of the
memory array is derived from the max user count that can be
created at the same time.

bug:18826179

Change-Id: I64009cc5105309ef9aa83aba90b82afc8ad8c659
2016-04-26 11:31:55 -07:00
Calin Juravle
aa9ecac10b Handle dalvik.vm.jitprithreadweight property
Bug: 28065407
Bug: 27865109
Change-Id: I8cebc22a9e072fd1d6d765427a0cd59ba2201bf6

(cherry picked from commit 0de80b9f55)
2016-04-13 12:48:12 +01:00
Rubin Xu
c7605b838b Merge "Unifying method names and comments to security logging, not device logging" into nyc-dev 2016-03-17 11:23:55 +00:00
Ashutosh Joshi
ac329d3e34 Merge "Exposing Context Hub service." into nyc-dev 2016-03-16 17:21:33 +00:00
Michal Karpinski
6235a94ffa Unifying method names and comments to security logging, not device logging
Also move SecurityLog to android.app.admin package.

Bug: 27531824
Bug: 27532560
Bug: 27532564
Bug: 27532425
Change-Id: I2677afdb5685bc5d21e52c41b381b57a41e364b6
2016-03-16 14:32:09 +00:00
Peng Xu
9ff7d22354 Exposing Context Hub service.
Adding the Context hub service. This is the service that exposes
the context hub HAL to the system. The API exposed is a System API.

Change-Id: I854141714ecd21f6386e6b15b7bc9a997483ccf6
2016-03-15 15:18:56 -07:00
Brian Carlstrom
66f4831aa1 frameworks/base: Make Thread::run threadName argument required
Bug: 27557176
Change-Id: Icff15e51fb7c99387ac8317181d12749f343439a
2016-03-12 16:07:48 -08:00
Dimitry Ivanov
4449ef5b6a Display Toast with linker warnings after Activity.onStart()
Displays list of problems linker encountered with app's
native code including
1. Unauthorized access to private platform libraries.
2. Text relocations
3. Invalid DT_NEEDED entires

This change is intended only for preview/beta releases and to
be reverted before the first release build.

Bug: http://b/27365747
Change-Id: I08735472059248c901ef22042682d574fb2b0c92
2016-02-26 18:16:14 -08:00
Dimitry Ivanov
a55c7f15a3 Create linker-namespace for the classloader
With this change ApplicationLoaders.getClassLoader()
creates linker-namespace for the classloader at the
construction time. Before this change the namespace
was created on first load of a jni library.

With this change we ensure that every classloader
has initialized namespace associated with it.

As an additional advantage we now can avoid storing
namespace-specific fields in the classloaders.

Bug: http://b/27189432
Bug: http://b/22548808
Change-Id: I3b160bd478a55171008682c40b2ebc13bdbd9882
2016-02-25 14:57:55 -08:00
Polina Bondarenko
f8754ac212 Added hardwareproperties SystemService
Add HardwarePropertiesManagerService which call native methods to
get CPU, GPU, battery temperatures, CPU usage info, fan speeds.
Restrict hardware properties retrieval only for device and profile
owners.

Bug: 26945055
Change-Id: I4d6b30b78e575532d5e9cfa59ef6cd81355439d4
2016-02-19 18:24:29 +01:00
Doris Liu
766431aa57 Revert "Revert "VectorDrawable native rendering - Step 4 of MANY""
This reverts commit 5a11e8d0ba.

Change-Id: I7a48b59c4f930dad65ddc8590c25a12636244ea2
2016-02-04 16:29:51 -08:00
Doris Liu
5a11e8d0ba Revert "VectorDrawable native rendering - Step 4 of MANY"
b/26949340 and b/26975469, b/26975079 as well 

This reverts commit f276acd984.

Change-Id: I4b55177daf0d289bc03604c71fd4bf579f65073a
2016-02-04 20:59:00 +00:00
Doris Liu
f276acd984 VectorDrawable native rendering - Step 4 of MANY
This CL runs VectorDrawable animation on RenderThread. The changes in this CL
include:
- Convert all the animators in AnimatorSet for AVD into a set of RenderNodeAnimators.
- Hook up the new animators with RenderThread
- Add drawOp in RecordingCanvas for drawing VD so that during the animation
  on RenderThread, all the property changes on VD can be reflected on the screen.

TODO:
- Implement reverse and reset for AVD.

Change-Id: I2df1d754f2db0ad098d9c15dde4bb2bdfafc2315
2016-02-02 15:04:01 -08:00
Polina Bondarenko
8b8b242985 Merge "HardwarePropertiesManager: Add API for hardware properties retrieval" 2016-01-27 13:18:09 +00:00
Polina Bondarenko
965ecbbb3e HardwarePropertiesManager: Add API for hardware properties retrieval
Add serive "hardwareproperties" and methods getDeviceTemperatures,
getCpuUsages and getFanSpeeds to retrieve hardware properties:
device temperatures (CPU, GPU and battery), CPU usages and fan speeds.
This is a public API.

Bug: 22407109
Change-Id: If7efcbba7b160256d41704b60d93a7218dcc79d7
2016-01-22 17:33:37 +01:00
Rubin Xu
900fe2410d Merge "Add JNI bridge to the new logd security buffer." 2016-01-19 23:31:32 +00:00
Calin Juravle
7bdf3cff92 Merge "Enable profile guided compilation on the framework side" 2016-01-19 19:51:51 +00:00
Calin Juravle
db4a79a5d7 Enable profile guided compilation on the framework side
The background compilation service will trigger a profile based
compilation instead of a full one. If no profile information is
available the compilation is skipped (see installd).

Note that the end decision whether or not to compile a package is taken
by dext2oat. We can't make the decision here because this service runs
under system server which cannot read app's profile data.

Bug: 26080105
Change-Id: I457ea8dea0557839c1f7cdc241770055732b0a4a
2016-01-19 11:44:27 -08:00
Rubin Xu
75431fbe36 Add JNI bridge to the new logd security buffer.
Bug: 26127031
Bug: 22860162
Change-Id: I14e08850ece7d9c0229b7213ee2e25cd089defc1
2016-01-15 17:18:49 +00:00
Richard Uhler
775873a66a Use NativeAllocationRegistry for Paint, Canvas, and Bitmap
Bug: 23130675
Change-Id: I3fbd84ba417ac63df75f87ee2c56e3e7f3c9eb46
2016-01-13 16:14:33 -08:00
Doris Liu
4bbc293126 VectorDrawable native rendering - Step 3 of MANY
- Refactored VPathRenderer & VectorDrawableState
- Moved all the VD rendering into native
- Set up hooks for VD's property changes in JNI for animated VD

TODO: JNI calls can be further reduced when we convert the animation
in AVD to use RenderNodeAnimator, in which case animation will be
driven from native and therefore most of the JNI hooks for changing
VD's properties during animation will no longer be needed.

Change-Id: I52021f4d7bea057b83ace54085d870dd45acae0f
2015-12-28 16:08:38 -08:00
Pablo Ceballos
38c1a7e732 Add GLES32 class and JNI
Change-Id: I05ff0c14a35f51c2015edbd762dc9e6fe43347b9
2015-12-18 13:12:58 -08:00
Przemyslaw Szczepaniak
8a7c1606d8 Move StrictJarFile from libcore to framework
Bug: 25337946
Change-Id: Ib4fac6fa9f534b8654e5ca158bbaedb2393772ba
(cherrypicked from 43ea2cc2a81926a6b2ca13d41f4eab089640129e)
2015-11-27 15:33:15 +00:00
Nicolas Geoffray
0faf1bc43c Merge "Update framework code after new ART options." am: d7d2817ade am: 9da4055766
am: 5d5f055eb6

* commit '5d5f055eb6783dceb51cdb71630aac40feacfedd':
  Update framework code after new ART options.
2015-11-19 16:15:17 +00:00
Nicolas Geoffray
cdf1dfff8f Update framework code after new ART options.
Change-Id: I852a5975701653fe7e0cdd02e3c0b30a2b0b0b59
2015-11-19 14:31:23 +00:00
Calin Juravle
8d40c367b0 Merge "Remove obsolete profile handling from AndroidRuntime." am: 360e95a90d am: e20120031f
am: c3a70ce001

* commit 'c3a70ce0015e9117268040378c6adb6239ead897':
  Remove obsolete profile handling from AndroidRuntime.
2015-11-17 23:07:36 +00:00
Calin Juravle
360e95a90d Merge "Remove obsolete profile handling from AndroidRuntime." 2015-11-16 11:08:06 +00:00
Doris Liu
cdd23f9d45 Add hooks in JNI to start using native path parsing
Change-Id: Iaa0d3c2c1936c248146ed7f186a13e8e79be818e
2015-11-11 17:54:52 -08:00
Calin Juravle
9c99c7935d Merge "Parse method-trace properties only in debug builds." am: 8fa7e93050 am: 61abae774e
am: d75fdb6fe3

* commit 'd75fdb6fe3745805561dec630540e8449d97e2f8':
  Parse method-trace properties only in debug builds.
2015-11-11 17:13:14 +00: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
Calin Juravle
8e6714ba2b Remove obsolete profile handling from AndroidRuntime.
Bug: 24698874
Change-Id: I61193800e8b1f285b0a8edd05a0430a3c779e5b1
2015-11-04 14:54:37 +00:00
Elliott Hughes
434a481b21 am ea1831d2: am b57dd722: resolved conflicts for a884d81e to stage-aosp-master
* commit 'ea1831d211ea0e6b2d161c714bb0786369ef2df5':
  constify JNINativeMethod function pointer tables
2015-09-24 17:23:00 +00:00
Elliott Hughes
b57dd722f1 resolved conflicts for a884d81e to stage-aosp-master
Change-Id: Ice485967fa96f13786024b6939b826638e906ff0
2015-09-24 10:01:32 -07:00
Daniel Micay
76f6a86de2 constify JNINativeMethod function pointer tables
Change-Id: I4036c924958221cbc644724f8eb01c5de3cd7954
2015-09-22 17:10:35 -04:00
Yasuhiro Matsuda
6d444185e5 resolved conflicts for merge of fcf9ab5a to master
Change-Id: I69ad6e525430c5c4fc3c274b8bf6ebf653716124
2015-09-03 00:12:30 +09:00
Yasuhiro Matsuda
ebf9465d21 resolved conflicts for merge of ef57e5e0 to stage-aosp-master
Change-Id: I1c31b38936dc74619dea27f0d5eecab43360bb8c
2015-09-02 22:57:53 +09:00
Yasuhiro Matsuda
1ab43d5978 Add trace code to system server.
- Add TRACE_TAG_SYSTEM_SERVER for tracing system server code.
- Add a few more tracing code to the code paths related to boot.

BUG: 21739901
BUG: 22207144
Change-Id: I08b424d2f83783f512c3818394099909cd55f327
2015-08-27 12:22:07 +09:00
Sebastien Hertz
5fa6c7424a am 60a2716f: am 3244dc22: am 677cd087: am e9de1b4c: am 9a010d0a: Merge "Allow debugging only for apps forked from zygote" into mnc-dev
* commit '60a2716f720e843a7de6e7209c2021d95538711e':
  Allow debugging only for apps forked from zygote
2015-08-18 09:59:11 +00:00
Sebastien Hertz
60a2716f72 am 3244dc22: am 677cd087: am e9de1b4c: am 9a010d0a: Merge "Allow debugging only for apps forked from zygote" into mnc-dev
* commit '3244dc229af4d4c8b764bf9ca1e108b5cd933d90':
  Allow debugging only for apps forked from zygote
2015-08-18 09:52:46 +00:00
Sebastien Hertz
e95386852e am 9a010d0a: Merge "Allow debugging only for apps forked from zygote" into mnc-dev
* commit '9a010d0a4157f97870bc38bd3dd0a8f4fd18a172':
  Allow debugging only for apps forked from zygote
2015-08-18 07:50:27 +00:00
Sebastien Hertz
9a010d0a41 Merge "Allow debugging only for apps forked from zygote" into mnc-dev 2015-08-18 07:41:50 +00:00
Narayan Kamath
ae61c26534 am 0d2e3d3e: am c42acbdb: am 088c4155: am 86b6d204: am bf88205b: Fall back to persist.sys.language/country if locale isn\'t set.
* commit '0d2e3d3ea3cd1bd0f77b3fdd8da6b17261cdd799':
  Fall back to persist.sys.language/country if locale isn't set.
2015-08-12 11:02:48 +00:00
Narayan Kamath
0d2e3d3ea3 am c42acbdb: am 088c4155: am 86b6d204: am bf88205b: Fall back to persist.sys.language/country if locale isn\'t set.
* commit 'c42acbdb65d89b1e5fc1cafde4cbe0996c104f7a':
  Fall back to persist.sys.language/country if locale isn't set.
2015-08-12 10:55:33 +00:00
Narayan Kamath
d29382aaf0 am bf88205b: Fall back to persist.sys.language/country if locale isn\'t set.
* commit 'bf88205bef88f78ade5c6830e6203aa343387820':
  Fall back to persist.sys.language/country if locale isn't set.
2015-08-12 10:39:16 +00:00
Narayan Kamath
bf88205bef Fall back to persist.sys.language/country if locale isn't set.
This will prevent users from losing their language setting when they
take an OTA to M.

bug: 23021286
Change-Id: Ifb66f6bf6a940ab745edac709321f3009ec6eab4
2015-08-12 11:03:46 +01:00
Sebastien Hertz
7a09b8322c Allow debugging only for apps forked from zygote
When starting the runtime from app_process, we only pass JDWP options
if starting zygote. It prevents from opening a JDWP connection in
non-zygote programs while Android apps (forked from zygote) remain
debuggable.

Bug: 23050463
Change-Id: If8ea719063a65db4cdeed69a838b52e87b078b08
2015-08-10 20:39:13 +02:00
Roozbeh Pournader
112d9c7f11 Remove EmojiFactory and its mentions from frameworks.
Bug: 18134313
Bug: 20158206
Change-Id: If46cdbd9d558e6592280b2b95f00b87d04de70a2
2015-08-07 12:57:01 -07:00
Andreas Gampe
1f105a6b27 Frameworks/base: Hand fingerprint to ART
To allow ANR dumps to be symbolized easily, hand the build
fingerprint to the runtime.

Bug: 22693991

(cherry picked from commit e60825033f)

Change-Id: Ibd3d3b3bd65dce84acfb97a487807d6f280a9508
2015-07-24 15:37:39 -07:00