Commit Graph

3298 Commits

Author SHA1 Message Date
Narayan Kamath
b9b31f4b8e am bd4d3203: Merge "Support an ABI flag for instrumentation."
* commit 'bd4d320344833ce67dad3a4e10a61d0502a81d0e':
  Support an ABI flag for instrumentation.
2014-05-30 10:41:24 +00:00
Narayan Kamath
bd4d320344 Merge "Support an ABI flag for instrumentation." 2014-05-30 10:35:29 +00:00
Michael Wright
889814cee0 resolved conflicts for merge of 32912e0a to stage-aosp-master
Change-Id: I140e2024bd0e6e81ab550718103d45220d8bde26
2014-05-19 22:42:58 -07:00
Donghan Ryu
289c273ec4 wallpaper: limit wallpaper width to sys.max_texture_size
Image wallpapers are created ~1.5x screen size.  On some devices this
may exceed the maximum supported texture size, which will either fail
allocation or fail to composite.

Bug 991597

Change-Id: I9948b09f6e00a724212e73d36901f2bbea42e2f4
2014-05-20 12:00:31 +09:00
Narayan Kamath
8dcfefd652 Support an ABI flag for instrumentation.
Allows us to choose what ABI a process uses when
launching it with "adb shell am instrument", for eg.

adb shell am instrument --abi arm64-v8a component/runner

Note that we only perform very basic validation of the
ABI. In general, there is no guarantee that the app will
launch with the instruction set we choose, for eg. if it
has native libraries that are for a different ABI.

bug: 14453227

Change-Id: Ifb7e89b53675080dc87941091ee5ac360f218d7f
2014-05-16 10:30:00 +01:00
Michael Wright
809c369892 am 54c3529b: Merge "WallpaperManager: add NULL pointer check for getCropAndSetWallpaperIntent"
* commit '54c3529b4d3f86488799caa0e62a1f3929a79a39':
  WallpaperManager: add NULL pointer check for getCropAndSetWallpaperIntent
2014-04-30 19:06:40 +00:00
Allen Shen
1c0f21ea84 WallpaperManager: add NULL pointer check for getCropAndSetWallpaperIntent
Originally the api 'getCropAndSetWallpaperIntent' does not check
whether the parsed parameter is a NULL pointer, as leads to the
whole app crash if it call this api with a null parameter accidentally.
A null pointer check logic is added into its original parameter check
logic, so that this API will throw an IllegalArgumentException if it
is parsed with a null pointer

Change-Id: Ib7de40e571419d09e1a744edc969eb7162766b75
2014-04-30 17:09:19 +08:00
Bill Yi
293513a59d Merge commit '0b62467b142b61ee1e449ba958ba37dfd961ef56' into HEAD 2014-04-29 16:07:29 -07:00
Elliott Hughes
34385d352d Track libcore.os' move to android.system.
(This is partial, but should cover everything in AOSP master except
for the zygote.)

Change-Id: I1042c99245765746a744c44e714095cb2c6cb75d
2014-04-28 11:11:32 -07:00
Unsuk Jung
b35962f77c am 8114c3d0: am 1a70f391: Merge "Change wallpaper sizing" into klp-dev
* commit '8114c3d02d6bf72c0627aea6ecf738074ac3f232':
  Change wallpaper sizing
2014-03-21 19:10:57 +00:00
Unsuk Jung
8114c3d02d am 1a70f391: Merge "Change wallpaper sizing" into klp-dev
* commit '1a70f391608e82fcc5550c76ccc7bf8bac5bbc10':
  Change wallpaper sizing
2014-03-21 19:05:40 +00:00
Michael Jurka
3368a63c64 Change wallpaper sizing
Bug: 11997581

- ignore suggested dimensions
- when orientation changes, scale up wallpaper if
it doesn't fill the whole screen, or scale back to
original size if not necessary

Change-Id: I75b7519a105d4097bf7a35cd8af61fc40f45f8fb
(cherry picked from commit 824a4b5ea4)
2014-03-21 10:29:27 +00:00
John Spurlock
919fc360c3 am 62826f55: am f6228d95: Merge "Fix doc typos in AppOpsManager.java" into klp-docs
* commit '62826f55be4415684b4e321469298ba43d598bbb':
  Fix doc typos in AppOpsManager.java
2014-03-14 04:13:00 +00:00
Jeff Brown
ba6b897816 resolved conflicts for merge of 825dd9dd to klp-dev-plus-aosp
.
Change-Id: I2363c40f641e7e60487354e1710312db2cbbc89a
2014-03-13 21:10:40 -07:00
John Spurlock
62826f55be am f6228d95: Merge "Fix doc typos in AppOpsManager.java" into klp-docs
* commit 'f6228d95eae7b05dd0015b3062e72c89148e65a2':
  Fix doc typos in AppOpsManager.java
2014-03-13 22:14:57 +00:00
Jeff Brown
825dd9dd38 am 73bd57f7: Merge "Retain display when creating specialized contexts. (DO NOT MERGE)" into klp-dev
* commit '73bd57f7abdb9eaf9239aa13945990acc6c97cd2':
  Retain display when creating specialized contexts. (DO NOT MERGE)
2014-03-13 00:15:19 +00:00
Jeff Brown
73bd57f7ab Merge "Retain display when creating specialized contexts. (DO NOT MERGE)" into klp-dev 2014-03-13 00:12:53 +00:00
Chad Brubaker
9544120133 am 1011960c: am decfd707: Merge "Add the calling package name to requestRouteToHost" into klp-dev
* commit '1011960c44a4f84d53d05199fe1ca09be9473822':
  Add the calling package name to requestRouteToHost
2014-03-12 23:21:02 +00:00
Jeff Brown
f86c3a44f2 Retain display when creating specialized contexts. (DO NOT MERGE)
Fixed a bug that cause Context.createPackageContext() to discard
display information.  Likewise also fixes issues where the
activity token, override configuration, user handle, and
restriction state might be discarded.

As part of this change, reworked how Contexts are created to make
initialization easier to understand and less error-prone.
The init() methods have been removed and most of the state is
now stored in final variables.

Bug: 12015587
Change-Id: If795851f1cd078bef889b76a52e00d9b3c06ab11
2014-03-11 20:43:52 -07:00
Chad Brubaker
1011960c44 am decfd707: Merge "Add the calling package name to requestRouteToHost" into klp-dev
* commit 'decfd7079b622f9135aeb8f7b2ec48005c844c38':
  Add the calling package name to requestRouteToHost
2014-03-11 19:22:39 +00:00
Dave Allison
2fddd6cd2e am b94904ab: am 3fc3b9fd: Merge "ART profiler usage."
* commit 'b94904ab6dfbb9db7e8042f10886042a295857d4':
  ART profiler usage.
2014-03-11 18:51:42 +00:00
Narayan Kamath
59ed568fa5 am cd4874cf: am d265bcc4: Merge "Inform libcore of time format pref. changes."
* commit 'cd4874cfdc00d17454529b5dca85a487c7c2de77':
  Inform libcore of time format pref. changes.
2014-03-11 18:42:30 +00:00
Chad Brubaker
decfd7079b Merge "Add the calling package name to requestRouteToHost" into klp-dev 2014-03-11 17:51:45 +00:00
John Spurlock
925b85eae8 Fix doc typos in AppOpsManager.java
Change-Id: I3c930a2afce48c57570681a95595149df5158053
2014-03-10 16:52:11 -04:00
Greg Hackmann
5468a5c117 am 9e413bf4: am bbfc08b3: Merge changes I6d4fdada,Ia34899a4
* commit '9e413bf4e562d98b6efeb157369f152edd5f0261':
  open("/dev/rtc0") failure in AlarmManagerService.setTime() should be non-fatal
  Move time setting code from SystemClock to AlarmManagerService
2014-03-10 18:04:47 +00:00
Elliott Hughes
be59a21164 am 29d60b95: am 8d41e653: Merge "Miscellaneous small documentation fixes."
* commit '29d60b95fa8019c0542f46551057c4d376bb8a7a':
  Miscellaneous small documentation fixes.
2014-03-08 01:51:52 +00:00
Dave Allison
0efbd9a463 ART profiler usage.
This is a change to add args to some of the profiler related
functions, including installd commands.

Also read properties and set command line options for the runtime
profiling parameters.

Changed calls to isDexOptNeeded() to isDexOptNeededInternal().  This
needs additional arguments passed for profiles.

Bug: 12877748
Change-Id: I1a426c9309d760bac0cf92daa298defee62287c1

Conflicts:
	core/jni/AndroidRuntime.cpp
2014-03-07 12:32:44 -08:00
Chris Wren
48ef4b2dc3 am 111e981d: am 70d5ed26: Merge "use relative positioning for notification actions" into klp-dev
* commit '111e981dc7f7d62647d6aa5e6c44cfd13af53608':
  use relative positioning for notification actions
2014-03-07 18:31:29 +00:00
Chris Wren
111e981dc7 am 70d5ed26: Merge "use relative positioning for notification actions" into klp-dev
* commit '70d5ed269268c1da6169b49b555d7295ac5d6763':
  use relative positioning for notification actions
2014-03-07 15:10:47 +00:00
Narayan Kamath
27ad525c7e Inform libcore of time format pref. changes.
- Introduce a boolean extra for intent TIME_CHANGED that
  specifies if the user wants a 24 hour format or not.
- Have the ActivityManagerService inform running processes
  of changes to this preference.
- Add plumbing in ActivityThread to inform j.t.DateFormat

Change-Id: I05fafb903ae54e39c03a048b7a219dc5a93fd472
2014-03-07 13:48:04 +00:00
Dianne Hackborn
c1349a9601 am 4ad93639: am 67754d93: Merge "Runtime resource overlay, iteration 2"
* commit '4ad93639d210297764db3ffcd870ff38464943de':
  Runtime resource overlay, iteration 2
2014-03-07 02:27:10 +00:00
Chris Wren
be63a95d2b use relative positioning for notification actions
Bug: 10531101
Change-Id: Ia1d7cac880f620a9760271344edf920caf0d852d
2014-03-06 14:55:23 -05:00
Chad Brubaker
18dd015e6e Add the calling package name to requestRouteToHost
The calling package name will be used to check if an application is a
system application when deciding if a route should be exempt from VPN
routing rules.

Bug: 12937545
Change-Id: I2c09c875fe9bb9685871a0a801ddcbb32fc17405
2014-03-05 13:35:20 -08:00
Greg Hackmann
bbfc08b3ab Merge changes I6d4fdada,Ia34899a4
* changes:
  open("/dev/rtc0") failure in AlarmManagerService.setTime() should be non-fatal
  Move time setting code from SystemClock to AlarmManagerService
2014-02-21 21:01:00 +00:00
Greg Hackmann
38bf514668 Move time setting code from SystemClock to AlarmManagerService
On devices using /dev/rtc instead of /dev/alarm, updating the
time-of-day clock and RTC are separate syscalls.  Hence the clock and
RTC could be left in inconsistent states if two threads called
SystemClock.setCurrentTimeMillis() simultaneously.

By moving this code into AlarmManagerService, we can put a global lock
around AlarmManagerService.setTime() and prevent the race condition.

Note that access to SystemClock.setCurrentTimeMillis() is now gated by
android.permission.SET_TIME, where before it was gated by filesystem
permissions (i.e., could the process write to /dev/alarm or /dev/rtc).

Change-Id: Ia34899a4cde983656305fd2ef466dfe908ed23c8
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2014-02-21 09:53:19 -08:00
Elliott Hughes
8d41e653ba Merge "Miscellaneous small documentation fixes." 2014-02-21 17:19:21 +00:00
John Spurlock
9dd87081e4 am 99873565: am ba231fca: Fix bad @links in PendingIntent.java
* commit '998735652d2449e3ccbac7686b71bf40dca06e94':
  Fix bad @links in PendingIntent.java
2014-02-19 13:47:52 +00:00
John Spurlock
998735652d am ba231fca: Fix bad @links in PendingIntent.java
* commit 'ba231fcabfdf8f8bd72dbb428b8d35ae14a1a14d':
  Fix bad @links in PendingIntent.java
2014-02-19 13:44:14 +00:00
John Spurlock
ba231fcabf Fix bad @links in PendingIntent.java
Change-Id: I0a0014e17907f5cf16c3536a99e41efa9dafc963
2014-02-18 13:19:57 -05:00
Mårten Kongstad
48d22323ce Runtime resource overlay, iteration 2
Support any number of overlay packages. Support any target package.

UPDATED PACKAGE MATCHING
------------------------
In Runtime resource overlay, iteration 1, only a single overlay package
was considered. Package matching was based on file paths:
/vendor/overlay/system/framework-res.apk corresponded to
/system/framework-res.apk. Introduce a more flexible matching scheme
where any package is an overlay package if its manifest includes

    <overlay targetPackage="com.target.package"/>

For security reasons, an overlay package must fulfill certain criteria
to take effect: see below.

THE IDMAP TOOL AND IDMAP FILES
------------------------------
Idmap files are created by the 'idmap' binary; idmap files must be
present when loading packages. For the Android system, Zygote calls
'idmap' as part of the resource pre-loading. For application packages,
'idmap' is invoked via 'installd' during package installation (similar
to 'dexopt').

UPDATED FLOW
------------
The following is an outline of the start-up sequences for the Android
system and Android apps. Steps marked with '+' are introduced by this
commit.

Zygote initialization
   Initial AssetManager object created
+    idmap --scan creates idmaps for overlays targeting 'android', \
           stores list of overlays in /data/resource-cache/overlays.list
   AssetManager caches framework-res.apk
+  AssetManager caches overlay packages listed in overlays.list

Android boot
   New AssetManager's ResTable acquired
     AssetManager re-uses cached framework-res.apk
+    AssetManager re-uses cached 'android' overlays (if any)

App boot
   ActivityThread prepares AssetManager to load app.apk
+  ActivityThread prepares AssetManager to load app overlays (if any)
   New AssetManager's ResTable acquired as per Android boot

SECURITY
--------
Overlay packages are required to be pre-loaded (in /vendor/overlay).
These packages are trusted by definition. A future iteration of runtime
resource overlay may add support for downloaded overlays, which would
likely require target and overlay signatures match for the overlay to
be trusted.

LOOKUP PRIORITY
---------------
During resource lookup, packages are sequentially queried to provide a
best match, given the constraints of the current configuration. If any
package provide a better match than what has been found so far, it
replaces the previous match. The target package is always queried last.

When loading a package with more than one overlay, the order in which
the overlays are added become significant if several packages overlay
the same resource.

Had downloaded overlays been supported, the install time could have been
used to determine the load order. Regardless, for pre-installed
overlays, the install time is randomly determined by the order in which
the Package Manager locates the packages during initial boot. To support
a well-defined order, pre-installed overlay packages are expected to
define an additional 'priority' attribute in their <overlay> tags:

    <overlay targetPackage="com.target.package" priority="1234"/>

Pre-installed overlays are loaded in order of their priority attributes,
sorted in ascending order.

Assigning the same priority to several overlays targeting the same base
package leads to undefined behaviour. It is the responsibility of the
vendor to avoid this.

The following example shows the ResTable and PackageGroups after loading
an application and two overlays. The resource lookup framework will
query the packages in the order C, B, A.

        +------+------+-     -+------+------+
        | 0x01 |      |  ...  |      | 0x7f |
        +------+------+-     -+------+------+
            |                           |
        "android"                Target package A
                                        |
                       Pre-installed overlay B (priority 1)
                                        |
                       Pre-installed overlay C (priority 2)

Change-Id: If49c963149369b1957f7d2303b3dd27f669ed24e
2014-02-03 11:20:30 +01:00
Narayan Kamath
d0ec6d8c50 am bc2a449a: am cb4d3ec1: Merge "Fix preference puts with "null" values."
* commit 'bc2a449a615b30efb81a1a0082a1bb0db515d0f5':
  Fix preference puts with "null" values.
2014-01-13 05:01:44 -08:00
Narayan Kamath
cb4d3ec1ea Merge "Fix preference puts with "null" values." 2014-01-13 12:29:41 +00:00
Narayan Kamath
c6f429007c Fix preference puts with "null" values.
Null values were being written out as <null /> elements in the
XML prefs file (as expected). This allowed the getFoo() functions
to work correctly because they treated null values as missing mappings
but containsKey would fail.

bug: https://code.google.com/p/android/issues/detail?id=64563
Change-Id: I1f466d01db96bf26e208d4fed3a6f257228bea5d
2014-01-08 12:04:53 +00:00
Narayan Kamath
3f589e5d1e am 2842bd02: am de8c3cf1: Merge "AArch64: Use long for pointers in App/Backup"
* commit '2842bd021c11274720d6a10219538b536b7d2050':
  AArch64: Use long for pointers in App/Backup
2014-01-08 04:02:05 -08:00
Ashok Bhat
58b8b24256 AArch64: Use long for pointers in App/Backup
For storing pointers, long is used, as
native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: I7aee49dc26cf6c86af8f1d882e9cd1cc145a1977
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-08 11:54:01 +00:00
Ian Rogers
0e16e3d7dd am c2b50c10: am f11dee79: Merge "Add a call to registerAppInfo for the VMRuntime"
* commit 'c2b50c10f0bf636562deba1d92ec7b54b13909de':
  Add a call to registerAppInfo for the VMRuntime
2014-01-07 13:38:44 -08:00
Mark Doliner
9525f2a72e Miscellaneous small documentation fixes.
Most of these I noticed on my own. The change to docs/html/tools/testing/testing_ui.jd is mentioned in a bug report:
https://code.google.com/p/android/issues/detail?id=56324

Signed-off-by: Mark Doliner <markdoliner@google.com>
2014-01-03 19:15:36 +00:00
Dave Allison
24bafbc933 Add a call to registerAppInfo for the VMRuntime
This calls into the VMRuntime tells it where the
application directory is located.

Bug: 11539952
Change-Id: I20e0b8c63e459699a1bc9af435e65ae96f1e1e73
2013-12-18 17:01:37 -08:00
Kenny Root
62d509d24f am 37c69fdd: Merge "Use java.util.Objects instead on internal API"
* commit '37c69fdd826f3973966430adc1abfbefc19bc16e':
  Use java.util.Objects instead on internal API
2013-12-13 14:17:29 -08:00
Kenny Root
e6585b32ea Use java.util.Objects instead on internal API
Not needed since java.util.Objects implements all the needed
functionality.

Change-Id: Icd31d49a9801d1705427f028e9ac927d58e7d34c
2013-12-13 13:40:30 -08:00