4838 Commits

Author SHA1 Message Date
Svetoslav Ganov
32c5eb3bf8 Update the print job dialog and added notification assets.
1. Update the transition between the print job edit dialog and the
   generating print job dialog. Now the former shrinks into the
   latter.

2. Added most of the notification assets.

Change-Id: I84f35df5cb4f71b86a103c16ab87fd4d108b055b
2013-08-06 23:52:38 -07:00
Jeff Sharkey
1377be0fb6 Merge "Recents in create, uniform item layouts." 2013-08-07 01:18:02 +00:00
Jeff Sharkey
b156f4bf8c Recents in create, uniform item layouts.
Show recent directories in a separate fragment, and save as serialized
versions of new DirectoryStack. Cleaner behavior around recents and
search, instead of treating them as pseudo-Documents.

More uniform item layouts between list and grid, including both date
and size information, and originating storage root in recents. Avoid
clashing directory loaders by assigning unique numbers. Promote
list/grid switching up into activity.

Change-Id: I9a93460b896067ca036d7e772eeabde31face2e1
2013-08-06 18:16:21 -07:00
John Spurlock
166bc5b664 Merge "Introduce new transparent bars sysui flags." 2013-08-06 22:29:17 +00:00
Svetoslav Ganov
14db9654f6 Print UI polish (a.k.a. just the next iteration))
1. Added a dialog to show a spinner while the app is writing the
   printed content.

2. Fixed print job config acitivity leaking.

3. Updated the notifications a bit.

Change-Id: I8314390135a49605ee11ab4ed14b210a29566745
2013-08-06 15:07:17 -07:00
Dianne Hackborn
614b4c4cd4 Merge "Refactor ProcessStats, ProcessTracker." 2013-08-06 21:32:42 +00:00
Dianne Hackborn
d2932243e3 Refactor ProcessStats, ProcessTracker.
ProcessStats is now called ProcessCpuTracker.

ProcessTracker is now ProcessStatsService, and its inner State
class is broken out into a separate top-level ProcessStats class.
This ProcessStats is moved to the framework, so we will be able
to use it elsewhere.

Change-Id: I6a127bcb835b6b474b72647c0b99b82c2137e5c5
2013-08-06 13:54:07 -07:00
Jeff Sharkey
b3316ef798 Merge "Storage roots in fragment, sectioned." 2013-08-06 18:42:18 +00:00
Jeff Sharkey
66516697a2 Storage roots in fragment, sectioned.
Move storage roots into a fragment, since it's not a drawer on
tablets.  Cluster and sort roots when displaying.  SectionedListAdapter
to make clustered roots easier to manage.  Add docs for root types.

Move roots cache into separate class to make it easier to share.

Change-Id: Ia0b92eade059e816324641f600c08026c0e268c9
2013-08-06 11:38:46 -07:00
Alan Viverette
3ed2ba3e76 Merge "Avoid creating new objects when DateView updates time" 2013-08-06 18:18:06 +00:00
John Spurlock
e1f366faf8 Introduce new transparent bars sysui flags.
Two new public sysui flags for views to request transparent
bars:
  View.SYSTEM_UI_FLAG_TRANSPARENT_STATUS
  View.SYSTEM_UI_FLAG_TRANSPARENT_NAVIGATION

This first change simply introduces the flags at the framework
level, and makes the requisite layout tweaks to WM.

As part of this change, expunge the term "hideybars" from the
codebase. The flag to declare support for transient bars is called:
  View.SYSTEM_UI_FLAG_ALLOW_TRANSIENT

Final visuals/transitions between opaque/transparent bars will be
done as a subsequent change. Right now the transparent style is
identical to the transient bars.

Change-Id: I5ead9c5e7b77f212df5b2a5f6e770596cd2226f3
2013-08-06 14:17:22 -04:00
Jeff Sharkey
b87ec537fb Merge "More recents work; filtering and sorting." 2013-08-06 03:15:07 +00:00
Jeff Sharkey
ef7184a1aa More recents work; filtering and sorting.
Update DirectoryFragment to render List<Document>, making it more
general purpose.  Feed it documents either from a backend Cursor or
after resolving fields from a recents Cursor.  Start in recents when
no persisted stack available.  Synthesize a root for recents.

Local directory filtering and sorting using predicates and
comparators, all performed on background thread.  Introduce
UriDerivativeLoader which handles ContentObserver updates while
producing a derivative work of a Cursor.

Split data model classes into separate files.

Change-Id: Idb88b4ee22c58c8e508328e678877f7e4c978533
2013-08-05 20:14:12 -07:00
Wink Saville
1280395539 am 9fe49fc5: am 523db46f: Merge "Set subscription_mode in the database to a default value"
* commit '9fe49fc56ef39facf7b3be5f66256bd15a87961f':
  Set subscription_mode in the database to a default value
2013-08-05 17:23:01 -07:00
David Christie
c90896a602 Revert icon changes in "Modify quicksettings to have new location behavior." (b/10184973)
This reverts icon changes in commit 03ed0127dae141d99b003ede9ba3ea937128e471.

Change-Id: I78e3af4a745dd4f182369edd9df9c296854e7762
2013-08-05 14:36:58 -07:00
Baligh Uddin
117d23f0fe Merge "Import translations. DO NOT MERGE" 2013-08-05 19:55:19 +00:00
Svetoslav Ganov
78804fc6d8 Merge "Disable print dialog spinners if there is only one option." 2013-08-05 18:28:36 +00:00
Svetoslav Ganov
55b5f8028a Disable print dialog spinners if there is only one option.
Change-Id: Ic9a46c737b592aeb6f78c962a7f9d53391a2b164
2013-08-05 11:26:16 -07:00
Baligh Uddin
ec4d2aa50d Import translations. DO NOT MERGE
Change-Id: I0799c647e037d672f16c11d39489926a4938e71f
Auto-generated-cl: translation import
2013-08-05 09:47:33 -07:00
John Spurlock
32230ef4e6 Merge "Collapse/disable shade when hiding status bar window." 2013-08-05 13:18:54 +00:00
Svetoslav Ganov
7bb1be4ba9 Merge "Polish the print spooler loading of stored print jobs." 2013-08-05 04:08:46 +00:00
Svetoslav Ganov
835835ee6f Polish the print spooler loading of stored print jobs.
1. The singleton print spooler isntance is created when the print spooler
   service gets a connection to the system and is destroyed when this
   connection is removed. Note that if the spooler has work, then the
   connection to the system will not be removed.

   When the spooler is created, it reads the stored state and notifies the
   system which in turn dispatches this to the print services.

   When the system connects to the spooler and passes it a connection, we
   schedule a delayed check whether there is work for the spooler. We do
   not handle this immediately to avoid intermitted spinning on and off
   of the spooler process if a client makes a sequence of queries while
   the spooler has really no work.

2. Fixed a bug in the NotificationManagerService where adding a notification
   and removing it immediately after that does not remove the notification.
   The code that is adding a notification is run on a handler thread while
   the code to remove it on the calling thread. This creates a race and
   erroneous results. Now the removal is also scheduled on the handler.

3. Many small fixes here and there.

Change-Id: I6415c253139fa6616393fbe23c659d031a29e1f6
2013-08-04 20:45:10 -07:00
Jeff Sharkey
cf9d87c688 Merge "Track and persist directory stacks; recents work." 2013-08-03 00:43:00 +00:00
Jeff Sharkey
dc2963aeca Track and persist directory stacks; recents work.
Move to manual tracking of directory navigation stack so we have Uri
data to persist, instead of opaque fragment backstack.  Remember
directory stacks across launches on a per-app basis.

Start recording recently opened and created files.  Uniform Uri
parameter extraction utility methods in contract.

Change-Id: I79ed30ee10272bf7c53d339e797639c993f649bb
2013-08-02 17:39:38 -07:00
Svetoslav Ganov
bb9b300787 Merge " First cut of the print notifications." 2013-08-02 21:24:38 +00:00
Svetoslav Ganov
4d79d7821d Merge "Revert "ssss"" 2013-08-02 21:22:59 +00:00
Svetoslav Ganov
8c43376ea8 First cut of the print notifications.
1. Added notifications for a queued print job, for a started print job,
       for ongoing canceling a print job, and for a failed print job. The
       notifications for queued and started state have a cancel action. The
       notification for failed print job has a cancel and a restart action.

    2. Propagating failure message from the print service to the notifications.

    3. PrintJobConfigActivity was not setting the initial value for the
       print job copies and was not updating the UI immediately after creation.

    4. Refactored PrintJobConfigActivity to avoid using the hack to avoid
       reaction for item selection change in a spinner for an event that
       happened before the callback was registered.

    5. Removed the label attribute from PrinterInfo and now PrinterId is
       composed of the printer name and the service component name. This
       is nice since for restarting print jobs we do not need to store
       information about the printer except the printer id which is
       already part of the PrintJobInfo's data. Also the printer name
       is not expected to change anyway.

    6. Allowing cancellation of a queued print job. Also no print job is
       cancelled without asking the managing print service to do that.
       Before we were immediately canceling print jobs in queued state
       but it was possible for a buggy print service to not set the
       print job state to started before starting to do expensive work
       that will not be canceled.

    7. PrintServiceInfo was throwing an exception the the meta-data
       XML for the print service was not well-formed which would crash
       the system process. Now we just ignore not well-formed meta-data.

    8. Removed unused permissions from the PrintSpooler's manifest.

Change-Id: Iba2dd14b487f56e137b90d1da17c3033422ab5e6
2013-08-02 14:22:22 -07:00
Svetoslav Ganov
e67b5e314f Revert "ssss"
This reverts commit 650f0ee31bbd2a23dc64b60caba3a52e7665398c.

Change-Id: Iae83ca6ccb7feccb74069bf09cfb3150c03ec710
2013-08-02 21:19:37 +00:00
Svetoslav Ganov
d347168f50 Merge "ssss" 2013-08-02 21:15:36 +00:00
Svetoslav Ganov
650f0ee31b ssss
Change-Id: I001c2ae5bc6caeac7e1a2223e221be69f6e6cb6c
2013-08-02 13:31:20 -07:00
David Christie
03ed0127da Modify quicksettings to have new location behavior.
Location tile is always present, and long pressing
toggles the master location enabled switch.

Change-Id: I54d5ccaa3b04e14ebebd68f5fafa8e65311debb4
2013-08-02 13:10:10 -07:00
Jeff Sharkey
aaabfe9587 Merge "Reference docs by ROOT_ID and DOC_ID; recents." 2013-08-02 18:10:09 +00:00
Jeff Sharkey
92d7e697a8 Reference docs by ROOT_ID and DOC_ID; recents.
The same document may be present with different sematics under
multiple storage roots, so always reference using both ROOT_ID and
DOC_ID.  This enables backends to revoke permissions for an entire
root, such as when an account is removed.

Start building provider to remember recently accessed documents.

Change-Id: I75befa2e61393dec12fcc7fd27f631fcddae46fa
2013-08-02 11:05:11 -07:00
Baligh Uddin
7342c66afc Merge "Import translations. DO NOT MERGE" 2013-08-02 16:29:12 +00:00
Baligh Uddin
60840d3858 Merge "Import translations. DO NOT MERGE" 2013-08-02 16:28:13 +00:00
Baligh Uddin
b44d75af38 Merge "Import translations. DO NOT MERGE" 2013-08-02 16:26:15 +00:00
Naveen Kalla
b4d485c184 Set subscription_mode in the database to a default value
If ro.telephony.default_cdma_sub is set, use that to set the
default CDMA subscription source in the database. If that is not set
use the default preferred value defined in the source code.

Change-Id: I11fff596a5fe721c64f192c889672326517dc43d
2013-08-01 18:03:42 -07:00
Jeff Sharkey
7e258b31e7 XML metadata for storage backend; custom icons.
Introduce XML metadata for storage backends, used to indicate if
custom roots should be queried, and provide any custom MIME type
icons inside that backend.

Parse metadata and resolve custom icons in UI.

Change-Id: Iec026c0b10845edff7a345d9389691ddf2c87a0e
2013-08-01 11:34:56 -07:00
Baligh Uddin
f310fb8e3d Import translations. DO NOT MERGE
Change-Id: I400da658acf872787f81dc223a4c3cf40ceb2f50
Auto-generated-cl: translation import
2013-08-01 10:55:36 -07:00
Baligh Uddin
b291b5e0b7 Import translations. DO NOT MERGE
Change-Id: I412cb6d16cfd7efb9befa89fbaaf46aba6839b46
Auto-generated-cl: translation import
2013-08-01 10:54:29 -07:00
Baligh Uddin
8a2fc1da30 Import translations. DO NOT MERGE
Change-Id: I521eae27b6864e350d4a81c669b5ada426f150dc
Auto-generated-cl: translation import
2013-08-01 10:24:34 -07:00
Jeff Sharkey
f4b6daf0ae Merge "Sliding drawer for roots, move sorting, search." 2013-08-01 04:05:52 +00:00
Jeff Sharkey
bc2971d249 Sliding drawer for roots, move sorting, search.
Move backend root exploration into sliding drawer, and adjust action
bar when moving between modes.  Moves sorting into action bar spinner
instead of separate dialog.  Also add initial search support.

Change-Id: I70189911ba56ae6bd93d5c503a8600acd6d6c0c5
2013-07-31 21:03:09 -07:00
Svetoslav Ganov
53672be110 Merge "Iteration of the print sub-system." 2013-08-01 02:16:20 +00:00
Svetoslav Ganov
55b409a97c Iteration of the print sub-system.
1. Added APIs for adding partially initialized PrintInfo objects
   enabling light-weight lookps for print serivces that want to
   populate the list of available printers without querying each
   of them for its capabilities. This includes APIs for the system
   to request from a print service to update certain printers.

2. Fixed a bug in PrinterId#equals().

3. Added equals and hasCode implementaion to PrinterInfo. Also
   the defaul in PrinterInfo are now an array instead of a
   SparseArray - cheaper.

4. Now PrintJobConfigActivity works with partially specified
   printers. Specifically, if such a printer is selected the
   activity is requesting from the print service to update
   the printer. We are currently not handling the timeout case.
   It also handles udpated pritners.

Change-Id: I5e83e924ef597c9e22cbd06a971d4f4d3bd3a9c1
2013-07-31 18:59:53 -07:00
Svetoslav Ganov
9f1ef00265 Merge "Iteration on the print sub-system." 2013-08-01 00:13:44 +00:00
John Spurlock
9764218ff9 Collapse/disable shade when hiding status bar window.
Provide system bar window visibility (showing/hiding) to sysui,
information it did not have before.

Use this new info to disable shade interaction when bars are hiding.

Bug: 8682123
Change-Id: I4105b789866f847582af1c68a703240d773fa71e
2013-07-31 14:54:03 -04:00
Jeff Sharkey
a1510c9849 Merge "Define storage roots, external GUIDs, creation." 2013-07-31 06:00:35 +00:00
Jeff Sharkey
20d96d8aff Define storage roots, external GUIDs, creation.
Allow storage backends to publish multiple roots into the UI, which
are defined by a directory GUID, type, and label details.  Update
external provider to surface a primary external storage root, and
switch to burning file path into the returned GUIDs so they remain
durable.

Added insert, update, and delete support to external provider. Adds
file extensions to display names when needed to match MIME type.

Add flags for searching and deletion, and extras for Cursor
pagination. Add directory creation dialog to UI. Opening a document
always gives write access.

Change-Id: I9bea1aa0dcde909a5ab86aefeece7451ab920cf1
2013-07-30 22:55:23 -07:00
Svetoslav Ganov
85b1f88305 Iteration on the print sub-system.
1.  API changes: Moved copies API from PrintAttributes to PrintJobInfo;
    Changed the PageRange list to an array in PrintDocumentAdapter#onWrite;
    Added onCancelled method to the layout and write callbacks.

2.  Refactored the serialization of remote layout and write commands. Now
    the commands are serialized by the code in the client instead in the spooler.
    The benefit is simple code since the client has to do a serialization to delegate
    to the main thread anyway. The increased IPC found is fine since these calls
    are quite unfrequent.

3.  Removed an unused file: IPrintSpoolerObserver.aidl

4.  Added equals and hasCode implementation to PageRange, PrintAttributes,
    MediaSize, Resolution, Margins, Tray, PrintDocumentInfo.

5.  Added shortcut path for query APIs on PrintJob that return cached values
    if the print job is in a uncuttable state, i.e. completed or cancelled. Failed
    print jobs can be restarted.

6.  PrintJobInfo was not properly serialized.

7.  Updated the look of the print dialog to be stable if there is and there isn't
    currently selected printer.

8.  PrintJobCOnfigActivity now calls onLayout on every print attributes change
    but requests a write only on print preview or print button press. Also if the
    layout did not change the content and it is already written no subsequent
    call is made. Also if the selected pages change and we already have them
    no subsequent call to write is made. Also the app is called with print preview
    attribute set when performing layout and with it cleared after the print button
    is pressed. A lot of changes making sure that only valid actions are enabled
    in the activity (looks like a dialog) at a given time frame. The print job config
    activity is also hidden after we got all the data, i.e. layout and write are done.

9.  The callback from the print spooler to the system are scheduled via messages
    to avoid lock being held during the call. It was hard to guarantee that since a
    method holding a lock may be calling one that would like to release the lock
    at some point to make the callbacks.

10. Print spooler state is persisted only if something changes in a completed
    print job, i.e. not one that is being constructed due the print job config dialog.

11. Fixed a potential race in the RemotePrintSpooler where it was possible that
    a client that got a handle to the remote spooler calls into an unbound spooler.
    E.g: the client gets the remote interface with a lock held, now the client releases
    the lock to avoid IPC with a lock, during the IPC scheduling the spooler has
    notified the system that it is done and the system unbinds from it, now the
    client's IPC is made to a spooler that is disconnected.

Change-Id: Ie9c42255940a27ecaed21a4d326a663a4788ac9d
2013-07-30 17:15:11 -07:00