2851 Commits

Author SHA1 Message Date
Jeff Brown
9e2fde9c8a am d912e1f6: Use the display\'s actual state in the view hierarchy.
* commit 'd912e1f6a111fb33118d116bd72da1a328041bca':
  Use the display's actual state in the view hierarchy.
2014-04-12 01:58:57 +00:00
Jeff Brown
d912e1f6a1 Use the display's actual state in the view hierarchy.
Previously, the view hierarchy would suppress drawing whenever the
PowerManager.isScreenOn() method returned false.  However, this method
really describes the interactive state of the device rather than the
actual display state.  This is especially a problem when there are
multiple displays but it also breaks drawing while in doze mode.

This change makes the view hierarchy consider the actual state of the
display instead on an individual basis.

Bug: 13133142
Change-Id: I69870b6b14a3504607a30562aa48c3452f777c1f
2014-04-11 18:46:22 -07:00
Narayan Kamath
286a247e4c am 0fd40cb1: am 80413c9f: Merge "Re-implement native library search and copies."
* commit '0fd40cb100bccbd5d9ad6109ca39c818a857f889':
  Re-implement native library search and copies.
2014-04-10 09:26:44 +00:00
Ramin Zaghi
1378aba7ae Re-implement native library search and copies.
We now use a two step approach :

- First we look through the list of shared libraries in an
  APK, and choose an ABI based on the (priority)  list of ABIs
  a given device supports.
- Then we look through the list of shared libraries and copy
  all shared libraries that match the ABI we've selected.

This fixes a long-standing bug where we would sometimes copy
a mixture of different ABIs to the device, and also allows us
to clearly pick an ABI to run an app with.

The code in NativeLibraryHelper has been refactored so that all
file name validation & matching logic is done in a single place
(NativeLibrariesIterator). This allows us to avoid a lot of
redundant logic and straightens out a few corner cases (for eg.
where the abi determination & copying logic do not agree on
what files to skip).

bug: https://code.google.com/p/android/issues/detail?id=65053
bug: 13647418

Change-Id: I34d08353f24115b0f6b800a7eda3ac427fa25fef
Co-Authored-By: Zhenghua Wang <zhenghua.wang0923@gmail.com>
Co-Authored-By: Ramin Zaghi <ramin.zaghi@arm.com>
Co-Authored-By: Narayan Kamath <narayan@google.com>
2014-04-09 17:16:40 +01:00
Narayan Kamath
9f777008ea am 05f980d4: am d4b64409: Merge "Make zygotes aware of their supported ABIs."
* commit '05f980d42d4926ab2130cdcf9e646eb610a7080b':
  Make zygotes aware of their supported ABIs.
2014-04-09 14:02:18 +00:00
Narayan Kamath
c41638cb75 Make zygotes aware of their supported ABIs.
Query system properties for the list of ABIs and pass
it as a command line argument to ZygoteInit.

Also add a new Zygote command that returns this list of
ABIs to peers.

Change-Id: I68034c6f63fa626911122579a011a0a25a8cda94
2014-04-09 13:41:15 +01:00
Nick Kralevich
8e2a4b5395 am 4ed27328: am dc97144b: Merge "Always call super.onCreate(). Always."
* commit '4ed27328b5e20d32b1e6ac5b39684dad3e737ca7':
  Always call super.onCreate().  Always.
2014-04-04 23:31:44 +00:00
Christopher Tate
5eab368c4d Always call super.onCreate(). Always.
Bug 12991134

(cherrypick of commit 9d6376a1d88ab5b3a41ee4400e3aaa4c4ee69e2a)

Change-Id: Ife16ef93408253e3318a06dc0206ab4b88c7f367
2014-04-04 23:06:13 +00:00
Narayan Kamath
71ab4f4f48 am ea9e5eca: am 17b1b8fe: Merge "Move zygote startup logic to the frameworks."
* commit 'ea9e5ecac1e5240370f0e3f998b9c8b159ee9320':
  Move zygote startup logic to the frameworks.
2014-04-02 10:41:24 +00:00
Narayan Kamath
973b4663b0 Move zygote startup logic to the frameworks.
The Zygote class is now in com.android.internal.os. It is
responsible for the vast majority of work before and after
the call to fork(). It calls back into the Runtime via
the new dalvik.system.ZygoteHooks class to allow the Runtime
to perform pre fork cleanup and post fork initialization.

The native code in Zygote.cpp is a direct and straightforward
port of the existing code in art. Most differences are
superficial, for example :
- We use C style logging (ALOGE) instead of stream based
  logging.
- We call env->FatalError() instead of using LOG(FATAL)

Change-Id: Ia101fb2af12d23894fe57e4134d2bc6d142e5059
2014-04-02 10:18:43 +01:00
Jeff Sharkey
da07fe64b0 am eeb36c5c: am d88d8174: Merge "Null pointer exception in FileRotator.java"
* commit 'eeb36c5cfc107fe9128490e9e127c2bca2d24e28':
  Null pointer exception in FileRotator.java
2014-03-17 16:39:13 +00:00
Yohei Yukawa
c05362b84c am 77943308: am fd2f8d43: am 51b921d0: DO NOT MERGE - Preserve the order of InputMethodManager method calls
* commit '77943308f5661636d85cb5e78188dbbc8f0e329e':
  DO NOT MERGE - Preserve the order of InputMethodManager method calls
2014-03-14 21:59:35 +00:00
Yohei Yukawa
77943308f5 am fd2f8d43: am 51b921d0: DO NOT MERGE - Preserve the order of InputMethodManager method calls
* commit 'fd2f8d43419d1f25ced8b2bac96407925dd4c471':
  DO NOT MERGE - Preserve the order of InputMethodManager method calls
2014-03-14 21:54:49 +00:00
Yohei Yukawa
51b921d0e3 DO NOT MERGE - Preserve the order of InputMethodManager method calls
Cherrypick of I0f8d33b0c77129f72581bc43e7f4fdc25469b520

This CL allows the Framework class InputMethodManager to behave
in a more deterministic way, that is to say, with an I/O barrier.

InputMethodManager#setAdditionalInputMethodSubtypes is internally
implemented as a RPC to the corresponding counterpart in
InputMethodManagerService. The problem here is that this RPC is
marked as "oneway". As a consequence, this public API call
returns immediately without waiting the additional subtypes are
actually added. This behavior is also not documented so far
unfortunately.

See the following demo code:

  Final InputMethodManager imm = ...;
  imm.setAdditionalInputMethodSubtypes(id, subTypes);
  Final List<InputMethodInfo> ims = imm.getInputMethodList();

Currently, it is not guaranteed that the InputMethodInfo returned
from #getInputMethodList reflects the result of the previous call
of #setAdditionalInputMethodSubtypes because of its undocumented
asynchronous nature.

With this CL, InputMethodManager#setAdditionalInputMethodSubtypes
behaves as if it has I/O barrier. This change should make it easy
for IME developers to use additional subtype mechanism.

BUG: 13033954
BUG: 13291370
Change-Id: I0455b176bfb3176c533ba3241881f05092b98abc
2014-03-14 11:52:09 +09:00
Adam Powell
4a5c9e941a am 68ec033b: am 75958c29: am 3a153c0d: Merge "Fix a bug in submenu presenter priority handling" into klp-dev
* commit '68ec033b7c9ea28155bbb007b01d5dbce2239392':
  Fix a bug in submenu presenter priority handling
2014-03-13 18:02:08 +00:00
Mikael Gullstrand
bbf1861fdd Null pointer exception in FileRotator.java
Sometimes a null pointer exception is thrown when examining files
managed by the file rotator.

The logs from the test show that the Wifi state is changed a large
number of times. On every state change, a write operation is
initiated on the file system. This will eventually result in out
of memory and the call to mBasePath.list() in the maybeRotate(...)
method in FileRotator.java will return null so the iteration will
throw a NullPointerException.

Change-Id: I5d5980d9593bc9ec75281169ca27ee591809903f
2014-03-13 17:25:01 +01:00
Adam Powell
68ec033b7c am 75958c29: am 3a153c0d: Merge "Fix a bug in submenu presenter priority handling" into klp-dev
* commit '75958c298477a3d1e556c4fe36e516b9e828c311':
  Fix a bug in submenu presenter priority handling
2014-03-13 10:01:15 +00:00
Justin Koh
c48701a134 am 641d8aff: Merge "Fix possible invalid pointer index in swipe dismiss." into klp-modular-dev
* commit '641d8aff87cbb9ed5e84ce849e0da3d3962b5eb3':
  Fix possible invalid pointer index in swipe dismiss.
2014-03-12 00:47:20 +00:00
Justin Koh
df4ee5c8ac Fix possible invalid pointer index in swipe dismiss.
Fix possible invalid pointer index in swipe dismiss: exit out if the pointer
index is -1. Also allow user to cancel this if in swipe mode.

Change-Id: I0f623ced0287679be8dd5c93ab6c67504b82fe9b
2014-03-11 16:27:25 -07:00
Benoit Goby
6835033af4 am c6f0b54d: Merge "Add CAP_BLOCK_SUSPEND to system server" into klp-modular-dev
* commit 'c6f0b54d695b49966a13bb196800a985ac6ce212':
  Add CAP_BLOCK_SUSPEND to system server
2014-03-10 19:02:54 +00:00
Adam Powell
190909f2c1 Fix a bug in submenu presenter priority handling
Now that overflow menus and the PhoneWindow-level ListMenuPresenter
can coexist, make sure that ListMenuPresenter handles submenus spawned
by itself. Introduce an internal API for menus to prefer a specific
presenter when performing item actions.

Bug 11979407

Change-Id: Id0b8fcbb8b310cbb3a63a1e5ea7a89de5d53f86f
2014-03-10 10:30:59 -07:00
Benoit Goby
a26d08e612 Add CAP_BLOCK_SUSPEND to system server
With linux 3.5 and above, CAP_BLOCK_SUSPEND is needed to take a
suspend blocker.

CAP_BLOCK_SUSPEND has aleady been added in master.

Change-Id: Ibd4b1f8498c3c4a7b69ea9fc68311546a8f0ecda
2014-03-08 00:17:43 +00:00
Adam Powell
f175b19aaa Merge "Fix a bug where OnTouchListeners in action views could be removed" into klp-dev 2014-03-07 23:28:19 +00:00
Jeff Brown
c969450acd am 840c8474: Merge "Add config_supportAutoRotation." into klp-modular-dev
* commit '840c84749a6066b436db4dc94c3e3929a8440575':
  Add config_supportAutoRotation.
2014-03-07 10:43:52 +00:00
Jeff Brown
840c84749a Merge "Add config_supportAutoRotation." into klp-modular-dev 2014-03-07 04:40:10 +00:00
Jeff Brown
bcdfc62ae3 Add config_supportAutoRotation.
On some products, it may not make sense to use the accelerometer
to perform auto-rotation.  In that case, the product's config.xml
framework resource overlay should set config_supportAutoRotation
to false.

Setting this to false also disables auto-rotation settings.

Bug: 13211999
Change-Id: If9d7d72f2a2c576b14a4ff0afb61ea52c42c3357
2014-03-06 19:57:59 -08:00
Adam Powell
c9e5f540a9 Fix a bug where OnTouchListeners in action views could be removed
ActionMenuPresenter should only replace the touch listener when binding
a generated item view.

Bug 12470259

Change-Id: I8c4c6110065605225a20cb7ed872255282085661
2014-03-06 17:57:05 -08:00
Dianne Hackborn
cb15c7a83b More on issue #12031685 (DO NOT MERGE)
Integrate from master:

Fix issue #13065185: Frequent runtime restarts on launching...

..."Hill Climb Racing" app

A service is in use when it is in the restarting state.

Change-Id: Iffdea96f867f89089e7ad07b4b1bef056951a5e8
2014-03-06 17:39:11 -08:00
Christopher Tate
7a4e519eda am 8106dce7: am a6c59158: am f63ae644: am 1e995c76: Merge "Update PackageMonitor to recognize new \'replacing\' semantics" into klp-dev
* commit '8106dce705ba69d5bc0ccafa8e21068216f42a5f':
  Update PackageMonitor to recognize new 'replacing' semantics
2014-03-05 01:05:31 +00:00
Christopher Tate
8106dce705 am a6c59158: am f63ae644: am 1e995c76: Merge "Update PackageMonitor to recognize new \'replacing\' semantics" into klp-dev
* commit 'a6c59158761423551941f6ed338a117658e581ad':
  Update PackageMonitor to recognize new 'replacing' semantics
2014-03-05 01:00:50 +00:00
Christopher Tate
a6c5915876 am f63ae644: am 1e995c76: Merge "Update PackageMonitor to recognize new \'replacing\' semantics" into klp-dev
* commit 'f63ae644a80ef2d0bd7bfb448eebb19691e4b6ec':
  Update PackageMonitor to recognize new 'replacing' semantics
2014-03-05 00:57:18 +00:00
Will Haldean Brown
11c51608ee am bd79652a: Merge "Add swipe-to-dismiss support to PhoneWindow." into klp-modular-dev
* commit 'bd79652a9afeee1e81f0f51d11e5869091f58af9':
  Add swipe-to-dismiss support to PhoneWindow.
2014-03-04 21:27:11 +00:00
Will Haldean Brown
ca6234e084 Add swipe-to-dismiss support to PhoneWindow.
This adds a new window feature -- FEATURE_SWIPE_TO_DISMISS -- and a
theme attribute to activate that feature. When the feature is
activated, a SwipeDismissLayout is inflated as the DecorView layout.
SwipeDismissLayout intercepts touch events and steals ones that are
large swipes to the right if its children don't. PhoneWindow registers
handlers that listen for these swipe events, translate the window when
necessary, and finish the activity at the end of the gesture.

Change-Id: I512e758f3c3ffd3b353dba3b911c0e80a88d6f5f
2014-03-04 09:26:15 -08:00
Christopher Tate
88c908323a Update PackageMonitor to recognize new 'replacing' semantics
The ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE broadcast now uses the
EXTRA_REPLACING intent extra when it is sent as part of an upgrade operation
on a forward-locked application.  Update PackageMonitor to recognize this
new information and express it appropriately to the observer.

Bug 11988313

Cherry-pick from master.

Change-Id: Iecea1876ffc918f23f9fa5845f1f89ed8d740dd5
2014-03-03 17:40:41 -08:00
Adam Lesinski
1c532c2e2d am 4b07b26e: Merge "Make UsbService optional" into klp-modular-dev
* commit '4b07b26e8654df52ca80bb2165ebdf9352ab9337':
  Make UsbService optional
2014-02-19 19:41:26 +00:00
Adam Lesinski
2cb6c60c0d Make UsbService optional
Tweaked the services Android.mk to build dependencies
when building with mm[m].

Change-Id: I6dad511c652bcacc085f27ede5f8f22a6982c6bd
2014-02-18 14:57:09 -08:00
Jeff Brown
ae254a8d71 am 3048191b: Remove onCreate() method that should not be there.
* commit '3048191b4cf9eff7a72b84065dec2b3dd1e89b3c':
  Remove onCreate() method that should not be there.
2014-02-14 09:14:15 +00:00
Jeff Brown
3048191b4c Remove onCreate() method that should not be there.
Change-Id: I8355dd78f910afa9895d2fa00cb627a0885d9eec
2014-02-13 23:26:59 -08:00
Dave Platt
34cc9f9056 am 53c7608a: am a3c3533b: Merge "Finish fixing Zygote descriptor leakage problem"
* commit '53c7608aefb0ed754394e571cac02e96ad6fcdb3':
  Finish fixing Zygote descriptor leakage problem
2014-02-12 23:10:36 +00:00
Jeff Brown
25df673b84 am 1b51c9cb: Merge "Make SystemService constructor take a Context." into klp-modular-dev
* commit '1b51c9cb96fe2a0818289857a016521eed1ec183':
  Make SystemService constructor take a Context.
2014-02-11 08:18:34 +00:00
Jeff Brown
b880d880c6 Make SystemService constructor take a Context.
This change simplifies the process of initializing a SystemService
by folding the onCreate() step back into the constructor.  It removes
some ambuiguity about what work should happen in the constructor and
should make it possible for services to retain most of their final
fields after refactoring into the new pattern.

Change-Id: I25f41af0321bc01898658ab44b369f9c5d16800b
2014-02-10 20:01:43 -08:00
Dave Platt
89d4c897a0 Finish fixing Zygote descriptor leakage problem
In order to prevent Zygote descriptors from leaking into the child
environment, they should be closed by the forked-off child process
before the child switches to the application UID.  These changes close
the descriptors via dup2(), substituting a descriptor open to
/dev/null in their place; this allows the Zygote Java code to close
the FileDescriptor objects cleanly.

This is a multi-project change: dalvik, art, libcore, frameworks/base,
and external/sepolicy are affected.  The CLs need to be approved
together, lest the build break or the software fail to boot.

Round 2: indent change

Bug: 12114500
Change-Id: I090402136a8a8b7d6aad6eb153026e85d7cf6ad3
2014-02-06 13:24:38 -08:00
Narayan Kamath
dfd1aa4331 resolved conflicts for merge of 2cd0563c to klp-modular-dev-plus-aosp
Change-Id: Ia28df1c1aa084959ed9289bfe90e7f6a4bffb8a2
2014-01-31 12:57:24 +00:00
Brian Carlstrom
c6c633608a frameworks/base: Rename persist.sys.dalvik.vm.lib to allow new default
Bug: 12798969
Change-Id: Ibb7ed86867e4dca53ad7fe33326b08e6f5e664c4
2014-01-30 13:16:48 -08:00
Jeff Brown
4ccb823a9f Refactor display manager service to new pattern.
Transform DisplayManagerService into a SystemService and start cleaning
up other local services that it uses from window manager and input manager.

Clean up service thread initialization.

Remove unnecessary static variables from ActivityManagerService.

It's starting to become clear that we really need a better way to manage
service dependencies.  Boot phases don't quite cut it.

Change-Id: If319dbd7cbfbd4812fe55ece969e818d4b20755b
2014-01-16 22:16:42 -08:00
Jeff Brown
6f357d3284 Start untangling system server early bootstrapping.
Refactored SystemServer to get rid of a bunch of legacy cruft related
to how the ServerThread used to be started up.

Create system context first when system server starts.  This removes
the tangled initialization order dependency that forced us to start
the activity manager service before most anything else.

Moved factory test related constants into the FactoryTest class.

Partially migrated Installer, ActivityManagerService, and
PowerManagerService to the new SystemService pattern.  There's more
work to be done here, particularly around the lifecycle of the
power manager.

Bug: 12172368
Change-Id: Ia527dd56e3b3fd90f9eeb41289dbe044921230d4
2014-01-16 11:24:58 -08:00
Adam Powell
efc3bb0612 Fix a bug where OnTouchListeners in action views could be removed
ActionMenuPresenter should only replace the touch listener when binding
a generated item view.

Bug 12470259

Change-Id: I8c4c6110065605225a20cb7ed872255282085661
2014-01-10 10:16:27 -08:00
Adam Lesinski
66e9b1e117 Merge "Move SystemService code to frameworks/base/core" into klp-modular-dev 2014-01-07 20:53:20 +00:00
Dave Platt
bd9acc2218 am e966e577: am 02f042dd: Fix socket descriptor leak from Zygote to child app
* commit 'e966e5774ad8d478bc89b541bcac3740fe267d18':
  Fix socket descriptor leak from Zygote to child app
2014-01-07 11:53:07 -08:00
Dave Platt
02f042ddd9 Fix socket descriptor leak from Zygote to child app
Due to an API change in LocalSocket, Zygote must now
manually close the FileDescriptor it created when it
registered a LocalServerSocket.  The LocalSocket.close()
routine will no longer do so.

Bug: 12114500

(cherry picked from commit 70ef29b04ee4ef7d7acfec79041dbe800961195e)

Change-Id: Ief23a3c99e007dc4aa6f94dfb47a1b2b6c854dad
2014-01-06 13:59:20 -08:00