This introduces a new mechanism to define features associated with
a platform, query the current device for the available features,
and enforce that apps requiring features that aren't available can't
be installed.
Also now allows uses-library to specify that a library is optional,
so the lack of such a library will not prevent the app from being
installed (but if it does exist it will be correctly linked into
the app).
Change-Id: I5b369b46cfa0b3d37c9e08fd14ef1098a978e67b
Add new manifest/aapt support for specifying device features an application
requires. The aapt badging now returns these (as well as uses-permission since
I need to look for those anyway); if an app doesn't explicitly request the
camera feature but does request the permission, then aapt will say that it has
requested both the basic camera feature as well as the autofocus feature.
Here's what you put in your manifest to say you need a camera but don't need
autofocus:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
Here's what will be seen from aapt:
uses-permission:'android.permission.CAMERA'
uses-feature:'android.hardware.camera'
uses-feature-not-required:'android.hardware.camera.autofocus'
Change-Id: I4dd19cee0486cc54771f5bf14fc9db0e892115d5
Unfortunately we are stuck with the donut ones, can't change these in Eclair
to be the more correct names.
Change-Id: Id8aaa2e90cd21631b18a36bea3755a63d0e6d577
- Reduce the amount that we ask processes to GC after a significant
operation occurs, but introducing a minimum time between GCs and
using this in various ways to schedule them.
- Don't spam all of the processes with onLowMemory(). Now deliver
these using the same gc facility, so we do the processes one at a
time, and don't allow the same process to get this call more than
once a minute.
- Increase the time a service must run before we will reset its
restart delay to 30 minutes (from 10).
- Increase the restart delay multiplication factor from 2 to 4.
- Ensure that we don't restart more than one service every 10 seconds
(unless some external event causes a service's process to be started
for some other reason of course).
- Increase the amount of time that a service must run before we
decide to lower it to a background process.
And some other things:
- Catch IllegalArgumentException in ViewRoot like we do for no
resources to avoid the system process crashing.
- Fix a number of places where we were missing breaks between the
activity manager's message dispatch func(!!).
- Fix reason printed for processes in the background.
- Print the list of processing waiting to GC.
Merge commit 'ba223760895e62ad2fcb85476984cb29018860c9' into eclair
* commit 'ba223760895e62ad2fcb85476984cb29018860c9':
Close suggestion cursors that arrive after adapter is closed
New tab assets. We decided to do a straight swap and then assess the
damage.
New default dark background color.
New list divider assets.
Change-Id: Ia00a9bb0ee1bad4f955f1c3b5b67526f62572015
Bluez sends the UUID of the local service being accessed in Agent.Authorize,
not the remote service. So check for Audio Source not Audio Sink.
In most cases this was not a problem because Bluez sends us AdvAudioDist UUID
(0x110D) for incoming A2DP connections, which we already check for. This is a
precautionary change.
These may be incorporated into a fasttrack framework widget at some
point. For now we'll just make them private assets.
Change-Id: I6b8c1e5c4a5f8c38a95f23dfab9a67973862db95