1. Implemented the persistence and restoring of the print spooler state.
The print spooler state is saved as an XML on every print job change
and is restored when we bind to the spooler. The system does not
unbind from the spooler until the state persistence completes. We
are now storing the entire state, i.e. all print jobs, when a single
one changes. This is not optimal but we are not expecting to have
many such at the same time, so for now we err for simplicity of
implementation.
2. Enforcing a non-empty print job name.
3. Hidden the STATE_CREATED print job state which should never be visible to a
client since this is the state of a print job during construction, i.e. the
print dialog is up and we are doing back and forth with the app.
4. Fixed some PrintAttributes APIs that were incorrectly taking in a PackageManager
instance.
5. Updated the PrintSpooler build file due to splitting the framework into multiple
jars.
Change-Id: I52c88eaa1ec9c64920359cc143c79832a4c3d25b
This reduces the size of the security area slightly to give
the widget more room.
Fixes bug 9642579
Change-Id: I58b861def932450901b17d6df74958dde8207769
1. Adding bundle with metadata to PrintDocumentAdapter#onLayout
with one key for now to specify whether this is for a preview.
2. Cleaned up docs.
Change-Id: I89380781bf3ae41aa89f8a0347d74516a210394c
1. Fixed a case in which the onPrintCompleted callback may not be invoked.
2. Added string resulrces for the different error messages for failed
printing in OnPrintCompletedCallback
3. Fixed the string comments for the MediaSize constants.
4. Added APIs to create certain print attributes by passing in a
string label instead of resource and package name since in some cases
a print service may be getting already internationalized lables
or it may not know all possible values.
5. Fixed a crash in PrintJobConfigActivity if there is no input or
output tray.
Change-Id: Ie877b7dc669051606394aa290e6d2b979a42db4c
1. Now a user state has ins own spooler since the spooler app is
running per user. The user state registers an observer for the state
of the spooler to get information needed to orchestrate unbinding
from print serivces that have no work and eventually unbinding from
the spooler when all no service has any work.
2. Abstracted a remote print service from the perspective of the system
in a class that is transparently managing binding and unbinding to
the remote instance.
3. Abstracted the remote print spooler to transparently manage binding
and unbinding to the remote instance when there is work and when
there is no work, respectively.
4. Cleaned up the print document adapter (ex-PrintAdapter) APIs to
enable implementing the all callbacks on a thread of choice. If
the document is really small, using the main thread makes sense.
Now if an app that does not need the UI state to layout the printed
content, it can schedule all the work for allocating resources, laying
out, writing, and releasing resources on a dedicated thread.
5. Added info class for the printed document that is now propagated
the the print services. A print service gets an instance of a
new document class that encapsulates the document info and a method
to access the document's data.
6. Added APIs for describing the type of a document to the new document
info class. This allows a print service to do smarts based on the
doc type. For now we have only photo and document types.
7. Renamed the systemReady method for system services that implement
it with different semantics to systemRunning. Such methods assume
the the service can run third-party code which is not the same as
systemReady.
8. Cleaned up the print job configuration activity.
9. Sigh... code clean up here and there. Factoring out classes to
improve readability.
Change-Id: I637ba28412793166cbf519273fdf022241159a92
inflateViews() and updateNotification() reference the same objects
with different names, and it was confusing. #cleanup
Bug: 6497005
Change-Id: I0d9a94d7ec156b6bfcf4b85c777f9b58311d07d0
1. re-name intruder alerts to heads up notifications
2. use interrupt for the verb form, instead of intrude
3. new policy: no full screen, high priority, screen on, not locked or dreaming
4. controlled by global setting, with an observer
5. only content view for now, expandable is a todo
to turn it on:
adb shell settings put global heads_up_enabled 1
calendar notifications (not pop-up) work well.
Change-Id: I253418c217d0a5cf81dc2fa001f4bad90fafcce5
This change fixes a TODO to fix the behavior that the quick settings directly specifies a class of AOSP desk clock.
Currently the quick settings can't work with other alarm clocks and that's fixed by calling "android.intent.action.SET_ALARM" instead.
Change-Id: I028b8a320e945921c096fdc776b52441e7d07202
Extract mode information into DisplayState which is now consistent
across directory traversal. Use grid mode by default when working
with images. Dialog to switch sort order.
Add testing UI to exercise until we have real clients.
Change-Id: Ic423584d4559732fb3d2aea9e0406b57d43f6e6d
When caller has specified that multiple documents are okay, enable
multi-select action mode. Currently only allows document selection,
not directories. Returns multiple documents through ClipData.
Fix bug where GridView was stuck with 2 columns on tablets.
Change-Id: Id49b29a86330639b56fa116d37e7f0d874980c5b
Support both grid and list view of documents. Show breadcrumb
navigation trail in action bar. Start supporting file and directory
creation.
Change-Id: I93a973da7b0d4387a57fe719e7bb20944adb0290
ro.telephony.default_network can be set if needed to set a different
value for LTE+CDMA. No need to hardcode preferred network mode in the source code.
Change-Id: Iae65f72a6a3bc31d500c5ecec87368a6f2a5d117