776 Commits

Author SHA1 Message Date
Android (Google) Code Review
e3c393d3d1 Merge change 23787 into eclair
* changes:
  Fix issue #2097313: Latin IME crashes first use
2009-09-02 23:11:16 -07:00
Dianne Hackborn
cc27870098 Fix issue #2097313: Latin IME crashes first use
Change-Id: I50c48b66aff5aff42e71058591d20775eba73fed
2009-09-02 23:08:45 -07:00
Dianne Hackborn
bdd52b264a 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
2009-09-02 21:54:18 -07:00
Dianne Hackborn
a34f1ad7c3 Fiddle system boot ordering.
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
2009-09-02 17:39:54 -07:00
Dianne Hackborn
a8f6018d6c 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
2009-09-02 17:20:25 -07:00
Dianne Hackborn
f52e9f7033 am e1b4437d: Revert "Fix content provider"
Merge commit 'e1b4437dba7c33566af55d4e5d27d35729678684' into eclair

* commit 'e1b4437dba7c33566af55d4e5d27d35729678684':
  Revert "Fix content provider"
2009-09-02 15:35:01 -07:00
Suchi Amalapurapu
0214e9475f 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.
2009-09-02 12:32:32 -07:00
Christopher Tate
5e1ab335e6 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.
2009-09-01 20:59:36 -07:00
Dianne Hackborn
e1b4437dba Revert "Fix content provider"
Argh!

This reverts commit da706900f45dca82d89f090e4e52fa5d1772c495.
2009-09-01 19:21:08 -07:00
Dianne Hackborn
ff0dc82c1c am 6a98f8d9: Merge change 23499 into donut
Merge commit '6a98f8d93e4ddd407baad8d9b7481a892001d281' into eclair

* commit '6a98f8d93e4ddd407baad8d9b7481a892001d281':
  Fix content provider
2009-09-01 19:11:44 -07:00
Dianne Hackborn
da706900f4 Fix content provider 2009-09-01 13:57:11 -07:00
Dianne Hackborn
3025ef332c Various infrastructure to support a running services UI.
Some of this is temporary (in particular the two approaches for getting
process memory, one working but horrible, the other not working but
preferred) until I figure out the best way to do it.

Change-Id: I8c8f25062d481fcea22a47d459b083d2fd8a5040
2009-09-01 11:16:25 -07:00
Mike Lockwood
9aa1fa2d36 LocationManagerService: Remove caching of last known locations to flash.
Change-Id: Ibbab20a7c48823fb74c2e175824f55248f25bf8a
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-09-01 07:51:15 -04:00
Mike Lockwood
3a76fd6279 LocationManagerService: Add null pointer check and remove useless finalize() method.
Change-Id: I4017d38a1bea7564a85575486a7c2aef569dfe5d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-09-01 07:26:56 -04:00
Android (Google) Code Review
b0a0540483 Merge change 23223 into eclair
* changes:
  SensorService: call close_data_source when we have no more sensor clients.
2009-08-30 13:33:57 -07:00
Android (Google) Code Review
2d93a11663 Merge change 23187 into eclair
* changes:
  Do not send dock state changed broadcasts until the system has finished booting.
2009-08-30 12:02:07 -07:00
Mike Lockwood
2d6b67d37f SensorService: call close_data_source when we have no more sensor clients.
Change-Id: I94accda4571c3f2cf6f8a5b6801e37c30c027fe1
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-30 14:25:56 -04:00
Dianne Hackborn
284ac93aa3 More work on wallpapers: animations, lifecycle, scaling, etc.
Yet more work on improving the behavior of wallpapers.  This fixes a few
problems in their lifecycle (corresponding change in the picker also
required for this), makes their animations better for hardware that supports
alpha fades, adds animations for the wallpapers themselves, eliminates
fixed size wallpapers, and adjusts the API for retrieving a wallpaper
bitmap to take care of scaling the raw wallpaper image to match the current
desired width and height.

Change-Id: If1c0aaceba4ea4e175dcb7a8416ca7ddbb9bfa6f
2009-08-30 10:53:53 -07:00
Mike Lockwood
d0e82cec71 Do not send dock state changed broadcasts until the system has finished booting.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-28 13:36:14 -07:00
Dianne Hackborn
49237345d8 Add platform infrastructure for features.
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
2009-08-27 21:51:00 -07:00
Android (Google) Code Review
d6ac7c73e1 Merge change 22975 into eclair
* changes:
  Fix issue #2069662: The wallpaper doesn't move along with the home screen
2009-08-27 15:10:27 -07:00
Android (Google) Code Review
6391830d10 Merge change 22958 into eclair
* changes:
  Don't activate keyguard if screen is turned off while proximity sensor is active.
2009-08-27 14:31:06 -07:00
Mike Lockwood
18ad9f657b Only allow system code to call LocationManager.sendNiResponse()
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-27 14:22:27 -07:00
Dianne Hackborn
6c3f571a14 Fix issue #2069662: The wallpaper doesn't move along with the home screen
The wallpaper target was being lost when an activity was restarted.

Change-Id: Ib05622591c9bb2f01bb8f2c0a0a8e77fe657ae88
2009-08-27 14:18:51 -07:00
Danke Xie
22d1f9fb23 gps: Network initiated SUPL
Initial contribution from Qualcomm.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-27 14:18:30 -07:00
Mike Lockwood
ddfe879b78 Don't activate keyguard if screen is turned off while proximity sensor is active.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-27 13:27:08 -07:00
Dianne Hackborn
aa52f9a7c6 Make SINGLE_TOP work with CLEAR_TOP.
Change-Id: Ie98b491dc4b1a2ae5e8fc8452c6410597bc9676b
2009-08-27 13:10:09 -07:00
Android (Google) Code Review
aa0a3b09e7 Merge change 22944 into eclair
* changes:
  resolved conflicts for merge of 301b97ac to eclair
2009-08-27 12:27:51 -07:00
Dianne Hackborn
6ccd2aff3e resolved conflicts for merge of 301b97ac to eclair
Change-Id: I0fb70cbe0a52006ad14f43a02c30b72aad457c48
2009-08-27 12:26:44 -07:00
Android (Google) Code Review
25b9cec8de Merge change 22692 into eclair
* changes:
  PowerManagerService: Disallow all user activity when in proximity wake lock.
2009-08-27 11:26:44 -07:00
Mike Lockwood
36fc302560 PowerManagerService: Disallow all user activity when in proximity wake lock.
Fixes b/2076756

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-27 11:07:49 -07:00
Mike Lockwood
49c22570bb am 7566c1de: LocationManager: Fix problem replacing GPS and network providers with a mock provider.
Merge commit '7566c1debebe072af76411e11d96810fd1409482' into eclair

* commit '7566c1debebe072af76411e11d96810fd1409482':
  LocationManager: Fix problem replacing GPS and network providers with a mock provider.
2009-08-27 09:25:36 -07:00
Android (Google) Code Review
301b97ac19 Merge change 22883 into donut
* changes:
  Various tweaks to try to improve low memory behavior.
2009-08-27 01:14:00 -07:00
Dianne Hackborn
fd12af4e76 Various tweaks to try to improve low memory behavior.
- 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.
2009-08-27 01:03:24 -07:00
Mike Lockwood
7566c1debe LocationManager: Fix problem replacing GPS and network providers with a mock provider.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-26 23:34:18 -07:00
Mike Lockwood
9517443904 MountService: Launch UsbStorageActivity with Intent.FLAG_ACTIVITY_NEW_TASK flag.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-26 09:44:09 -07:00
Android (Google) Code Review
cc907741b9 Merge change 22660 into eclair
* changes:
  Simplify data icons of CDMA in status bar.
2009-08-25 16:18:32 -07:00
johnwang
9f87cb2f8d Simplify data icons of CDMA in status bar.
Use 3G icons when connect to EvDO, use 1x icons when connected to 1x, and remove dormant state display.
2009-08-25 16:12:39 -07:00
Android (Google) Code Review
8d61d00583 Merge change 22638 into eclair
* changes:
  Fix the removal of dns entries.
2009-08-25 16:11:47 -07:00
Dianne Hackborn
9acc030be4 Implement issue #2071750: add a pre-boot upgrade step.
Change-Id: I7133a03a6bf302dbac00c5f8b0420071d2453f89
2009-08-25 15:15:31 -07:00
Robert Greenwalt
b06324a5c1 Fix the removal of dns entries.
When switching default networks we should erase any excess dns server entries.  The old code
used the wrong index and didn't erase all of them properly.

Found in conjunction with
bug: 2077628
2009-08-25 14:00:10 -07:00
Android (Google) Code Review
4b474440ce Merge change 22566 into eclair
* changes:
  Simplify CDMA Status Bar icons
2009-08-25 13:39:34 -07:00
johnwang
347c5a22a9 Simplify CDMA Status Bar icons
Update the RSSI display policy in CDMA.
1. Use single RSSI icon instead of two icons
2. If 3G(EV) and 1x network are available than 3G should be displayed,  Displayed RSSI should be from the EV side.
3. If a voice call is made then RSSI should switch to 1x.
2009-08-25 12:39:49 -07:00
Dianne Hackborn
83360b3167 Fix bug that would leave old windows around.
The problem was instigated by another fix I made to keep
windows around while their tokens are animating or preparing to
animate.  This then hit an issue where if the window's process
died while its token was getting ready to animate, we would
immediately hide the token, and when we then went to start
the token animation we wouldn't do anything, leaving the old
dummy animation in place and not allowing it to run.

Now we clear the animation before hiding the token, to ensure
the dummy animation is gone at this point.

Change-Id: If83fadcce6815bc545c80fbdb82fe6972bbdf5ef
2009-08-24 18:43:32 -07:00
Android (Google) Code Review
cf3a08307d Merge change 22400 into eclair
* changes:
  Add more control over a service's start state.
2009-08-24 17:01:50 -07:00
Dianne Hackborn
f6f9f2d025 Add more control over a service's start state.
One of the problems I have been noticing is background services
sitting around running and using resources.  Some times this is
due to the app developer doing this when they shouldn't, but there
are also a number of issues with the current Service interaction
model that make it very difficult (or impossible) to avoid
getting services stuck in the started state.  This is a
change/enhancement to the Service API to try to address this.

The main change is that Service.onStart() has been deprecated,
replaced with a new Service.onStartCommand() that allows the
service to better control how the system should manage it.  The
key part here is a new result code returned by the function, telling
the system what it should do with the service afterwards:

- START_STICKY is basically the same as the previous behavior,
  where we usually leave the service running.  The only difference
  is that it if it gets restarted because its process is killed,
  onStartCommand() will be called on the new service with a null
  Intent instead of not being called at all.

- START_NOT_STICKY says that, upon returning to the system, if
  its process is killed with no remaining start commands to
  deliver, then the service will be stopped instead of restarted.
  This makes a lot more sense for services that are intended to
  only run while executing commands sent to them.

- START_REDELIVER_INTENT is like START_NOT_STICKY, except if
  the service's process is killed before it calls stopSelf()
  for a given intent, that intent will be re-delivered to it
  until it completes (unless after 4 or more tries it still
  can't complete, at which point we give up).

Change-Id: I978f5ca420d70023d1b5e7f97de639d09381f8ad
2009-08-24 17:00:54 -07:00
Robert Greenwalt
ec9fe4672a Fix a race condition for data change notification
We could sometimes not be told about network state changes breaking subsequent mms access.
Turning on more logging too.

bug: 2069106
2009-08-24 16:19:42 -07:00
Mike Lockwood
e4465e2eac DockObserver: minor cleanup.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-24 13:51:58 -07:00
Li Zhe
ebe66345e7 Framework changes to support HSDPA/HSUPA/HSPA
HSDPA: High-Speed Downlink Packet Access
HSUPA: High-Speend Uplink Packet Access
HSPA:  High-Speed Packet Access

Add support for HSDPA/HSUPA/HSPA:
 1) extend TelephonyManager.NETWORK_TYPE for HSDPA/HSUPA/HSPA
 2) extend ServiceState.RADIO_TECHNOLOGY for HSDPA/HSUPA/HSPA
 3) set radioTechnology into ServiceState in GsmServiceStateTracker
 4) change the implementation of TelephonyManager.getNetworkType to
    solve the competition timing issue between the time of setting
    system property and the time of receiving notification through
    PhoneStateListener
    4.1) add a getNetworkType interface in ITelephony.aidl
 5) add icons resources for HSDPA/HSUPA/HSPA
 6) make use of HSDPA/HSUPA/HSPA icons in StatusBarPolicy
2009-08-21 13:41:05 -07:00
Dianne Hackborn
3be63c0930 Infrastructure for supporting wallpaper previews.
Various things that will allow us to show previews of wallpapers.
Also some fixes to animations across wallpapers.
2009-08-20 20:34:42 -07:00