I'm changing the URI structure for the download provider a bit. The
download provider will now support two views into its data:
* content://downloads/my_downloads... will basically be the current
view, which is limited to downloads owned by the calling UID
* content://downloads/all_downloads... will include all downloads in
the system, but will require special permission
In addition to making things more clear, this change will allow for
granting URI permissions to individual downloads via the
/all_downloads/... URI.
This change includes the framework changes necessary to support the
new structure. The bulk of the work will be in the DownloadProvider
code itself.
In addition, this change makes DownloadManager return a content URI
rather than a file URI for /cache downloads. This avoids any
confusion in clients, which wouldn't be able to open the file
directly, and better supports granting permissions to viewers.
Change-Id: Ie548b927817ac774111990dd0c9d26aaf979d1ea
This permission isn't needed right now, since there aren't actually any
public APIs that require it. (There are a few calls in the ITelephony
interface that do, but they're all hidden.)
Since there's no good reason for 3rd party apps to declare it, let's
mark it signatureOrSystem for now. We can bring it back -- and probably
split it apart into multiple finer-grained permissions -- once we
finally expose full telephony APIs to 3rd party apps (see bug 1043005).
Bug: 2989096
Change-Id: Idf898d5e12d648a959f622cd815e75597195aa82
TimeZoneUtils was updating the db and modifying the selection. This
creates a static selection for each update type and creates new
values for each update. Also adds a method for apps to force the
local tz cache to refresh if they think another app has modified
the db.
Change-Id: Iaaade635ac8ff11bb116005a0f6b44efcd4c4056
This is the start of work towards pushing api that is needed for
Calendar to become unbundled into frameworks. This adds functions
for getting and setting time zones for the Calendar app. The new
methods are currently hidden.
Change-Id: I1b4265b23630c46d9730a179ec02da8d6c0e03ea
Merge commit 'ca8f3d04284a26477257a0c2b34d83c86d15efe9' into gingerbread
* commit 'ca8f3d04284a26477257a0c2b34d83c86d15efe9':
Add an option to hide the Voice Search icon.
Some search engines do not support voice search, so provide a flag
to disable showing the icon in the SearchDialog.
Change-Id: I7ef4ad5d382edb86c08014260defa4af6d5eca0a
As part of this change, consolidated and cleaned up the Looper API so
that there are fewer distinctions between the NDK and non-NDK declarations
(no need for two callback types, etc.).
Removed the dependence on specific constants from sys/poll.h such as
POLLIN. Instead looper.h defines events like LOOPER_EVENT_INPUT for
the events that it supports. That should help make any future
under-the-hood implementation changes easier.
Fixed a couple of compiler warnings along the way.
Change-Id: I449a7ec780bf061bdd325452f823673e2b39b6ae
BluetoothEventLoop primarily handles event notifications from Bluez.
It should know innards of Bonding and especially BondState.
BondState class and BluetoothService call into each other.
When BluetoothEvent loop gets the handle to BondState it leads
to deadlocks and ANRs.
Change-Id: I785c57f6246c1288350d26d4acb87d879b27a5f9
Make the documentation match the current behavior since change ID
Ibdeff170bd386d723f774136b18e0ad59d9cdabb.
Will add @deprecated tags back in in a separate CL. This is just to get
things in the same state as master, following the build breakage mishap.
Change-Id: I47c53700892473061093002c32ad8f095b5813d1
Do not merge to master; an equivalent CL has already been committed there.
This fixes a problem where applications could ask the location
manager to do very heavy-weight things (like... say... update
location every minute), which would get accounted against the
system instead of the application because ultimately it is the
system making the heavy calls (wake locks, etc).
To solve this, we introduce a new class WorkSource representing
the source of some work. Wake locks and Wifi locks allow you
to set the source to use (but only if you are system code and thus
can get the permission to do so), which is what will be reported
to the battery stats until the actual caller.
For the initial implementation, the location manager keeps track
of all clients requesting periodic updates, and tells its providers
about them as a WorkSource param when setting their min update time.
The network location provider uses this to set the source on the
wake and wifi locks it acquires, when doing work because of the
update period.
This should also be used elsewhere, such as in the GPS provider,
but this is a good start.
Change-Id: I2b6ffafad9e90ecf15d7c502e2db675fd52ae3cf
Use a static variable and methods for the current WebView.
sJavaBridge may not exist by the time onWindowFocusChanged is called.
To avoid an NPE, just static methods that modify a global field.
JWebCoreJavaBridge is a global object anyway so using a static field
will be fine. To avoid any garbage collection issues, store the
WebView in a WeakReference.
Bug: 2908023
Change-Id: I05e9261f2c3d13c10c73c9b34f3aeea1d12a08a6
Since we support using driver-provided pointer ids (ABS_MT_TRACKING_ID)
there is no guarantee that pointer ids will necessarily start from 0
or be contiguous.
Change-Id: I9609b7a3bb238d7edbcbd68cc839dd6d14baf9df
First, this change adds a column to the downloads table specifying
whether a download should be displayed in the system downloads UI. It
adds a public method to set this parameter when requesting a download,
and a hidden method to filter queries based on this paramter (such
filtering could be made public later, but it's not strictly necessary
right now).
Second, this change adds support for restarting a completed/failed
download as a hidden method on DownloadManager. Currently it only
works from the download manager's process - it'll be used by the new
download manager UI.
Change-Id: I15eda1a6e3717d1ce947a810b25ad3540cce809e
This change is essentially a rewrite of the main input dispatcher loop
with the target identification folded in. Since the input dispatcher now
has all of the window state, it can make better decisions about
when to ANR.
Added a .5 second deadline for processing app switch keys. This behavior
predates Gingerbread but had not previously been ported.
Fixed some timing inaccuracies in the ANR accounting that could cause
applications to ANR sooner than they should have.
Added a mechanism for tracking key and motion events that have been
dispatched to a window so that appropriate cancelation events can be
synthesized when recovering from ANR. This change helps to keep
applications in sync so they don't end up with stuck buttons upon
recovery from ANRs.
Added more comments to describe the tricky parts of PollLoop.
Change-Id: I13dffca27acb436fc383980db536abc4d8b9e6f1
Moves the remoteNativeLibrariesLI call to NativeLibraryHelper to prepare
for being able to symlink the /data/data/<package>/lib dir to the ASEC
container.
Change-Id: Ie3648509c6b6293a8d9bdd815610ab408df5047f
We weren't logging strictmode violation in the system_server process
in non-user builds (only system apps), even though the rest of the
strictmode logging supports it.
Also add a missing lock in ActivityManagerService.
Change-Id: If2af96a7e4fdde604a647b836097f0029ef1334b