We were creating a static AsyncQueryHandler which only held a
weak reference to the content resolver. This caused db updates
to be dropped once the original context had been gc'd. This
fix creates a new handler for each update to ensure we have a
valid resolver.
Change-Id: I049d8390ac0215e12e63d57b0bae4d3f6df64b6a
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
1. Originally CallManager registers for all phone events provided by registerFor interface,
which will cause error msg such as "registerForXXX() in PhoneBase should not be called, CDMAPhone inactive."
for CDMA only events. Register for those events only if phone is CDMA phone.
2. Add registerForPostDialCharacter().
Note, we can't use notifyRegistrants() in handler since we need send
the character that is being processed in msg.arg1.
Change-Id: I48037c8a8e225bb82e203836a041f81f2445f4d8
AssetManagers are kept in WeakReference pools so there's a change
another thread in the system_server has opened a file on the external
card. Attempt to force a garbage collection to free these references
each time we're about to unmount a volume on the external storage.
Change-Id: I6e816e8c67b179887e488dc6758b43bcdd5914fb
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