72 Commits

Author SHA1 Message Date
Daniel Sandler
bd9cafa433 Dreams/Sleep Mode is now Daydreams.
Bug: 7395321
Change-Id: I3173cd9205df94217911a2d432d1be1db9e3d539
2012-10-23 01:21:33 -04:00
Michael Jurka
e9687ba8bd Merge "Fixing wallpaper flash when going in/out of Recents" into jb-mr1-dev 2012-10-19 09:06:49 -07:00
Michael Jurka
738cfc9105 Fixing wallpaper flash when going in/out of Recents
Bug: 7372516
Bug: 7216872

Change-Id: I2a2308a85caf9f2ad2d382c709e5f8867bd060be
2012-10-19 16:58:50 +02:00
Michael Jurka
80343f646f Fix recents animations for secondary users
Bug: 7361640

Change-Id: Ibd177bf01758fb8706b82dcf3bf234e052c38aa3
2012-10-19 16:50:29 +02:00
Casey Burkhardt
d7059dfb9b Properly label RecentsActivity for accessibility.
Bug: 7229886

Change-Id: I440c7e9b9ef3272e287d5d4d58bcfc0e8d0735ac
2012-10-09 17:53:21 -07:00
Daniel Sandler
af3f32d9a4 New icon for "Sleep now."
Should only be shown in the docking intent chooser, but if
you use AnyCut to link to the Somnambulator you'll see it
there as well.

Bug: 7267723
Change-Id: I4be7572e4785f35b4ac1ad91d03a617d5d2fe3c1
2012-10-07 15:03:42 -04:00
Daniel Sandler
7aa88f7aad Remove Start Dreaming^W^W Sleep Now 1x1 widget.
If you need its functionality for testing:

  $ adb shell am start -n com.android.systemui/.Somnambulator

Bug: 7267723
Change-Id: I9e0dd9d020e251d1ced4377329436ea46c3a8af5
2012-10-04 15:03:22 -04:00
Dianne Hackborn
be87e2f588 Fix issue #7255954: API Review: rename Dream to DreamService
Change-Id: I89ecf2c3ec4fef09c0495aa68de11576f9cfd872
2012-09-28 17:42:39 -07:00
Dianne Hackborn
3ff8e1a800 Merge "Fix issue #7211769 and #7244492, thrash around on #7226656." into jb-mr1-dev 2012-09-28 15:54:44 -07:00
Dianne Hackborn
d4ac8d7b3d Fix issue #7211769 and #7244492, thrash around on #7226656.
Issue #7211769: Crash dialog from background user has non-working "report"

The report button now launches the issue reporter for the correct user.
Also for crashes on background users, either disable the report button,
or simply don't show the dialog depending on the build config.

Issue #7244492: Bugreport button in Quick Settings doesn't actually do anything

Now they do.

Issue #7226656: second user seeing primary user's apps

I haven't had any success at reproducing this.  I have tried to tighten up
the path where we create the user to ensure nothing could cause the
user's applications to be accessed before the user it fully created and thus
make them installed...  but I can't convince myself that is the actual problem.

Also tightened up the user switch code to use forground broadcasts for all
of the updates about the switch (since this is really a foreground operation),
added a facility to have BOOT_COMPELTED broadcasts not get launched for
secondary users and use that on a few key system receivers, fixed some debug
output.

Change-Id: Iadf8f8e4878a86def2e495e9d0dc40c4fb347021
2012-09-28 15:37:22 -07:00
Daniel Sandler
3a12029a3b Add the SystemUI's dream-starter as a DESK_DOCK app.
The circle is complete: dock mode is back, and it will
launch Dreams by default.

Bug: 7163049
Change-Id: I3c681ac701d65b03f882d92d06389d4528e34747
2012-09-28 11:41:41 -04:00
Jeff Sharkey
65c4a2b26c Multi-user ringtone playback.
Change RingtonePlayer to open content:// Uris based on requesting
UserHandle.  Grant SystemUI visibility to all emulated storage so
it can play ringtones for apps without READ_EXTERNAL_STORAGE.

Resolve canonical file:// Uris before passing out of source app,
replacing any /emulated_legacy/-style paths with user-specific
variant so they can be opened by SystemUI.  Calling for RemoteViews,
Ringtones, and Notifications.

Bug: 7202982
Change-Id: Ibf0eca8df80c1486711144a7b648f464aadfe099
2012-09-26 10:49:35 -07:00
John Spurlock
f4f6b4c8b0 Fire "dreaming started" and "dreaming stopped" broadcasts.
Dream manager now fires broadcast intents when entering + exiting
dreamland (except when testing).

Power manager can now listen for dreams ending, using polling only
as a backstop.

Also:
 - Bullet-proof dream-manager/dream against known failure modes
 - Add new read/write dream permissions
 - Refactor dream-manager to delegate work + state management into
   a new DreamController class, via a handler

Bug:6999949
Bug:7152024
Change-Id: I986bb7812209d8c95ae1d660a5eee5998a7b08b1
2012-09-19 17:36:50 -04:00
Winson Chung
08b1cc8475 Fixing issue with Airplane Mode. (Bug 7141144)
Change-Id: I83e2bdd5e8b0e0c732e8d46c47f8619daa0c7c02
2012-09-11 10:01:24 -07:00
Jeff Brown
508257bdfc Add skeleton Wifi-Display tile in QS.
Pop up a little dialog when the tile is touched with options
to connect, scan and disconnect.

Change-Id: Ic9e28344899310692ace36c322974df175f82e08
2012-09-08 23:15:12 -07:00
Winson Chung
d63c597865 Initial changes to add QuickSettings.
Change-Id: If510f74d6046929e5e8a794c6dc2fddb15a03d6b
2012-09-08 15:55:31 -07:00
Daniel Sandler
32f6fd55b1 New "Start dreams" launcher shortcut.
Change-Id: Ice46fc8b99dae615e421ccf4eb6ca6f2a76cbe5f
2012-09-06 11:52:10 -04:00
Daniel Sandler
0bcf4adcde Only show the BeanFlinger screensaver to the worthy.
(That is: you must have discovered the flying-jellybeans
easter egg to gain permanent access to the Dreams version of
same.)

Change-Id: I65ce39c0ab5b61f492a3637e3c31b3c91f4f0f89
2012-08-31 16:18:31 -04:00
John Spurlock
f07439fba4 Beans in space.
Quick example dream reusing the JB bean bag view.

Change-Id: Iad3ecedc9ba2c258bd33fcfbba2e3fc48382bdc8
2012-08-25 13:25:37 -04:00
Michael Jurka
cb2522c86d Recents: apps scale down to thumbnails now
As a part of this change, Recents is now an
activity.

Known issues:
* Jank: jump-cut as app icon appears suddenly
  after the aniamtion
* Preloading recents is broken on phones without
  soft nav bar and on tablets
* Thumbnail window from animation lingers/flashes
  sometimes

Change-Id: Ie6f991f3c2e1e67f9ed84eb6adba9174ed957248
2012-08-23 04:53:53 -07:00
Benoit Goby
4e68bd420b Add UsbDebuggingManager and UsbDebuggingActivity
The UsbDebuggingManager listens to adbd requests and displays a dialog
when the public key authentification fails, for the user to confirm if it
wants to allow USB debugging from the attached host. If the user chooses
to always allow USB debugging, the UsbDebuggingManager writes the public
key to adbd's config file so that the public key authenfication succeeds
next time.

Change-Id: I115c828331d8e326c380844ee33915d5dff22260
2012-08-20 13:44:34 -07:00
Amith Yamasani
2a00329c6d UserHandle to UserSerialNo mapping
Use AtomicFile for usermanager files.

Added a MANAGE_USERS permission that apps (signature permission) can use
to create/query/modify/remove users.

Change-Id: I5cf232232d0539e7508df8ec9b216e29c2351cd9
2012-08-17 09:06:10 -07:00
Daniel Sandler
b9301c3a68 Multiuser support for notifications, take 1.
Notifications for background users are hidden from the
panel and status bar.

Still need to add a concept of "any user" notifications (for
things coming from the system) and notification visibility
controls (for access to icons + possibly masked text of
a background user's notifications).

Change-Id: Iba121f35a6c25c2e1c44db029d776a5a59a6a008
2012-08-15 23:00:56 -04:00
Amith Yamasani
8264408f59 Start the correct settings from the status bar.
Added a new method to Context: startActivityAsUser() requiring the
INTERACT_ACROSS_USERS_FULL permission.

Show the correct Recents list, based on current user.
Added a getRecentTasksForUser() in ActivityManager. Hidden and requires
the INTERACT_ACROSS_USERS_FULL permission.

Change-Id: If5b56465efdd3ead36601a3b51ed4af157bbf35c
2012-08-08 16:52:53 -07:00
Daniel Sandler
cb1aec3403 Remove old unused DreamsDockLauncher.
Bug: 6802065
Change-Id: I403b02ca7c78bb90eed712b3b6f846a4a6d68f8b
2012-07-25 11:00:49 -04:00
Daniel Sandler
aa0a3b6923 Stop animating when not showing.
We were eating too many jelly beans even when the screen was
off.

Also clean up touch offsets, rotation on fling, and main
platlogo asset.

Bug: 6541052
Change-Id: I34e49b8b7a95ce6daab929885130426a5ae58dc4
2012-05-23 01:38:26 -04:00
Jim Miller
64fffadf00 Fix 6398209: Re-enable vibrate for search gesture.
Change-Id: Iabcfa21aae05fa55ec3fdc76eeed76577b962de5
2012-05-17 17:01:15 -07:00
Daniel Sandler
1a0c9145dc Ice cream is SO over.
Change-Id: I4039b7fe41dc4a498d53e21dbcafb2bc2ac15b92
2012-05-10 11:25:34 -04:00
Daniel Sandler
0f5985c1da Add MASTER_CLEAR perm to SystemUI for SD card formatting.
Bug: 6422105
Change-Id: Ic6e2aef5f6cdc14c2bace54ddfce1181bf8bdef3
2012-05-01 15:43:32 -04:00
Jeff Sharkey
e6b6533811 Add permission for NetworkOverLimitActivity.
Bug: 6421080
Change-Id: Icefdf3da7a4a421d27aa1449ac01ea8ae1451d49
2012-04-30 17:15:36 -07:00
Jeff Sharkey
098d580cc2 Migrate ringtone playback to SystemUI.
Introduce IRingtonePlayer, which handles playback for both Ringtone
objects and Notifications. SystemUI now hosts this player, which it
registers with AudioService. It also keeps MediaPlayer instances
warm, and cleans them up after stop() or Binder death.

Move both Ringtone and NotificationManagerService to play back audio
through this new interface.

Bug: 6376128, 6350773
Change-Id: I1dcb86d16ee3c4f07cdb2248d33dcff4ead3609a
2012-04-27 14:15:05 -07:00
Jeff Sharkey
442456a698 Merge "Permission to show battery alert windows." 2012-04-24 16:14:46 -07:00
Jeff Sharkey
af772be33c Permission to show battery alert windows.
Bug: 6388558
Change-Id: Icf584b6bc62616a395ac14a577d98ea1daaed0e4
2012-04-24 16:13:17 -07:00
Dianne Hackborn
8238e717df Add new signature-level permission to get details of tasks.
Third party apps now can't get access to the extras of the
intents associated with tasks, to keep private data in them
from leaking out.

Change-Id: I95af9e181ac42557bc8b981807e7ddd266a88d0e
2012-04-24 14:27:02 -07:00
Jeff Sharkey
81d94335fb Grant external storage permissions to SystemUI.
Used for taking screenshots and playing notification ringtones.

Bug: 6381589
Change-Id: Ib1a5ad17edbeab984bbab25168d81eb99deba952
2012-04-23 13:32:00 -07:00
Jeff Sharkey
35be756030 Move SystemUI out of system UID.
Add permissions for various things it pokes.  Create new permission
to control launching non-exported activities from recents.  Hidden
API to relax WallpaperService checks.

Change-Id: I547fdcd7c213dd153ae101533ce7c56cd8f86a0d
2012-04-19 11:54:34 -07:00
Adam Powell
8c54182f0b Merge "Fix bug 5614962 - Constant spinning wheel in USB Mass Storage screen (UX)" into ics-mr1 2011-11-17 19:44:14 -08:00
Adam Powell
c992087d09 Fix bug 5614962 - Constant spinning wheel in USB Mass Storage screen (UX)
Disable the window-level progress spinner; another is already shown while
connecting.

Use the correct Settings icon for SystemUI.

Specify the activity title for the USB mass storage screen in the
manifest to avoid title flashing during startup.

Change-Id: Ic57af56bf1661a5eaa91fff77471dc8447340d16
2011-11-17 18:01:07 -08:00
Daniel Sandler
532a0bbfa4 Activate Dreams (screen saver) when desk-docked.
SystemUI's DreamsDockLauncher now responds to low-level dock
events (Intent.ACTION_DOCK_EVENT) by immediately invoking
the user's selected screen saver.

(The high-level DESK_DOCK behavior is no longer enabled; see
change I7884f65.)

Bug: 5591015
Change-Id: I01a9bc6b181d55493f891ccc220631ddc461808a
2011-11-16 11:34:09 -08:00
Daniel Sandler
c224f76303 Add a default Dreams component.
Currently set to DeskClock's screensaver, but since it's a
(private) string in f/b/c/r/r/values/config.xml any product
could overlay this.

Bug: 5611008
Change-Id: I7a4623c9c667a6cff8ed80ad600a8a4460bfafb7
2011-11-15 22:55:03 -08:00
Daniel Sandler
221733a45a Offer the user an option to launch Dreams when docked.
SystemUI now registers for DESK_DOCK launches, so users with
other dock apps installed can still opt to use those in this
new regime.

(Part of migrating users away from DeskClock as the dock app.)

Bug: 3155234
Change-Id: I0da0f04f8a0a89e7d237c092f16f4f27eb88c92c
2011-11-04 15:15:41 -04:00
Daniel Sandler
5f839f8ee4 Fix obsolete Honeycomb platlogo.
Bug: 5438131
Change-Id: I848bcc8e4d6cdd28c1ffaa08b7fcceb87242932a
2011-10-12 10:48:05 -04:00
Dianne Hackborn
d2509fd835 Add boot mode where only "core apps" are started.
A core app is one that has coreApp="true" in its manifest tag.

The system can successfully boot (though a little painfully) with
only framework-res.apk, SettingsProvider.apk, SystemUI.apk,
DefaultContainerService.apk, and Launcher2.apk set as core apps.

Currently this boot mode is always turned off.

Change-Id: Ieaa4a8031c2c391a12996aa8d8b1d65fc2b09d6b
2011-09-12 12:29:43 -07:00
Dianne Hackborn
fc8fa63861 Fix issue #5128639: SystemUI grows by 10MB after taking a screenshot
We now do the screenshot in a separate process.

Also change the recents panel to not use hardware acceleration
on lower-end devices.  And improve how it gets shown to not
load all data up-front which results in a long delay when you have
lots of recents.

Change-Id: Ia309a90f9939e5405758621b3f7114597bd0c02a
2011-08-17 17:45:05 -07:00
Dianne Hackborn
ba39839444 Move ImageWallpaper to SystemUI process.
Nice to not load 4MB bitmaps in the system process.

Also, hey, with how we are now scrolling the surface instead of
the bitmap, there is no reason to keep that 4MB bitmap loaded in
to memory.  So don't.

Unfortunately it looks like for some reason the VM is still
holding on to the bitmap.  I'll need to figure out why.  Later.

Change-Id: Ib3503756144502fc5c8d5e294248c2417c4fe8c8
2011-08-01 17:55:54 -07:00
Christopher Tate
2efd2dbbac Support full-backup encryption and global backup password
If the user has supplied a backup password in Settings, that password
is validated during the full backup process and is used as an encryption
key for encoding the backed-up data itself.  This is the fundamental
mechanism whereby users can secure their data even against malicious
parties getting physical unlocked access to their device.

Technically the user-supplied password is not used as the encryption
key for the backed-up data itself.  What is actually done is that a
random key is generated to use as the raw encryption key.  THAT key,
in turn, is encrypted with the user-supplied password (after random
salting and key expansion with PBKDF2).  The encrypted master key
and a checksum are stored in the backup header.  At restore time,
the user supplies their password, which allows the system to decrypt
the master key, which in turn allows the decryption of the backup
data itself.

The checksum is part of the archive in order to permit validation
of the user-supplied password.  The checksum is the result of running
the user-supplied password through PBKDF2 with a randomly selected
salt.  At restore time, the proposed password is run through PBKDF2
with the salt described by the archive header.  If the result does
not match the archive's stated checksum, then the user has supplied
the wrong decryption password.

Also, suppress backup consideration for a few packages whose
data is either nonexistent or inapplicable across devices or
factory reset operations.

Bug 4901637

Change-Id: Id0cc9d0fdfc046602b129f273d48e23b7a14df36
2011-07-28 16:01:20 -07:00
Jeff Sharkey
41ff7ec824 Revise data limit notifs, watch kernel alerts.
Teach NetworkPolicy limits to "snooze" when requested by user, and
notify with both dialog and notification.  Register for network alerts
through NMS to trigger updates immediately instead of waiting for
next stats update.

Enforce that all NetworkPolicy are unique on a template basis, and
move SCREEN_ON/OFF broadcasts to background thread.  Launch SystemUI
and Settings directly instead of using actions, and include full
NetworkTemplate in extras.

Tests to verify notification and snooze behavior.

Bug: 5057979, 5023579, 4723336, 5045721
Change-Id: I03724beff94a7c0547cb5220431ba8d4cd44d077
2011-07-27 09:31:39 -07:00
Dianne Hackborn
45ce864ef4 Move LoadAverageService to the SystemUI apk.
Change-Id: I442e264802d1e35cd7d27bae121ae75f932595b6
2011-07-14 16:10:16 -07:00
Mike Lockwood
3ac588b09a Revert "USB connected notification and temporary USB options dialog"
This reverts commit 5787a2d5b4e5bd60087eb7fbb13c97c7d0ba113e.

Change-Id: Ia5f097ffaa3798a42f71d005cffd5007556882d5
2011-07-02 22:07:25 -04:00
Winson Chung
9112ec3039 Binding Pwr+VolDown to take screenshot.
Change-Id: I77b018538f6bc870f59df0b5336ba95f4582beec
2011-07-01 10:47:07 -07:00