4868 Commits

Author SHA1 Message Date
Sebastien Hertz
e9de1b4cef 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:06 +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
Eino-Ville Talvala
eec25a4ffe am 1017f986: Merge "Camera2: Add camera type to getNumberOfCameras." into mnc-dev
* commit '1017f9862fb2cdfbff0abe12ef7d20b657a38e36':
  Camera2: Add camera type to getNumberOfCameras.
2015-08-16 01:34:42 +00:00
Eino-Ville Talvala
5717612ba9 Camera2: Add camera type to getNumberOfCameras.
Do not list strange cameras in old API; ensure new API gets all
cameras.

Bug: 23194168
Change-Id: Ia1fdffac245525674c913fefb1ec06e9094fe8d3
2015-08-14 14:52:57 -07:00
Narayan Kamath
86b6d204a5 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:13 +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
Andreas Gampe
d06696939b am b08c24a3: Frameworks/base: Disable Clang in core/jni
* commit 'b08c24a3e4f5362bbddc3735802e844e1992cd46':
  Frameworks/base: Disable Clang in core/jni
2015-08-11 06:35:42 +00:00
Andreas Gampe
b08c24a3e4 Frameworks/base: Disable Clang in core/jni
thread_local does not work with Clang at the moment.

Bug: 22414716
Change-Id: I4059b63a1621c346bfc72dbbec0b9cb165485e26
(cherry picked from commit 2bc67a1b5f9d4662ef7da4645ca8e580302b3553)
2015-08-11 06:18:49 +00: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
Ruben Brunk
ae81ebf892 Merge "camera2: Update DngCreator with bad pixel opcode." into mnc-dr-dev 2015-08-07 23:11:50 +00:00
Jeff Sharkey
7d28ad9b63 am cb54ffb2: Merge "Protect runtime storage mount points." into mnc-dev
* commit 'cb54ffb2cb9583eaf6b58dcc636681c4e4e07a7d':
  Protect runtime storage mount points.
2015-08-06 19:36:01 +00:00
Jeff Sharkey
928e1ecfe2 Protect runtime storage mount points.
We have a bunch of magic that mounts the correct view of storage
access based on the runtime permissions of an app, but we forgot to
protect the real underlying data sources; oops.

This series of changes just bumps the directory heirarchy one level
to give us /mnt/runtime which we can mask off as 0700 to prevent
people from jumping to the exposed internals.

Also add CTS tests to verify that we're protecting access to
internal mount points like this.

Bug: 22964288
Change-Id: I74dbdcb01d4fabe92166b8043a74c6a1e93c6d5f
2015-08-06 11:46:30 -07:00
Tim Murray
6d43a861d0 Add boost to increase the load on newly-forked zygote processes.
Makes it more likely for app launches to end up on a large core in
an HMP environment.

bug 21915482

Change-Id: Ieac192a4bc1237dd03b9492fcad3a78de5510a58
2015-08-05 14:32:44 -07:00
John Reck
649c3c440e am 7290d93d: Merge "Yell loudly about undefined behind in Bitmap, but work anyway" into mnc-dev
* commit '7290d93df99de9d21ac8a9ddf72bc095b319af4b':
  Yell loudly about undefined behind in Bitmap, but work anyway
2015-08-04 01:00:04 +00:00
John Reck
01a0af31d7 Yell loudly about undefined behind in Bitmap, but work anyway
Bug: 22214367

Previous releases would let the getters on a recycle()'d bitmap to still
work despite being firmly in undefined behavior per the documentation
on Bitmap#recycle().

As there are apps relying on this, yell very loudly about this behavior
in the log and give them a bit of time to fix it

Change-Id: I857be7e74cb217877973d9c6f03eb761d12fd056
2015-08-03 20:57:22 +00:00
Ruben Brunk
9ce22a0956 camera2: Update DngCreator with bad pixel opcode.
Bug: 22463079
Change-Id: Id40f02f565d5ce3427479968bc8c3a9e78c04816
2015-08-03 20:02:11 +00:00
Ruben Brunk
b1286a7a72 am 7469060e: Merge "Make vendor keys visible in Camera2 java APIs." into mnc-dev
* commit '7469060e7855ca5b32f66fbad1a0a4f88737c754':
  Make vendor keys visible in Camera2 java APIs.
2015-08-03 16:16:12 +00:00
Ruben Brunk
7469060e78 Merge "Make vendor keys visible in Camera2 java APIs." into mnc-dev 2015-08-03 16:09:07 +00:00
Ruben Brunk
c620eb7e86 Make vendor keys visible in Camera2 java APIs.
- Add vendor keys to getKeys() calls for CameraCharacteristics,
  CaptureRequest, and CaptureResult.
- Vendors can specify whether custom keys show up by listing
  visible keys in the REQUEST_AVAILABLE_RESULT_KEYS field.
- Vendor key types are always treated as a primitive (or Rational)
  array type corresponding to one of the valid types for
  a camera metadata entry.

Bug: 22067625
Change-Id: I6e7dd3db7a8bf533c2ec15ff69ca38824134e971
2015-07-31 17:14:18 -07:00
Aravind Akella
2af91d0e10 Call getInstanceForPackage instead of creating a new SensorManager instance.
Bug: 22529981
Change-Id: If077e042a4af940dfb1fc9c4ac8b9d352dd32685
2015-07-30 19:04:40 +00:00
Narayan Kamath
7157c2ca81 Merge "Revert "Call getInstanceForPackage instead of creating a new SensorManager instance."" into mnc-dev 2015-07-29 09:41:22 +00:00
Narayan Kamath
8d1e344f40 Revert "Call getInstanceForPackage instead of creating a new SensorManager instance."
This reverts commit 5967ddbf05f146bdb6744207e3daed1aa76fc637.

Change-Id: I6d58129585a30d7c2ef39c8cbe796fd696c93f56
2015-07-29 09:35:46 +00:00
Aravind Akella
15938235d2 Merge "Call getInstanceForPackage instead of creating a new SensorManager instance." into mnc-dev 2015-07-29 00:21:18 +00:00
Ruben Brunk
ee2a16b551 Merge "Update DngCreator to correctly handle array sizes." into mnc-dev 2015-07-28 00:11:36 +00:00
Ruben Brunk
2079612e58 Update DngCreator to correctly handle array sizes.
- Allow both pixelArraySize and preCorrectionArraySize
  buffer dimensions for input buffers.
- Adjust crop, active area, and dimensions used for
  opcode lists based on the input buffer size.

Bug: 22302614
Bug: 22210811
Change-Id: I16fb8921a144b0a251d555037ca45fdc12f7dd18
2015-07-27 22:48:13 +00:00
Aravind Akella
5967ddbf05 Call getInstanceForPackage instead of creating a new SensorManager instance.
Bug: 22529981
Change-Id: Id3adfbcf55d1268db1a555c72a06456a5219c086
2015-07-27 14:19:31 -07:00
Chris Craik
4604c1dc67 Merge "Fix bitmap get/set pixels for ALPHA_8" into mnc-dev 2015-07-27 17:23:52 +00:00
Chris Craik
6260b22501 Fix bitmap get/set pixels for ALPHA_8
bug:22724734

Change-Id: If8307854f6bad6fac9ee0b394bf0b044c61183e5
2015-07-24 15:27:48 -07:00
Andreas Gampe
e60825033f Frameworks/base: Hand fingerprint to ART
To allow ANR dumps to be symbolized easily, hand the build
fingerprint to the runtime.

Bug: 22693991
Change-Id: Ibd3d3b3bd65dce84acfb97a487807d6f280a9508
2015-07-24 14:19:44 -07:00
John Reck
c6024cdd35 JNI optimization tweaks to Paint high-frequency methods
Bug: 22378829

Use fast-jni for getFontMetrics, drops from 35us -> 30us
Note the "heavy" part of the method, getMetricsInternal, is
already called by other fast-jni methods.

Use critical array access for getRunAdvance_* methods. This
will avoid the copy and the access is appropriately scoped
and fast enough to not significantly block the moving GC.
Improves from 88us -> 79us on short text

Change-Id: I7c1481c23f6dba3420fbcf48220f6335cf9f6d10
2015-07-10 10:58:46 -07:00
John Reck
476f715822 Create a thread_local cache for textLocale
Bug:22378829

toLanguageTag is significantly more expensive than previously
thought (note ULOC_FULLNAME_CAPACITY is 157) and weighs
in at around 40us. Given that this is called on every Paint
and that there are typically thousands of Paint objects
created this adds up very quickly.

Given that the locale is almost always Locale.getDefault(),
a very simple thread_local cache of size 1 fixes this trivially

Change-Id: I819e60cac7a4b27e9dd5538332c22ce5bbd0851c
2015-07-10 10:08:31 -07:00
John Reck
bea77a0783 Deep-copying sucks when all you want is a borrow
Bug: 22378829

std::string only knows how to move & deep-copy, and we really
don't want either here since the Paint object for certain outlives
the stack scope so use a const reference instead.

Change-Id: I1c822c6ba9647953899cfe89dcc670d7265e3973
2015-07-09 17:47:50 -07:00
Aravind Akella
516e40ea5d Clean up get sensorList.
Change-Id: I46da79cc50b5130a3f21bd567f50b29bf22196f9
2015-07-01 16:56:25 -07:00
Aravind Akella
32207e3c66 Merge "Changes to Data Injection mode APIs" into mnc-dev 2015-07-01 17:39:57 +00:00
Jeff Sharkey
faf3f69217 Fully unmount existing storage in Zygote.
Before mounting the requested storage into place, fully unmount all
existing mounts inherited from the root namespace.

Bug: 22192518
Change-Id: I6f7f12c1219d25ee487a031d37c60fb4051d24ad
2015-06-30 15:56:33 -07:00
Aravind Akella
d123b51f8b Changes to Data Injection mode APIs
Change-Id: Id55eaf03656d2d55df7f38d4cac643d97354fe9b
2015-06-29 13:04:09 -07:00
Christopher Tate
ffd5864202 Throw DeadObjectException on failed transaction, not RuntimeException
In practice we only see failed transactions with small payloads when
the remote dies while the binder operation is in flight.  Throw the
applicable exception type rather than the generic "oops binder went
haywire" one.

Bug 22104446

Change-Id: I785c15617db7a1f4d505aa11f16e61551c8357ba
2015-06-29 11:52:23 -07:00
Jeff Sharkey
9527b223a9 Let's reinvent storage, yet again!
Now that we're treating storage as a runtime permission, we need to
grant read/write access without killing the app.  This is really
tricky, since we had been using GIDs for access control, and they're
set in stone once Zygote drops privileges.

The only thing left that can change dynamically is the filesystem
itself, so let's do that.  This means changing the FUSE daemon to
present itself as three different views:

/mnt/runtime_default/foo - view for apps with no access
/mnt/runtime_read/foo - view for apps with read access
/mnt/runtime_write/foo - view for apps with write access

There is still a single location for all the backing files, and
filesystem permissions are derived the same way for each view, but
the file modes are masked off differently for each mountpoint.

During Zygote fork, it wires up the appropriate storage access into
an isolated mount namespace based on the current app permissions.  When
the app is granted permissions dynamically at runtime, the system
asks vold to jump into the existing mount namespace and bind mount
the newly granted access model into place.

Bug: 21858077
Change-Id: I62fb25d126dd815aea699b33d580e3afb90f8fd2
2015-06-25 22:25:48 -07:00
Christopher Tate
9a60072553 Merge "Don't throw TransactionTooLargeException for small payloads" into mnc-dev 2015-06-25 22:28:18 +00:00
Christopher Tate
02ca7a7db0 Don't throw TransactionTooLargeException for small payloads
In practice, if we ever see an apparent transaction-too-large result
with a modest-sized payload, it means that the remote process died at
just the right time (with the binder transaction already in flight
so it wasn't detected as a DEAD_OBJECT up front).  Don't throw
TransactionTooLargeException in this case, because we really do need
to distinguish that from dead-remote more accurately.

In particular, certain common execution patterns on existing hardware
trigger this circumstance, and they wind up crashing the system.
This is bad, so now we avoid it unless we're pretty sure that is
really what happened.

Bug 21801759

Change-Id: Id05f1eecc0d23dc8d0505c402e2cb68396782135
2015-06-25 10:50:38 -07:00
Yusuke Sato
0f61c7dcc4 Merge "Let findSupportedAbi and hasRenderscriptBitcode scan only relevant files" into mnc-dev 2015-06-25 17:34:01 +00:00
Andreas Gampe
8f7ae66e47 Merge "Frameworks/base: Add tracing system properties" into mnc-dev 2015-06-25 01:29:38 +00:00
Tim Murray
948c6ecc5a Merge "add cpuset support" into mnc-dev 2015-06-24 22:59:53 +00:00
Raph Levien
1149cdc84b Make measureText(String, int, int) not use context
The measureText method when applied to a string should just measure
the substring, rather than treat the entire string as context. It was
less likely to cause problems than the similar issues with char
arrays, but still wrong. This patch makes the behavior consistent.

Bug: 20087437
Change-Id: I1c6e07a694b151f4fb097edae8e271805e996d06
2015-06-24 14:05:52 -07:00
Brian Carlstrom
45ab734a7a Merge "Add missing NULL check for android_os_Parcel_writeInt" into mnc-dev 2015-06-24 04:36:13 +00:00
Brian Carlstrom
849ea02682 Add missing NULL check for android_os_Parcel_writeInt
All other usages of nativePtr were already checked.

Bug: 21636519
Change-Id: Icc09ce4326e6b05c5a248cc4de84ae231d5690b1
2015-06-23 18:02:12 -07:00
Chris Craik
c686757a18 Merge "Unify clipping return value behavior - true if not empty" into mnc-dev 2015-06-24 00:12:51 +00:00
Ruben Brunk
a39fcc5875 Merge "Update DngCreator to handle pre-correction dimens." into mnc-dev 2015-06-23 23:33:22 +00:00
Ruben Brunk
b8f4c6ab1e Update DngCreator to handle pre-correction dimens.
Bug: 20491394
Change-Id: I0cdf7cec104bcb5683139c81fc52c8a0a7d2365c
2015-06-23 16:23:03 -07:00
Chris Craik
5ec6a2878b Unify clipping return value behavior - true if not empty
bug:22035484

Change-Id: I23ecca38554a60c590181290900deb0e2c48cea1
2015-06-23 15:42:43 -07:00