OSDN Git Service

android-x86/frameworks-native.git
7 years agoHWC2: Fix virtual displays
Dan Stoza [Wed, 13 Jul 2016 22:48:58 +0000 (15:48 -0700)]
HWC2: Fix virtual displays

Close the output buffer release fence per the contract in
hwcomposer2.h.

Also changes the HWC2 device to hold a weak pointer to the display,
which allows it to properly remove it when it gets torn down.

Test: Cherry-pick from internal branch
Bug: 29945684
Change-Id: Ib1b5d81e42a63d0e65b189f7c6c62e661e0ab6ae

7 years agoHWC2: Don't set null handle for client layers
Dan Stoza [Tue, 21 Jun 2016 22:02:23 +0000 (15:02 -0700)]
HWC2: Don't set null handle for client layers

Removes the code that explicitly set a null buffer handle for client
layers.

Test: Cherry-pick from internal branch
Bug: 29463310
Change-Id: I570e6041ba72d64971bb6c364e8e7b6f84eeff08

7 years agoHWC2: Hook up to BoardConfig variable
Dan Stoza [Tue, 21 Jun 2016 17:00:37 +0000 (10:00 -0700)]
HWC2: Hook up to BoardConfig variable

Uses TARGET_USES_HWC2 to enable the HWC2 code path in SurfaceFlinger

Test: Cherry-pick from internal branch
Bug: 27211042
Change-Id: I7b7e3e3f7a918e74df0be27418196c81b4332564

7 years agoHWC2: Skip validate/present if display is off
Dan Stoza [Fri, 17 Jun 2016 18:29:01 +0000 (11:29 -0700)]
HWC2: Skip validate/present if display is off

Adds checks to ensure that the display is still on before attempting
to call into prepareFrame/commit (which in turn call into
validate/present).

Test: Cherry-pick from internal branch
Bug: 28596387
Change-Id: Iad87f02c3e44e86db43a15c258ee66b0cde14faa

7 years agoMerge "Fix implicit sign casts in Parcel.h"
Colin Cross [Thu, 29 Sep 2016 17:20:07 +0000 (17:20 +0000)]
Merge "Fix implicit sign casts in Parcel.h"

7 years agoFix implicit sign casts in Parcel.h
Colin Cross [Tue, 27 Sep 2016 20:58:30 +0000 (13:58 -0700)]
Fix implicit sign casts in Parcel.h

The warnings were being hidden by the use of -isystem to include
frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: I20d9a5712c77894f9048ef78264d7dc9f59208ea

7 years agoMerge "Installd: Add a delete_odex command"
Treehugger Robot [Thu, 29 Sep 2016 00:00:49 +0000 (00:00 +0000)]
Merge "Installd: Add a delete_odex command"

7 years agoMerge "Fix libinput warnings"
Colin Cross [Wed, 28 Sep 2016 23:13:54 +0000 (23:13 +0000)]
Merge "Fix libinput warnings"

7 years agoFix libinput warnings
Colin Cross [Tue, 27 Sep 2016 21:12:09 +0000 (14:12 -0700)]
Fix libinput warnings

The warnings were being hidden by the use of -isystem to include
frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: I13f03892c75ea3c3139ca676666b0d403871d241

7 years agoMerge "Fix google-explicit-constructor warnings in HardwareAPI."
Chih-hung Hsieh [Wed, 28 Sep 2016 22:55:30 +0000 (22:55 +0000)]
Merge "Fix google-explicit-constructor warnings in  HardwareAPI."

7 years agoMerge "Fix google-explicit-constructor warnings in gui and ui."
Chih-hung Hsieh [Wed, 28 Sep 2016 22:55:23 +0000 (22:55 +0000)]
Merge "Fix google-explicit-constructor warnings in gui and ui."

7 years agoMerge "Fix google-explicit-constructor warnings in opengl."
Treehugger Robot [Wed, 28 Sep 2016 22:55:16 +0000 (22:55 +0000)]
Merge "Fix google-explicit-constructor warnings in  opengl."

7 years agoInstalld: Add a delete_odex command
Andreas Gampe [Sat, 10 Sep 2016 00:07:04 +0000 (17:07 -0700)]
Installd: Add a delete_odex command

Add a command to delete odex files.

Bug: 31347757
Change-Id: I29bca8751bcee8d6981c682fbbc816c73b78ac68
(cherry picked from commit 3964da0636624ff9af42d1f316bed0752e37c490)

7 years agoMerge "Fix order of operations warning in libui"
Colin Cross [Wed, 28 Sep 2016 20:57:56 +0000 (20:57 +0000)]
Merge "Fix order of operations warning in libui"

7 years agoFix order of operations warning in libui
Colin Cross [Tue, 27 Sep 2016 21:09:07 +0000 (14:09 -0700)]
Fix order of operations warning in libui

The warnings were being hidden by the use of -isystem to include
frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: I21f34567927125d3eeeecd8f00271a175f93af21

7 years agoMerge "Fix struct vs. class mismatch in forward definitions"
Colin Cross [Wed, 28 Sep 2016 20:53:15 +0000 (20:53 +0000)]
Merge "Fix struct vs. class mismatch in forward definitions"

7 years agoMerge "Add missing liblog dependency"
Dimitry Ivanov [Wed, 28 Sep 2016 18:56:35 +0000 (18:56 +0000)]
Merge "Add missing liblog dependency"

7 years agoFix struct vs. class mismatch in forward definitions
Colin Cross [Mon, 26 Sep 2016 20:48:25 +0000 (13:48 -0700)]
Fix struct vs. class mismatch in forward definitions

The warnings were being hidden by the use of -isystem to include
frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: If2bae8b2fbc4238d6251cdd78bc7b5216684f99d

7 years agoMerge "Include what we use."
Treehugger Robot [Wed, 28 Sep 2016 08:50:27 +0000 (08:50 +0000)]
Merge "Include what we use."

7 years agoInclude what we use.
Dan Albert [Wed, 28 Sep 2016 07:03:56 +0000 (00:03 -0700)]
Include what we use.

Test: make checkbuild
Bug: None
Change-Id: If803e761c6d7e0c6d043bbcd2ace47f373495db3

7 years agoMerge changes I7748934f,I008ef537,I1027e87f
Colin Cross [Wed, 28 Sep 2016 03:37:50 +0000 (03:37 +0000)]
Merge changes I7748934f,I008ef537,I1027e87f

* changes:
  Fix constructor parameters shadowing member variables
  Use uint32_t consistently for region op
  Fix trailing semicolon warnings

7 years agoMerge "Migrate libandroid headers to ndk_headers."
Treehugger Robot [Wed, 28 Sep 2016 03:32:56 +0000 (03:32 +0000)]
Merge "Migrate libandroid headers to ndk_headers."

7 years agoFix constructor parameters shadowing member variables
Colin Cross [Mon, 26 Sep 2016 20:33:59 +0000 (13:33 -0700)]
Fix constructor parameters shadowing member variables

Using the same name for the constructor parameter and the member
variable causes a warning that was being hidden by the use of -isystem
to include frameworks/native/include.  Prefix the parameter with an
underscore.

Bug: 31752268
Test: m -j
Change-Id: I7748934f1e9515176e2ae98d2c0e58d165a7a5c2

7 years agoUse uint32_t consistently for region op
Colin Cross [Mon, 26 Sep 2016 20:08:16 +0000 (13:08 -0700)]
Use uint32_t consistently for region op

An implicit conversion warning was being hidden by the use of -isystem
to include frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: I008ef537a24311d58816fae12ef8c4aeaba07547

7 years agoFix trailing semicolon warnings
Colin Cross [Mon, 26 Sep 2016 20:07:06 +0000 (13:07 -0700)]
Fix trailing semicolon warnings

Remove semicolons after inline function definitions.  The warnings were
being hidden by the use of -isystem to include
frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: I1027e87f459c36a575cd04b3afb645736832b07b

7 years agoAdd missing liblog dependency
Dimitry Ivanov [Tue, 27 Sep 2016 16:29:02 +0000 (09:29 -0700)]
Add missing liblog dependency

Bug: http://b/31289077
Bug: http://b/27171986
Test: remove liblog from libcutils and recompile
Change-Id: I01e7a0ca758308b5f85f2a08f34a9671eaa48b10

7 years agoMerge "Add missing liblog dependency"
Dimitry Ivanov [Sat, 24 Sep 2016 22:07:19 +0000 (22:07 +0000)]
Merge "Add missing liblog dependency"

7 years agoAdd missing liblog dependency
Dimitry Ivanov [Sat, 24 Sep 2016 00:22:33 +0000 (17:22 -0700)]
Add missing liblog dependency

Bug: http://b/31289077
Bug: http://b/27171986
Test: remove liblog from libcutils and recompile
Change-Id: I5d6ded54613e8a29f20495d8f977064f0af2ffd6

7 years agoMerge "libgui: add a test for Sensor serialization."
Treehugger Robot [Fri, 23 Sep 2016 23:44:11 +0000 (23:44 +0000)]
Merge "libgui: add a test for Sensor serialization."

7 years agoMerge "Add btsnoop_hci.log to bugreport zip (1/2)"
Ajay Panicker [Fri, 23 Sep 2016 23:01:16 +0000 (23:01 +0000)]
Merge "Add btsnoop_hci.log to bugreport zip (1/2)"

7 years agoMigrate libandroid headers to ndk_headers.
Dan Albert [Fri, 23 Sep 2016 22:57:45 +0000 (15:57 -0700)]
Migrate libandroid headers to ndk_headers.

Test: make native
Bug: http://b/30465923
Change-Id: I0ef0b3630670241c4efd22515b6ab13eb41a81b3

7 years agoAdd btsnoop_hci.log to bugreport zip (1/2)
Ajay Panicker [Wed, 14 Sep 2016 19:26:46 +0000 (12:26 -0700)]
Add btsnoop_hci.log to bugreport zip (1/2)

Bug: 28672558
Test: Manual
Merged-In: I2995a9fd0e8be031c022ef8f275aae35265ba452
Change-Id: I2995a9fd0e8be031c022ef8f275aae35265ba452

7 years agolibgui: add a test for Sensor serialization.
David Pursell [Fri, 23 Sep 2016 16:08:26 +0000 (09:08 -0700)]
libgui: add a test for Sensor serialization.

On a few test boards we've hit a problem with Sensor serialization
causing a SIGBUS due to misaligned access. This is being fixed in
Flattenable.h, but adding a test here to verify the fix and detect
regression seems like a good idea.

Bug: http://b/31671510
Test: adb shell /data/nativetest/libgui_test/libgui_test \
                --gtest_filter=SensorTest.*

Change-Id: I233359b04789dabe2246b95051290e101e0bd2c1

7 years agoMerge "Rename unique_fd::clear to unique_fd::reset."
Josh Gao [Wed, 21 Sep 2016 01:03:06 +0000 (01:03 +0000)]
Merge "Rename unique_fd::clear to unique_fd::reset."

7 years agoRename unique_fd::clear to unique_fd::reset.
Josh Gao [Mon, 19 Sep 2016 19:44:50 +0000 (12:44 -0700)]
Rename unique_fd::clear to unique_fd::reset.

Test: m checkbuild
Change-Id: I8cbf2b538c270d8ef50ab6fdcf4fecbcd65899a8

7 years agoMerge "libvulkan: Fix count returned for incomplete wsi queries"
Jesse Hall [Mon, 19 Sep 2016 17:51:36 +0000 (17:51 +0000)]
Merge "libvulkan: Fix count returned for incomplete wsi queries"

7 years agolibvulkan: Fix count returned for incomplete wsi queries
Jesse Hall [Fri, 16 Sep 2016 04:26:01 +0000 (21:26 -0700)]
libvulkan: Fix count returned for incomplete wsi queries

When vkGetPhysicalDeviceSurfaceFormatsKHR,
vkGetPhysicalDevicePresentModesKHR, and vkGetSwapchainImagesKHR
returned VK_INCOMPLETE, they would overwrite the count parameter with
the number of available items, rather than the number of returned
items.

Change-Id: I6a736770f90b95ad15bfcfbe5afb4d2886817dcb
Fixes: 31490492
Test: https://gerrit.khronos.org/#/c/158/

7 years agoMerge "Fix google-explicit-constructor warnings in binder."
Chih-hung Hsieh [Wed, 14 Sep 2016 17:53:45 +0000 (17:53 +0000)]
Merge "Fix google-explicit-constructor warnings in binder."

7 years agoMerge "Convert libui to Android.bp"
Treehugger Robot [Wed, 14 Sep 2016 17:48:13 +0000 (17:48 +0000)]
Merge "Convert libui to Android.bp"

7 years agoConvert libui to Android.bp
Dan Willemsen [Fri, 26 Aug 2016 00:05:22 +0000 (17:05 -0700)]
Convert libui to Android.bp

Along with the libinput tests, which depend on libui. For more
information on Soong, see build/soong/README.md

Change-Id: Id4fbeb114d03e37556dca59a2c9f5c9abb0a1825
Merged-In: Id4fbeb114d03e37556dca59a2c9f5c9abb0a1825
(cherry picked from commit 871dda3d6485617bf3a1ea6c8236071212234433)

7 years agoMerge "Sensor: Make switching from data injection mode to normal mode more productive"
Peng Xu [Tue, 13 Sep 2016 18:52:47 +0000 (18:52 +0000)]
Merge "Sensor: Make switching from data injection mode to normal mode more productive"

7 years agoMerge changes I5041c541,I0eeafc99,Ie982d375
Dan Stoza [Tue, 13 Sep 2016 16:27:14 +0000 (16:27 +0000)]
Merge changes I5041c541,I0eeafc99,Ie982d375

* changes:
  Squashed: gralloc1/binder/requestor
  libui: Add Gralloc1On0Adapter and C++ shim
  libagl: Switch from gralloc to GraphicBufferMapper

7 years agoMerge changes I1b74d58b,I38c6e8bc
Feng Yu [Tue, 13 Sep 2016 15:39:04 +0000 (15:39 +0000)]
Merge changes I1b74d58b,I38c6e8bc

* changes:
  ServiceManager: Allow system services running as secondary users to add services
  ServiceManager: Restore basic uid check

7 years agoServiceManager: Allow system services running as secondary users to add services
Arve Hjønnevåg [Thu, 18 Aug 2016 22:42:35 +0000 (15:42 -0700)]
ServiceManager: Allow system services running as secondary users to add services

This should be reverted when all system services have been cleaned up to not
do this. A process looking up a service while running in the background will
see the service registered by the active user (assuming the service is
registered on every user switch), not the service registered by the user that
the process itself belongs to.

BUG: 30795333
Change-Id: I1b74d58be38ed358f43c163692f9e704f8f31dbe

7 years agoServiceManager: Restore basic uid check
Arve Hjønnevåg [Mon, 1 Aug 2016 23:05:17 +0000 (16:05 -0700)]
ServiceManager: Restore basic uid check

Prevent apps from registering services without relying on selinux checks.

Bug: 29431260

Change-Id: I38c6e8bc7f7cba1cbd3568e8fed1ae7ac2054a9b

7 years agoSquashed: gralloc1/binder/requestor
Dan Stoza [Thu, 2 Jun 2016 01:21:44 +0000 (18:21 -0700)]
Squashed: gralloc1/binder/requestor

This is a combination of the following three commits:

libui: Convert Allocator and Mapper to gralloc1

Converts GraphicBufferAllocator and GraphicBufferMapper to speak
gralloc 1.0 (via the C++ shim and optionally the 1On0 adapter) instead
of gralloc 0.x.

-----

Create graphic buffer using binder interfaces

Using binder interfaces rather than directly allocating the buffer prevents
SELinux warnings.

-----

Add requestor name to GraphicBuffer alloc metadata

Adds a requestor name (usually the BufferQueue consumer's name) to the
metadata that GraphicBufferAllocator stores on allocation so that
`dumpsys SurfaceFlinger` can attempt to attribute buffer usage to the
correct client.

Bug: 28401203
Bug: 29402015
Bug: 30776557

7 years agolibui: Add Gralloc1On0Adapter and C++ shim
Dan Stoza [Mon, 11 Jan 2016 23:21:07 +0000 (15:21 -0800)]
libui: Add Gralloc1On0Adapter and C++ shim

Adds an adapter which provides the gralloc1 interface on top of a
gralloc 0.x device as well as a C++ shim which wraps a gralloc1 device
and provides a somewhat nicer interface to the rest of the system.

This has also been squashed with a later commit that added mutexes to
protect both the buffer list and the descriptor list from concurrent
access.

Bug: 28401203
Bug: 29420918
Change-Id: I0eeafc998b56e2e2fc39de6fad41e3ed2e19658a

7 years agoMerge "Fix google-explicit-constructor warnings in surfaceflinger."
Treehugger Robot [Mon, 12 Sep 2016 18:33:16 +0000 (18:33 +0000)]
Merge "Fix google-explicit-constructor warnings in surfaceflinger."

7 years agoMerge "installd: Create VDEX files and pass their FDs to dex2oat"
David Brazdil [Mon, 12 Sep 2016 14:57:19 +0000 (14:57 +0000)]
Merge "installd: Create VDEX files and pass their FDs to dex2oat"

7 years agoMerge "Fix google-explicit-constructor warnings in dumpstate."
Treehugger Robot [Sun, 11 Sep 2016 00:38:09 +0000 (00:38 +0000)]
Merge "Fix google-explicit-constructor warnings in dumpstate."

7 years agolibagl: Switch from gralloc to GraphicBufferMapper
Dan Stoza [Fri, 8 Jan 2016 18:52:16 +0000 (10:52 -0800)]
libagl: Switch from gralloc to GraphicBufferMapper

Removes all direct references to the gralloc module from libagl and
uses the GraphicBufferMapper class instead when locking and unlocking
buffers.

Also a couple of minor code cleanups to eliminate warnings.

Bug: 28401203
Change-Id: Ie982d375b3152d5f677ab54c2067179b8d34c06d

7 years agoMerge "redirect to call assignPointerIds if there is id < 0 case"
Treehugger Robot [Fri, 9 Sep 2016 14:44:30 +0000 (14:44 +0000)]
Merge "redirect to call assignPointerIds if there is id < 0 case"

7 years agoinstalld: Create VDEX files and pass their FDs to dex2oat
David Brazdil [Thu, 8 Sep 2016 10:55:48 +0000 (11:55 +0100)]
installd: Create VDEX files and pass their FDs to dex2oat

ART now produces a new output file called VDEX, produced alongside the
existing OAT file. This patch updates installd to compute the VDEX's
path, open it and pass the file descriptor to dex2oat.

Bug: 30937355
Change-Id: Ib5c327f1f7a36cfa0b89084d5c01b6da9f8108f2

7 years agoMerge "Fix google-explicit-constructor warnings in sensorservice."
Peng Xu [Thu, 8 Sep 2016 21:29:52 +0000 (21:29 +0000)]
Merge "Fix google-explicit-constructor warnings in sensorservice."

7 years agoSensor: Make switching from data injection mode to normal mode more productive
Aniroop Mathur [Wed, 31 Aug 2016 17:29:44 +0000 (22:59 +0530)]
Sensor: Make switching from data injection mode to normal mode more productive

Currently, when sensor service mode is switched back to normal mode from data
injection mode, request to enable the sensors is passed first to HAL and then
request to change mode is passed. With this, request to enable the sensors is
actually non-effective because sensor service is still in data injection mode
so HAL could not pass the request further to driver as otherwise real and
recorded data gets mixed up.
Therefore, lets first make request to set mode and then make request to enable
the earlier enabled sensors.

For example: Testing Auto Rotation algorithm,
- Auto Rotation enabled --> real data production
- Sensor service mode changed to data injection --> real data stopped
- Played recorded data --> AR algorithm tested with recorded data
- Sensor service mode changed to normal --> mode changed succesffuly,
  but auto rotation not working again although expected to work in normal mode.

Change-Id: Id01b73e2aed85ed44314b8d632c096b21b62423f
Signed-off-by: Aniroop Mathur <a.mathur@samsung.com>
7 years agoMerge "installd: Simplify Dalvik cache path creation"
David Brazdil [Wed, 7 Sep 2016 09:16:44 +0000 (09:16 +0000)]
Merge "installd: Simplify Dalvik cache path creation"

7 years agoMerge "Revert "Don't use profiles with vm safe mode""
Treehugger Robot [Wed, 7 Sep 2016 06:08:13 +0000 (06:08 +0000)]
Merge "Revert "Don't use profiles with vm safe mode""

7 years agoRevert "Don't use profiles with vm safe mode"
Mathieu Chartier [Tue, 6 Sep 2016 22:22:13 +0000 (15:22 -0700)]
Revert "Don't use profiles with vm safe mode"

Reason for reverting is that it is no longer necessary since
https://android-review.googlesource.com/#/c/269293/
has bene merged.

Bug: 30733908

Test: adb install facebook
Test: adb shell cmd package compile -m speed-profile comb.BBClient

This reverts commit f513d77b6df0268408ccba654b7c7c978efefc4f.

Change-Id: Ic7eba70c8be4e1392bd0f9eece09b1b6de56540d

7 years agoMerge changes from topic 'cherry_pms_installd'
Andreas Gampe [Tue, 6 Sep 2016 21:02:53 +0000 (21:02 +0000)]
Merge changes from topic 'cherry_pms_installd'

* changes:
  Otapreopt: Allow A/B dexopt only when bootcomplete
  otapreopt: Collect and print size of artifacts
  Don't use profiles with vm safe mode
  Otapreopt: Try to mount vendor partition for A/B OTA
  Otapreopt: Add init script for A/B artifact move
  Otapreopt: Implement new A/B OTA path
  Installd: Add support for dex2oat very-large-app property
  Otapreopt: Send progress updates to update_engine
  Otapreopt: Filter preopted system apps
  Installd: Move app image A/B artifact
  Installd: Fix bad merge
  Installd: Change app image name computation
  Installd: Refactor dexopt to scoped file descriptor
  Installd: Remove string-helpers
  Otapreopt: Fix after shared-library work

7 years agoOtapreopt: Allow A/B dexopt only when bootcomplete
Andreas Gampe [Wed, 17 Aug 2016 00:43:33 +0000 (17:43 -0700)]
Otapreopt: Allow A/B dexopt only when bootcomplete

Under certain circumstances cmd may not return because it is waiting
for a service manager. Avoid this situation by restricting the otapreopt
script to only do work when the system has completed boot (which
means that a service manager must exist).

Bug: 30797145
Change-Id: Ic1445e20f1ca06fb38e7707771bde818836c3adc
(cherry picked from commit 90ba9eb2f155a4123ec4c8b08863572360d55776)

7 years agootapreopt: Collect and print size of artifacts
Andreas Gampe [Sat, 13 Aug 2016 02:35:57 +0000 (19:35 -0700)]
otapreopt: Collect and print size of artifacts

Collect and print the size of artifacts when moving after a reboot.
This helps in diagnosing issues after the fact.

Bug: 30832951
Change-Id: Iee410adf59dcbb74fa4b49edb27d028025cd8bf9
(cherry picked from commit e7d555267725ca050ddd5e891267a61a55c9e16a)

7 years agoDon't use profiles with vm safe mode
Mathieu Chartier [Sat, 6 Aug 2016 00:48:12 +0000 (17:48 -0700)]
Don't use profiles with vm safe mode

vm safe mode uses interpret only compiler filter, this filter will
generate a full app image if a profile is also passed down. App
image generation without a profile currently has a bug where uses
library is not pruned correctly.

Bug: 30688277

Change-Id: I60d87d698789583b8ab797eb47d031c96caf6d9b
Test: N5X boot, package compile speed-profile comb.BBClient
(cherry picked from commit d46d37b8d4f81e3ea60aeb5106d6d83dd3040775)

7 years agoOtapreopt: Try to mount vendor partition for A/B OTA
Andreas Gampe [Tue, 12 Jul 2016 16:47:17 +0000 (09:47 -0700)]
Otapreopt: Try to mount vendor partition for A/B OTA

Vendor apps are usually not preopted, so A/B dexopt should pick
them up. update_engine is not mounting the vendor partition, so
let otapreopt_chroot do the work.

Bug: 25612095
Bug: 29498238
Change-Id: I5a77bdb78a8e478ce10f6c1d0f911a8d6686becb
(cherry picked from commit 0ba073ce81fbe544592e0a3cd526b274e83fdf9f)

7 years agoOtapreopt: Add init script for A/B artifact move
Andreas Gampe [Sat, 9 Jul 2016 18:44:12 +0000 (11:44 -0700)]
Otapreopt: Add init script for A/B artifact move

Move the /data/ota -> /data/dalvik-cache move from the zygote into
a minimal shell script. Add an init rc file to execute the script
once /data is mounted. Add Makefile rules to pull these files in
with the rest of the A/B OTA dexopt components.

The move is motivated by the new naming scheme that includes the
slot name. Passing the slot name to the zygote would complicate
the process, while the value is immediately available in the script
through a simple getprop call.

Bug: 25612095
Bug: 28069686
Change-Id: I63e718d488662e1b1de2ce857629cb90aa4f611d
(cherry picked from commit 99e2b263dd0df71b55e86f0aec6657eb38b334e1)

7 years agoOtapreopt: Implement new A/B OTA path
Andreas Gampe [Mon, 27 Jun 2016 21:25:30 +0000 (14:25 -0700)]
Otapreopt: Implement new A/B OTA path

Refactor otapreopt_script, otapreopt_chroot and otapreopt such
that the actual work will be done as a child of the script driven
by update_engine.

The script now uses the new OtaDexoptService command to get the
right parameters for a dexopt call in otapreopt. As we reach
otapreopt_chroot and otapreopt directly, we can add parameters
without tainting the regular installd path. Use this to add the
target slot suffix, and make naming of the A/B artifacts include
the suffix instead of the generic "b."

Otapreopt_chroot startup is slightly complicated because all file
descriptors must be closed. Otherwise, dex2oat needs selinux
permissions to inherit the descriptors from update_engine.

Bug: 25612095
Bug: 28069686
Change-Id: I9d7b86ac8ecfdf91af3800f7e96f41534c0afc0f
(cherry picked from commit 0354bd0eaf24de533e86885b811f816f1e4d15c8)

7 years agoInstalld: Add support for dex2oat very-large-app property
Andreas Gampe [Mon, 11 Jul 2016 22:19:31 +0000 (15:19 -0700)]
Installd: Add support for dex2oat very-large-app property

To support constrained devices, dex2oat supports a parameter that
can downgrade a compilation to verify-at-runtime. Expose this
through the dalvik.vm.dex2oat-very-large system property.

Bug: 29557002
Change-Id: Iace626a8ec18533d37f84a41c20729fe7e400386
(cherry picked from commit e21ac2193d4ed1fd9bc4d5328625d3868409fe4d)

7 years agoOtapreopt: Send progress updates to update_engine
Andreas Gampe [Fri, 10 Jun 2016 22:08:53 +0000 (15:08 -0700)]
Otapreopt: Send progress updates to update_engine

Use the new OtaDexoptService progress API to send updates back
to update_engine.

Bug: 25612095
Bug: 29223204
Change-Id: Ie8162946d18f6fa78649a40ad5d3949d31a181cd
(cherry picked from commit 6c05a734ce443cb5effd01120c5a83b93343b6b6)

7 years agoOtapreopt: Filter preopted system apps
Andreas Gampe [Wed, 8 Jun 2016 22:11:37 +0000 (15:11 -0700)]
Otapreopt: Filter preopted system apps

The tool will receive requests to compile preopted system apps, as
we can't detect changes right now and need to be conservative. As
some apps cannot be stripped (signed before being preopted), they
can be re-compiled on device, producing stale files that won't be
cleaned up.

Add code to detect this situation and avoid a compile.

Bug: 25612095
Change-Id: I5f489e61b8d4e5b619cbaa01f6c59880479a46cd
(cherry picked from commit 1409090c0a92751f9fe7406a6e043cdbce2ebe4d)

7 years agoInstalld: Move app image A/B artifact
Andreas Gampe [Mon, 6 Jun 2016 22:36:18 +0000 (15:36 -0700)]
Installd: Move app image A/B artifact

In addition to odex, also move art file.

Bug: 25612095
Change-Id: I69f4c2b1e7283c9a9c361f57f5233e66679c5c28
(cherry picked from commit af8948d90605ad116c965c25e73e0fc9782112ab)

7 years agoInstalld: Fix bad merge
Andreas Gampe [Wed, 8 Jun 2016 06:16:46 +0000 (23:16 -0700)]
Installd: Fix bad merge

Don't cut off the leading dex location character.

Bug: 25612095
Change-Id: Iad556a0bb48c57f3c68ee75ee41f14e88d96b1a8
(cherry picked from commit f065032f5331e1739fe32a2db9df8c91905720f9)

7 years agoInstalld: Change app image name computation
Andreas Gampe [Sat, 4 Jun 2016 04:13:50 +0000 (21:13 -0700)]
Installd: Change app image name computation

Refactor computation to take A/B OTAs into account.

Fix a const issue.

Bug: 25612095
Change-Id: I5cf79def532d1eeec4b35bb80014376959083a83
(cherry picked from commit d01a02ce6980de0024333b4673cff9a77be629cf)

7 years agoInstalld: Refactor dexopt to scoped file descriptor
Andreas Gampe [Fri, 3 Jun 2016 23:09:32 +0000 (16:09 -0700)]
Installd: Refactor dexopt to scoped file descriptor

Refactor the goto-fail cleanup to a unique_fd-like wrapper that
includes a potential cleanup step. In preparation for changes for
A/B OTA.

Bug: 25612095
Change-Id: If6cca85c12e0951bc468cb4f212b2f2d288c6041
(cherry picked from commit afa58d175cc3e9adaa4f8df9bc7a8fac5798a50a)

7 years agoInstalld: Remove string-helpers
Andreas Gampe [Fri, 3 Jun 2016 17:22:19 +0000 (10:22 -0700)]
Installd: Remove string-helpers

Replace string-helpers with equivalent functions from android::base.

Bug: 25612095
Change-Id: I186461b94dffe3590c16455d4dee0c2cbe921bf4
(cherry picked from commit 4769ccafd6e6b94ab73afcb755fe59764c228eae)

7 years agoOtapreopt: Fix after shared-library work
Andreas Gampe [Fri, 3 Jun 2016 00:56:45 +0000 (17:56 -0700)]
Otapreopt: Fix after shared-library work

Commit b63d91fd2737680351876406277b6c759f4db33c broke the installd
to otapreopt connection. Fix this. Also refactor a bit to make an
inadvertant break harder.

Bug: 25612095
Change-Id: I8e7b944ecbd5457e4ac4d6ffffdb0468618cf65f
(cherry picked from commit aef445d1c659698612c0e5a8f3d5f2b9f8a2b778)

7 years agoinstalld: Simplify Dalvik cache path creation
David Brazdil [Tue, 6 Sep 2016 14:35:28 +0000 (15:35 +0100)]
installd: Simplify Dalvik cache path creation

Installd computes Dalvik cache path for a dex file by concatenating
'/classes.dex' to the APKs absolute path and then replacing all '/'
characters with '@'. OTA preopt does the same, only in reverse order,
i.e by concatenating '@classes.dex' to altered absolute path.

This patch unifies the two approaches so as to keep only one string
constant.

Change-Id: I69bb6bca831f45c873a0eb8580cf8d4b011f3b09

7 years agoMerge "Fix google-explicit-constructor warnings in inputflinger."
Chih-hung Hsieh [Fri, 2 Sep 2016 16:11:33 +0000 (16:11 +0000)]
Merge "Fix google-explicit-constructor warnings in inputflinger."

7 years agoMerge "Fix google-explicit-constructor warnings in vulkan."
Chih-hung Hsieh [Fri, 2 Sep 2016 02:25:41 +0000 (02:25 +0000)]
Merge "Fix google-explicit-constructor warnings in vulkan."

7 years agoFix google-explicit-constructor warnings in binder.
Chih-Hung Hsieh [Thu, 1 Sep 2016 18:44:54 +0000 (11:44 -0700)]
Fix google-explicit-constructor warnings in binder.

* Add explicit keyword to conversion constructors.
Bug: 28341362
Test: build with WITH_TIDY=1

Change-Id: I166ab302b3e842cb6d27de89e85767c459f7d826

7 years agoFix google-explicit-constructor warnings in HardwareAPI.
Chih-Hung Hsieh [Thu, 1 Sep 2016 18:43:58 +0000 (11:43 -0700)]
Fix google-explicit-constructor warnings in  HardwareAPI.

* Add explicit keyword to conversion constructors.
Bug: 28341362
Test: build with WITH_TIDY=1

Change-Id: I48521040417aec068795d45aaa2a3870596f9a96

7 years agoFix google-explicit-constructor warnings in dumpstate.
Chih-Hung Hsieh [Thu, 1 Sep 2016 18:42:49 +0000 (11:42 -0700)]
Fix google-explicit-constructor warnings in dumpstate.

* Add explicit keyword to conversion constructors.
Bug: 28341362
Test: build with WITH_TIDY=1

Change-Id: I61a0e9a8a38a09c1e33a479c3111c45c5fe7483d

7 years agoFix google-explicit-constructor warnings in gui and ui.
Chih-Hung Hsieh [Thu, 1 Sep 2016 18:39:25 +0000 (11:39 -0700)]
Fix google-explicit-constructor warnings in gui and ui.

* Add explicit keyword to conversion constructors.
Bug: 28341362
Test: build with WITH_TIDY=1

Change-Id: I476ad1e9a4d47acb11bf4a87ad8baa855f441417

7 years agoFix google-explicit-constructor warnings in vulkan.
Chih-Hung Hsieh [Thu, 1 Sep 2016 18:37:47 +0000 (11:37 -0700)]
Fix google-explicit-constructor warnings in vulkan.

* Add explicit keyword to conversion constructors.
Bug: 28341362
Test: build with WITH_TIDY=1

Change-Id: I13c32bd5bc53fe897df58eda331ff70ebcf0b349

7 years agoFix google-explicit-constructor warnings in surfaceflinger.
Chih-Hung Hsieh [Thu, 1 Sep 2016 18:34:16 +0000 (11:34 -0700)]
Fix google-explicit-constructor warnings in surfaceflinger.

* Add explicit keyword to conversion constructors,
  or use NOLINT for implicit converters.
Bug: 28341362
Test: build with WITH_TIDY=1

Change-Id: I94f511c3be31dc22022db6466ee9ed0c6be2bc8e

7 years agoFix google-explicit-constructor warnings in sensorservice.
Chih-Hung Hsieh [Thu, 1 Sep 2016 18:32:35 +0000 (11:32 -0700)]
Fix google-explicit-constructor warnings in sensorservice.

* Add explicit keyword to conversion constructors,
  or use NOLINT for implicit converters.
Bug: 28341362
Test: build with WITH_TIDY=1

Change-Id: Ie7c4dfcdbd069809e103f0dd008ae2fb4b0502f4

7 years agoFix google-explicit-constructor warnings in inputflinger.
Chih-Hung Hsieh [Thu, 1 Sep 2016 18:28:23 +0000 (11:28 -0700)]
Fix google-explicit-constructor warnings in inputflinger.

* Add explicit keyword to conversion constructors.
Bug: 28341362
Test: build with WITH_TIDY=1

Change-Id: I8259317db74b177b6e62a0aa2ad21aead47f698e

7 years agoFix google-explicit-constructor warnings in opengl.
Chih-Hung Hsieh [Thu, 1 Sep 2016 18:26:34 +0000 (11:26 -0700)]
Fix google-explicit-constructor warnings in  opengl.

* Add explicit keyword to conversion constructors,
  or use NOLINT for implicit converters.
Bug: 28341362
Test: build with WITH_TIDY=1

Change-Id: I2508bb5c81e8fc7878a8ab5ee95cdf2c87729d85

7 years agoredirect to call assignPointerIds if there is id < 0 case
gaoshang [Wed, 24 Aug 2016 02:23:50 +0000 (10:23 +0800)]
redirect to call assignPointerIds if there is id < 0 case

Symptom: If assignPointerIds() is not called, the unknown value of
outPointer.id will lead to undefined things
Root Cause: mHavePointerIds be overwritten to true in last cycle
Solution: recover mHavePointerIds=false if any id < 0, to call assignPointerIds()

https://code.google.com/p/android/issues/detail?id=221273

Change-Id: I65ca0b82a6fceb495a0de17315b1f49cdab5fba0
Signed-off-by: gaoshang <gaoshang@xiaomi.com>
7 years agoMerge "Remove FRAMEBUFFER_FORCE_FORMAT"
Treehugger Robot [Mon, 29 Aug 2016 22:36:05 +0000 (22:36 +0000)]
Merge "Remove FRAMEBUFFER_FORCE_FORMAT"

7 years agoRemove FRAMEBUFFER_FORCE_FORMAT
Dan Willemsen [Mon, 1 Aug 2016 08:12:35 +0000 (01:12 -0700)]
Remove FRAMEBUFFER_FORCE_FORMAT

It's no longer used, except for a debugging line.

Change-Id: I44e1c17129e71168b263e872e9aaab0f164d3832

7 years agoMerge changes from topic 'utf'
Martijn Coenen [Thu, 25 Aug 2016 20:08:14 +0000 (20:08 +0000)]
Merge changes from topic 'utf'

* changes:
  Add bound checks to utf16_to_utf8
  Unicode: specify destination length in utf8_to_utf16 methods

7 years agoMerge "binder: use ashmem_valid()"
Treehugger Robot [Thu, 25 Aug 2016 19:14:49 +0000 (19:14 +0000)]
Merge "binder: use ashmem_valid()"

7 years agoMerge "Fix memory ordering issues; document IMemory peculiarities"
Hans Boehm [Thu, 25 Aug 2016 18:39:01 +0000 (18:39 +0000)]
Merge "Fix memory ordering issues; document IMemory peculiarities"

7 years agobinder: use ashmem_valid()
Mark Salyzyn [Tue, 23 Aug 2016 23:15:04 +0000 (16:15 -0700)]
binder: use ashmem_valid()

Bug: 30310689
Change-Id: I38e2720843f1eebec39ce6c7d957ee9a1dafac59

7 years agoAdd bound checks to utf16_to_utf8
Sergio Giro [Tue, 28 Jun 2016 17:19:33 +0000 (18:19 +0100)]
Add bound checks to utf16_to_utf8

Bug: 29250543
Change-Id: I518e7b2fe10aaa3f1c1987586a09b1110aff7e1a
(cherry picked from commit 7e93b2ddcb49b5365fbe1dab134ffb38e6f1c719)

7 years agoUnicode: specify destination length in utf8_to_utf16 methods
Sergio Giro [Thu, 21 Jul 2016 13:46:35 +0000 (14:46 +0100)]
Unicode: specify destination length in utf8_to_utf16 methods

Change-Id: I5223caa7d42f4582a982609a898a02043265c6d3

7 years agoFix memory ordering issues; document IMemory peculiarities
Hans Boehm [Wed, 13 Jul 2016 01:05:49 +0000 (18:05 -0700)]
Fix memory ordering issues; document IMemory peculiarities

Convert to standard atomics.

Correct mHeapId memory ordering. Required acquire ordering on loads
was missing in several places.

Remove atomic updates to count, since it is only updated with lock
held. (And would be missing fences if this were not true.)

Document the peculiar use of copy-in-write vectors in a context in
which copy-on-write is unsafe.

While we're here, consistently check dup() for errors.

Bug: 28816986

Merged-in: I05b9f96e3867fa2e0abe6f319be8c56b89624c41

Change-Id: I05b9f96e3867fa2e0abe6f319be8c56b89624c41

8 years agoMerge "libbinder: Support reading/writing out T[] lengths"
Christopher Wiley [Fri, 19 Aug 2016 23:25:59 +0000 (23:25 +0000)]
Merge "libbinder: Support reading/writing out T[] lengths"
am: b77d368d89

Change-Id: Ibc4639f6b1a4067b4c30ca294beb9e747736d3f8

8 years agoMerge "libbinder: Support reading/writing out T[] lengths"
Treehugger Robot [Fri, 19 Aug 2016 23:14:50 +0000 (23:14 +0000)]
Merge "libbinder: Support reading/writing out T[] lengths"

8 years agolibbinder: Support reading/writing out T[] lengths
Christopher Wiley [Fri, 19 Aug 2016 18:43:54 +0000 (11:43 -0700)]
libbinder: Support reading/writing out T[] lengths

T[] types are special: the length of the out array is written
into the inbound parcel to signal the expected length to the
server.

Bug: 30836680
Change-Id: I4f2f39fd7b1a6b94a25bd7f6c3baed430fd567bc
Test: integration tests pass with this change.

8 years agoMerge "Remove unused include."
Dmitriy Filchenko [Thu, 18 Aug 2016 03:17:36 +0000 (03:17 +0000)]
Merge "Remove unused include."
am: 5242fb42fb

Change-Id: Id3ccb5f3dfb9d2188b6e570eaaa6ba23438ae392