13566 Commits

Author SHA1 Message Date
Ashok Bhat
a0398430fc AArch64: Make graphics classes 64-bit compatible
Changes in this patch include

[x] Long is used to store native pointers as they can
    be 64-bit.

[x] Some minor changes have been done to conform with
    standard JNI practice (e.g. use of jint instead of int
    in JNI function prototypes)

[x] AssetAtlasManager is not completely 64-bit compatible
    yet. Specifically mAtlasMap member has to be converted
    to hold native pointer using long. Added a TODO to
    AssetAtlasManager.java to indicate the change required.

Change-Id: I940433f601c6db998c1a8ffff338f5361200d5ed
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-01-28 17:40:38 +00:00
louis_chang
d5c91ece7b [ActivityManager]: Fix the activity visibility state not sync between ActivityManager and WindowManager
Symptom:
When press Home key to home screen, user is able to see the activity's window shown on top of wallpaper and below launcher(widgets).

Root Cause:
The ensureActivitiesVisibleLocked() is called pretty often (for example when a new process bound).
If the top activity "B" was finishing, then the previous activity "A" should be visible.
Therefore, the activity "A" window will be set to visible and then launched activity "A", but it does not updates the visible state in ActivityRecord for "A".
There has a timing issue that if a new activity "C" is started, "C" becomes the new top activity and be resumed.
In that case, Activity "A" window will remain visible even if it is behind a full screen activity "C" because the ActivityRecord.visble of "A" is still false, so the window visibility won't be update.
So when user press home key and back to launcher, the surface of activity "A" will be composed on top of wallpaper.

Solution:
Updates ActivityRecord.visible to true for "A". After "C" is started, the "A" will be called WindowManagerService.setAppVisibility() to set invisible, then called onStop() when execute ensureActivitiesVisibleLocked() again.

Change-Id: I536ba04b95d8d274fea6d679a6493e620bc981e2
2014-01-28 18:38:06 +08:00
jiaguo
1da35f71d2 Tethering: Skip link local addresses when enabling NAT
Only one entry is allowed to be added to route table 60 for all
interface ipv6 link local addresses, so skip ipv6 link local
addresses on all interfaces when enabling NAT

Change-Id: Ibbe6c2bdae83586cdd38287089715f3433bbb91f
Signed-off-by: jiaguo <jiaguo@marvell.com>
2014-01-26 10:07:04 +08:00
Oskar Andero
e8467194dc Make sure to turn off led after pulse()
setLightLocked() will update mColor. This will cause the led to not be
turned off after the pulse.
When notificationManager starts a attention pulse the led will be kept
on. Since attention is of highest prio nothing can turn it off.
This is fixed by resetting mColor back to 0 after the call.

Change-Id: Id60ef96e5c21b47c23002f0bcf2fae7fb3f2ca10
2014-01-24 10:43:53 +01:00
Christopher Tate
cc81bcece4 Merge "Only send storage intents after boot complete" 2014-01-22 23:46:58 +00:00
Naofumi Harada
719b3b8075 FLAG_PRIVILEGED disappears if privileged app is updated and rebooted
Since Kitkat, an app pre-loaded under /system/priv-app/ has
FLAG_PRIVILEGED. However, if the app updated and the device
rebooted, privileged flag is unset from pkgFlags. This patch
fix issue to assign privileged flag when scanning the updated
packages.

Bug: 12640283

Change-Id: Ic24b5882f65dabdfae9cc39da3d68661bed4fc31
2014-01-21 07:41:11 +00:00
Johan Redestig
0464c07a9e Only send storage intents after boot complete
It is not possible to send a broadcast before the system
boot is completed. If you do it anyway you will get an
IllegalStateException: Cannot broadcast before boot completed.

If a memory card is inserted or removed while the phone is
booting up, there is a risk that the MountService will try to
broadcast a storage intent too early, and cause the device
to crash.

Use FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT to avoid
problems with too early broadcasts.

Change-Id: Ied36a13d235df37c9788e45a35de40d919ae0cd0
2014-01-18 22:46:56 +01:00
Jeff Sharkey
90cadb3515 Merge "MountService listeners can not be unregistered" 2014-01-13 18:35:32 +00:00
Antonio Marín Cerezuela
c5ac15a3e1 Telephony API extension v2
Added new AndroidManifest permission:

android.permission.READ_PRECISE_PHONE_STATE

Added the following PhoneStateListeners and corresponding broadcast intents:

onPreciseCallStateChanged(PreciseCallState callState);
onPreciseDataConnectionStateChanged(PreciseDataConnectionState dataConnectionState);

broadcastPreciseCallStateChanged(int ringingCallState, int foregroundCallState, int backgroundCallState,
	int disconnectCause, int preciseDisconnectCause)
broadcastPreciseDataConnectionStateChanged(int state, int networkType, String apnType, String apn,
	String reason, LinkProperties linkProperties, String failCause)

Added TelephonyManager intent actions with their extras and constants:

public static final String ACTION_PRECISE_CALL_STATE_CHANGED = "android.intent.action.PRECISE_CALL_STATE";
public static final String ACTION_PRECISE_DATA_CONNECTION_STATE_CHANGED = "android.intent.action.PRECISE_DATA_CONNECTION_STATE_CHANGED";

public static final int PRECISE_CALL_STATE_*

Moved public static final int DISCONNECT_CAUSE_* from PreciseCallState.java to a new class DisconnectCause.java

Moved public static final int PRECISE_DISCONNECT_CAUSE_* from PreciseCallState.java to a new class PreciseDisconnectCause.java

Change-Id: If3b88c679507c529b746046c4a17cf6d9974bd09
2014-01-10 11:08:06 +01:00
riddle_hsu
446ef1de8d Fix visibility of multiple non-fullscreen activities.
Issue detail:
Assume X, Y are non-fullscreen activities.
 a.Home starts an activity X in task A in application stack.
 b.X starts an activity Y in <task A> or <new task B>
 c.Activity X will be invisible.

How to fix:
Because the function "isActivityOverHome" means an activity is able to see home.
But there may have many non-fullscreen activities between the top non-fullscreen activity and home.
If flag "behindFullscreen" is set, those middle activities will be invisible.
So it should only take care from who is adjacent to home.
Then check two flags frontOfTask(task root) and mOnTopOfHome for constraining the condition.

Change-Id: I60bcea304976414e44835a0a38675aae365e9e19
2014-01-09 20:24:34 +08:00
Mike Lockwood
9607d78f51 Merge "Added missing USB device descriptor fields needed for intent filters" 2014-01-08 15:56:13 +00:00
Ashok Bhat
7e2a9dcf1a AArch64: Use long for pointers in services
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: Ib4435f0794740d545c1e640087849215e6844802
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-01-08 10:06:07 +00:00
Narayan Kamath
2ac3cb7aef Fix broken XML parsing idiom.
Code that expected a single top level element in an XML file
was doing something like :

while (type != START_TAG) { next(); }

This would loop forever when the XML being parsed was empty,
where each call to XmlPullParser.next() would return END_DOCUMENT.

bug: https://code.google.com/p/android/issues/detail?id=64173
Change-Id: I7543203e976a8999ae471a6c2d629249a87011bb
2014-01-06 11:31:35 +00:00
Amith Yamasani
1f4bf364b2 Merge "Move files to new directory structure of framework services" 2013-12-19 23:32:03 +00:00
Amith Yamasani
49782e46c0 am 9158825f: Move some system services to separate directories
* commit '9158825f9c41869689d6b1786d7c7aa8bdd524ce':
  Move some system services to separate directories
2013-12-19 23:30:35 +00:00
Amith Yamasani
9158825f9c Move some system services to separate directories
Refactored the directory structure so that services can be optionally
excluded. This is step 1. Will be followed by another change that makes
it possible to remove services from the build.

Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
2013-12-19 15:25:37 -08:00
Amith Yamasani
19c662b3df Move files to new directory structure of framework services
Change-Id: I6239d90fa0b813e37878f8fc31caf7a2d70fa3ba
2013-12-19 15:20:43 -08:00
Craig Mautner
7426684948 Restore parameter lost in merge.
Fixes build.

Change-Id: I40489334ca5dc10d0041b78a82535c41e13def11
2013-12-19 13:02:30 -08:00
Craig Mautner
ff288f7f57 resolved conflicts for merge of b7bba718 to master
Change-Id: Ibbac3f6e3eda0149ae9446d6baed1d1bee5138ac
2013-12-19 10:55:17 -08:00
Craig Mautner
ed6649f89f DO NOT MERGE: Eliminate StackBox.
StackBox is too constraining. Adding size and position to TaskStacks
directly makes stack positioning and management more flexible and
prepares for ActivityView.

Change-Id: I33c6b4e1c23a5a8069fd507c160bcb34e4d287b2
2013-12-19 10:51:23 -08:00
Craig Mautner
b7bba718a8 Merge "Pair ActivityStacks with Displays" into klp-modular-dev 2013-12-19 18:29:50 +00:00
Craig Mautner
8a4c62e3fa am b905a37c: am 46f618a7: am a8dfd5d8: am 4dcf1af3: am cccf2a33: Merge "Keydispatching timeout while finish Activity"
* commit 'b905a37c7a18e8ad98497dea5ab7bd016e3c995d':
  Keydispatching timeout while finish Activity
2013-12-19 18:03:58 +00:00
Craig Mautner
b905a37c7a am 46f618a7: am a8dfd5d8: am 4dcf1af3: am cccf2a33: Merge "Keydispatching timeout while finish Activity"
* commit '46f618a7d9dde8e668666e0c582d88ddfea759d9':
  Keydispatching timeout while finish Activity
2013-12-19 18:00:40 +00:00
Craig Mautner
46f618a7d9 am a8dfd5d8: am 4dcf1af3: am cccf2a33: Merge "Keydispatching timeout while finish Activity"
* commit 'a8dfd5d896b71faf87b03d27df6050284765fb21':
  Keydispatching timeout while finish Activity
2013-12-19 17:58:08 +00:00
Craig Mautner
a8dfd5d896 am 4dcf1af3: am cccf2a33: Merge "Keydispatching timeout while finish Activity"
* commit '4dcf1af3ed8dfa546e6cbf5ecfa66914a3fda883':
  Keydispatching timeout while finish Activity
2013-12-19 09:55:33 -08:00
Martin Wallgren
c8733b818d Keydispatching timeout while finish Activity
If there is input to be handled during finish activity we can get a
keydispatching timeout ANR. The reason is that finish activity is some
times not possible, and the activity is instead put on a finish queue.
The activity will then be finished sometime in the future. When we add
the activity to the finish queue, key dispatching is paused, and there
is an ANR timer waiting for it to be resumed again. Since it can take a
long time before the activity is actually finished, we need to resume
the key dispatching to avoid the ANR.

Change-Id: Icea4ab3b5ad05c8bfbadf8f5cece1a59ec621469
2013-12-19 13:24:00 +01:00
Svetoslav
48df8b8528 Merge "Removed print services not fully cleaned up." 2013-12-19 01:36:36 +00:00
Svetoslav
dbcc95d4d8 Removed print services not fully cleaned up.
1. When a print services is removed it is removed from the
   installed and enabled services but not from the active
   ones while it should.

2. If a package has more than one print service (very rare
   but possible) we are executing the "make everything right"
   code for each of them which is not very optimal.

Change-Id: I7f6fc4eef10b6757d3b2ede33eb298c3399c3ff7
2013-12-18 17:35:43 -08:00
Craig Mautner
a909969386 am 525680d2: Merge "Fix loop limits." into klp-modular-dev
* commit '525680d2bff686ecbddeb84f7f493f8bb31e670d':
  Fix loop limits.
2013-12-19 00:47:34 +00:00
Craig Mautner
704e40b8ba Fix loop limits.
Fixes bug 12207606.

Change-Id: I9b450d2bc2a72a1f6581147f8930188f34c85299
2013-12-18 16:43:51 -08:00
Craig Mautner
4a1cb22056 Pair ActivityStacks with Displays
- Introduce concept of ActivityStacks residing on Displays and able
to be decoupled and moved around.
- Add a new interface, IActivityContainer for clients to handle
ActivityStacks.
- Abandon ordering of stacks based on mStackState and instead use
ActivityDisplayInfo.stacks<ActivityStack> ordering.

Progress towards closing bug 12078972.

Change-Id: I7785b61c26dc17f432a4803eebee07c7415fcc1f
2013-12-18 15:08:15 -08:00
David Christie
b084fef18e Clear cached locations when location providers disabled
Bug: 12118307

Change-Id: I0fa509791281038b8546d0648f4e17091ccf9c80
2013-12-18 14:35:06 -08:00
Narayan Kamath
65048bdce7 Remove data dirs if a new install fails dexopt.
We'd otherwise leave the data dirs & native libraries
lying around. This will leave the app permanently broken
because the next install of the app will fail with
INSTALL_FAILED_UID_CHANGED.

Also remove an unnecessary instance variable.

Change-Id: I50e08623f646a89bc166bded6a43e17c17930e58
2013-12-18 14:27:36 +00:00
Niklas Brunlid
d64fe0f53c MountService listeners can not be unregistered
When unregistering MountService listeners, their Binder proxy
objects were compared to registered listeners instead of their
backing objects.

Change-Id: Ie98a686b1d17544f1eda59fb3eb0dc02d836c1b2
2013-12-18 12:51:26 +01:00
Greg Hackmann
10df052c6a am f1bdbdd1: resolved conflicts for merge of 08579921 to klp-modular-dev
* commit 'f1bdbdd1bea9662f6731b7a366de1f602f43e5a9':
  Add timerfd backend to AlarmManagerService
2013-12-17 20:09:09 +00:00
Greg Hackmann
f1bdbdd1be resolved conflicts for merge of 08579921 to klp-modular-dev
Change-Id: I08e9f9a2d2185ccf0c41a87c8527ea7e02ac3117
2013-12-17 11:56:22 -08:00
Greg Hackmann
0857992140 am 060ae1db: am eb0ca2b7: Merge "Add timerfd backend to AlarmManagerService"
* commit '060ae1db7bba39cb8171f4267b5de9538f1ab440':
  Add timerfd backend to AlarmManagerService
2013-12-17 18:19:04 +00:00
Greg Hackmann
060ae1db7b am eb0ca2b7: Merge "Add timerfd backend to AlarmManagerService"
* commit 'eb0ca2b7bfd70fbbf2bd730b1c431faac21d0416':
  Add timerfd backend to AlarmManagerService
2013-12-17 10:15:33 -08:00
Greg Hackmann
eb0ca2b7bf Merge "Add timerfd backend to AlarmManagerService" 2013-12-17 18:10:49 +00:00
Craig Mautner
3cf234a639 am 4e09cb9b: am 38bcf6dc: am 422d7003: am f431daa2: Merge "Fix to NullPointerException on move back in ActivityStack."
* commit '4e09cb9bf6165f68b42549772b74596ceb6198fe':
  Fix to NullPointerException on move back in ActivityStack.
2013-12-17 16:51:58 +00:00
Craig Mautner
4e09cb9bf6 am 38bcf6dc: am 422d7003: am f431daa2: Merge "Fix to NullPointerException on move back in ActivityStack."
* commit '38bcf6dc8784625eb4b68634450c578719346669':
  Fix to NullPointerException on move back in ActivityStack.
2013-12-17 16:48:46 +00:00
Craig Mautner
38bcf6dc87 am 422d7003: am f431daa2: Merge "Fix to NullPointerException on move back in ActivityStack."
* commit '422d7003db8d26b5fa503aa294348d7b53621db1':
  Fix to NullPointerException on move back in ActivityStack.
2013-12-17 16:45:06 +00:00
Craig Mautner
422d7003db am f431daa2: Merge "Fix to NullPointerException on move back in ActivityStack."
* commit 'f431daa22811fdce9c4ec975d5d33121898b4f9b':
  Fix to NullPointerException on move back in ActivityStack.
2013-12-17 08:42:31 -08:00
Daniel 2 Olofsson
9cdf9e52d9 Fix to NullPointerException on move back in ActivityStack.
In ActivityTask.moveTaskToBackLocked NullPointerException may occur
when moving back with only current Activity in stack. This due to a
condition that may trigger despite a TaskRecord being null and then
attempt accessing the TaskRecord.mOnTopOfHome variable.

TaskRecord task may be set to null when no resumed activity remain.

Resolved by assuring that flag mOnTopOfHome is instead set to false
for current TaskRecord in case where there are no remaining activities
above home.

The above bug has already been corrected in the following commit,
ada62fca51d314cefe2c5da4e007df5b9abf320d, but it does not set the
cottect value to mTopOfHome for the current taks, see below.

Variable mOnTopOfHome will not be set to false in situations where
stack is of size 1 or less and task is null, perhaps from already
having finished current activity.

To avoid current TaskRecord maintaining value mOnTopOfHome to true
after launching Home this variable is set to false.

Impact should not be major due to correction earlier that makes sure
that there is always a TaskRecord.mOnTopOfHome set to true above Home
activity but if not correctly set for current task still gives a
possibility of bad behavior.

Change-Id: Ie86ad99c188aaa05b0de9d58eaa16c42b6fc4341
2013-12-17 11:35:23 +01:00
Craig Mautner
3b475fefa3 Fix incorrect setting of TaskRecord.frontOfTask DO NOT MERGE
When Intent.FLAG_ACTIVITY_REORDER_TO_FRONT was set the TaskRecord
member frontOfTask was being set true incorrectly for the top
activity. It should only be true for the bottom activity. This fix
ensures that frontOfTask is always set correctly for all activities by
consoldating it into one method.

Fixes bug 12171535.

Change-Id: If982dad3c81b2b816adc5d89e7e0496923098a70
2013-12-16 16:56:19 -08:00
Greg Hackmann
a1d6f92f34 Add timerfd backend to AlarmManagerService
On devices without /dev/alarm, use a new backend based on timerfd.
timerfd has near-equivalent syscalls for the /dev/alarm ioctls we care
about, with two key differences:

1) /dev/alarm uses one fd for all clocks, while timerfd needs one fd per
clock type.

AlarmManagerService addresses this by replacing the fd (int) with an
opaque pointer (long) to the backend-specific state.

2) When the RTC changes, the /dev/alarm WAIT ioctl always returns, while
timerfd cancels (and signals events) only on specially-flagged RTC
timerfds.

The timerfd backend masks this by creating an extraneous RTC timerfd,
specifically so there's always something to signal on RTC changes.

Change-Id: I5aef867748298610347f6e1479dd8bf569495832
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2013-12-16 16:23:51 -08:00
Craig Mautner
1aa9d0d3f6 Fix incorrect setting of TaskRecord.frontOfTask
When Intent.FLAG_ACTIVITY_REORDER_TO_FRONT was set the TaskRecord
member frontOfTask was being set true incorrectly for the top
activity. It should only be true for the bottom activity. This fix
ensures that frontOfTask is always set correctly for all activities by
consoldating it into one method.

Fixes bug 12171535.

Change-Id: If982dad3c81b2b816adc5d89e7e0496923098a70
2013-12-16 16:06:30 -08:00
Alan Viverette
ee17f0b557 Merge "Refactor display adjustments into their own utils class" 2013-12-16 23:49:35 +00:00
Alan Viverette
f242659afc Refactor display adjustments into their own utils class
Change-Id: Iddc413d7841d44b00e06ed1c5a02d54eb60858df
2013-12-16 13:45:39 -08:00
Kenny Root
6a0db59901 resolved conflicts for merge of e0b14ea7 to master
Change-Id: Ie018d3e2eba1eb2d655c153880e1951b68c2bd51
2013-12-13 15:59:51 -08:00