Merge commit '05940b2c04041d6b3b8d222f4acfd12faeeb6c9c' into gingerbread-plus-aosp
* commit '05940b2c04041d6b3b8d222f4acfd12faeeb6c9c':
Download manager support for file URIs + last modified time
Added method for returning preferred proxy which takes both
localhost and Wi-Fi into account. This is a convenient method
to clients which only wants to set a correct proxy and don't
want to build in dependency to if Wi-Fi is active or not.
Currently no Wi-Fi proxy is supported by the system, but once
added, this method could return a suitable proxy for Wi-Fi.
Change-Id: I8c9c2879351fd25a20ea82a2cb000f226248c357
The HTTP specification states the following about the fields:
Multiple message-header fields with the same field-name MAY be present
in a message if and only if the entire field-value for that header field
is defined as a comma-separated list [i.e., #(values)]. It MUST be
possible to combine the multiple header fields into one "field-name:
field-value" pair, without changing the semantics of the message, by
appending each subsequent field-value to the first, each separated by a
comma. The order in which header fields with the same field-name are
received is therefore significant to the interpretation of the combined
field value, and thus a proxy MUST NOT change the order of these field
values when a message is forwarded.
Change-Id: I1a6fe5cc8f541f8e80d559641d270d09eac9d85c
Merge commit 'd76b67c340d1564abf8d14d976fdaf83bf2b3320' into gingerbread-plus-aosp
* commit 'd76b67c340d1564abf8d14d976fdaf83bf2b3320':
IME events are now dispatched to native applications.
And also:
- APIs to show and hide the IME, and control its interaction with the app.
- APIs to tell the app when its window resizes and needs to be redrawn.
- API to tell the app the content rectangle of its window (to layout
around the IME or status bar).
There is still a problem with IME interaction -- we need a way for the
app to deliver events to the IME before it handles them, so that for
example the back key will close the IME instead of finishing the app.
Change-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd
This re-enables thumbnail generation code in the framework
with a few improvements.
In addition to enabling the system to capture thumbnails,
it removes padding from the borders to account for space
overlapped by system widgets (status bar, etc.). Thus,
the contents of the bitmap are only those pixels unique to
the activity.
It also maximizes resolution of the bitmap by capturing the
image in the application's current orientation. In landscape
mode, it captures a bitmap with dimensions w x h. In portrait,
it captures a bitmap with dimensions h x w. Where w and h are
thumbnail_width and thumbnail_height as defined in dimens.xml.
Though enabled, the change is not currently used in this
branch. The work is being checked in here to avoid
complicated downstream merges.
Change-Id: Ifc8a4e0075d7d0697d8159589be3816ace31d70c
First, in the download manager public API, I'm changing
COLUMN_REQUESTED_TIMESTAMP to COLUMN_LAST_MODIFIED_TIMESTAMP, a field
that already exists in the download manager. Upon inspection of
existing users of this field, it looks like there are some good use
cases -- for instance, looking at when a download completed. And if
I'm exposing that timestamp, there's no need to also expose the
requested timestamp.
Second, this change includes support for file URI destinations:
* add DESTINATION_FILE_URI for use by the DownloadManager wrapper
* make DownloadManager use it appropriately
The backend support is in a separate change (since it's in a separate
project).
Also fixing a bug with file URI construction when DownloadManager
fills in COLUMN_LOCAL_URI.
Change-Id: I5bb93a222cd23215c2a03ed9f68d7f140454f7f2
Add native Parcel methods analogous to the Java versions.
Currently, these don't do much, but upcoming StrictMode work changes
the RPC calling conventions in some cases, so it's important that
everybody uses these consistently, rather than having a lot of code
trying to parse RPC responses out of Parcels themselves.
As a summary, the current convention that Java Binder services use is
to prepend the reply Parcel with an int32 signaling the exception
status:
0: no exception
-1: Security exception
-2: Bad Parcelable
-3: ...
-4: ...
-5: ...
... followed by Parceled String if the exception code is non-zero.
With an upcoming change, it'll be the case that a response Parcel can,
non-exceptionally return rich data in the header, and also return data
to the caller. The important thing to note in this new case is that
the first int32 in the reply parcel *will not be zero*, so anybody
manually checking for it with reply.readInt32() will get false
negative failures.
Short summary: If you're calling into a Java service and manually
checking the exception status with reply.readInt32(), change it to
reply.readExceptionCode().
Change-Id: I23f9a0e53a8cfbbd9759242cfde16723641afe04
When an application have more than one activities with intent filter
[Main, Launcher], then the intent with ResolverActivity wasn't created correct.
Change-Id: I2617122e07c35284862d2e0643888966ec0f7221
Merge commit 'b8d890ebc1923d98d19d24f396442c91eb766b16' into gingerbread-plus-aosp
* commit 'b8d890ebc1923d98d19d24f396442c91eb766b16':
Initial implementation of the download manager public API.
The implementation is in android.net.DownloadManager, which is
obtained through Context.getSystemService(). Right now this class
acts as a simple wrapper on top of the existing DownloadProvider,
exposing a simple interface to a subset of DownloadProvider's
functionality. There are several TODOs for features that require
changes to the underlying download manager implementation.
Change-Id: I2f26e51b60b6e82af8478ac7ccd895667df095b6
Remove the topPanel in the alert dialog if it is empty and
therefore invisible. This gives the dialog content more space, and it
makes dialog positioning on the screen correct.
Change-Id: I8ffd9bd9b2360b0ad4338c32c21ab69c055d66a0
Currently when ListPreferences are used in a PreferenceActivity, the summary
values are set to the same as the current index in mEntryValue. This patch
adds the ability for a string substitution to be used in the summary
which points to the corresponding entry in mEntries to aid in
localization.
For example a preference may be named "color" with the following attributes
in the locale "de" (German):
mEntryValues = { "red", "green", "blue" }
mEntries = { "rot", "grün", "blau" }
mSummary = "Die Farbe ist %1$s."
getSummary() returns "Die Farbe ist grün."
Change-Id: Iea169ac3d1c9d6290d853fc7c67a7c4c8a11bb90
If the factory was obtained by calling getInsecure(), calls to
createSocket() should skip hostname verification (along with all of the
other skipped safety checks.)
This change slightly relaxes the too-strict checking that was introduced
in change 7fc93c36ae235115727296780dbc35101622bbd4.
Bug: 2834174
Change-Id: Iab7ef861ad0ca727f82ee8cdb78b89b9e835740d
Merge commit 'd1af902c21b4911b964c82ced3d80fcf9ab41540' into gingerbread-plus-aosp
* commit 'd1af902c21b4911b964c82ced3d80fcf9ab41540':
Deprecate some status bar icons that now come from the phone app (and
Merge commit '289b9b62372ef52a06113b83dfb870e2c2fb325a' into gingerbread-plus-aosp
* commit '289b9b62372ef52a06113b83dfb870e2c2fb325a':
Add ANativeWindow API for directly drawing to the surface bits.
Also other cleanup and fixes:
- We now properly set the default window format to 565.
- New APIs to set the window format and flags from native code.
- Tweaked glue for simpler handling of the "destroy" message.
- Um, other stuff.
Change-Id: Id7790a21a2fa9a19b91854d225324a7c1e7c6ade
shouldn't have been public in the first place.)
(And since the changed deprecation state is a public API change, I needed
to do "make update-api" as well.)
Change-Id: I803d5a81ad2363561137be5af4f2b8258df758cd
Merge commit '2aaa9e9fc5ddc05cedbe530c7a41eca0e3a62b7a' into gingerbread-plus-aosp
* commit '2aaa9e9fc5ddc05cedbe530c7a41eca0e3a62b7a':
Remove some (unused, non-public) phone-related status bar notification icons
Status bar icons really belong to specific apps (not the framework), so the
various stat_sys_phone_call* and stat_sys_vp_phone_call* icons should have
never been part of the framework in the first place.
As of change https://android-git.corp.google.com/g/56881 the phone app now has
its own copies of all these icons, so it's now safe to remove the non-public
ones(*) from frameworks/base.
(*) Unfortunately a few of these icons were accidentally added to public.xml
at some point, so we'll never be able to get rid of those ones.
This change only removes the private resources.
Change-Id: If9ecf7b7568b5086c6ed1e5d4b69518fb41f1516
This exposes the AndroidManifest attribute
android:immersive, introduced in Change I967bb10b, to the
SDK.
Change-Id: Iccbc99590cd0fd4c570b9b9670ef93036f9d849e
Merge commit 'b29e3b9cd00ced686a74121d3ca9c7380754793f' into gingerbread-plus-aosp
* commit 'b29e3b9cd00ced686a74121d3ca9c7380754793f':
Change CursorTreeAdapter to close the cursors rather than deactivating them. Fix SimpleCursorTreeAdapter to allow a null cursor as an argument.
This factors out the boiler-plate code from the sample
app to a common glue code that can be used for everyone
writing this style of app: a dedicated app thread that
takes care of waiting for events and processing them.
As part of doing this, ALooper has a new facility to allow
registration of fds that cause ALooper_pollOnce() to return
the fd that has data, allowing the app to drive the loop
without callbacks. Hopefully this makes some people feel better. :)
Also do some other cleanup of the ALooper API, plus some
actual documentation.
Change-Id: Ic53bd56bdf627e3ba28a3c093faa06a92be522b8
Not closing the cursors was a bit of a bug since the documenation explicitly says that it would close the cursors. This will get rid of all the warnings that are printed out in the finalizer about the cursor not being closed.