Commit Graph

930 Commits

Author SHA1 Message Date
Ben Gruver
303d004ca0 am e920a298: am 53f22ad9: Merge "Monitor the firewall rules file for changes" into jb-mr2-dev
* commit 'e920a298f7ee7005b05a0d689e0aae5ca1b369e9':
  Monitor the firewall rules file for changes
2013-04-16 17:51:04 -07:00
Ben Gruver
53f22ad9c3 Merge "Monitor the firewall rules file for changes" into jb-mr2-dev 2013-04-17 00:44:56 +00:00
Jeff Sharkey
328ebf2221 Support persistable Uri permission grants.
When granting a Uri permission with new PERSIST_GRANT_URI_PERMISSION
flag, persist that grant across device reboots until explicitly
revoked.  Adds new persistedModeFlags dimension to UriPermission,
and moves all flag mutation into UriPermission for clarity.  Adds
flag documentation.  Only inflate HashSet as needed.

Write persisted grants into XML file, saving based on source and
target package name and user handle.  Sanity check grants when
parsing.

Wipe all grants from/to a package when uninstalled, and wipe any
transient grants when a package or user is force stopped.

Persistable grants are always considered "needed."

Change-Id: I3f001571b498fd607456a1257a6383f904d19497
2013-04-15 12:34:40 -07:00
Svetoslav
14210466bf resolved conflicts for merge of dd03b6dc to master
Change-Id: Ie6628e26d8a033bdce54f9d20156b0358a0956c3
2013-04-12 18:03:50 -07:00
Svetoslav Ganov
26257a09a5 Merge "Allow for setting test type as a monkey." into jb-mr2-dev 2013-04-13 00:15:40 +00:00
Craig Mautner
de4ef020ec Implement separate stacks.
One for home activity(s), one for other activities. Coordination
between the stacks is handled by the ActivityStackSupervisor.

Change-Id: I11395edea501d2f84a18a6a8bced1ce3d0797dad
2013-04-12 15:45:47 -07:00
Craig Mautner
c1dedb6fc4 Merge "Prepare WindowManager for multiple stacks." 2013-04-12 22:41:36 +00:00
Adam Momtaz
8f6f1f43ee Allow for setting test type as a monkey.
1. This allows UiAutomation type tests to run as if an
   android monkey test is running. This allows applications
   that recognize that they are drive by a test framework and
   avoid performing certain actions such as calling 911.

2. Fixed a bug where the UiAutomation#disconnect() was not
   called when the instrumentation is shutdown.

bug: 8588857

Change-Id: I9e3624dfbe2b8f81f27805711de1098ea2edd03d
2013-04-12 12:54:34 -07:00
Dianne Hackborn
8773a5c52e am 26c702c3: am ba880da4: Merge "Fix issue #7643046: Activity.getCallingPackage() bogusly returns null..." into jb-mr2-dev
* commit '26c702c395fbbd833c2ae8d155ed4605b36c5472':
  Fix issue #7643046: Activity.getCallingPackage() bogusly returns null...
2013-04-11 18:36:34 -07:00
Dianne Hackborn
7b92467179 Fix issue #7643046: Activity.getCallingPackage() bogusly returns null...
...after having to recreate the task stack

Change-Id: Ia354240f3650ddb578f2116a2aa4584e9ffe8508
2013-04-11 18:12:56 -07:00
Dianne Hackborn
875422153d resolved conflicts for merge of e9b4ee69 to master
Change-Id: Id752ae94f63a66b2ec200f68c73bf0d7b04b249f
2013-04-09 11:56:06 -07:00
Dianne Hackborn
558a3c1b7b Merge "Kill processes when permissions are revoked." into jb-mr2-dev 2013-04-09 17:38:00 +00:00
Dianne Hackborn
f1b782427f Kill processes when permissions are revoked.
Some permissions are associated with gids, so we need to
kill any running processes if their permission is revoked.
We will do this for any permission being revoked, since
the association between gids and permissions can change
over time.

Change-Id: Ieb7408e032539c4f21eb089d65a7a7e6c289f010
2013-04-08 22:28:59 -07:00
Eric Rowe
675d389f6f am fa67c5ad: am 3c09715c: Merge "Change dropbox tag for native crashes." into jb-mr2-dev
* commit 'fa67c5ada25643953144895f961c9ce0f8cc31e7':
  Change dropbox tag for native crashes.
2013-04-08 19:15:19 -07:00
Eric Rowe
88d842cf8a Change dropbox tag for native crashes.
Change-Id: Id2738fc758c3d144e5fdd2c7f1c8617dad129338
2013-04-08 15:00:27 -07:00
Ben Gruver
a4879c3425 Monitor the firewall rules file for changes
Change-Id: I4e9a8f06cc535ba5a347e6992e1466cff09890e9
2013-04-08 14:27:37 -07:00
Craig Mautner
d5d5d0f4b8 Prepare WindowManager for multiple stacks.
Create concept of home stack. When moving a new task to the top
move the home stack back.

Change-Id: I2e352722da0c4785b19227713bc30c0850d187b1
2013-04-06 19:01:32 -07:00
Ben Gruver
5e20733107 resolved conflicts for merge of 2ab72e1f to master
Change-Id: I752332dfb1a2f15bac22d3f1a457ae1ef20cf240
2013-04-03 17:46:19 -07:00
Ben Gruver
8c3ee9d50a Merge "Initial implementation of IntentFirewall functionality" into jb-mr2-dev 2013-04-03 23:36:22 +00:00
Craig Mautner
00633e0270 Merge "Move startActivityUncheckedLocked to Supervisor" 2013-04-03 17:59:21 +00:00
Craig Mautner
4f42c174ad Merge "Move startActivity from ActivityStack to Supervisor" 2013-04-03 17:57:57 +00:00
Craig Mautner
3361c7dfc4 Merge "Fix potential synch problems." 2013-04-03 15:41:36 +00:00
Craig Mautner
8be5ea3bdb Perform activityIdleInternal in correct order.
Refactor of ActivityManagerService.activityIdle left
activityIdleInternalLocked called only if stopProfiling was true.
Calling it in all situations is the correct behavior.

Fixes bug 8532130.

Change-Id: Ibd7f112bab104094ff1b1f3a2fb8c03b527ec453
2013-04-02 22:37:45 -07:00
Ben Gruver
4efe9403af Initial implementation of IntentFirewall functionality
This has the full filter functionality, but is currently only
able to block Activity intents. Logging intents, or blocking
service/broadcast intents is not yet implemented.

Change-Id: Ied3d8dedf982e17bcbdff3e328eeb87477954df7
2013-04-02 21:18:41 -07:00
Craig Mautner
8849a5ecb8 Move startActivityUncheckedLocked to Supervisor
This method can potentially act on different stacks so bringing
it to the supervisor from a single ActivityStack makes sense.

Change-Id: Ia2df3539dce39e8f050a9ffcef4371c0f172aaee
2013-04-02 16:41:03 -07:00
Craig Mautner
6170f73ed5 Move startActivity from ActivityStack to Supervisor
Change-Id: I188c8e95e6f8371a016ad6fceb0bfa5de04e4abb
2013-04-02 13:16:58 -07:00
Craig Mautner
dbcb31f28c Fix potential synch problems.
- Do not schedule GC until all stacks are idle.
- Call sendPendingThumbnail outside of synchronized lock.
- Remove redundant synchronized locks.

Change-Id: I56581ca12a534765132bed405fa4b340c418436f
2013-04-02 13:06:37 -07:00
Kenny Root
232b4d60a6 resolved conflicts for merge of c16da6aa to master
Change-Id: Ibaaf2995def15573609562162902b3d73dd78ec0
2013-04-02 10:57:10 -07:00
Craig Mautner
e79d4268c0 Yet more movement from ActivityStack to Supervisor
- Remove redundant synchronize in ActivityStack.activityIdleInternal().
- Move startSpecificActivityLocked from ActivityStack to Supervisor.
- Move handleAppDiedLocked from Supervisor to ActivityStack.

Change-Id: Id746ab3bdff861b61182282bea1deb8fcf284084
2013-04-01 19:01:53 -07:00
Craig Mautner
2420ead032 More movement from ActivityStack to Supervisor
- Move showAskCompatModeDialogLocked from ActivityStack to
ActivityManagerService.
- Keep track of userId in ActivityStackSupervisor and initialize
new ActivityStacks with it.
- Move realStartActivityLocked to ActivityStackSupervisor except
for the part that actually updates the ActivityStack.

Change-Id: I7467302f1249fee2ea3cf027a49e0894c9a2213d
2013-04-01 17:31:37 -07:00
Craig Mautner
23ac33bb85 Migrate activity starts into ActivityStackSupervisor.
Individual ActivityStacks should not be the place where stack
decisions are made.

Change-Id: If9c7a10e1127618c3ae008a0fea6e5943f776be4
2013-04-01 16:27:10 -07:00
Craig Mautner
20e7227454 Remove mFocusedStack from ActivityManagerService.
Use ActivityStackSupervisor.mMainStack in its place. Or, in cases
where multiple stacks must replace mFocusedStack, create new
methods in ActivityStackSupervisor that will replace it.

Change-Id: Ib0dda51e1043a6d5110e5a2914d695ef16bf9371
2013-04-01 13:57:18 -07:00
Christopher Tate
58d380d2af debuggerd now notifies the Activity Manager about native crashes
The Activity Manager sets up a permission-guarded domain socket, which
debuggerd connects to when a crash happens.  If this is successful,
the daemon then mirrors the logged crash report to that socket, then
closes it.

The Activity Manager parses the native crash dump supplied by debuggerd
and forwards it to the standard app-crashed code.  The UX result is
that users now see the normal "app has stopped unexpectedly" dialog
with "report" and "okay" options for native crashes, not just for
DVM-mediated crashes.

Bug 8322568

Change-Id: Ie1b279896c603bd74d82d6cfcfd66a8f231da134
2013-04-01 13:50:23 -07:00
Craig Mautner
e11f2b774b Minor refactors
- Eliminate unused mLooper.
- Rename isSleeping to isSleepingOrShuttingDown.
- Fix dump formats.

Change-Id: I4cfc99605ac34213bf9b705562f2c701810434fd
2013-04-01 13:06:11 -07:00
Craig Mautner
5496140428 Merge "Move mStacks to ActivityStackSupervisor" 2013-04-01 16:11:05 +00:00
Craig Mautner
8d341efad0 Move mStacks to ActivityStackSupervisor
Lift all ActivityStack behaviors from ActivityManagerService.

Change-Id: I356f1c22fe31f0442ff5e363f62fe99b7bfd6153
2013-03-28 11:30:01 -07:00
Dianne Hackborn
1a95a42c89 am 177543db: am 3bcc2fba: Merge "Fix issue #8470131: Process thrash kills battery" into jb-mr2-dev
* commit '177543db55f88f060d9a43df79afd6733cd565da':
  Fix issue #8470131: Process thrash kills battery
2013-03-26 17:28:19 -07:00
Dianne Hackborn
3bcc2fbaad Merge "Fix issue #8470131: Process thrash kills battery" into jb-mr2-dev 2013-03-27 00:24:04 +00:00
Craig Mautner
2219a1ba3d Modify primary ActivityStack accessing.
- Move mHomeStack to ActivityStackSupervisor.
- Move mMainStack to ActivityStackSupervisor.

Change-Id: I43522c9505f066b379ea172dd63663e78a0feece
2013-03-26 07:50:40 -07:00
Geremy Condra
98157242e2 am d6c1394d: am 51163e3b: Merge "Add seinfo parsing to PackageManagerService." into jb-mr2-dev
* commit 'd6c1394dd0046944e66d391ff0e099fb5ac57751':
  Add seinfo parsing to PackageManagerService.
2013-03-26 01:47:03 +00:00
Dianne Hackborn
a40cfeb55f Fix issue #8470131: Process thrash kills battery
Protect app widget broadcasts from abuse.

In this case the app was sending an APPWIDGET_UPDATE broadcast
without specifying a target, which (a) should not be allowed (you
should not be able to send updates to other apps), and (b) resulted
in every single potential app widget in the system being launched...
which was about 75 of them.

Change-Id: I9d48733610ce6d5a7c32e69a3e06b9f33bd79a34
2013-03-25 17:49:36 -07:00
Robert Craig
0f40dc923c Add seinfo parsing to PackageManagerService.
This patch set allows the PMS to parse the
mac_permissions.xml file which contains the
seinfo values. Each package that is installed
on the device will be assigned an seinfo value
based on policy. This seinfo value will help label
the app process and data directory.  Modifications
include adjustments to ApplicationInfo.java
to store the seinfo tag per package as well as
adjustments to installd to communicate the seinfo
tag to libselinux.

Change-Id: I61ad1ea12fb6a9a6d0b108ec163bc4bf4c954b58
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2013-03-25 17:30:08 -07:00
Craig Mautner
270843072c Introduce ActivityStackSupervisor.
- New coordinating class to juggle multiple ActivityStacks.
- First job: take singleton Keyguard dismiss behavior out of
ActivityStack.

Change-Id: I68e4b44411d3ec9401e86ac23703d6540dcb12e8
2013-03-25 08:06:16 -07:00
Craig Mautner
d9a22881fd Complete removal of Task from DisplayContent.
Moved Tasks into TaskStacks.

Change-Id: I3478dab4eab3a68d4d71a7a5bb2e65ba2394f2d7
2013-03-17 16:19:21 -07:00
Craig Mautner
c00204b4d1 Start moving Tasks from DisplayContent to TaskStack
- Create new classes for Stacks on WindowManager.
- Stop using DisplayContent methods and members:
    addAppToken(),
    removeAppToken(),
    setAppTaskId(),
    removeTask(),
    mTaskIdToDisplayContents,
    mTaskIdToTask.
- Start using WindowManagerService.createTask().
- Establish hierarchy of references: AppWindowToken=>Task=>
TaskStack=>StackBox=>DisplayContent.
- Clean up StackBox, TaskStack, and Task.

Change-Id: I798990aa7966784d22f4a43822087d8bb0404dd6
2013-03-15 22:44:29 -07:00
Craig Mautner
64f2b1738a Add ActivityStack to PendingActivityLaunch
The task used by doPendingActivityLaunches is not known at the
time that the PendingActivityLaunch is created. Leading to an NPE.
Adding the ActivityStack to the PAL fixes this.

Fixes bug 8351149.

Change-Id: I64539b8f2e608128ef9d795c0739ef1de7a246d0
2013-03-11 11:40:31 -07:00
Christopher Tate
1ccdf0ee16 am 0de66314: am 6916c6ee: Merge "Do not hang in pm clear on an invalid package name" into jb-mr2-dev
* commit '0de6631450fedca4071513d90cfaa5eec4c57d6c':
  Do not hang in pm clear on an invalid package name
2013-03-08 02:08:50 +00:00
Christopher Tate
a83cab0001 Do not hang in pm clear on an invalid package name
The Activity Manager was not properly informing the observer that
the operation had concluded (unsuccessfully).

Bug 8222595

Change-Id: I8234e32d8edf4112c8c7a5e20e341d0b41e23014
2013-03-07 17:50:11 -08:00
Craig Mautner
d2328958de Prepare ActivityManagerService for multiple stacks.
- Replace mMainStack with mFocusedStack and mStacks.
- Remove stack from ActivityRecord.
- Add stack to TaskRecord.

Change-Id: I22e9ba34b12c2bd90806b14aafe063d5a2fe66ae
2013-03-06 13:57:26 -08:00
Michael Wright
7ca095f095 am 32440aa2: Merge "Unify inputDispatchingTimedOut with keyDispatchingTimedOut" into jb-mr2-dev
* commit '32440aa25d958c8b82e7c17f784defc0a5860c0a':
  Unify inputDispatchingTimedOut with keyDispatchingTimedOut
2013-03-01 22:25:50 +00:00