Mark cellular variants with the same availability, regardless of which are currently in use.
Availability just means the radio is enabled and sees the network, but has no guarantees that
we could connect to an APN if requested.
Fix the requestRouteToHost logic to support apn switches without WIFI.
bug:2093841
Merge commit '68f591b17537cb437ca0b25d00a6d3d08e507abb' into eclair-plus-aosp
* commit '68f591b17537cb437ca0b25d00a6d3d08e507abb':
Try not to crash the system server because of corrupt restore data
When we're about to allocate an array based on the restore data for purposes of
unflattening a signature block, don't automatically assume that it's valid. If
it's corrupt [and we've seen this in practice] we can wind up trying to allocate
an array with 1.8 million objects, and throw an OutOfMemoryError, bringing down
the system.
This change arbitrarily decides that no package should have more than 20
signatures in its block, and aborts the restore if the metadata is thus revealed
to be corrupt.
Some more tweaks and fixes to wallpapers. Make sure wallpapers are
told they are not visible when the screen is off. Add some new animations
for transitions across tasks, and fiddle with many of the existing
animations. Clean up the relationship between translucent activities
and animations. Add new API to start a PendingIntent from an
activity.
Change-Id: Ie0bf45fe44081bb6982c75361257a55d9cd9d863
Deprecate BluetoothError.java.
I spent a lot of time experimenting with a class BluetoothError to enumerate
the many error codes returned by the Bluetooth API. But at the end of the day
they were never used. The vast majority of method calls only really need a
true/false error value, and often not even that.
Methods which do need more detailed error enumeration (for example, bonding
failures) can have there own enumerated error codes. But there is no need
for a common set of error codes.
Also change the IPC failed warnings in BluetoothA2dp to Log.e. These indicate
a very serious error.
Introduce BluetoothAdapter.ERROR and BluetoothDevice.ERROR as helper sentinel
values.
Merge commit 'eb034652c2037a47ebfd99779e8383bb8bb528af' into eclair-plus-aosp
* commit 'eb034652c2037a47ebfd99779e8383bb8bb528af':
Implement all of the infrastructure for configuring wallpapers.
Merge commit 'c916c04495292c86051a2c31e90cca26a9bd99c1' into eclair-plus-aosp
* commit 'c916c04495292c86051a2c31e90cca26a9bd99c1':
Fix issue #2095422: Some fades from opaque to transparent don't work
Merge commit '88e625795943dea84b2e7c32f37e71303143b728' into eclair-plus-aosp
* commit '88e625795943dea84b2e7c32f37e71303143b728':
Integrated the profiler into the framework. We run it all the time if the persist.sampling_profiler
Actually being able to configure a wallpaper relies on additional
work in the launcher and wallpapers that will be in another change.
Also note that this breaks all existing wallpapers, since they now
need to include a meta-data item about themselves. This also
will be fixed in another change.
Change-Id: I97d2c2bd07237abc32f92b9147c32530a2f73c71
ViewRoot was using Surface.clear(), which has different behavior
in different processes -- in the system process it would kill the
surface, causing all windows in that process to immediately disappear
instead of animating away.
This change makes Surface.release() public and uses that instead. It
also renames Surface.clear() to Surface.destroy().
Also fixed some issues in the window manager that were causing the
wallpaper to not get immediately resized when the orientation changes
and its target window is removed and re-added.
Change-Id: I2a992e365cf5747511f0bf1193db32dc2525b218
The check for whether the release call is coming from another process was
very broken, and just happened to work by chance. It also never worked for
apps that had code running in two different processes, with one process
using a provider in another of its processes. Also a little cleanup and
debugging logs for provider management, and removal of that increasingly
annoying log about services being stopped.
Change-Id: Ibc298e674db7d35c4b6499fb32e30929a141b670
Merge commit '6e4b7d66998b9ec9255767f6070a2f94d83944a5' into eclair-plus-aosp
* commit '6e4b7d66998b9ec9255767f6070a2f94d83944a5':
Wallpapers: new transitions, hiding when not visible, other cleanup.
This is work on the transitions with wallpapers. There are now new
animations specifically for leaving the wallpaper and returning to
it, which allow us to have a consistent animation when entering home
and returning to it. I also renamed the existing animations across
wallpapers, and cleaned up some junk in the various interpolators.
This also now hides the wallpaper surface when it is not visible,
to get rid of the wallpaper flickers people complained about albeit
in a somewhat brutal way. :) (Though really returning us to the
previous behavior with the same previous bugs and name back to them
not being very visible, yay!) There is are also some bug fixes
here and there about managing the wallpaper visibility that this
change revealed.
Change-Id: I913990a9a81651728122ed2e1101b75ed2c36fcb
Merge commit '445f43081e207ee704a5152a5333054d7b4e13a4' into eclair-plus-aosp
* commit '445f43081e207ee704a5152a5333054d7b4e13a4':
NotificationManagerService: Only blink red battery low LED when not charging.
Merge commit 'fbd9b87feab649dc7410711ceaa589e5f058c753' into eclair-plus-aosp
* commit 'fbd9b87feab649dc7410711ceaa589e5f058c753':
Add support for running apps with uid/gid AID_LOG by specifying android.uid.log in the manifest
This is needed to allow the BugReportService to start the dumpstate service.
Change-Id: I12cab23767c919592da102c654b6b80416717661
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit 'e3c393d3d14dab5b1eab37d2c52b7283df253f7f' into eclair-plus-aosp
* commit 'e3c393d3d14dab5b1eab37d2c52b7283df253f7f':
Fix issue #2097313: Latin IME crashes first use
Merge commit 'bdd52b264af8f562dd368d40b66771c88d45127f' into eclair-plus-aosp
* commit 'bdd52b264af8f562dd368d40b66771c88d45127f':
Fix issue #2097060: Screen all messed up when setup wizard finished
The new code to rebuild the window list was missing some app tokens.
Also there were a few other smaller bugs floating around.
Change-Id: I7734917af0b76ee4aa304e6a5321401d87640f89
This makes the system a little more careful to not start third party
code until it is ready to.
Also fix a little bug in SyncManager that would cause it to crash
during boot if sync was in a failure state.
Change-Id: Ib2d287d8441d155d393fe740a5f98690895fd358
Merge commit '6db4303d04d138cd2648b829306c4b1693ac12e8' into eclair-plus-aosp
* commit '6db4303d04d138cd2648b829306c4b1693ac12e8':
Work on issue #2079167: Flickering issue across multiple UI
This addresses a few parts of the bug:
- There was a small issue in the window manager where we could show a window
too early before the transition animation starts, which was introduced
by the recent wallpaper work. This was the cause of the flicker when
starting the dialer for the first time.
- There was a much larger problem that has existing forever where moving
an application token to the front or back was not synchronized with the
application animation transaction. This was the cause of the flicker
when hanging up (now that the in-call screen moves to the back instead
of closing and we always have a wallpaper visible). The approach to
solving this is to have the window manager go ahead and move the app
tokens (it must in order to keep in sync with the activity manager), but
to delay the actual window movement: perform the movement to front when
the animation starts, and to back when it ends. Actually, when the
animation ends, we just go and completely rebuild the window list to
ensure it is correct, because there can be ways people can add windows
while in this intermediate state where they could end up at the wrong
place once we do the delayed movement to the front or back. And it is
simply reasuring to know that every time we finish a full app transition,
we re-evaluate the world and put everything in its proper place.
Also included in this change are a few little tweaks to the input system,
to perform better logging, and completely ignore input devices that do not
have any of our input classes. There is also a little cleanup of evaluating
configuration changes to not do more work than needed when an input
devices appears or disappears, and to only log a config change message when
the config is truly changing.
Change-Id: Ifb2db77f8867435121722a6abeb946ec7c3ea9d3
Merge commit 'beea2690008eaea5a901ff3ae748b01893e24e1b' into eclair-plus-aosp
* commit 'beea2690008eaea5a901ff3ae748b01893e24e1b':
For intent ACTION_PACKAGE_CHANGED, there could be a lot of broadcasts related to enabling/disabling
components by apps which could result in thrashing on the PackageManager. For apps that
do not want to be restarted when such a broadcast is sent, we can just aggregate these broadcasts and
handle them at one go.
Changes include:
New structure to hold pending broadcasts by class name. If a component is enabled or disabled frequently
aggregate component enabled/disabled settings in this structure in a 10 second window and then
send out the accumulated list of broadcasts to the ActivityManager.
A new Handler implementation handles this message
Add new attribute name EXTRA_CHANGED_COMPONENT_NAME in broadcast intent Intent.ACTION_PACKAGE_CHANGED for
additional information for apps like Launcher.
Rename a couple of parameters, the names were too jarring.
Merge commit '9756a70bd92fb844d2fd8346cc4bb6c8bb768c4b' into eclair-plus-aosp
* commit '9756a70bd92fb844d2fd8346cc4bb6c8bb768c4b':
Expand apps' control over the settings restore process
Applications can now specify two more aspects of the restore process: whether
they need to run with their own custom Application subclass rather than being
launched in the usual restricted mode during restore, and whether it's okay for
the backup manager to kill the app process once restore has completed. The new
manifest attributes for these are, respectively, android:restoreNeedsApplication
and android:killAfterRestore.
If unspecified in the manifest, restoreNeedsApplication is false, and
killAfterRestore is true.
In order to support kill-after-restore cleanly, this change also adds a new
system-process-only interface to the Activity Manager, which will schedule a
"commit suicide" event on the target app's main thread looper.
The framework backup agents have been given the appropriate new backup
attributes as well.