1867 Commits

Author SHA1 Message Date
Kenny Root
8b0af62799 Merge "Move forward lock utilities to PackageHelper" 2012-04-20 16:10:45 -07:00
Kenny Root
2782a478d0 Move forward lock utilities to PackageHelper
The forward lock utilities will need to be called from
DefaultContainerService for ASEC packages in the future. Move them to
PackageHelper to aid in the transition.

Also move the public resource copying to the FileInstallArgs step which
makes a little bit more sense.

Change-Id: I3a62ac817719db3ee1c89c106a551dcbe9c44744
2012-04-20 14:40:03 -07:00
Dianne Hackborn
e1a996e99d Merge "Move handling of package changes to a background thread." 2012-04-20 13:44:43 -07:00
Martijn Coenen
e81e3a4f85 Merge "Added NFC disable during phone shutdown" 2012-04-20 13:05:04 -07:00
Sunil Jogi
3bba8d0457 Added NFC disable during phone shutdown
NFC was not disabled/deinitialized when phone shutdown. This patch
add NFC disable on phone shutdown which can complete any pending
NFC transaction before phone shutdown.

Change-Id: Id1e604be7c34adec8623a1e526d8ff99e18bf74b
2012-04-20 12:11:57 -07:00
Chris Wren
d84e593746 fix press feedback on notification rows
Change-Id: I50de2f4d6142c2553428abc853c820f4354d0640
Bug: 6362246
2012-04-20 09:40:11 -07:00
Dianne Hackborn
d0d7503fd3 Move handling of package changes to a background thread.
Helps get rid of some jank when installing applications.

Change-Id: I97d0022f82d67796e334d37086e5911dd6ca6b62
2012-04-19 23:12:09 -07:00
Winson Chung
dd184f9fb1 Merge "Adding callback for widget size changed, and potentially other extra info" 2012-04-19 18:45:37 -07:00
Adam Cohen
e8724c82ab Adding callback for widget size changed, and potentially other extra info
Change-Id: I57738c92b6a0ba68ae66b19a533559470c64e6f1
2012-04-19 18:01:46 -07:00
George Mount
cdfc8bc574 Merge "Fix stack overflow during animation of action bar." 2012-04-19 14:41:03 -07:00
George Mount
9caeb14572 Fix stack overflow during animation of action bar.
Bug 6366482
 The animation engine now notifies onAnimationStart() and
 onAnimationEnd() even when it does no action. This CL prevents
 the setVisiblity call from causing an infinite loop of triggering
 animation notifications.

Change-Id: I009217a42debf1a1495da222199ca8f599fa7bcf
2012-04-19 14:38:58 -07:00
Adam Powell
b8139af3dc Adjust action bar tab policies
Action bar tabs now stack in portrait mode on all screen sizes rather
than display embedded. This only affects apps with a targetSdkVersion
of JB or greater, as older apps may not be prepared for the different
measurement of the bar or have an appropriate stacked bar background
drawable.

Stacked action bar tabs now have a width limit. This prevents
super-wide tabs that can span the whole screen. The cluster of tabs
is centered if it does not span the full width.

Add ActionBarPolicy to give a single point to query for various action
bar measurements and behaviors that vary with configuration.

Change-Id: I01162ca009c14f6f0e712fc906b9db6382c738cd
2012-04-19 14:31:16 -07:00
Wink Saville
01ce0ce472 Fix calcuation of CMD_TO_STRING_COUNT.
Change-Id: I03ae1a545474d7dcd4e65c58d9befd020d5b9c54
2012-04-18 21:42:44 -07:00
Jeff Brown
0192e966ff Merge "Add persistence for selected keyboard layout." 2012-04-17 11:52:29 -07:00
Jeff Brown
a3bc565882 Add persistence for selected keyboard layout.
Bug: 6110399
Change-Id: I99544bf05e9755385bee478b5f047ccec2e5cae3
2012-04-17 11:42:25 -07:00
Dianne Hackborn
70eafab905 Merge "Change dock animations to not use alpha, to make Mathias happy." 2012-04-17 11:15:27 -07:00
Chris Wren
3a59d6e26d A layout that switches between its children based on the requested layout height.
Change-Id: I5a4e5892fbed7cab2470e458a38accbbcb05ae51
2012-04-17 09:06:21 -07:00
Dianne Hackborn
8eedb8bf60 Change dock animations to not use alpha, to make Mathias happy.
Also tweak the action bar animations to slide up/down like the
dock animations.

Change-Id: Id3c85ba76100639a6f6c77b7fd2a060c9d26f38c
2012-04-16 19:31:58 -07:00
Jeff Sharkey
dd0c13060d Merge "Surface list of apps with given network policy." 2012-04-13 20:15:54 -07:00
Jeff Sharkey
854b2b1670 Surface list of apps with given network policy.
Bug: 6007276
Change-Id: I0f0e939ee6481496480c4afaa108c99eb158547c
2012-04-13 19:46:33 -07:00
Svetoslav Ganov
4213804541 Accessibility focus - framework
Usefulness: Keep track of the current user location in the screen when
            traversing the it. Enabling structural and directional
            navigation over all elements on the screen. This enables
            blind users that know the application layout to efficiently
            locate desired elements as opposed to try touch exploring the
            region where the the element should be - very tedious.

Rationale: There are two ways to implement accessibility focus One is
           to let accessibility services keep track of it since they
           have access to the screen content, and another to let the view
           hierarchy keep track of it. While the first approach would
           require almost no work on our part it poses several challenges
           which make it a sub-optimal choice. Having the accessibility focus
           in the accessibility service would require that service to scrape
           the window content every time it changes to sync the view tree
           state and the accessibility focus location. Pretty much the service
           will have to keep an off screen model of the screen content. This
           could be quite challenging to get right and would incur performance
           cost for the multiple IPCs to repeatedly fetch the screen content.
           Further, keeping virtual accessibility focus (i.e. in the service)
           would require sync of the input and accessibility focus. This could
           be challenging to implement right as well. Also, having an unlimited
           number of accessibility services we cannot guarantee that they will
           have a proper implementation, if any, to allow users to perform structural
           navigation of the screen content. Assuming two accessibility
           services implement structural navigation via accessibility focus,
           there is not guarantee that they will behave similarly by default,
           i.e. provide some standard way to navigate the screen content.
           Also feedback from experienced accessibility researchers, specifically
           T.V Raman, provides evidence that having virtual accessibility focus
           creates many issues and it is very hard to get right.
           Therefore, keeping accessibility focus in the system will avoid
           keeping an off-screen model in accessibility services, it will always
           be in sync with the state of the view hierarchy and the input focus.
           Also this will allow having a default behavior for traversing the
           screen via this accessibility focus that is consistent in all
           accessibility services. We provide accessibility services with APIs to
           override this behavior but all of them will perform screen traversal
           in a consistent way by default.

Behavior:  If accessibility is enabled the accessibility focus is the leading one
           and the input follows it. Putting accessibility focus on a view moves
           the input focus there. Clearing the accessibility focus of a view, clears
           the input focus of this view. If accessibility focus is on a view that
           cannot take input focus, then no other view should have input focus.
           In accessibility mode we initially give accessibility focus to the topmost
           view and no view has input focus. This ensures consistent behavior accross
           all apps. Note that accessibility focus can move hierarchically in the
           view tree and having it at the root is better than putting it where the
           input focus would be - at the first input focusable which could be at
           an arbitrary depth in the view tree. By default not all views are reported
           for accessibility, only the important ones. A view may be explicitly labeled
           as important or not for accessibility, or the system determines which one
           is such - default. Important views for accessibility are all views that are
           not dumb layout managers used only to arrange their chidren. Since the same
           content arrangement can be obtained via different combintation of layout
           managers, such managers cannot be used to reliably determine the application
           structure. For example, a user should see a list as a list view with several
           list items and each list item as a text view and a button as opposed to seeing
           all the layout managers used to arrange the list item's content.
           By default only important for accessibility views are regared for accessibility
           purposes. View not regarded for accessibility neither fire accessibility events,
           nor are reported being on the screen. An accessibility service may request the
           system to regard all views. If the target SDK of an accessibility services is
           less than JellyBean, then all views are regarded for accessibility.
           Note that an accessibility service that requires all view to be ragarded for
           accessibility may put accessibility focus on any view. Hence, it may implement
           any navigational paradigm if desired. Especially considering the fact that
           the system is detecting some standard gestures and delegates their processing
           to an accessibility service. The default implementation of an accessibility
           services performs the defualt navigation.

bug:5932640
bug:5605641

Change-Id: Ieac461d480579d706a847b9325720cb254736ebe
2012-04-13 19:05:24 -07:00
Jeff Brown
75e0dcbca1 Merge "Extract Vibrator implementation from interface." 2012-04-13 17:03:05 -07:00
Wink Saville
48a7bf24e3 Merge "Enhance the debug output for StateMachines." 2012-04-13 16:52:04 -07:00
Wink Saville
583eaaa57c Enhance the debug output for StateMachines.
Allow some messages to be ignored and allow the subclass to
add additional information. In particular, the information
can be used to decode the msg.what to a string.

Change-Id: I4f53becc6f0cb77399f99702084efef9d8785d67
2012-04-13 16:11:20 -07:00
Jeff Sharkey
cedb16ea03 Merge "Add simple method to dump key/value pairs." 2012-04-13 12:19:00 -07:00
Jeff Sharkey
2f036c55c0 Add simple method to dump key/value pairs.
Change-Id: I26ebf7e1a1667298c6deca742c104685c52955f7
2012-04-13 12:18:13 -07:00
Jeff Brown
c2346134bb Extract Vibrator implementation from interface.
Moved the core logic of Vibrator into SystemVibrator, potentially
allowing for the creation of other Vibrator subclasses.

Fixed several places where we were creating new Vibrator
instances unnecessarily instead of getting it from the Context.

It is safe to make Vibrator abstract because its constructor
was hidden from the SDK so it was not possible to subclass it.

Bug: 6334179
Change-Id: I18ece6544c26a7efb2d5099f8346a10aef8a5e18
2012-04-13 04:05:17 -07:00
Jeff Brown
af9e8d3818 Notify applications when input devices change.
This change allows the InputManager to keep track of what input
devices are registered with the system and when they change.
It needs to do this so that it can properly clear its cache of
input device properties (especially the key map!) when changes
occur.

Added new API so that applications can register listeners for
input device changes.

Fixed a minor bug in EventHub where it didn't handle EPOLLHUP
properly so it would spam the log about unsupposed epoll events
until inotify noticed that the device was gone and removed it.

Change-Id: I937d8c601f7185d4299038bce6a2934fe4fdd2b3
2012-04-12 18:54:54 -07:00
Amith Yamasani
f882f1ad4e Bind to the correct face lock service.
When switching users, bind to the correct instance of FaceLock.

Tried to get the facelock screen to show up when switching users, but it
doesn't. Power off/on works, but not switching between users on the
lockscreen. Maybe a timing issue? Or not calling some function to make
the overlay visible?

Change-Id: I9300971331c7f0ed93ae7da28170342629426b20
2012-04-10 15:13:39 -07:00
Brian Colonna
0b2b1feaa2 Merge "Passing useLiveliness flag to FUL in startUi call" 2012-04-10 06:25:26 -07:00
Adam Powell
a7dec6d973 Restrictions for action buttons with text
Restrict action buttons with text to 2 lines max. Action buttons with
text will always consume at least 2 cells in split mode because they
look silly in 1.

Note that this affects text provided by menu items, not TextViews
embedded within app-provided action views.

Fixes bug 6236467

Change-Id: I7bcbf80f448b13a895ddc3bc6a7a555c0f0bac7c
2012-04-09 16:37:52 -07:00
Brian Colonna
f66e930e72 Passing useLiveliness flag to FUL in startUi call
Because of changes in support of multi-user functionaity, the FUL
'eye blink' checkbox was no longer enabling liveliness detection.

It no longer makes sense to check the biometric flags (such as the
liveliness flag) inside of the Face Unlock service.  Instead, that
flag is now passed in from lockscreen via the aidl interface when
startUi is called.

Change-Id: I591cf1924fbb24da7d54b94ef29824e5197d3b20
2012-04-09 16:36:28 -04:00
Dianne Hackborn
e8644b695d Merge "Fix so that status bar doesn't resize when hiding nav bar." 2012-04-05 19:03:37 -07:00
Dianne Hackborn
9801435820 Fix so that status bar doesn't resize when hiding nav bar.
The status bar now extends behind the nav bar, and uses
fitsSystemWindows to ensure its content is not covered.  We
always report a stable content insets (as if the nav bar is
visible) even if the nav bar is hidden, so the content doesn't
jump when transitioing.  This does mean that if you only hide
the nav bar (and not the status bar), when in landscape you
will end up with a status bar whose right side still leaves
room for the nav bar.  But why the hell would you want to do
that?

Also improve documentation on setSystemUiVisibility().

Change-Id: I8087d875f1214ef0085a91b5ed5c2f35ff2fc1b3
2012-04-05 18:31:41 -07:00
Jeff Sharkey
330401243e Merge "Support metered Wi-Fi NetworkPolicy." 2012-04-05 16:17:54 -07:00
Jeff Sharkey
8fc27e8b87 Support metered Wi-Fi NetworkPolicy.
Add networkId field to NetworkIdentity to identify Wi-Fi networks by
SSID.  Add support for policies without usage cycles.

Only apply mobile policies when SIM state is ready, which is cleaner
than just checking for airplane mode.  Also avoids creating no-op
default policies when subscriberId is null.

Bug: 3001465, 3291052
Change-Id: I1f8aaa49a5db306df022c402ea7f3f5d4bc0cfc7
2012-04-05 16:02:25 -07:00
Amith Yamasani
2184a985da Merge "Lockscreen settings per user" 2012-04-05 14:43:22 -07:00
Amith Yamasani
52c489cd63 Lockscreen settings per user
Move all lockscreen related settings to LockSettingsService.
LockPatternUtils uses this through IPC instead of Secure settings.
Migrate old settings to new database managed by LockSettingsService.
Passwords and patterns are stored in a new per-user location, except
 for the primary user, for backward compatibility.
KeyguardViewMediator and LockPatternKeyguardView listen for changes
to user and updates the lockscreen.

Settings provider will look for Lock settings in the LockSettings
service now for the entries that used to be stored in Settings.

Change-Id: I956cd5b95e2d9d45a6401af7e270e6a5aa2dcc98
2012-04-05 14:03:36 -07:00
Adam Powell
dd8fab2629 TaskStackBuilder and Activity navigation features for framework
Promote navigation helpers from the support library to the core
platform.

The support library's meta-data element has been replaced with a
first-class parentActivityName attribute. This attribute is valid
on both activity and activity-alias elements. An activity-alias
will inherit the target activity's parentActivityName if one is
not explicitly specified.

Automatic Up navigation for Activities

Add the public method onNavigateUp() to Activity. The default
implementation will use the metadata supplied in the manifest about an
activity's hierarchical parent (parentActivityName) to do the right
thing.

If any activities in the parent chain require special Intent
arguments, the Activity subclass should override onNavigateUp() to
properly implement Up navigation for the app, supplying such arguments
as needed.

If automatic Up navigation within the same task can't find an activity
matching the supplied intent in the current task stack, it will act as
an in-app "home" and return to the root activity (presumably the app's
front page) in that task. (From this state, pressing "back" with
default behavior will return to the launcher.)

Change-Id: If163e27e59587f7af36975a09c986cb117ec3bc6
2012-04-05 11:45:10 -07:00
Irfan Sheriff
7d024d3724 Add initial framework for DNS service discovery
Change-Id: I53c0b7ebfd75e520ebb7553612f1aa8413b6b79b
2012-04-04 12:24:56 -07:00
Tom Taylor
733e697776 Fix deadlock in PDU code
Bug 6257442

If PduPersister.load bails out early and throws an exception,
it will leave the uri it's working on in an updated-locked
state. With this change, the uri is removed from the updated
list in a finally clause. The other PDU function in
this file already does the correct thing.

Change-Id: I596bd46724282b245ddba109670f3cebd61ed57c
2012-04-02 11:58:41 -07:00
Dianne Hackborn
fe2b7ccca4 Fix issue #6268190
Change-Id: Ib269fe34c4d3e704f4080076e173241c0761040c
2012-03-31 19:47:09 -07:00
Dianne Hackborn
61d6c8ca49 Merge "Add new feature to let apps layout over status bar / system bar." 2012-03-30 17:36:32 -07:00
Dianne Hackborn
3a3a6cfd8e Add new feature to let apps layout over status bar / system bar.
The main change is a few new flags you can supply to
View.setSystemUiVisibility().  One is a new visibility mode,
SYSTEM_UI_FLAG_FULLSCREEN, which is basically the same as
the global FLAG_FULLSCREEN option for windows, but driven as
part of the system UI state.

There are also three new flags for telling the framework that you
would like to have your application's UI ignore screen
decorations -- SYSTEM_UI_FLAG_LAYOUT_NO_NAVIGATION for going
behind the navigation bar and SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
for ignoring full screen decorations (that is the status bar).

In combination with this you can use SYSTEM_UI_FLAG_LAYOUT_STABLE
to have the framework report consistent insets to your application.

When using NO_NAVIGATION, when the user taps the screen we now
also automatically clear ONLY_CONTENT, so that we atomically show
both UI elements.  This should make it easy for apps like video
players that want to move between fully full-screen and regular
modes.

The ActionBar has also been extended when in overlay mode so
that it will adjust the system window insets to also account
for its space, and allow it to be hidden using the new
SYSTEM_UI_FLAG_FULLSCREEN.

Change-Id: Ic8db1adec49a0f420bfe40c1d92eb21307856d0b
2012-03-30 15:22:04 -07:00
Danielle Millett
574e49ee16 Fix 6238404: Changed deleteGallery and deleteTempGallery to use broadcasts
Previously since these were starting an activity, if it was called from
outside an activity (for example when calling resetPassword() in
DevicePolicyManager) it throws a run time exception.  Since these don't
need UI, they have been changed to be broadcasts.

Change-Id: Id87e3dc868a01f0eed901e8e8007f91f74cd51fe
2012-03-30 14:59:37 -04:00
Michael Jurka
50c69b5d8a Merge "Preload recents on phones with hard nav keys" 2012-03-30 05:02:57 -07:00
Michael Jurka
7f2668c846 Preload recents on phones with hard nav keys
Also refactor recents code across Phone/Tablet

Change-Id: Id557c5cb0f7d9378f81c40b20511a5d98bf4078e
2012-03-29 06:28:42 -07:00
Jeff Brown
c97ed10ba8 Merge "Ensure pointer location view is attached to the policy thread." 2012-03-29 03:05:57 -07:00
Jeff Brown
70825161b5 Ensure pointer location view is attached to the policy thread.
Previously we created the PointerLocationView on whatever thread
happened to trigger the call to updateSettings().  There was
also some messiness around having to add or remove the view
while not holding mLock.

Now, just post the work to the policy handler.

This also makes it possible for us to use invalidate() instead
of postInvalidate() in PointerLocationView, which is more efficient.

Change-Id: I0646d7aeecffdc22f6ac56ae3ef951e7a12e2b93
2012-03-29 03:01:10 -07:00
Tom Taylor
ca184870ca Drm encode mms parts while persisting the pdu
Bug 5158047

Change-Id: I88aba9a91192fb1eb730b48efad3b2b488abad3d
2012-03-27 15:42:16 -07:00