This adds a new theme for having a wallpaper, and fixes up the window manager
to do the right thing when transitioning between a windows with and without
wallpapers (between two windows with wallpapers is not yet addressed).
The wallpaper API now has callbacks to tell you when to start/stop animating.
Also fiddle the image wallpaper to be a little more interesting.
This is all of the basic pieces:
- The WallpaperService now creates a surface with the window manager for its
contents.
- There is a simple service that displays a bitmap.
- The wallpaper manager takes care of starting and stopping the service.
- The window manager knows about wallpaper windows and how to layer them with
the windows that want to be shown on top of wallpaper.
Lots and lots of issues remain, but at this point you can actually write a
wallpaper service, select it in the UI, and see it behind an activity.
* changes:
Mods to the ContactHeaderWidget to be able to have it display strings as passed in by the caller. For example we may want to use this in the case when there is no contact in a given circumstance.
Without this, it's really hard to debug exceptions coming
over from a ContentProvider. This is lightweight logging
that is only triggered by an exception, and doesn't write a
full stacktrace.
When RemoteViews inflates a layout and set of actions, it
uses a cloned remote Context so it can fully access the
resources needed to complete the inflate. However, in one
specific case when inflating the root view, LayoutInflater
calls back to the soon-to-be parent view to request the
correct set of LayoutParams through generateLayoutParams().
The default implementation of generateLayoutParams() uses
the Context of the /local/ View instead of the remote
Context being used for the inflation, which means that any
LayoutParam references in the root view are unresolved.
To fix this, we internally create our own copy of the target
remote Context. This way, when the remote LayoutInflater
calls generateLayoutParams(), we inflate it using the remote
Context to correctly resolve any references.
This change is required as part of http://b/2038594
Also, giving Presence.RAW_CONTACT_ID and Presence.DATA_ID unique ids to allow easy joining. The main rationale for this is that SQLite does not allow cross-database joins in VIEWs, so we cannot hide this join inside a VIEW.
Merge commit 'a7a3b6ef0fdaf6b17993642b76baf90a03ae0077'
* commit 'a7a3b6ef0fdaf6b17993642b76baf90a03ae0077':
Dismiss both the soft keyboard and the search dialog on back if there is no text entered and no shortcuts are being obscured by the soft keyboard.
Merge commit 'e303d2cf94da6bb7f0569fbddd6dfd5b85ed8295'
* commit 'e303d2cf94da6bb7f0569fbddd6dfd5b85ed8295':
Send a special respond to the cursor in SuggestionsAdapter to tell it to
close itself directly because it may not happen correctly for some cursors
currently. This fixes http://b/2036290, which is being caused by
http://b/2015069 which we are not fixing for Donut, so this is a hack around
that for the time being.
Added constants so that apps triggering SHOW_OR_CREATE can
request a desired size through EXTRA_MODE. Also added hooks
to internal ContactHeaderWidget to launch SHOW_OR_CREATE
when user taps on photo.
1. Added a setting to control whether a page is loaded with overview mode;
2. If there is no viewport metag tag, a page will be loaded in the viewport
at least 800px wide.
3. When we adjust zoom scale in the overview mode, don't use animation.
4. When zoom out to close to min zoom scale, switch to overview mode. So double
tap will always have visual feedback unless it is mobile site.