History log of /frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b3baaab4af7e1ed8dfc5da1c976cc34d135fb82b 11-May-2018 Philip P. Moltmann <moltmann@google.com> Allow Print subsystem to work with services provided by instant app

Most functionality works, but the PrintActivity cannot directly interact
with the instant service.

As instant services should only appear in tests this functionality needs
to be enabled via shell commands.

Fixes: 79484768
Test: cts-tradefed run commandAndExit cts-instant-dev -m CtsPrintTestCases
cts-tradefed run commandAndExit cts-dev -m CtsPrintTestCases

Change-Id: Ie4663c72b8c0f959b5d172ef28875479d120e386
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
bc630497b490de679b6856801521dc4a36416325 23-Feb-2018 Vladislav Kuzkokov <vkuzkokov@google.com> Check printing restriction for correct user.

Work profile uses the same instance of PrintManager and DPM
as the primary user. We have to explicitly check restriction for calling user.

Bug: 73768054
Test: Set restriction in Work profile, check that it applies only in work profile.
Change-Id: Iaa63ce000fc84b7d0ee2bd0ff008f1c0f7272a87
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
622b9f921278b308e9497675e63159f926764c91 25-Jan-2018 Vladislav Kuzkokov <vkuzkokov@google.com> Make printing policy a restriction.

Use existing API instead of creating new method.

Bug: 64140119
Test: cts-tradefed run cts-dev --module CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.MixedDeviceOwnerTest#testPrintingPolicy

Change-Id: I9ff94f4d73824e7bf9aedbb64811ad60fccf9779
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
371a3b879ba82bbe5a4d914328a20659131d0220 26-Jan-2018 Philip P. Moltmann <moltmann@google.com> Dump usb as DualDump

This allows to dump the USB state as proto-buf. This in turn allows to
automatically process this data.

Test: adb shell dumpsys usb
incident_report usb
No automated test possible as no field is guaranteed to be set
Change-Id: Ifdf22bfaf9c78226c420b11c43278013ce69f849
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
fef75eee1d7389f3bcff41fb8fded4f1801a2b92 22-Jan-2018 Vladislav Kuzkokov <vkuzkokov@google.com> Fix Printing policy in profile owner.

Sometimes app inside profile can't get package info for its owner.
Instead of relying on calling user id, we make PrintManagerService switch to
system id and pass user that called print() explicitly.

Bug: 72309652
Test: cts-tradefed run cts-dev --module CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.MixedDeviceOwnerTest#testPrintingPolicy
Test: cts-tradefed run cts-dev --module CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testPrintingPolicy
Test: cts-tradefed run cts-dev --module CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.MixedProfileOwnerTest#testPrintingPolicy
Test: bit FrameworksServicesTests:com.android.server.devicepolicy.DevicePolicyManagerTest
Change-Id: Ib97018f56693549fbca506dba6efaadb6dd010b3
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
792d58fbcef3da36dbde5fd8b0cf5a5b972bd12e 15-Jan-2018 Vladislav Kuzkokov <vkuzkokov@google.com> Implement Policy to disable printing.

This adds a new "isPrintingEnabled" policy (true by default)
and hooks it into PrintManagerService.

Bug: 64140119
Test: manual

Change-Id: Ifb0f6772af51e6185135e9dcf5551e9ef0d88af3
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
bd62e9ae145c638845e41286156eca6e2d44a8ea 17-Jan-2018 Philip P. Moltmann <moltmann@google.com> Follow up I1f0c56651eaa59f0ce90cdb08c71e89a96c48dd4

Beside addressing the comments on this change, this adds a check that
the token in end( is correct and prints a message if not. This is useful
when creating new dumping methods.

Test: adb shell dumpsys print
Change-Id: Ic2e6152cbd82f98d9d305a15edffc69c55fd1fd3
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
9a534c01ecd4a1442856c1b709e23b61f1baf9ba 16-Jan-2018 Philip P. Moltmann <moltmann@google.com> Only have one way of dumping print manager state

Add a class DualDumpOutputStream that maps proto-dump commands onto
print writer commands.

The effect of this is that there is only one - very proto dump like -
way to dump the print manager which is much easier to maintain.

The DualDumpOutputStream tries to produce a result similar to the
incident-report tool.

Test: adb shell dumpsys print
Change-Id: I1f0c56651eaa59f0ce90cdb08c71e89a96c48dd4
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
4b89d63b63d936e7ec71eafab92f5810f55014ef 29-Aug-2017 Philip P. Moltmann <moltmann@google.com> Don't dump print state while holding lock

This causes ANRs as we are trying to the the print spooler connection
while holding a lock that can also be aquired on the system server's
main thread.

Fixes: 63159459
Test: cts-tradefed run singleCommand cts-dev -m Print
adb shell dumpsys print
incident_report print
Change-Id: I228fc5ddc10c1c89f61e8a6d8eb8ea9e384197a8
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
0515c80d01a883da4c375179e8fb4a25ac901eb2 01-Aug-2017 Narayan Kamath <narayan@google.com> Merge "PrintManagerService: Don't prune services on all package change events." into oc-mr1-dev am: 735ed6c011
am: e81a350a45

Change-Id: I3964de47b70c27c372d80cfce5107fd216ded6cd
973d8af11b11da273d54f289217c04ce39bf9200 31-Jul-2017 Narayan Kamath <narayan@google.com> PrintManagerService: Don't prune services on all package change events.

We should only need to prune services if the package that changed
had a print service or has been changed to have a print service.

Bug: 63019430
Test: Manual; observed that the print spooler isn't started up.
Test: run cts -m CtsPrintTestCases

Change-Id: I32df27e4b1d11615cf6053dd3d35c2b60068d0d3
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
c0a128dc2b3e7af35cb39d5157ca4de9147aa3c8 19-Jun-2017 Philip P. Moltmann <moltmann@google.com> Dump print manager as proto

Test: incident_report print. Having no entries
Change-Id: I3c7d611e44c0d3bf8e00775b1708bd82a334121a
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
6870033d374a15fd212675d570a2877c28f1cbf0 19-Jun-2017 Philip P. Moltmann <moltmann@google.com> Enforce permission for print system APIs

The permission is preinstalled as we want to leave the PrintSpooler
unpriviledged.

Test: Checked that Settings, PrintSpooler and BuiltInPrintService still
behave as expected.
Fixes: 62350107
Change-Id: Id33896f2899533f2d05cafa926df29cf1c6bfa77
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
fe9a53bc45fd0124a876dc0a49680aaf86641d3e 31-Mar-2017 Jeff Sharkey <jsharkey@android.com> Consistent dump() permission checking.

This change introduces new methods on DumpUtils that can check if the
caller has DUMP and/or PACKAGE_USAGE_STATS access. It then moves all
existing dump() methods to use these checks so that we emit
consistent error messages.

Test: cts-tradefed run commandAndExit cts-dev -m CtsSecurityTestCases -t android.security.cts.ServicePermissionsTest
Bug: 32806790
Change-Id: Iaff6b9506818ee082b1e169c89ebe1001b3bfeca
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
dc589ac82b5fe2063f4cfd94c8ae26d43d5420a0 11-Nov-2016 Sudheer Shanka <sudheersai@google.com> Update usage of ActivityManagerNative.

- Remove references to ActivityManagerProxy.
- Add isSystemReady to ActivityManager.

Bug: 30977067
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts
adb shell am instrument -e class com.android.server.am.ActivityManagerTest,com.android.server.am.TaskStackChangedListenerTest \
-w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: I07390b6124fb1515821f5c0b37baf6ae74adc8fa
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
e5d91213d05f192201bdbe03860efa161850fccb 06-Oct-2016 Fyodor Kupolov <fkupolov@google.com> Do not enforce unlocked state for system calls

isUserUnlockingOrUnlocked should be enforced for calls made by apps.
Calls from system server should be handled gracefully.

Test: manual
Bug: 31833240
Change-Id: If56b0f9994209eb45a47072e0377d11293a9cbad
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
efb1950263b70dc3b7a6cd163bba1f38df54c15c 29-Apr-2016 Philip P. Moltmann <moltmann@google.com> Check if user is unlocked when handler is executed

When the user gets unlocked we schedule a handler-runnable to do cleanup work.
This runnable might be executed after the user is already locked again.

Fixes: 28512952
Change-Id: I6c05cbc8adab699e451565d74d56ad0f9b965954
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
ce18c8167766f92856f94a8e88e19de4698960e6 28-Apr-2016 Jeff Sharkey <jsharkey@android.com> Introduce "unlocking" vs "unlocked" nuance.

There is a narrow window of time during user unlock where we're
reconciling user storage and dispatching the "unlock" status to
various internal system services. While in this "unlocking" state,
apps need to be told that the user still isn't actually "unlocked"
so they don't try making calls to AccountManager, etc.

The majority of internal services are interested in merging together
both the "unlocking" and "unlocked" state, so update them.

Clarify naming in AccountManagerService to make it clear that a local
list is being used, which mirrors the naming in MountService.

To match UX/PM requested behavior, move PRE_BOOT_COMPLETED dispatch
after the user is unlocked, but block BOOT_COMPLETED dispatch until
after all PRE_BOOT receivers are finished to avoid ANRs.

Bug: 28040947, 28164677
Change-Id: I57af2351633d9159f4483f19657ce0b62118d1ce
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
9dcb86a48d73f399fb1b5c020005d76d350eeac2 14-Mar-2016 Philip P. Moltmann <moltmann@google.com> Add the print service recommendation service

This service connects through the print manager to the print spooler:

PrintSpooler.AddPrintersActivity <-> PrintManager <-> PrintManagerService <-> UserState <-> RemotePrintServiceRecommendationService <-> PrintRecommendationService <-> PrintRecommendationServiceImpl

Hence there is a lot of mindless plumming.

The actual changes are only in the AddPrintersActivity which is extended
to show another list of services: The recommended services.

The PrintServiceRecommendationService is based on the experimenal print
service stubs provider. This provider was contributed the Android by
Mopria. As this services uses Android own network discovery service most
code from the experimental provider goes away. In fact the only logic
left over is the selections of mdns-txt fields to look at and the
printer vendor configuration.

This relies on the Android MDNS to get fixed (Bug: 27696905). This also
does not deal with how to update the recommendation service.

Bug: 24533249
Change-Id: I6edc6e25fc08a50d478b61c71bb8ea158b08624c
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
e8ae15482eef7617494cb3187899983e27cb8a35 22-Mar-2016 Philip P. Moltmann <moltmann@google.com> If the print spooler gets started onUserUnlock use less of a priority to have less impact on the system.

Bug: 27746455
Change-Id: I3ae0a755e8f4c212a111d76ec6ef042654589510
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
852c950bbfbfb10c6e05dc62dd2e662980238a46 08-Mar-2016 Philip P. Moltmann <moltmann@google.com> Correct how to deal with print service installation

- Deal with case that there are currently no print services installed
- Deal with the case that a package modification adds a print service

Bug: 27530312
Change-Id: I67a647bd0982a092a4810d6c1285d0c7b64e104e
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
c2c83eeda6cf51313e9a6f594b3ff876df4a7c09 07-Mar-2016 Jae Seo <jaeseo@google.com> Fix NPE in PrintManagerService

Bug: 27530312
Change-Id: I86800572a93fbcf37f2e073a1eaee6fbe6658de1
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
66c96591e2ddb464c67e60dbf4193ef4ec8a620b 24-Feb-2016 Philip P. Moltmann <moltmann@google.com> Add "app printer activity" and always keep the print service state
updated. Also fiddle with the UI to use more standard values.

To be sure the print service state alwasy updated I changed
PrintManager.getPrintServices to return a loader which just wraps a
registerListener/getList/removeListener combo.

I also added a new function to enabled/disable a print service to be
keep all updating logic inside the PrintManagerService->UserState.

Then I changed all code to use this new interface.

Detailed comments:

PrintServiceInfo:
- I had to add the enabled state to the PrintServiceInfo as some users
of PrintManager.getPrintServices want all services but then display
different data depending on the enabled state. Of course I could have
created two PrintManager.getPrintServices-loaders to load the two
separate list of services. I think it is much easier to add this
property though. It is updated every time new data is returned to the
PrintManager.getPrintServices-loader.

AddPrinterActivity:
- This is shown as a dialog-style overlay to indicate that the user will
return to the select-printers activity. It contains of three list that
are updated via separate loaders.
- The recommended services will be added later to keep this path set
small.

PrintActivity:
- There are two small places where we have to update the data when we
get a new list of print services.
- In very, very rare conditions it can happen that the print service
of the current printer gains or looses the "advancedOptions"
activity
- If we have no enabled print services we want to show "Add printer"
instead of "All printers...".
- Also the print registry is not the only loader anymore, hence we have
to assign loader ids to it to not conflict with the other loaders in
this activity.
- Small bug in onPrintersChanged: If a printer is selected and the print
service of this printer gets disabled the holder goes into "removed"
state which disables the printer. When the print service is then
enabled again, we forgot to re-enable the holder.

PrinterRegistry:
- The registry assumed that the FusedPrinterProvider was the only loader
in the activity. This is not true anymore, hence it has to assign the
appropriate loader ids.
- The FusedPrinterProvider has an internal loader, hence we have to
forward a loader Id into it.
- The PrintRegistry is only called backed for a single loader, hence no
need to check the loader-id.

SelectPrinterActivity:
- The AddPrinterDialog was removed as we now have the
AddPrinterActivity.
- Added a loader for the enabled services to update the empty state.
- Added dedicated loader Id for the PrinterRegistry again.
- If we have no enabled services, the SelectPrinterActivity chainloads
the AddPrinterActivity as this is the only thing the user can do
anyway. "Save a click". This should only happen when the activity is
create the first time.
- Moved the "add printer" from the menu item to the list of printers as
suggested by UX and Zach.

PrintManagerService, UserState and IPrintManagerParamtersTest:
- As the only place where the print service state is updated is now the
userstate, we have no more sychronization problems. Whohoo.
- The users can now register for changes to the print services similar
as they can register for changes to the print jobs.
- UserState.getPrintServices is the only function can exposes any
knowledge of the print services to the outside world.

Change-Id: I9be2c7300431e06aaff9bdf7eb36120d869b56ac
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
76d7e3ee70c4299b22b1a03505d2b4f108716c75 15-Jan-2016 Philip P. Moltmann <moltmann@google.com> Check parameters for callers of IPrintManager

- Propagate nullness and non-null-ness up and down from the interfaces.
- Add non-CTS print tests for IPrintManager binder.

Change-Id: I0c310d9cea8aefba5ce386931521ffaf19712bbb
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
05e34230709282f21d0df21b4bd69f6a4c5cf580 12-Jan-2016 Philip P. Moltmann <moltmann@google.com> Deal with UserState#getEnabledPrintServices returning null.

Bug: 26492364
Change-Id: I234b1632168c88d32bdd134630442756701118b6
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
cd65448ccd13c4c2d0fe9e9623fec3a898ab9372 09-Jan-2016 Jeff Sharkey <jsharkey@android.com> Even more PackageManager caller triage.

Finish moving all UID/GID callers to single AIDL method that requires
callers to provide flags.

Triage AppWidgets and PrintServices, which currently can only live on
internal storage; we should revisit that later.

Fix two bugs where we'd drop pending install sessions and persisted
Uri grants for apps installed on external storage.

Bug: 26471205
Change-Id: I66fdfc737fda0042050d81ff8839de55c2b4effd
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
f0e4daecc9eccccd7aa2c48b2166f0681381cff9 08-Jan-2016 Jeff Sharkey <jsharkey@android.com> Skip package updates when user is locked.

Bug: 26464060
Change-Id: If762ce799f402571fd0387947f19c824f4a1b000
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
8141bdfa56f13c3946bed12ba7801e492ec25c11 22-Dec-2015 Philip P. Moltmann <moltmann@google.com> Store which print services are disabled instead of which are enabled

This make services that appreared while the print manager was not active
by default enabled.

In the case we upgrade from pre-N we convert the enabled-list into a
disabled-list.

Bug: 26249649
Change-Id: Iae783a8dd19f1a9d75d675710ea4348fdfbd34f3
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
bb9f686b40743df2642b7d3b7778dbf7284ae665 01-Dec-2015 Philip P. Moltmann <moltmann@google.com> Allow a print service to specify per printer icons, description and
info-activities

The icon is loaded from the discovery session only when it is displayed
to avoid having to store too many icons in memory.

Also the icons are not maintained in the historical printers. Only if
the printers are available nice icons are shown. A historical printer is
updated with the appropriate properties (including icon) once it becomes
available.

Bug: 24135005
Change-Id: Iec389bab514b024634be8fb5fc8928371cba8740
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
0999c0d6e9c83873d9595ee764b6388dbc49dcb8 17-Dec-2015 Jeff Sharkey <jsharkey@android.com> Make printing framework encryption-aware.

Only create UserState objects when a user has been unlocked, meaning
we can connect to the spooler. Ignore package events that occur
while a user is locked, since we'll kick off updateIfNeededLocked()
when that user is eventually unlocked.

In all other cases, throw if someone tries obtaining UserState for
a still-locked user. This should help catch any edge cases in the
system, and communicate clearly through public APIs that printing
isn't available until the user is unlocked.

Bug: 26246836
Change-Id: If15744621890baee206d355484fe20933afc65d8
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
03755a1f12390be9ddfcce8c5ad3f887fa5ccf9f 25-Nov-2015 Philip P. Moltmann <moltmann@google.com> Syncronosuly notify SelectPrinterActivity about changes to enabled print
services

If the SelectPrinterActivity is visible it shows different emptyState
depending on if there are print services available or not. Hence the
activity has to listen to changes to the list of enabled services.

This also fixes a small syncronsation problem if two observers are
registered for the enabled print services.

Bug: 25666802
Change-Id: I79af66f25f10e66347b48ce9bb99c1657b30a8dd
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
853a6f564abaf8acbd88c6704008c5d150d00471 03-Nov-2015 Philip P. Moltmann <moltmann@google.com> Add a alert that allows the user to approve a print service when
we print using it the first time.

This warning used to be shown when the print settings app was used
to enable a service.

If two warning as shown for the same print service we automcatially
dismiss all dialogs once one dialog is confirmed. Please note that
we are not confirming the printjob as it is unexpeced to have a
single click to confirm multiple print jobs.

Change-Id: I8bb0a49bac2063c1c55e2f24bd34df2c44e2df89
Bug: 24135353
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
4a357cd2e55293402d7172766f7f9419815fc1e8 19-Mar-2015 Alan Viverette <alanv@google.com> Replace usages of deprecated Resources.getColor() and getColorStateList()

Change-Id: I8f64fe6c4c44a92ff6d07250223ba590a1d691b0
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
c82768ff4b045b5b4edc08405964d504438a681f 05-Sep-2014 Svetoslav <svetoslavganov@google.com> Handle user changes off the main thread.

The remote print spooler can only be accessed off the main thread
by design as calls into it may block for a short amoun of time since
the frist call into the spooler may have to wait for the system to
bind to the spooler service. A recent change introduced a regression
where the user state changes are now dispatched on the main thread.
This change schedules the user change handling to a background handler
thread.

bug:17396682

Change-Id: I059be8f31ba41122cb2967d8afadd19e6b5a08e5
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
07ad8dc2087aa02da48353acc19ba82e62d99f82 01-Sep-2014 Kenny Guy <kennyguy@google.com> Use context for user when calling notifyAsUser

Create a context for the user the notification is
being posted for when using NotificationManager.notifyAsUser.

Bug: 17002733
Change-Id: Ie41d27bbb781ca38cc9bc910bd4410b8862edee1
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
86b1df234397802895771fe14cd8f2813fa43415 21-Aug-2014 Svetoslav <svetoslavganov@google.com> Print services setting changes not handled for managed profiles.

We keep per user settings for enabled print services which are
observed to update the print manager service state. We were listening
to all user changes but the handling code was not updating the state
of the user whose settings changed, rather the current user.

Added hidden APIs in content observer to know which user changed
and now the print manager serivce handles content changes for the
correct user.

bug:16977006

Change-Id: I71ec88c8f3f38cb405844c13ab83695c2029eb79
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
255dd04271088590fedc46c8e22b2fd4ab142d39 19-Aug-2014 Selim Cinek <cinek@google.com> Added notification color to all system notifications

Bug: 17128331
Change-Id: I81a94510ef51b99916f314c0dd65852426a1fbeb
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
194db6ad91c4aee995930ea8f04ea877730234fd 05-Aug-2014 Svet Ganov <svetoslavganov@google.com> Fix cross-user permission checks in print manager service.

The cross-user check was requesting both interact across users and
interact across users all permissions which is too restrictive. Each
one is sufficient. Further, if the app has one of these premissions
but specifies a given user not current or current-self, the code
was throwing while the correct actions is to return the requested
user id as we alreay vetted the caller's permissions.

bug:16398152

Change-Id: I1a4863eb7b05dababb66bac6e143b78dfad42b81
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
564560e46d8a075fe508514f3dbd94f29963e6eb 02-Jul-2014 Svetoslav <svetoslavganov@google.com> Installed and enabled print services not working after boot.

Due to system server changes the print manager services did not
receive the expected callbacks in correct order. This lead to
installed and enabled print services not working until toggled
from settings.

bug:16018217

Change-Id: I8d53d8d8f06507ee135cebe5201f00910a4cb364
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
04533dd3ba4e916f5a639d0cfbc331c32515cc84 08-May-2014 Svetoslav <svetoslavganov@google.com> Teach print manager services about user profiles.

For user profiles the printing layer will have a separate state and
set a set of print plugins. The rationale behind this is that if a user
uses different profiles for different domains he would expect that
each domain is separate as domains may have different security and
privacy requirements.

bug:14567366

Change-Id: I461ae4636294fa8968785295afb952aeb14a13b5
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
cab8617b8ccea3a99b1ee15e15915c512a10c738 11-Feb-2014 Jeff Brown <jeffbrown@google.com> am 25df673b: am 1b51c9cb: Merge "Make SystemService constructor take a Context." into klp-modular-dev

* commit '25df673b849de374cf1de40250dfd8a48b7ac28b':
Make SystemService constructor take a Context.
b880d880c6cd989eacc28c365fc9a41d31900da1 11-Feb-2014 Jeff Brown <jeffbrown@google.com> 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
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
9f97de13359662c2709eed227b3fab2ce7d5dabc 06-Feb-2014 Adam Lesinski <adamlesinski@google.com> am a5a93f55: am 7f416631: Merge "Check feature bits before loading optional services" into klp-modular-dev

* commit 'a5a93f559d337ad5b79716b05ea43707eb779dc8':
Check feature bits before loading optional services
898c13df7b9b12ff10062f3542593e12fbe0c119 29-Jan-2014 Adam Lesinski <adamlesinski@google.com> Check feature bits before loading optional services

At startup, we check with PackageManager whether a system service is
available before attempting to load it. A system service is available
if its associated feature (similar to hardware features) is present.
This does not remove unavailable services from the compiled jar.

Change-Id: I13571805083aa4e65519a74acb52efd17b9fb3d7
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
e58a49e411327e26b6ad9939833f53c7fa5aef20 21-Dec-2013 Amith Yamasani <yamasani@google.com> Merge commit '817ec49e' into manualmerge

Conflicts:
services/print/java/com/android/server/print/PrintManagerService.java

Change-Id: I1b9bf364ca50ee3c48f53d87ae0ce23e7f3c2bc2
817ec49e7991d4cac50b2308cd7cf5f8641e1e29 20-Dec-2013 Amith Yamasani <yamasani@google.com> Wrap some services into a SystemService

These services can now be excluded by modifying the list of REQUIRED_SERVICES (TB renamed)

Changed appwidget, devicepolicy, backup and print services.

Change-Id: Id8e2855d5c045cd57bdb02dca9ed75172803bce7
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java
49782e46c0eb85a25ae2abcf80880c48dbab5aea 20-Dec-2013 Amith Yamasani <yamasani@google.com> am 9158825f: Move some system services to separate directories

* commit '9158825f9c41869689d6b1786d7c7aa8bdd524ce':
Move some system services to separate directories
9158825f9c41869689d6b1786d7c7aa8bdd524ce 22-Nov-2013 Amith Yamasani <yamasani@google.com> 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
/frameworks/base/services/print/java/com/android/server/print/PrintManagerService.java