What this adds:
- A new Intent activity flag to completely replace an existing task.
- A new Intent activity flag to bring the current home task up behind
a new task being started/brought to the foreground.
- New versions of startActivity() that take an array of Intents to be
started, allowing applications to start a task in a specific state.
- A public moveTaskToFront() method on ActivityManager, with a new flag
that allows the caller to have the task moved to the front with the
current home task immediately behind it.
Change-Id: Ie8028d09acffb5349d98043c67676daba09f75c8
1. add new column constants for : COLUMN_last_updatesrc
2. send downloadid in the uri wherever possible.
Change-Id: I49a18506060bf292a0750790042e94b0a35ea9bf
when downloads fail/get stuck, we need to look at the database state
for those downloads. and when the users report such problems, it is
a royal pain not to have that info and most users don't seem to bother
sending database dumps because it is a bit of work.
so lets just dump info about downloads that failed or
downloads from GSF (OTAs, for example)
helps debugging. there is STOP ship comment to not dump data once
HC is released.
Change-Id: Id1254982fd82b4c55f1816a2491f00966840f024
The ticker still needs to show up over the status bar, which will take a bit of
window manager work, so it's just out of position for now.
Change-Id: Ib5781925db63a22d9352a7b5017a36eec3229395
Previously reads were only cached once a write occurred because
loading didn't set the stat metadata, thus the
sp.hasFileChangedUnexpectedly() check always fired on reading.
Now the initial read populates the stat info, so getSharedPreference()
repeatedly bypasses reading from disk, even wtihout writes.
This was probably a regression from apply() being added in
Gingerbread.
Bug: 3211034
Change-Id: Ifa0bbb27c53a4099544950a4f822fab1fc23a47d
BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).
Added FULL keyboard type to support full PC-style keyboards.
Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER
Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout. This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)
Modified several places where events were being synthesized
to use the virtual keyboard.
Removed support for the "qwerty" default layout.
The new default layout is "Generic". For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways. The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.
Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.
Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.
Fixed a bug in InputReader generating key ups when keys
are released out of sequence.
Updated tons of documentation.
Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled. This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.
Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
also add another public method to return mimetype for the given downloaded file
change is related to bug:3198355
Change-Id: I90bae443eec36968e0d533d9b07a514df369ac29
The public API is not supposed to require the BACKUP permission in order
for an application to restore its own last-known-good backup data. However,
as currently implemented, BackupManager.requestRestore() [the public API
in question] depends on private Backup Manager methods that *do* enforce
that permission. The net result is that the method cannot be successfully
used by third party applications: it will throw an exception if attempted.
This CL restructures the permission checking involved.
First, the underlying beginRestoreSession() operation can now be passed a
'null' transport name; if this is done, then the restore session is begun
on whatever the currently-active transport is. Looking up the name of the
active transport is one of the permission-guarded actions that was required
with the initial implementation.
Second, a package name can now be passed to beginRestoreSession(). If
this is done, then the restore session can only be used to perform a
single-package restore of that one application. The BACKUP permission is
not required if the caller is tying the restore to its own package name.
In combination, these changes permit BackupManager.requestRestore() to
function without the calling app needing to hold any special permission.
The no-permission case is intentionally quite narrow: the caller must
hold the permission unless they both (a) pass 'null' for the transport
name, thereby accepting whatever the currently active transport is, and
(b) pass their own package name to restrict the restore session only
to their own app.
External bug http://code.google.com/p/android/issues/detail?id=10094
Internal bug 3197202
Change-Id: Ibc9d652323f2da03727d850f991b4096af6520d2
Rename method that was missed in previous ActionBar
refactoring. Deprecated previous version for compatibility for apps in
development.
Change-Id: I2c466aed8ed620aec5056026257e131fadf8843e
launch a new fragment on the same call.
There were some problems with the API design where you could do
things in such a way that a back stack entry that was not at the
top would get popped. Ouch. Hopefully this change prevents that
from being able to happen.
Change-Id: I8cbc952e12ddd231ff6c84b6e9bbf5125f449f04
Add support in ActionBar for activity-wide progress APIs.
Add ability for progress bars to set a target framerate rather than
the 5fps previously used.
Clean up some more dialog layouts using hardcoded styles rather than
theme attributes.
Change-Id: I8e88c7595e27c0b6f7829b598f2b084ac8501ae3
This theme gives you a dialog look when running on a large
or xlarge screen, otherwise a regular full-screen activity.
Also some new Fragment convenience APIs.
Change-Id: I3d97928ffaa4f3bdfd0cc5daf8823f9235c4ba68
I'm going through the stacks that I filter out from the StrictMode
reports and making sure the devices don't upload them to begin with
when they're obviously legit and unavoidable.
Change-Id: If87b3182b12140f5ddbe52fed059b592b2cc178c