History log of /frameworks/base/services/java/com/android/server/SystemServer.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6a08a12b8e8ef6fa04932c7a1c5255e3f158a3c8 03-May-2013 Svetoslav <svetoslavganov@google.com> Idle maintenance scheduling broken.

1. The scheduling was relying on receiving battery level broadcasts
which however are not sent if the device is asleep. The maintenance
window was not bound and we could miss a frame if the user did
not interact the device longer than the min time between two
maintenance windows.

2. Hide the idle maintenance intents since this will be rewritten
to user services.

bug:8688454

Change-Id: I17b421b09823cb46ec218cabda19e02432d94f8c
/frameworks/base/services/java/com/android/server/SystemServer.java
1dd01eb36b63d870d75aec189dd1718a1663c272 26-Apr-2013 Matthew Xie <mattx@google.com> Donot start Bluetooth Manager Service when bluetooth hardware feature is missing

bug 8374762

Change-Id: Iea06bd05e19eeddf3398ac446f3d6b80fce51283
/frameworks/base/services/java/com/android/server/SystemServer.java
48749fc78afc982ac32cf98790a85ab2b8bed515 19-Apr-2013 Jeff Sharkey <jsharkey@android.com> Environment should only warn when asked.

Instead of warning on Process.SYSTEM_UID, which is also used by the
Settings app, change to have the parent process explicitly ask for
warnings.

Bug: 8667286
Change-Id: Ib26676694a4041ff4e6d3ffdcc14055b7eba13c7
/frameworks/base/services/java/com/android/server/SystemServer.java
58d380d2af8079075e4773a3e5ca6c2820760e3d 19-Mar-2013 Christopher Tate <ctate@google.com> debuggerd now notifies the Activity Manager about native crashes

The Activity Manager sets up a permission-guarded domain socket, which
debuggerd connects to when a crash happens. If this is successful,
the daemon then mirrors the logged crash report to that socket, then
closes it.

The Activity Manager parses the native crash dump supplied by debuggerd
and forwards it to the standard app-crashed code. The UX result is
that users now see the normal "app has stopped unexpectedly" dialog
with "report" and "okay" options for native crashes, not just for
DVM-mediated crashes.

Bug 8322568

Change-Id: Ie1b279896c603bd74d82d6cfcfd66a8f231da134
/frameworks/base/services/java/com/android/server/SystemServer.java
79619ddbfe7367e11dd17d848b179877350b7b8e 04-Mar-2013 Nick Kralevich <nnk@google.com> EntropyMixer: Write entropy at shutdown / reboot / power

Write out entropy if we're shutting down or rebooting,
or if someone plugs in the power.

Bug: 8312061
Change-Id: Id9a48064a7bdfe6c05a9227ea95a1bdbd0e9b8ae
/frameworks/base/services/java/com/android/server/SystemServer.java
d017f3523244974a8a3fb653ed4b6d514affcc01 20-Feb-2013 Irfan Sheriff <isheriff@google.com> Move wifiservice into its own package

Change-Id: I3ff378a29cb4dd191605b0b641147eba1f445d13
/frameworks/base/services/java/com/android/server/SystemServer.java
b3038ec7cfc5d26eb0be18ae65c62825556bca0f 13-Feb-2013 Svetoslav <svetoslavganov@google.com> Adding idle maintenance service.

It is beneficial that there is a mechanism on the platform
to notify applications whether it is safe to perform somehow
expensive operations while the user is not using the device.
Thus, user experience will not be degraded. An example is
discarding of unused blocks on a mounted file system instead
of doing this on every write operation.

bug:8056794

Change-Id: I708bad9d3ce6c8f1d5a1c05c0abf46f81a3d464b
/frameworks/base/services/java/com/android/server/SystemServer.java
ca6486e7f579fa885b6213513f26ce2ca49f873b 15-Jan-2013 Sasha Levitskiy <sanek@google.com> Removed Throttle Manager as obsolete

Change-Id: I63e8514f34c880d0badaab33a347f54a80c84da6
/frameworks/base/services/java/com/android/server/SystemServer.java
a06de0f29b58df9246779cc4bfd8f06f7205ddb6 12-Dec-2012 Dianne Hackborn <hackbod@google.com> New "app ops" service.

Initial implementation, tracking use of the vibrator, GPS,
and location reports.

Also includes an update to battery stats to also keep track of
vibrator usage (since I had to be in the vibrator code anyway
to instrument it).

The service itself is only half-done. Currently no API to
retrieve the data (which once there will allow us to show you
which apps are currently causing the GPS to run and who has
recently accessed your location), it doesn't persist its data
like it should, and no way to tell it to reject app requests
for various operations.

But hey, it's a start!

Change-Id: I05b8d76cc4a4f7f37bc758c1701f51f9e0550e15
/frameworks/base/services/java/com/android/server/SystemServer.java
7a96c39c510923ef73bbb06ab20109f0168b8eb1 15-Nov-2012 Jeff Sharkey <jsharkey@android.com> Move lingering services to services.jar.

This helps reduce the pressure on framework.jar, and makes it clear
that it should only be used by the system_server.

Bug: 7333397
Change-Id: I0858904239535380fbf30562b793e277d8c3f054
/frameworks/base/services/java/com/android/server/SystemServer.java
40e9f2922cae76ffcbc521481e5be8e80e8744ef 28-Nov-2012 Dianne Hackborn <hackbod@google.com> Quiet down a lot of logging.

Also fix a little problem where the USER_STARTED broadcasts
were not being sent as ordered broadcasts(!).

Change-Id: I3aa3e0a9b3900967cdd2d115ee103371b0a50c41
/frameworks/base/services/java/com/android/server/SystemServer.java
cd75706117432e33d11639e675bcff50479a6bb9 20-Oct-2012 Amith Yamasani <yamasani@google.com> System server should always send broadcasts to a specific or all users

Bug: 7368245

Log a warning if the system process calls unqualified sendBroadcast()
and other calls.

As a result of the logging above, found a few more method calls such as
bindService() that would benefit from being more explicit to avoid
future confusion and reduce the log warnings.

Change-Id: I17f15c8be9adf7becd456d6abbab606f19befdbf
/frameworks/base/services/java/com/android/server/SystemServer.java
ed108f3d125b0a4cc465057e3514caf781cdea19 18-Oct-2012 John Spurlock <jspurlock@google.com> Frameworks base: Promote dream setting defaults to config.

So that:
- the values can be shared (to fix assoc bug)
- the values can be customized in product overlays

Bug:7373284
Change-Id: I37f037082523a3d975f6014f36afa28c60117372
/frameworks/base/services/java/com/android/server/SystemServer.java
2f39e9f8333183312b7f7d423c2ea60a93a25e32 21-Sep-2012 Craig Mautner <cmautner@google.com> Switch from uevent model to /dev/input/event.

Headsets are now detected from calls coming in from the input switch
subsystem if a config.xml value is set to true.

Bug: 6548391.

Change-Id: I79259d2742e157b106a746474f32ffd1c171ddf3
/frameworks/base/services/java/com/android/server/SystemServer.java
be87e2f5885b28145a788fd31d1fb5ae88a71100 29-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7255954: API Review: rename Dream to DreamService

Change-Id: I89ecf2c3ec4fef09c0495aa68de11576f9cfd872
/frameworks/base/services/java/com/android/server/SystemServer.java
62c82e4d92cc0b856059f905d81885f7808a0e7d 26-Sep-2012 Jeff Brown <jeffbrown@google.com> Make DreamManagerService more robust.

Clearly isolated the DreamManagerService and DreamController
responsibilities. DreamManagerService contains just enough logic to
manage the global synchronous behaviors. All of the asynchronous
behaviors are in DreamController.

Added a new PowerManager function called nap() to request the device
to start napping. If it is a good time to nap, then the
PowerManagerService will call startDream() on the DreamManagerService
to start dreaming.

Fixed a possible multi-user issue by explicitly tracking for
which user a dream service is being started and stopping dreams
when the current user changes. The user id is also passed to
bindService() to ensure that the dream has the right environment.

Fix interactions with docks and the UI mode manager. It is
important that we always send the ACTION_DOCK_EVENT broadcast
to the system so that it can configure audio routing and the like.
When docked, the UI mode manager starts a dock app if there is
one, otherwise it starts a dream.

This change resolves issues with dreams started for reasons other
than a user activity timeout.

Bug: 7204211
Change-Id: I3193cc8190982c0836319176fa2e9c4dcad9c01f
/frameworks/base/services/java/com/android/server/SystemServer.java
cef440f2a2bb8b6e8d082d12a67dc21f2ee65e3c 26-Sep-2012 Jeff Brown <jeffbrown@google.com> Move DreamManagerService to its own package.

Bug: 7204211
Change-Id: Ia6cfe252647161df357a4de149a06fa1e3fd63fa
/frameworks/base/services/java/com/android/server/SystemServer.java
888eb73c6e86a18520cbaa999a18e8b039dbed4f 24-Sep-2012 Amith Yamasani <yamasani@google.com> resolved conflicts for merge of 814f5ac3 to jb-mr1-dev

Change-Id: Ic65395ce932971dc9c37a481aa96da79a45d0f12
b079d1f28089ad4de05162b7df0ace90bc40a5f3 24-Sep-2012 Amith Yamasani <yamasani@google.com> am 5e8cbdc0: Merge "Fixing services start order that impacts ICS - JB upgrade"

* commit '5e8cbdc0bd6dfc51e6b54db1d5fd61347336d862':
Fixing services start order that impacts ICS - JB upgrade
b4c33679cbdec9e12369fb49469ce33ed83ed25c 21-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge "Disentangle input manager service startup." into jb-mr1-dev
a9d131c30878cacdaeacb4f43a82a7cc5b872453 21-Sep-2012 Jeff Brown <jeffbrown@google.com> Disentangle input manager service startup.

We will be adding additional callbacks for other components.
This change makes it clearer how the input manager is started
and where the callbacks are initialized.

Bug: 6548391
Change-Id: I4b2a61482126a12b7cf11fafe513f846c76c11e5
/frameworks/base/services/java/com/android/server/SystemServer.java
ca2cb1841099c7206af93149d0326308e0d3f81a 20-Sep-2012 Wink Saville <wink@google.com> Merge "Suppress location information for non-active users." into jb-mr1-dev
a12a7b3d3d8fc8678411295df4d001447b33a994 20-Sep-2012 Wink Saville <wink@google.com> Suppress location information for non-active users.

Specifically, don't allow call backs for LISTEN_CELL_LOCATION and
LISTEN_CELL_INFO.

Bug: 7087342
Change-Id: Ida7f60b5bde3f28264dcb454b38fcfb1f1616d11
/frameworks/base/services/java/com/android/server/SystemServer.java
e0de5bfff2e74ee566ac2d053052de09aa25e54b 20-Sep-2012 John Spurlock <jspurlock@google.com> Merge "Fire "dreaming started" and "dreaming stopped" broadcasts." into jb-mr1-dev
89d5546d7fd3a3bb19820c42e8b4527013dd6545 19-Sep-2012 Jeff Brown <jeffbrown@google.com> Add support for remembering Wifi display devices.

Add a setting to globally disable Wifi display.

Fixed a bug where the wifi display broadcast receiver
was running on the wrong thread.

Removed the wifi-display QuickSettings dialog, all functionality
has been moved to Settings.

Bug: 7178216
Bug: 7192799
Change-Id: I9796baac8245d664cf28fa147b9ed978d81d8ab9
/frameworks/base/services/java/com/android/server/SystemServer.java
f4f6b4c8b0fcf77d46567f13b409255948fe107b 25-Aug-2012 John Spurlock <jspurlock@google.com> Fire "dreaming started" and "dreaming stopped" broadcasts.

Dream manager now fires broadcast intents when entering + exiting
dreamland (except when testing).

Power manager can now listen for dreams ending, using polling only
as a backstop.

Also:
- Bullet-proof dream-manager/dream against known failure modes
- Add new read/write dream permissions
- Refactor dream-manager to delegate work + state management into
a new DreamController class, via a handler

Bug:6999949
Bug:7152024
Change-Id: I986bb7812209d8c95ae1d660a5eee5998a7b08b1
/frameworks/base/services/java/com/android/server/SystemServer.java
f35df5b509469fc7e71cdd70f4caec670bc5156f 18-Sep-2012 Felipe Ramos <felipe.wolff@gmail.com> Fixing services start order that impacts ICS - JB upgrade

JB has introduced LockSettingsService. When the phone is
upgrading from ICS, that used another way to store lock
settings, the LockSettingsService needs to import these
settings to store in its database. This happens when the
systemReady() method of this class is called by SystemServer.

The problem resides in the fact that the
DevicePolicyManagerService actually needs to access the
LockSettingsService during its systemReady() initialization,
causing invalid values to be read by it which propagates and
ends up causing a invalid return in the method
isActivePasswordSufficient.

If user had a Google corporate account that enforces password
related policies through Google Apps Device Policy (GADP) app
in ICS, when he upgrades to JB, the GADP will throw a
notification saying that the password doesn't meet the required
policies and needs to be changed, incorrectly, since it wasn't
touched during upgrade.

This fix initializes the LockSettingsService before the
DevicePolicyManagerService, which is the correct way since
the latter uses the first in its initialization. This prevents
this issue to happen, and probably future issues, depending
on the way that LockSettingsService evolves.

Change-Id: I3d4334a8b728f0ad9ae744cece430d15af25a0b7
/frameworks/base/services/java/com/android/server/SystemServer.java
f69c812f49cb2dea296cd319984e58af026f4c3a 13-Sep-2012 Jeff Brown <jeffbrown@google.com> Wait for installd to finish starting before booting.

Fixes a race condition where the system server might
try to access /data/user/0 before it was created. In so
doing, the system server could end up creating a directory
in that location with the wrong permissions and everything
would promptly crash.

Bug: 7151686
Change-Id: I349c12fd2b9685d2e7f6305e74f6bf7d5816b752
/frameworks/base/services/java/com/android/server/SystemServer.java
b049e212ab7fe8967893c202efcb30fecfdb82fb 08-Sep-2012 Jeff Sharkey <jsharkey@android.com> Include user identifier in external storage paths.

When building external storage paths, always include user in path
to enable cross-user paths and aid debugging.

Each Zygote process continues to only have access to the appropriate
user-specific emulated storage through bind mounts. A second set of
mounts continue supporting legacy /sdcard-style paths. For example,
a process running as owner has these mount points:

/storage/emulated_legacy
/storage/emulated_legacy/Android/obb
/storage/emulated/0
/storage/emulated/obb

Since Environment is created before Zygote forks, we need to update
its internal paths after each process launches.

Bug: 7131382
Change-Id: I6f8c6971f2a8edfb415c14cb4ed05ff97e587a21
/frameworks/base/services/java/com/android/server/SystemServer.java
1676c856d61b97c871dc2be0cb1f1fb1e12e24e9 10-Sep-2012 Dianne Hackborn <hackbod@google.com> Flesh out multi-user in am commands.

Now we default to the current user instead of user 0 for most commands
(except where we can do the command for all users).

Many more commands take a user argument: force-stop, kill, profile,
dumpheap.

Improved help text.

Change-Id: I719a13b4d31b668f57ca21e51d7043ac3e0d4e1b
/frameworks/base/services/java/com/android/server/SystemServer.java
d728bf514f257670fcb9aa22c6eaf97626072c93 09-Sep-2012 Jeff Brown <jeffbrown@google.com> Make display manager tell input system about viewports.

The window manager is no longer responsible for telling the
input system about the display viewport.

Change-Id: I932882bae55decef55f25093bb2a7ebac1620bb1
/frameworks/base/services/java/com/android/server/SystemServer.java
4ed8fe75e1dde1a2b9576f3862aecc5a572c56b5 31-Aug-2012 Jeff Brown <jeffbrown@google.com> More improvements to the display manager.

Added more complete support for logical displays with
support for mirroring, rotation and scaling.

Improved the overlay display adapter's touch interactions.

A big change here is that the display manager no longer relies
on a single-threaded model to maintain its synchronization
invariants. Unfortunately we had to change this so as to play
nice with the fact that the window manager wants to own
the surface flinger transaction around display and surface
manipulations. As a result, the display manager has to be able
to update displays from the context of any thread.

It would be nice to make this process more cooperative.
There are already several components competing to perform
surface flinger transactions including the window manager,
display manager, electron beam, overlay display window,
and mouse pointer. They are not manipulating the same surfaces
but they can collide with one another when they make global
changes to the displays.

Change-Id: I04f448594241f2004f6f3d1a81ccd12c566bf296
/frameworks/base/services/java/com/android/server/SystemServer.java
bd6e1500aedc5461e832f69e76341bff0e55fa2b 28-Aug-2012 Jeff Brown <jeffbrown@google.com> Add initial multi-display support.

Split the DisplayManager into two parts. One part is bound
to a Context and takes care of Display compatibility and
caching Display objects on behalf of the Context. The other
part is global and takes care of communicating with the
DisplayManagerService, handling callbacks, and caching
DisplayInfo objects on behalf of the process.

Implemented support for enumerating Displays and getting
callbacks when displays are added, removed or changed.

Elaborated the roles of DisplayManagerService, DisplayAdapter,
and DisplayDevice. We now support having multiple display
adapters registered, each of which can register multiple display
devices and configure them dynamically.

Added an OverlayDisplayAdapter which is used to simulate
secondary displays by means of overlay windows. Different
configurations of overlays can be selected using a new
setting in the Developer Settings panel. The overlays can
be repositioned and resized by the user for convenience.

At the moment, all displays are mirrors of display 0 and
no display transformations are applied. This will be improved
in future patches.

Refactored the way that the window manager creates its threads.
The OverlayDisplayAdapter needs to be able to use hardware
acceleration so it must share the same UI thread as the Keyguard
and window manager policy. We now handle this explicitly as
part of starting up the system server. This puts us in a
better position to consider how we might want to share (or not
share) Loopers among components.

Overlay displays are disabled when in safe mode or in only-core
mode to reduce the number of dependencies started in these modes.

Change-Id: Ic2a661d5448dde01b095ab150697cb6791d69bb5
/frameworks/base/services/java/com/android/server/SystemServer.java
4428e17c5e05c0dad76da8f1c28ccba62a66cd91 25-Aug-2012 Dianne Hackborn <hackbod@google.com> Some clean up of app install and user management.

UserManagerService is now closely tied to PackageManagerService,
sharing the same locks. There is no longer direct access of
Installer by UserManagerService, instead the package manager is
back to solely owning it.

Creating a new user now correctly only installs system apps for
that user.

Fixed some misc bugs, where we were getting nulls when
querying content providers and instrumentation in uninstalled
users, incorrect locking, etc.

Change-Id: Ife69b6e373d0cf7c5cfc03fc588e36b43ad5d8b0
/frameworks/base/services/java/com/android/server/SystemServer.java
aa202a6dc33d331cbd9e34a1bb5f74db6284dda6 22-Aug-2012 Jeff Brown <jeffbrown@google.com> Add a mechanism to adjust auto-brightness at night.

Uses the twilight service to determine the hours of
sunrise and sunset. Shortly after sunset or before sunrise
gradually start to apply a gamma correction factor to the
auto-brightness calculations to make the screen a little
dimmer at night.

The effect is relatively small and is mostly noticeable
in dark rooms. This is just a first pass at the algorithm,
we can tweak the adjustment later to ensure that it has even less
impact in moderate or bright environments.

Change-Id: Idf89022a5d0bb52975e04779352d53fa63371178
/frameworks/base/services/java/com/android/server/SystemServer.java
2416e09649eb6ab767eba458796e126196c77a34 22-Aug-2012 Jeff Brown <jeffbrown@google.com> Extract the twilight detection into its own service.

Moving the detection out of UiModeManagerService will
make it easy for other services to register for the
information.

Fixed a bugs related to updating twilight state
when the time is updated.

We're using the same algorithm as before for passively
tracking the location. Ideally we should update it
to use the new location manager features for low-power
location requests.

Change-Id: I520c53b9946ab6f8d994587d357fd6542c300c07
/frameworks/base/services/java/com/android/server/SystemServer.java
848c2dc93b6795e171f3dd6f64ea0be65e2762ca 20-Aug-2012 Jeff Brown <jeffbrown@google.com> Stub out display manager service implementation.

Reverting to the previous stub as the display adapter registration
and the logical to physical mapping is not at all what we are going
to need moving forward.

Fixed up the service initialization order so that the display manager
service has a context from the start.

Change-Id: I717f2f1099c7a77180ef207c371ec8329258850a
/frameworks/base/services/java/com/android/server/SystemServer.java
9630704ed3b265f008a8f64ec60a33cf9dcd3345 28-Jul-2012 Jeff Brown <jeffbrown@google.com> Power manager rewrite.

The major goal of this rewrite is to make it easier to implement
power management policies correctly. According, the new
implementation primarily uses state-based rather than event-based
triggers for applying changes to the current power state.

For example, when an application requests that the proximity
sensor be used to manage the screen state (by way of a wake lock),
the power manager makes note of the fact that the set of
wake locks changed. Then it executes a common update function
that recalculates the entire state, first looking at wake locks,
then considering user activity, and eventually determining whether
the screen should be turned on or off. At this point it may
make a request to a component called the DisplayPowerController
to asynchronously update the display's powe state. Likewise,
DisplayPowerController makes note of the updated power request
and schedules its own update function to figure out what needs
to be changed.

The big benefit of this approach is that it's easy to mutate
multiple properties of the power state simultaneously then
apply their joint effects together all at once. Transitions
between states are detected and resolved by the update in
a consistent manner.

The new power manager service has is implemented as a set of
loosely coupled components. For the most part, information
only flows one way through these components (by issuing a
request to that component) although some components support
sending a message back to indicate when the work has been
completed. For example, the DisplayPowerController posts
a callback runnable asynchronously to tell the PowerManagerService
when the display is ready. An important feature of this
approach is that each component neatly encapsulates its
state and maintains its own invariants. Moreover, we do
not need to worry about deadlocks or awkward mutual exclusion
semantics because most of the requests are asynchronous.

The benefits of this design are especially apparent in
the implementation of the screen on / off and brightness
control animations which are able to take advantage of
framework features like properties, ObjectAnimator
and Choreographer.

The screen on / off animation is now the responsibility
of the power manager (instead of surface flinger). This change
makes it much easier to ensure that the animation is properly
coordinated with other power state changes and eliminates
the cause of race conditions in the older implementation.

The because of the userActivity() function has been changed
so that it never wakes the device from sleep. This change
removes ambiguity around forcing or disabling user activity
for various purposes. To wake the device, use wakeUp().
To put it to sleep, use goToSleep(). Simple.

The power manager service interface and API has been significantly
simplified and consolidated. Also fixed some inconsistencies
related to how the minimum and maximum screen brightness setting
was presented in brightness control widgets and enforced behind
the scenes.

At present the following features are implemented:

- Wake locks.
- User activity.
- Wake up / go to sleep.
- Power state broadcasts.
- Battery stats and event log notifications.
- Dreams.
- Proximity screen off.
- Animated screen on / off transitions.
- Auto-dimming.
- Auto-brightness control for the screen backlight with
different timeouts for ramping up versus ramping down.
- Auto-on when plugged or unplugged.
- Stay on when plugged.
- Device administration maximum user activity timeout.
- Application controlled brightness via window manager.

The following features are not yet implemented:

- Reduced user activity timeout for the key guard.
- Reduced user activity timeout for the phone application.
- Coordinating screen on barriers with the window manager.
- Preventing auto-rotation during power state changes.
- Auto-brightness adjustment setting (feature was disabled
in previous version of the power manager service pending
an improved UI design so leaving it out for now).
- Interpolated brightness control (a proposed new scheme
for more compactly specifying auto-brightness levels
in config.xml).
- Button / keyboard backlight control.
- Change window manager to associated WorkSource with
KEEP_SCREEN_ON_FLAG wake lock instead of talking
directly to the battery stats service.
- Optionally support animating screen brightness when
turning on/off instead of playing electron beam animation
(config_animateScreenLights).

Change-Id: I1d7a52e98f0449f76d70bf421f6a7f245957d1d7
/frameworks/base/services/java/com/android/server/SystemServer.java
258848d2ae04f447ff1c18023fa76b139fcc0862 11-Aug-2012 Amith Yamasani <yamasani@google.com> User Manager service to manage users and query user details

Moved a bunch of methods from PackageManager to UserManager.

Fix launching of activities from recents to correct user.

Guest creation APIs

Change-Id: I0733405e6eb2829675665e225c759d6baa2b708f
/frameworks/base/services/java/com/android/server/SystemServer.java
5017f2328407447002ab2d0cae1fe8ef87c50501 28-Jul-2012 Jason Simmons <jsimmons@google.com> Call systemReady on the lock settings before doing so on the window manager

At systemReady time, the window manager needs to obtain values from the lock
settings service (e.g. whether the lock screen is disabled). During the
initial boot of a wiped device, the window manager was getting the wrong
values because LockSettingsService.systemReady/migrateOldData had not yet been
called.

Change-Id: I60825d0e4fad53a5b4349dabf9e5e299b863d0d0

(cherry pick of 2458abaf6676d5015af733c1010ecd67a085e9e2 from jb-aah-dev)
/frameworks/base/services/java/com/android/server/SystemServer.java
f95f3ebf12bf9ee23b8ed4e940ab007cbc22f3f3 02-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Allow access to display manager service from isolated processes." into jb-mr1-dev
e7c1d88fba71122038d516d3b758d68f9f92fa64 02-Aug-2012 Jeff Brown <jeffbrown@google.com> Allow access to display manager service from isolated processes.

Bug: 6921302
Change-Id: I9eed4a24992538e18ad0540b96a8cea2c8a9ef76
/frameworks/base/services/java/com/android/server/SystemServer.java
437a0fbd57662e1d9d260da6f62ff83da2769a7e 02-Aug-2012 Craig Mautner <cmautner@google.com> Merge "Introduce multiple displays with DisplayContent." into jb-mr1-dev
59c009776dae5ccbdfb93d7151ff2065ca049dc3 30-Jul-2012 Craig Mautner <cmautner@google.com> Introduce multiple displays with DisplayContent.

Fix a couple of bugs that turned up.
Remove touch/focus from display. Add iterators for access.
Respond to comments. Remove TODOs, and some deviceId parameters.

Change-Id: Idcdb4f1979aa7b14634d450fd0333d6eff26994d
/frameworks/base/services/java/com/android/server/SystemServer.java
e23ae144cc1b6487a7c0e7a33d3016431c81850c 31-Jul-2012 Kenny Root <kroot@google.com> am fa74f7e0: am bba948dc: Merge "Delay AccountManagerService initialization" into jb-dev

* commit 'fa74f7e04fcad1258a1b85515547dba0466086d8':
Delay AccountManagerService initialization
fa74f7e04fcad1258a1b85515547dba0466086d8 31-Jul-2012 Kenny Root <kroot@google.com> am bba948dc: Merge "Delay AccountManagerService initialization" into jb-dev

* commit 'bba948dc9e95baab9e6fb728927aada4a00d93de':
Delay AccountManagerService initialization
26ff6626fc4ee0ae46f01ad309b366921da589fe 30-Jul-2012 Kenny Root <kroot@google.com> Delay AccountManagerService initialization

Since applications can have Account providers, they need to be delayed
until after PackageManagerService says everything is mounted.
Otherwise the accounts associated with that provider will be removed
immediately when startup happens.

Bug: 6820670
Change-Id: Iba81765260421649f706624d0605a40ebc1347b1
/frameworks/base/services/java/com/android/server/SystemServer.java
fa25bf5382467b1018bd9af7f1cb30a23d7d59f7 24-Jul-2012 Jeff Brown <jeffbrown@google.com> Add display manager skeleton.

The purpose of this change is to remove direct reliance on
SurfaceFlinger for describing the size and characteristics of
displays.

This patch also starts to make a distinction between logical displays
and physical display devices. Currently, the window manager owns
the concept of a logical display whereas the new display
manager owns the concept of a physical display device.

Change-Id: I7e0761f83f033be6c06fd1041280c21500bcabc0
/frameworks/base/services/java/com/android/server/SystemServer.java
9631314e3d28b6e96ef0b7cc777f1a7747a0ac39 30-Jun-2012 Matthew Xie <mattx@google.com> Fix merge error, put in tmp workaround for input manager.

Fix merge error, missing enableNoAutoConnect api.
Remove bluetoothF from inputManageF.systemReady call as tmp workaround.
Recover shutdownRadios(MAX_RADIO_WAIT_TIME) call in ShutdownThread

Change-Id: Ice2b5c54267755bdbf56c742feabbb8709b92570
/frameworks/base/services/java/com/android/server/SystemServer.java
0f42037eb7b5118015c2caca635538324ccf0ccf 12-Apr-2012 fredc <fredc@broadcom.com> Non persistent adapter service

Change-Id: Ib13d5c77416e58161df0e04d7a15ec0dddbde8b5

Conflicts:

core/java/android/bluetooth/BluetoothInputDevice.java

Conflicts:

core/java/com/android/internal/app/ShutdownThread.java
services/java/com/android/server/SystemServer.java

Conflicts:

services/java/com/android/server/SystemServer.java
services/java/com/android/server/pm/ShutdownThread.java
/frameworks/base/services/java/com/android/server/SystemServer.java
e21a4ac09d2473becaea43a73d19e9e836e7732a 07-Mar-2012 Jaikumar Ganesh <jaikumar@google.com> Add a new version of the disable API.

This allows for the setting to be persisted or not.
Also turn on Bluetooth in System Server if needed.
It won't work currently because the service wouldn't have
started.

Change-Id: I15fa2bff93aa32134c1b565fcbe90ba68614b6a1
/frameworks/base/services/java/com/android/server/SystemServer.java
34196187365687d3f144a6de5fef811b52545ac0 18-Jan-2012 Jaikumar Ganesh <jaikumar@google.com> Remove BT references from System Server.

Change-Id: Icfdb3e140aa35174a8b70da57472a1bf2bd0143b

Conflicts:

services/java/com/android/server/SystemServer.java
/frameworks/base/services/java/com/android/server/SystemServer.java
ad51a1e9230cdf95082b5e05690f0b72eaed3f35 26-Jun-2012 Jeff Brown <jeffbrown@google.com> am 0086ec0d: am d48cf0c0: Merge "Don\'t wait until boot timeout if there is no wallpaper." into jb-dev

* commit '0086ec0d3009bc8c80e1330cd73ba534aa45f489':
Don't wait until boot timeout if there is no wallpaper.
0086ec0d3009bc8c80e1330cd73ba534aa45f489 26-Jun-2012 Jeff Brown <jeffbrown@google.com> am d48cf0c0: Merge "Don\'t wait until boot timeout if there is no wallpaper." into jb-dev

* commit 'd48cf0c0ce5f9458802d2be8671c85fa027a74a0':
Don't wait until boot timeout if there is no wallpaper.
780c46fc9197f7ecb258e2c229824749f9e93806 24-Jun-2012 Jeff Brown <jeffbrown@google.com> Don't wait until boot timeout if there is no wallpaper.

When launching only core apps, the wallpaper service
is not started. Without this change the WM waits
up to 30 seconds for the wallpaper window to be created even
though it will never happen. This introduces a significant
delay before the boot animation is dismissed so the user can
enter a decryption password.

Bug: 6263070
Change-Id: Ia975127a0bf09cf99818f7cc4fd6c0264b740ec6
/frameworks/base/services/java/com/android/server/SystemServer.java
4f8ecd80296508a1dc69d3f3a23fd91e962c2784 19-Jun-2012 Jeff Brown <jeffbrown@google.com> Move power manager to a new package.

Change-Id: I5f5a6435e64354b7d6535e8e9a63934ba7a3f448
/frameworks/base/services/java/com/android/server/SystemServer.java
3430959c4dce7ff5e4a8bac2f9e1c3f3a8307079 12-Jun-2012 Dianne Hackborn <hackbod@android.com> am 569f5bdd: am 37d8ac1b: Merge "SystemServer: Looper\'s getMainLooper to return ServerThread"

* commit '569f5bddd2494bdeae07a6b278f6df6cc8579981':
SystemServer: Looper's getMainLooper to return ServerThread
51a573c76737733638c475f52e441c814e6645cc 17-May-2012 Kenny Root <kroot@google.com> Wait for ASECs to be scanned before proceeding

Move MountService up the list, then pause waiting for MountService to
finish scanning ASECs before the services that require those packages to
be ready.

Additionally, don't automatically mark all ASEC apps as FLAG_EXTERNAL on
reboot. This prevents AppWidgets and other things from being used with
ASECs which are on internal storage.

Bug: 6445613
Change-Id: I3e0b3e244fec966814d7a5ea93de5d337aea79bd
/frameworks/base/services/java/com/android/server/SystemServer.java
b696c0542cae70d7f66b9011be2f9d1812885159 15-May-2012 Geremy Condra <gcondra@google.com> Merge "Adds support for the CertBlacklister." into jb-dev
3d33c268cc7f08ec3d2ec1aa535fa86dec458b2e 07-May-2012 Geremy Condra <gcondra@google.com> Adds support for the CertBlacklister.

The CertBlacklister is a mechanism for allowing is to use gservices
to blacklist certs by serial number or public key.

Change-Id: Ie4b0c966a8a43c9823fb550c0b1691204f133ae7
/frameworks/base/services/java/com/android/server/SystemServer.java
7304c343821309dd15f769b18f1de2fa43751573 12-May-2012 Jeff Brown <jeffbrown@google.com> Move power HAL interactions to PowerManagerService.

This refactoring sets the stage for a follow-on change that
will make use additional functions of the power HAL.

Moved functionality from android.os.Power into PowerManagerService.
None of these functions make sense being called outside of the
system server. Moving them to the PowerManagerService makes it
easier to ensure that the power HAL is initialized exactly once.

Similarly, moved ShutdownThread out of the policy package and into
the services package where it can tie into the PowerManagerService
as needed.

Bug: 6435382
Change-Id: I958241bb124fb4410d96f5d5eb00ed68d60b29e5
/frameworks/base/services/java/com/android/server/SystemServer.java
07b0465095bd9ab3412caefa4fcacbdc3825c64b 24-Apr-2012 Glenn Kasten <gkasten@google.com> Scheduling policy service

Change-Id: I6178b96896ffbb3323210f93784a65d724a3e694
/frameworks/base/services/java/com/android/server/SystemServer.java
9341f389dbad2df1a30dabfbada8e3a92a4a39f3 24-Apr-2012 Jake Hamby <jhamby@google.com> After reboot with airplane mode and BT enabled, keep BT enabled.

Enabling airplane mode disables Wi-Fi and Bluetooth as well as the
cell radio. Bluetooth and Wi-Fi can then be reenabled if desired.
After a reboot, Bluetooth was always disabled if airplane mode
was enabled. Changed to set Bluetooth to its previous state after
reboot, regardless of the airplane mode setting. This is already
the behavior for Wi-Fi after a reboot.

Bug: 5623624
Change-Id: I1c44500221aa0e5d1d7a5c9046d6c1380d28b5c0
/frameworks/base/services/java/com/android/server/SystemServer.java
5bbd4b4f5fc19302fa017ad6afee6eb2d489d91a 21-Apr-2012 Jeff Brown <jeffbrown@google.com> Get alias for Bluetooth devices.

Bluetooth devices can be renamed by the user. Make the
input system aware of the user-specified name and transparently
pass it down to applications. This enables the keyboard
layout picker Settings UI to use device names that are
consistent with what the user set in the Bluetooth UI.

Bug: 6363157
Change-Id: I8eea26ce2c69c2a3f09c8de02e9e847610e0419c
/frameworks/base/services/java/com/android/server/SystemServer.java
6ec6f79e1ac1714e3b837796e99f07ff88f66601 18-Apr-2012 Jeff Brown <jeffbrown@google.com> Support loading keyboard layout overlays from resources.

Added the concept of a keyboard layout overlay, which is
a key character map file that has "type OVERLAY".

Added support for loading keyboard layout overlays from
resources dynamically. The layouts are reloaded whenever they
are changed in the Settings application or an application
is installed. This is somewhat more aggressive than necessary
so we might want to optimize it later.

Before system-ready, the input system uses just the generic
keyboard layouts that are included on the device system image.
After system-ready, it considers the user's selected keyboard
layout overlay and attempts to load it as necessary. We need to
wait until system-ready before doing this because we need to
be in a state where it is safe to start applications or access
their resources.

Bug: 6110399
Change-Id: Iae0886d3356649b0d2440aa00910a888cedd8323
/frameworks/base/services/java/com/android/server/SystemServer.java
7f6c231a76f0bedaf9655a24707737d343244312 14-Apr-2012 Jeff Brown <jeffbrown@google.com> Add setting to redirect vibrator to game controller.

Bug: 6334179
Change-Id: I70093e38824ea3e5cf9cf242d1d7b6d26115ed80
/frameworks/base/services/java/com/android/server/SystemServer.java
8d33d39d68d46af758143a56c89322360cbbada2 11-Apr-2012 satok <satok@google.com> Merge "Show physical keyboard control button on the input method switch dialog"
01038492ff0317f0d3cff54d8a7ee36bb31ff175 09-Apr-2012 satok <satok@google.com> Show physical keyboard control button on the input method switch dialog

Bug: 5240095
Change-Id: Ica768083f95c33dc1e494a28ba7d8b6eb989b0ef
/frameworks/base/services/java/com/android/server/SystemServer.java
7d276c377ce0c56630c06a6da431a6cb9bd76d1e 30-Jan-2012 Daniel Sandler <dsandler@android.com> New Android Dreams architecture, disabled for now.

Rather than normal Activities (which have a host of problems
when used for this purpose), screen savers are now a
special kind of Service that can add views to its own
special window (TYPE_DREAM, in the SCREENSAVER layer).

Dreams are now launched by the power manager; whenever it is
about to turn the screen off, it asks the window manager if
it wants to run a screen saver instead. (http://b/5677408)

Also, the new config_enableDreams bool allows the entire
feature to be switched on or off in one place. It is
currently switched off (and the APIs are all @hidden).

Change-Id: Idfe9d430568471d15f4b463cb70586a899a331f7
/frameworks/base/services/java/com/android/server/SystemServer.java
e9bdb31ea1dc3c1c2b1833a4bf0031d85928a45b 06-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Refactor input system into its own service."
4532e6158474a263d9d26c2b42240bcf7ce9b172 05-Apr-2012 Jeff Brown <jeffbrown@google.com> Refactor input system into its own service.

Extracted the input system from the window manager service into
a new input manager service. This will make it easier to
offer new input-related features to applications.

Cleaned up the input manager service JNI layer somewhat to get rid
of all of the unnecessary checks for whether the input manager
had been initialized. Simplified the callback layer as well.

Change-Id: I3175d01307aed1420780d3c093d2694b41edf66e
/frameworks/base/services/java/com/android/server/SystemServer.java
52c489cd63cca0361f374f7cb392018fabfa8bcc 28-Mar-2012 Amith Yamasani <yamasani@google.com> Lockscreen settings per user

Move all lockscreen related settings to LockSettingsService.
LockPatternUtils uses this through IPC instead of Secure settings.
Migrate old settings to new database managed by LockSettingsService.
Passwords and patterns are stored in a new per-user location, except
for the primary user, for backward compatibility.
KeyguardViewMediator and LockPatternKeyguardView listen for changes
to user and updates the lockscreen.

Settings provider will look for Lock settings in the LockSettings
service now for the entries that used to be stored in Settings.

Change-Id: I956cd5b95e2d9d45a6401af7e270e6a5aa2dcc98
/frameworks/base/services/java/com/android/server/SystemServer.java
7d024d372431effc87168afdc7cbe387680c4935 23-Mar-2012 Irfan Sheriff <isheriff@google.com> Add initial framework for DNS service discovery

Change-Id: I53c0b7ebfd75e520ebb7553612f1aa8413b6b79b
/frameworks/base/services/java/com/android/server/SystemServer.java
8662cab5c6a01ea5c426512e6f6d2cf3e158aea0 23-Feb-2012 Christopher Tate <ctate@google.com> Merge: Introduce UpdateLocks

An "UpdateLock" works similarly to a wake lock in API: the caller is
providing a hint to the OS that now is not a good time to interrupt
the user/device in order to do intrusive work like applying OTAs.
This is particularly important for headless or kiosk-like products
where ordinarily the update process will be automatically scheduled
and proceed without user or administrator intervention.

UpdateLocks require that the caller hold the new signatureOrSystem
permission android.permission.UPDATE_LOCK. acquire() and release()
will throw security exceptions if this is not the case.

The "is now convenient?" state is expressed to interested parties
by way of a sticky broadcast sent only to registered listeners. The
broadcast is protected; only the system can send it, so listeners
can trust it to be accurate. The broadcast intent also includes a
timestamp (System.currentTimeMillis()) to help inform listeners that
wish to implement scheduling policies based on when the device became
idle.

The API change here is a tiny one: a dump(PrintWriter) method has been
added to the TokenWatcher class to facilitate getting information out
of it for dumpsys purposes. UpdateLock itself is still @hide.

Bug 5543442

Change-Id: I3709c831fc1883d7cb753cd2d3ee8e10a61e7e48
/frameworks/base/services/java/com/android/server/SystemServer.java
c157673a590e670a9a509ec13d47ffada0b56335 02-Feb-2012 John Grossman <johngro@google.com> Add the CommonTimeManagementService.

Add a small service to the high level core set of system services to
control the configuration of the native common time service. This
service is responsible for controlling policy regarding when the
common time service should be allowed to run, which networks it is
allowed to run on, what priority it runs at in the master election
algorithm, and so on.

Change-Id: I1fcd834c0286aea0df9557520693a3f42de59d69
Signed-off-by: John Grossman <johngro@google.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
c067c9c373e673b2474e8dc2e5a00db274d5e13d 31-Oct-2011 Mike Lockwood <lockwood@android.com> Add support for disabling wallpaper service

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
cba928cef7d614d375253246f014c4a52bb8b913 18-Aug-2011 Mike Lockwood <lockwood@android.com> SystemServer: Add support for disabling AudioService and MountService

Using the same convention in system_init.cpp, you can disable these
services by setting system properties:

system_init.startaudioservice=0
system_init.startmountservice=0

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
3a74bd36f8af1a12353db8ddbc5227d33c2ce680 12-Aug-2011 Mike Lockwood <lockwood@android.com> Add headless mode for running the framework without the surface flinger

Enabled by setting system property ro.config.headless to 1
This will allow the framework to run without starting activities,
system UI and the keyguard.
Framework can still run services, content providers and broadcast receivers.

Signed-off-by: Mike Lockwood <lockwood@android.com>

Conflicts:

policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
services/java/com/android/server/PowerManagerService.java
services/java/com/android/server/am/ActivityManagerService.java
/frameworks/base/services/java/com/android/server/SystemServer.java
93fcaca2aa329e60f8fecc69cb81e7b0fe47066b 19-Sep-2011 Mike Lockwood <lockwood@android.com> SystemServer: Don't start A2DP service if audio is not enabled

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
b01e8bf57b7492b77e3445db51471edcbadda75e 30-Aug-2011 Mike Lockwood <lockwood@android.com> New Serial Manager API:

SerialManager: provides access to serial ports
SerialPort: for reading and writing data to and from serial ports

IO with both array based and direct ByteBuffers is supported.

Accessing serial ports requires android.permission.SERIAL_PORT permission

Each platform must configure list of supported serial ports in the
config_serialPorts resource overlay
(this is needed to prevent apps from accidentally accessing the bluetooth
or other system UARTs).

In addition, the platform uevent.rc file must set the owner to the
/dev/tty* files to "system" so the framework can access the port.

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
04b74ec3af725ecb57f70d6e40a9865a2952a6be 03-Feb-2012 Vairavan Srinivasan <vairav@codeaurora.org> SystemServer: Looper's getMainLooper to return ServerThread

Fix to ensure Context.getMainLooper and Looper.getMainLooper
returns ServerThread for system_server. Currently, Looper's
getMainLooper returns null.

Change-Id: I5324a1cc00e27a79ba97836a9377a584e6f76b15
/frameworks/base/services/java/com/android/server/SystemServer.java
6967cbc959b079fa7e4411360e40e2a0ed65da29 17-Nov-2011 Nick Kralevich <nnk@google.com> Rename EntropyService to EntropyMixer

EntropyService implies that this program provides entropy to other
programs, and is misleading. The EntropyMixer class is designed purely
to stir the existing entropy pool with some possibily random-ish data,
and carryover entropy across device reboots.

Change-Id: I086cd339a3b652d32371521e61e1b1f555ce2280
/frameworks/base/services/java/com/android/server/SystemServer.java
58f42a59bda3bc912d0d2f81dc65a9d31d140eaa 10-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5405788: Device continuously opening and closing...

...the "Complete action using" dialog

When an application goes idle, it sends back to the activity manager
the configuration it last used, to make sure the two don't get out
of sync. Fix a bunch of edge cases here in dealing with that, and
be sure to also send the current configuration when launching an
activity so the client is always up-to-date when launching.

Also a small fix to not show the upgrading dialog during first boot.

Change-Id: I14ed366a87cd689d1c78787369e052422290ac6f
/frameworks/base/services/java/com/android/server/SystemServer.java
8154495fc7b09938709ded2d07e8f9419cc94be7 26-Sep-2011 Ben Komalo <benkomalo@google.com> am 69a6d537: Merge "Enter minimal boot mode when booting encrypted" into ics-factoryrom

* commit '69a6d537e6f29683f685ecb688f0b06b1c0b2b15':
Enter minimal boot mode when booting encrypted
3573d400a5940a53747425139e9f7cbe7e9fe114 24-Sep-2011 Ben Komalo <benkomalo@google.com> Enter minimal boot mode when booting encrypted

Bug: 5233488
Change-Id: Iba7a41c69af2387594d2be562d587918cd17a348
/frameworks/base/services/java/com/android/server/SystemServer.java
367d15ab1a33b6159447fa8542d4fa8ff148371c 22-Sep-2011 Jeff Sharkey <jsharkey@android.com> Watch network subtype, tethering teardown, empty.

Watch for changes to telephony network subtype, and update iface
mapping to persist stats under correct type. Update network stats
before removing tethering NAT rules.

Skip recording that would create empty historical buckets. Query UID
stats before iface stats to always skew positive when counters are
actively rolling forward.

Bug: 5360042, 5359860, 5335674, 5334448
Change-Id: I8aa37b568e8ffb70647218aa1aff5195d3e44d5a
/frameworks/base/services/java/com/android/server/SystemServer.java
553acf0409619ccde09332fb8af3e0b5c7cc4752 19-Sep-2011 Ben Komalo <benkomalo@google.com> Only run "core" apps when encrypting device.

This forces the package manager to only read packages that have
coreApp="true" in their manifest when encrypting the device, since no
non-essential processes or applications should run in that time.

Bug: 5031399
Change-Id: I87e8b27703e42553940167858db9473705d5d843
/frameworks/base/services/java/com/android/server/SystemServer.java
d2509fd83597595914ef0627685e917380863eb6 12-Sep-2011 Dianne Hackborn <hackbod@google.com> Add boot mode where only "core apps" are started.

A core app is one that has coreApp="true" in its manifest tag.

The system can successfully boot (though a little painfully) with
only framework-res.apk, SettingsProvider.apk, SystemUI.apk,
DefaultContainerService.apk, and Launcher2.apk set as core apps.

Currently this boot mode is always turned off.

Change-Id: Ieaa4a8031c2c391a12996aa8d8b1d65fc2b09d6b
/frameworks/base/services/java/com/android/server/SystemServer.java
9b2886e24301e5d4e7052ec4a6eaff273d3f516c 31-Aug-2011 Robert Greenwalt <rgreenwalt@google.com> Create new isNetworkSupported API

Useful for checking if on a wifi-only device.
Similar to asking for NetworkInfo for a network type and checking for
null, though here the intent is explicit.

bug:5087537
Change-Id: Ia3ddd09b6b735b8b3ceb7a347891e015fd96b218
/frameworks/base/services/java/com/android/server/SystemServer.java
8795b60dfc2a9baba9776777f62e5fd1ba48e8d7 25-Aug-2011 Dianne Hackborn <hackbod@google.com> Whoops, remove this.

Change-Id: I863d4739e918de1b4177ec8bb17063597f1ff3dc
/frameworks/base/services/java/com/android/server/SystemServer.java
295e3c27e4e3762a002382fc1657f5f0070a3410 25-Aug-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5214105 and work on issue #5109947.

Change-Id: Iff2cfec5280a314989d915aa830c16124f921611
5214105: taking a screenshot while "Android is upgrading..." crashes device
5109947: Race condition between retrieving a content provider and updating its oom adj
/frameworks/base/services/java/com/android/server/SystemServer.java
661cd52e0e1d527132eb1cae604d3e64da7ec0cb 22-Aug-2011 Dianne Hackborn <hackbod@google.com> Add progress dialog for booting after an upgrade.

This introduces a new facility for code during the boot process
to display messages to the user through a progress dialog. This
is only for use when performing longer-than-usual post-upgrade
operations such as running dexopt on applications or upgrading
databases.

Change-Id: I0e78439ccec3850fb67872c22f235bf12a158dae
/frameworks/base/services/java/com/android/server/SystemServer.java
aea743aaa43a833fd8ff3dc56205197583152d5f 30-Jul-2011 repo sync <isheriff@google.com> P2p enhancements

- ConnectivityService interaction and support for running dhcp server
and client

- State machine enhancements for connectivity interaction

Change-Id: Iba3beb8c87554ffd67a7b7e852bbb4dd8666a4f5
/frameworks/base/services/java/com/android/server/SystemServer.java
cb30b22ff507a5a9a5d9c584f8b082f5e96c4d02 30-Jul-2011 Irfan Sheriff <isheriff@google.com> Add firmware reload support for P2P

Refactor firmware reload call to support various modes - AP, STA & P2P

Bug: 5002384
Change-Id: I10d20fe5a7842437cf80861bc8a834990db87db5
/frameworks/base/services/java/com/android/server/SystemServer.java
f6d09845be2d58b1de7af9f6edc8b9ee216520a5 04-Aug-2011 Irfan Sheriff <isheriff@google.com> Fix p2p package paths

Split change Iba3beb8c which will not go in master to fix package paths

Bug: 5002384
Change-Id: I15072b65422fcdfe17c3f130d169258d60748012
/frameworks/base/services/java/com/android/server/SystemServer.java
55bc5f3e0408bcb5a39a6732de0b2d1aa99a55be 24-Jun-2011 repo sync <isheriff@google.com> Updated: Wi-Fi p2p framework

First stage. Get the bones in right now even though
we are not ready on the native side.

Once, we have things underneath working - we will further update the
framework

Change-Id: I4a7dab5cd4267373dc5f8989ae4122f91c384ed5
/frameworks/base/services/java/com/android/server/SystemServer.java
988323c57bd25a58f05dfa492d9b9c8ab62c5153 22-Jun-2011 satok <satok@google.com> Create TextServiceManager and SpellCheckerService

Bug: 4176026

This CL inherits https://android-git.corp.google.com/g/112600

Spec of TextServiceManager
- Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)
for each locale

Spec of SpellCheckerService
- Returns whether the given string is a correct word or not
- Returns Suggestions for the given string

Change-Id: Iaa425c7915fe70767ad0b17bf6c6fbcd2a1200b2
/frameworks/base/services/java/com/android/server/SystemServer.java
350083e36b9db6062e165954403ef921ff3dfdad 29-Jun-2011 Jeff Sharkey <jsharkey@android.com> Migrate bandwidth control to NMS, omit history.

Both stats and policy make NMS calls that depend on bandwidth control
being enabled, so move enable/disable into NMS and drop calls when
disabled. This avoids throwing heavy ISE exceptions when disabled.

Only include recent data when writing NetworkStatsHistory as part of
dumpsys call. Introduce manual poll event for Settings UI.

Bug: 4982115, 4770435, 4515856
Change-Id: I257820b057af2f0f99c736fb4f61e55b9fdc3e66
/frameworks/base/services/java/com/android/server/SystemServer.java
50fd36d7c38c40b087c8f3e3172478abe0c051d9 16-Jun-2011 Ashish Sharma <ashishsharma@google.com> Push interface quota rules from NetworkPolicyManager to kernel.

Change-Id: Id2b758f561820b44839f69bf5fbd676cae771fe3
/frameworks/base/services/java/com/android/server/SystemServer.java
aa6bd940f07f4552eb8f43869194616660877fd4 28-Jun-2011 Jake Hamby <jhamby@google.com> Don't enable Bluetooth when booting into airplane mode.

When airplane mode is enabled and the phone is rebooted, Bluetooth
should not turn on. Previously the airplane mode setting was ignored
and only the Bluetooth enabled setting was used to determine whether
to enable Bluetooth at boot time. Now, both settings are checked.

Bug: 3404790
Change-Id: I5e3095a94e50825dd469addebef97a7c85041fca
/frameworks/base/services/java/com/android/server/SystemServer.java
8969d9924c662ab4cdacc342bbdc33756db730be 22-Jun-2011 satok <satok@google.com> Revert "Create TextServiceManager and SpellCheckerService"

This reverts commit eaddb894865a804279659b4aad6364a34ab50beb.
/frameworks/base/services/java/com/android/server/SystemServer.java
eaddb894865a804279659b4aad6364a34ab50beb 01-Jun-2011 satok <satok@google.com> Create TextServiceManager and SpellCheckerService

Bug: 4176026

Spec of TextServiceManager
- Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)
for each locale

Spec of SpellCheckerService
- Returns whether the given string is a correct word or not
- Returns Suggestions for the given string

Change-Id: Ia25e7b4f308778891929e31b8cbd741f6848cce4
/frameworks/base/services/java/com/android/server/SystemServer.java
02e4569b5f126ca916a7473117ddd17d4f2ccbbb 14-Jun-2011 Mike Lockwood <lockwood@android.com> USB: Support for new USB gadget drivers

Change-Id: Id08df50acb873a94f4765a991ee6a6f5b898ddf5
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
497e4437af386930dff3bd55296d128bd4520959 15-Jun-2011 Jeff Sharkey <jsharkey@android.com> Data usage warning and limit notifications.

Watch for network statistics to cross NetworkPolicy warning or limit,
and show notifications to user as needed. Currently checks during
any statistics update, but will eventually move to event registration
through netd when kernel supports.

Fixed accounting bug in getSummaryForNetwork(). Only apply UID policy
to applications; applying to system processes could break critical
services like RIL.

Change-Id: Iac0f20e910e205f3cbc54ec96395ff268b1aa379
/frameworks/base/services/java/com/android/server/SystemServer.java
541c9949ae9c05636d3e0442aa5080815121a042 13-Jun-2011 Mike Lockwood <lockwood@android.com> Move adb related functionality from SystemServer and NotificationManagerService to UsbDeviceManager

Change-Id: I9e64b54bc2d027d88ae2d2cd893068e29b6fe237
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
21c9c45e5caf62b935354b74392fb40c4bf18529 07-Jun-2011 Jeff Sharkey <jsharkey@android.com> Interface-level network policy, persist policies.

Define NetworkPolicy as cycle-reset day and warning/limit values, and
set/get through NetworkPolicyManager. Watch ConnectivityManager for
network connection events, and apply quota rules based on matching
interfaces. Policy service matches based on strong identity to support
IMSI-specific policy values.

Calculates remaining quota based on current stats recorded since the
last reset cycle day. Tests to verify edge cases around February.

Persist network and UID policies in XML, and restore on boot.

Change-Id: Id40ba7d6eed6094fbd5e18e6331286c606880d80
/frameworks/base/services/java/com/android/server/SystemServer.java
d2a458750e5a3d490af09cecb5c28370baf0a913 29-May-2011 Jeff Sharkey <jsharkey@android.com> Map network identity using ConnectivityService.

Instead of deriving network identity based on raw subsystem broadcasts,
listen for updates from ConnectivityService. Added atomic view of all
active NetworkState, and build map from "iface" to NetworkIdentity set
for stats tracking.

To avoid exposing internal complexity, INetworkStatsService calls use
general templates. Added TelephonyManager mapping to classify network
types using broad labels like "3G" or "4G", used to drive templates.

Cleaned up Objects and Preconditions.

Change-Id: I1d4c1403f0503bc3635a59bb378841ba42239a91
/frameworks/base/services/java/com/android/server/SystemServer.java
75279904202357565cf5a1cb11148d01f42b4569 25-May-2011 Jeff Sharkey <jsharkey@android.com> Collect historical network stats.

Periodically records delta network traffic into historical buckets to
support other services, such NetworkPolicyManager and Settings UI.

Introduces NetworkStatsHistory structure which contains sparse, uniform
buckets of data usage defined by timestamps. Service periodically
polls NetworkStats and records changes into buckets. It only persists
to disk when substantial changes have occured. Current parameters
create 4 buckets each day, and persist for 90 days, resulting in about
8kB of data per network.

Only records stats for "well known" network interfaces that have been
claimed by Telephony or Wi-Fi subsystems. Historical stats are also
keyed off identity (such as IMSI) to support SIM swapping.

Change-Id: Ia27d1289556a2bf9545fbc4f3b789425a01be53a
/frameworks/base/services/java/com/android/server/SystemServer.java
c006f1aec15454782c35e028ad64d79a5c161cc1 20-May-2011 Jeff Sharkey <jsharkey@android.com> Policy and rules work for ConnectivityManager.

Teach ConnectivityManager about UID-specific rules derived from policy,
such as rejecting network traffic on "paid" interfaces. Calls that
return NetworkInfo now filter based on any REJECT rules in effect for
the calling UID. (Added uid parameter if callers that still want all
interfaces.)

Changed NetworkPolicyManager to derive rules based on current policy
combined with PowerManager and ActivityManager status, which it passes
to ConnectivityService for eventual enforcement through netd. When
rules change the usability of a NetworkInfo for a specific UID, it also
dispatches CONNECTIVITY_ACTION broadcasts to that UID. Combined paid
and background policy together to match current working definition.

Change-Id: I797ea49439fcc487cfe2cbc16703d4b91ceb9af6
/frameworks/base/services/java/com/android/server/SystemServer.java
a4620793038b9a9163b26c6ece882cb454fcbf87 21-May-2011 Jeff Sharkey <jsharkey@android.com> Observe screen on/off events in NetworkPolicy.

The POLICY_REJECT_BACKGROUND policy requires that network traffic be
blocked when a UID goes into the background. Even if the UID has an
activity in the foreground, it's considered "background" if the screen
is turned off.

This changes watches for SCREEN_ON/OFF broadcasts, and rule generation
now observes screen state. It also introduces an observer pattern so
that ActivityManager doesn't directly know about NetworkPolicy, and
moves the service management into SystemServer.

Change-Id: Ie7a84929d3ca60ae4578d47e19d5a8da10fd8d58
/frameworks/base/services/java/com/android/server/SystemServer.java
6e6cd7a5660af1a4b5a9ad091c41ef1c72ad2000 30-Mar-2011 Jeff Brown <jeffbrown@google.com> Move accessibility manager service to own package.

Change-Id: I0d73737a21615f0ff0abc80b757fb8c9bcb50be5
/frameworks/base/services/java/com/android/server/SystemServer.java
cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96a 22-Mar-2011 Kenny Root <kroot@google.com> Split PackageManagerService into subclasses

Split PackageManagerService from one monolithic class with several inner
classes to several classes. This will help determining how its data
structures can be reshuffled to provide better separation of concerns.

Change-Id: Ic7571daebdcf13ce08e08f34204c5bbf4140139b
/frameworks/base/services/java/com/android/server/SystemServer.java
02eb8746de2d60563ec2751a34d20923192e4293 27-Feb-2011 Mike Lockwood <lockwood@android.com> UsbManager: Enhancements for managing USB devices and accessories

When a USB device or accessory is connected, the UsbService now asks the
user which application to associate with the device or accessory.
Applications interested in devices or accessories must specify the
devices they work with via meta-data attached to their manifest.
Permission to communicate with the device is assigned when the user chooses
the activity to use for the device.
The user has the option of clicking the "always use this application" checkbox
to make the assignment automatic in the future.
The user may later clear this preference and revoke permission for an application
to have permission to communicate with the device by clicking the "Clear defaults"
button for the activity in the Manage Applications panel in Settings.

Added class UsbResolveActivity (a subclass or ResolveActivity for choosing
an activity for a USB device or accessory)

Added UsbDeviceManager, which manages the mapping between USB devices/accessories
and applications, including default applications for devices and accessories,
and manages application permissions.

Add interface to allow Settings to clear device and accessory
preferences and permissions for an application.

Remove obsolete ACCESS_USB permission.

Add new signatureOrSystem MANAGE_USB permission to allow administrating
preferences and permissions.

Moved UsbService.java to a "usb" subdirectory, along with new classes
UsbResolveActivity and UsbDeviceManager.

Change-Id: I92554381e9779e68ce380daaee4e1401fb875703
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
a924dc0db952fe32509435fdb8dc9c84a9e181f3 17-Feb-2011 Dianne Hackborn <hackbod@google.com> Start window manager refactoring.

Move all of the pieces into a new com.android.server.wm package.

Change-Id: I942b7bcfb84ee0f843f47d58e55ffc5a93c0da94
/frameworks/base/services/java/com/android/server/SystemServer.java
7da70821f7a2c22dfed4a2c2afc3c9e73427babc 07-Feb-2011 Dianne Hackborn <hackbod@google.com> am 94baff47: am 1b1962f3: Merge "Fix issue #3420898: More wallpaper issues" into honeycomb

* commit '94baff47975fb3ae1380333f23fc2de2dc65eb86':
Fix issue #3420898: More wallpaper issues
ac1471a4fff660710f88afc679c4119fdf8dc417 03-Feb-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3420898: More wallpaper issues

- The ImageWallpaper wasn't watching for the desired dimensions to
change, at which point it needs to resize its surface.
- The system process has been running with the small dalvik heap
limit, which is too tight with these huge wallpapers; this would
cause switching wallpapers to eventually stop working as it
couldn't get the memory it needed to load the new one.
- The compatibility mode background surface had a bunch of issues,
such as moving its windows to the right by the window size to
make them disappear. This of course doesn't play well with the
now super-sized wallpaper surface. This code is re-worked to
not require such shenanigans.

Change-Id: I64fde4059645d8507f1c4761ba6c17b89877a5c0
/frameworks/base/services/java/com/android/server/SystemServer.java
46bfd4a355d7349cc9db53c70b8849ce0818aa7c 30-Jan-2011 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of c608e106 to master

Change-Id: I49117966f43080d86763bab51848dbc50e55ecf8
2992ea782fa61780d8e0de7a36a2a84622f8694b 29-Jan-2011 Jeff Brown <jeffbrown@google.com> Add "Use physical keyboard" option to system bar IME button.

Bug: 3391067
Change-Id: I136087ca4f726d0068d5983d7d3686787ba60c55
/frameworks/base/services/java/com/android/server/SystemServer.java
e7d511e148bc901ef41ac44d7b3593e5d803f72f 30-Dec-2010 Mike Lockwood <lockwood@android.com> New APIs for USB host support:

UsbManager:
- is now a service retrievable via Context.getSystemService(Context.USB_SERVICE).
- provides support for returning a list all connected USB devices
- broadcasts ACTION_USB_DEVICE_ATTACHED and USB_DEVICE_DETACHED when devices
are added and removed from the USB host bus

UsbDevice:
- represents an attached USB device.

UsbInterface:
- represents an interface on a USB device
- devices may have multiple interfaces if they provide multiple
sets of functionality (for example, android phones typically have interfaces
for both USB mass storage and adb)

UsbEndpoint:
- represents an endpoint on a USB interface
- endpoints are used for sending or receiving data
(only in one or the other direction)

UsbRequest:
- encapsulates a send or receive request to be sent over an endpoint

Change-Id: Ieef3e434c62760770ea839070cf5eba1a705967a
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
3612f0870c4252a60b93332eadde780dc122a05b 17-Jan-2011 David 'Digit' Turner <digit@google.com> Merge "SystemServer: Do not register null BlueTooth service in the emulator" into honeycomb
e2a5e86c9f14debc8412741b68672f9432cae5b2 17-Jan-2011 David 'Digit' Turner <digit@google.com> SystemServer: Do not register null BlueTooth service in the emulator

Because registering a null service generates an exception. See bug 3356000

Change-Id: Id7b4af815942e498d750c1b7a412d5ee26b61ad4
/frameworks/base/services/java/com/android/server/SystemServer.java
b09abc1dd271d0eb4ba4050d8bf9670802a7d0fe 14-Jan-2011 Jeff Brown <jeffbrown@google.com> Add volume down as a safe mode key for Stingray.

Fixed a race condition during startup. We need to wait for the input
devices to actually be ready before trying to detect safe mode.

Fixed a problem during safe mode activation where we would try to add
the overlay window but the display was not initialized. Now we do it
after the system is ready.

Bug: 3134825
Change-Id: I4c043c142ae6bf0d865c79d266d36154eaf00709
/frameworks/base/services/java/com/android/server/SystemServer.java
770126a678ccc9328a89407ffc82f4d998b25427 10-Dec-2010 Mike Lockwood <lockwood@android.com> Rename android.hardware.Usb to UsbManager and UsbObserver to UsbService

In preparation for an upcoming change that will make UsbService into a real system service

Change-Id: Id85d624cfc6b10b49a08105cfaaacc667a492c12
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
21e941bf43362ddc6639a9f2d0828053360f53d7 06-Oct-2010 Praveen Bharathi <pbharathi@motorola.com> Added support for dock headset observer

Change-Id: I06b2e65e3bfa10735e6c7fd3349afa9ae7d45292
Signed-off-by: Praveen Bharathi <pbharathi@motorola.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
de1b359e88ef1dcafdc0c6a724f660ad0b55fc3a 26-Oct-2010 Joe Onorato <joeo@google.com> Move the battery LED code over to the battery service from the notification service (!)

Change-Id: I12d7994ae245a36b8b2c3272fcbe173881caebd0
/frameworks/base/services/java/com/android/server/SystemServer.java
f3c3c4fd14cb4185ec6df5a4355aab8b9f4039dc 21-Oct-2010 Joe Onorato <joeo@google.com> Refactor SystemUI so the status bar isn't a Service of its own.

There is now one SystemUIService, which starts the status bar service.
Pretty soon there will be other things running in here too. This way
we don't need to have each of them started by something individually.

This also moves the choice between tablet and phone status bar into
SystemUI.apk, which seems like a much better place for it.

Change-Id: Ib69ef2f43d648764f8dbb52008f5d036a1ee07d9
/frameworks/base/services/java/com/android/server/SystemServer.java
7d0548d0944e48421857de4aec2822ced325bea0 19-Oct-2010 Jaikumar Ganesh <jaikumar@google.com> Fix race condition between starting of service and getting the Profile Proxy.

Incoming A2DP connections were not working.

Change-Id: I5a3322ddb39b2512495b4cd2e35593da0f605087
/frameworks/base/services/java/com/android/server/SystemServer.java
cd0e839a2448deea50f79bddeba782c546b33893 14-Oct-2010 Nick Pelly <npelly@google.com> NFC: Move NFC service implementation out of system_server.

NFC service is now an application service in packages/apps/Nfc.

NFC service is registered through ServiceManager.addService(), and the proxy
object NfcAdapter obtains a handle to it through ServiceManager.getService().

**Important** Had to add new symbols AID_NFC / NFC_UID / android.uid.nfc and
modify service_manager.c, Process.java and PackageManagerService.java in order
to force the com.android.nfc process to take a fixed uid, so that it can use
ServiceManager.addService().

Most of the JNI has moved to packages/apps/Nfc/jni. However NdefRecord and
NdefMessage require some in-process native code, so android_com_NdefMessage.cpp
and android_com_NdefRecord.cpp stay in frameworks/base/core/jni. They link to
a very small library libnfc_ndef.so that implements NDEF message parsing. This
has been added to core.mk so all devices (even without NFC hardware) can work
with NDEF data.

Bug: 3041259
Bug: 3097445
Change-Id: If7f00cd8f2053acfc9319ca366d4a9c02bd396e6
Signed-off-by: Nick Pelly <npelly@google.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
9456714cfb9eb5ba4882fdcc922b787d77ed4da4 15-Oct-2010 Kenny Root <kroot@google.com> am b4f26a9d: am e6ae5c39: Merge "Add shutdown assurance" into gingerbread

Merge commit 'b4f26a9d37caf7762b66b68d50825c5b075b42bd'

* commit 'b4f26a9d37caf7762b66b68d50825c5b075b42bd':
Add shutdown assurance
f547d679c058ed00de78a32146d04b75254df7ec 22-Sep-2010 Kenny Root <kroot@google.com> Add shutdown assurance

If something kills system_server before it completes its shutdown
action, the runtime will just restart giving the illusion that a reboot
for an OTA or something else has happened.

To prevent this, write a system property containing the reboot reason
before initiating the shutdown with all the services. If the
system_server is killed before it completes, the next time the main
thread of system_server starts up, it will immediately execute the
shutdown action.

Bug: 3022556
Change-Id: I81723bac333430f04205e7a7b799914d96f170eb
/frameworks/base/services/java/com/android/server/SystemServer.java
5e6338d4a80e10fe5911fc4317d1d5958d8b033d 12-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am 2af4c51e: am 6bb7a4a6: Go one day into 1970 for timezone code.

Merge commit '2af4c51e9a82848e3efce4621559a69fda965665'

* commit '2af4c51e9a82848e3efce4621559a69fda965665':
Go one day into 1970 for timezone code.
5fdc0c7397ee2d638bc310e5ce2830b938d7c008 12-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 14d151bf to master

Change-Id: Ib1ac9acfd6dc71b5fa4e1456a056d1e9dee65fda
6bb7a4a68ae79dab56b23d1c7111bf7eb3aa55fe 11-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> Go one day into 1970 for timezone code.

Change-Id: I80251de79db6684ef3fa1ec835b400d9e3547401
/frameworks/base/services/java/com/android/server/SystemServer.java
35ca9d8a357d3e8c514740ebdbab154e865fdbbf 11-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> On boot, advance time to at least 1970.

Otherwise various Java APIs start doing their documented "correct"
thing, which is to fail.

Bug: 3081605
Change-Id: I90f8cde745d2ddab78419e37f60eea1e81a58127
/frameworks/base/services/java/com/android/server/SystemServer.java
dc565f4b3ae90c296d51658c98fd9f6b53cf2492 04-Oct-2010 Joe Onorato <joeo@google.com> work around race condition which causes us to try to load the phone
status bar on the tablet.

Change-Id: Id5ad1192b4667622957fd0c48870ea22a480e0b5
/frameworks/base/services/java/com/android/server/SystemServer.java
4715bd91f5949a1919156a5a5cb50f0cccda645e 29-Sep-2010 Nick Pelly <npelly@google.com> resolved conflicts for merge of f4c3b7e9 to master

Change-Id: Idcdc521144f3072058b2bb6cb383e42c852e64f4
038cabe0247ee46df62f9363f1a303bc5b9c1028 24-Sep-2010 Nick Pelly <npelly@google.com> NFC integration

Source: Trusted_NFC_Device_Host_AA03.01e02_google.zip code drop (23-Sep-2010)

Conflicts:

core/java/android/app/ApplicationContext.java
core/java/android/provider/Settings.java
core/jni/Android.mk
core/jni/AndroidRuntime.cpp
core/res/AndroidManifest.xml
include/utils/Asset.h

Change-Id: I62c92f4c79f5ee65126c97602f6bc1c15794e573
Signed-off-by: Nick Pelly <npelly@google.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
400f12b4dde36bc3e4c02e7f861bad33d1f42a17 28-Sep-2010 Hung-ying Tyan <tyanh@google.com> Fix build.

Change-Id: Iae02fabe42013705592f75748388daf8fa5ed54e
/frameworks/base/services/java/com/android/server/SystemServer.java
a57afb6a6c9f4fb451535c3d6f49c3bdf4b59125 27-Sep-2010 Hung-ying Tyan <tyanh@google.com> resolved conflicts for merge of 2a36a778 to master

Change-Id: Ia70adeef06afddd29c827405fb5657bf9f5a29a3
7e54ef71db3320a751571bba5259fba816399421 25-Sep-2010 Hung-ying Tyan <tyanh@google.com> Move SipService out of SystemServer to phone process.

Companion CL: https://android-git/g/#change,70187
http://b/issue?id=2998069

Change-Id: I90923ac522ef363a4e04292f652d413c5a1526ad
/frameworks/base/services/java/com/android/server/SystemServer.java
35dcaece115e2f8e227c2e579d38c42b65ead85e 23-Sep-2010 Robert Greenwalt <rgreenwalt@google.com> am 9c38a6dc: am e87ebb08: Merge "Cleanup Netd to prevent getting hung." into gingerbread

Merge commit '9c38a6dc13ba55fccb9c66f347307a1b4ae68105'

* commit '9c38a6dc13ba55fccb9c66f347307a1b4ae68105':
Cleanup Netd to prevent getting hung.
e5c3afb29241fd3faae309f973645d7f6a7ed111 22-Sep-2010 Robert Greenwalt <rgreenwalt@google.com> Cleanup Netd to prevent getting hung.

If the sending of the command fails we should note it and not wait forever
for the response.

We should also not say we're ready until we actually are.

bug:2993205
Change-Id: I380f0312ac4693ad184a526b330fdfa23f6ac558
/frameworks/base/services/java/com/android/server/SystemServer.java
6734b9f68062b04e602be0069ab028045c1fe3ec 14-Sep-2010 Amith Yamasani <yamasani@google.com> Provide automatic date/time based on NTP lookup.

Do this on a periodic basis as well as when the AUTO_TIME setting changes to true.

If we recently acquired NITZ time from the telephony provider, then don't override
with NTP time.
/frameworks/base/services/java/com/android/server/SystemServer.java
b835d9abd6d7c89bb1226fc83d1e96b3b04b9ee3 15-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> am f26ac1f8: am 96d6c345: Merge "Unify some duplicate StrictMode-enabling code." into gingerbread

Merge commit 'f26ac1f8ed27d9e88bbde8978557c34788c7509c'

* commit 'f26ac1f8ed27d9e88bbde8978557c34788c7509c':
Unify some duplicate StrictMode-enabling code.
50d66f9fcdac84b2af65a82be56728f54b1a7ef0 14-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> Unify some duplicate StrictMode-enabling code.

Change-Id: Ifb92f35d9e245dbdb5e201597d8be702bce9e8b8
/frameworks/base/services/java/com/android/server/SystemServer.java
c74a1b441490e5648ac4388baeccb78cae4ab364 11-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> Fix build caused by automerger and missing imports in master.

gingerbread had an import android.os.*. master doesn't. auto-merger
applied it fine, but it doesn't compile.

Change-Id: I28d7b5053616a40223eeb29a0669831d5ca76d9e
/frameworks/base/services/java/com/android/server/SystemServer.java
0b29554188f57ff1eec4150fa24f9a6a6603ed0f 11-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> am 37fc8cc7: am b724d251: Merge "Enable strictmode logging in system_server & add a lock." into gingerbread

Merge commit '37fc8cc7b87133eddacaeab60cabefaf4a7b9bdd'

* commit '37fc8cc7b87133eddacaeab60cabefaf4a7b9bdd':
Enable strictmode logging in system_server & add a lock.
1e02d36b0f1dc833cf8a837c7619fbe6478694c8 10-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> Enable strictmode logging in system_server & add a lock.

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
/frameworks/base/services/java/com/android/server/SystemServer.java
f83d4f1779eb4801275a56023c343459a95009af 02-Sep-2010 Hung-ying Tyan <tyanh@google.com> resolved conflicts for merge of 3e4975a5 to master

Change-Id: Icd382fc43c8a1975801ab42eb184b633520149c7
3424c02e6b931a8bbd651ae75217bebd008b2605 27-Aug-2010 Hung-ying Tyan <tyanh@google.com> Add software features for SIP and VOIP

and block SipService creation and SIP API if the feature is not available.

Change-Id: Icf780af1ac20dda4d8180cea3e5b20e21a8350bc
/frameworks/base/services/java/com/android/server/SystemServer.java
024d59601e8439e6884e50c22301e35eaf53120a 05-Aug-2010 Chung-yih Wang <cywang@google.com> resolved conflicts for merge of a06ad953 to master

Change-Id: I282525787d7475cc72b2dec10fbc2cf8c5727b82
2d94231ef91c732f649ff7af9520ee9eac441b16 04-Aug-2010 Chung-yih Wang <cywang@google.com> Add SIP service into system server.

Change-Id: Icc39e4e54768cfdcc1b20a3efe6206009b9a8d10
/frameworks/base/services/java/com/android/server/SystemServer.java
154db5f6358284d917d515f05d4474606b4896b2 30-Jul-2010 Dianne Hackborn <hackbod@google.com> Maybe fix issue #2881233: reboot loop at boot on stingray

Change-Id: I4bd88fdd506d061146c441143d39b796a8df2f49
/frameworks/base/services/java/com/android/server/SystemServer.java
5132b37018c2445c74d930013c4bdaf75b20cabf 29-Jul-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2859543: PhoneStatusBar appears at startup after wipe

Change-Id: I63c8fcd7152a99ba7f2c3d57a5ad9ceaf05529d7
/frameworks/base/services/java/com/android/server/SystemServer.java
a58a8751b4c2ce457f0082a0baaee61312d56195 13-Jul-2010 Bai Tao <michaelbai@google.com> Add new system service CountryDetector

a. The CountryDetector detects the country the user is in
in order of mobile network, location, sim card or locale.
It will be used by contact and contact provider.

b. All added APIs are hidden at this stage.

Change-Id: I4ba278571ffb6ab6ded0996d4f440a18534f8ed4
/frameworks/base/services/java/com/android/server/SystemServer.java
50558b956157dad980441bf4fb44931ce834e36b 22-Jul-2010 Mathias Agopian <mathias@google.com> resolved conflicts for merge of bc54e63c to master

Change-Id: I4245b15b4cda6963d735442c0c6a04a0477ff5e1
1bf797857e025e8a71db86fb9e79765a767ec1eb 15-Jul-2010 Mathias Agopian <mathias@google.com> new SensorService

remove old sensor service and implement SensorManager
on top of the new (native) SensorManger API.

Change-Id: Iddb77d498755da3e11646473a44d651f12f40281
/frameworks/base/services/java/com/android/server/SystemServer.java
8dfabd9c6ffc64a9f558610e98ae19fbe41940fb 01-Jul-2010 Christopher Tate <ctate@google.com> resolved conflicts for merge of d3233ae9 to master

Change-Id: I59ecf8f2d3bd253f51457c11ec15f022ac5fdeb6
160edb3645f8b7012bab70ae6e6e8c4a5733082b 01-Jul-2010 Christopher Tate <ctate@google.com> Add ability to guard a thread against setting its own prio to bg

The guard is compiled out by default because it adds overhead to
android.os.Process.setPriority().

Change-Id: Ibb2a648c6349b381abb7ae62a358888b04fba871
/frameworks/base/services/java/com/android/server/SystemServer.java
57c798ade1a30c5587269519dd9f55b87c3b3be7 23-Jun-2010 Mike Lockwood <lockwood@android.com> Add a new UEventObserver subclass to broadcast an Intent whe USB state changes.

We now broadcast Usb.ACTION_USB_CONNECTED and Usb.ACTION_USB_DISCONNECTED
when USB is connected or disconnected.
The ACTION_USB_CONNECTED extras indicate the enabled/disabled state of
all USB functions.

Change-Id: I919fcd5aa8d640d051cec87053f474a9843ed545
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
2423607a32d63a0c646b17758ebeb4dc1d0b791f 23-Jun-2010 Mike Lockwood <lockwood@android.com> Add a new UEventObserver subclass to broadcast an Intent whe USB state changes.

We now broadcast Usb.ACTION_USB_CONNECTED and Usb.ACTION_USB_DISCONNECTED
when USB is connected or disconnected.
The ACTION_USB_CONNECTED extras indicate the enabled/disabled state of
all USB functions.

Change-Id: I11495d039429dbe22bd738067296e39ae415befa
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
bde75706592c77379fb6546283e733abaca6fe04 28-May-2010 Sen Hu <senhu@google.com> wire up sampling profiler to dropbox

When system property "persist.sys.profiler_hz" > 0, SamplingProfilerService is
loaded to SystemServer. It creates a FileObserver, watching any new file in the snapshot
directory. When a snapshot is found, it is put in dropbox and deleted after that.

SamplingProfilerIntegration writes snapshots with headers. Headers are <name, value> pairs,
instantiated by caller.

Currently header format is (also in source comment):

Version: <version number of profiler>\n
Process: <process name>\n
Package: <package name, if exists>\n
Package-Version: <version number of the package, if exists>\n
Build: <fingerprint>\n
\n
<the actual snapshot content begins here...>

BUG=2732642

Change-Id: I2c1699f1728e603de13dbd38f9d8443cd3eecc06
/frameworks/base/services/java/com/android/server/SystemServer.java
8a5f10b30dae663eb01372490df3497e8a2ad56a 10-Jun-2010 Joe Onorato <joeo@android.com> resolved conflicts for merge of f7b79151 to master

Change-Id: Ia4538f73d8bade9e6565835d484dcb650830feca
7a0f36bd93ad8a5b8cb3e1fe56dbdb43a0ad3a57 07-Jun-2010 Joe Onorato <joeo@android.com> Move status_bar_latest_event and LatestItemView into SystemUI.apk.

Then, now that StatusBarManagerService is the only thing in that package,
move it up to the regular services package. (I've been waiting for 4 years
to delete that package!)

Change-Id: If5faf44641319fd19e486d1f4e5bc1c6dfcff3ad
/frameworks/base/services/java/com/android/server/SystemServer.java
fb3a35e586c08c74a8f9a0c332c9e40753c095c5 09-Jun-2010 Jeff Hamilton <jham@android.com> Fix the build.

Change-Id: Ib633eb144277ec2598f25eac3a9cfe0f0184959e
/frameworks/base/services/java/com/android/server/SystemServer.java
35eef702b195a9546fbf9e0293641cf6eef025c5 09-Jun-2010 Jeff Hamilton <jham@android.com> Remove the unused demo data set stuff.

Change-Id: I81f7a8118876ee7cb6c356c63b0d0613d9777d4f
/frameworks/base/services/java/com/android/server/SystemServer.java
798ac4c7d79534a8230623b737b5b1b6a415d105 27-May-2010 Joe Onorato <joeo@android.com> Start moving resources to SystemUI.apk.

Change-Id: Ibf30b8196d65d7fbca1177968cefa5f7a875bf1d
/frameworks/base/services/java/com/android/server/SystemServer.java
089de88fc2f08d284cf8031aa33cff06011a4162 12-Apr-2010 Joe Onorato <joeo@android.com> StatusBarService -> StatusBarManagerService

Change-Id: I7efc245395bd91a656b30d420c9b080877162360
/frameworks/base/services/java/com/android/server/SystemServer.java
2314aab5064ce09f09270e52fa12a38d07464278 08-Apr-2010 Joe Onorato <joeo@android.com> First pass at splitting the status bar for the different devices.

Change-Id: I2f568df92f88dfe8de18d24dd004239f52761aa6
/frameworks/base/services/java/com/android/server/SystemServer.java
9e696c29f06d45d2891e1d38fd8d9033a9e21bb9 01-Apr-2010 Robert Greenwalt <robdroid@android.com> Add service to monitor/control the flow of data.

bug:2576057
Change-Id: Ib343c7ee1d619c6978910d9ee597db195d5aa3b6
/frameworks/base/services/java/com/android/server/SystemServer.java
621bc545982e2318e71bef3111d3cab39169d648 26-Mar-2010 Dan Egnor <egnor@google.com> Add "dumpsys diskstats" to get a dump of disk-free values.

Also includes a trivial test of I/O latency. (Mostly useful to be invoked
from checkin to poll disk-free and latency issues. Also moderately useful
to see in a bugreport.)

Also make "dumpsys netstat" a non-no-op, in case we want this data.

Change-Id: Ia93550a23ca6b35586c5d9217890ee0a5801aae1
/frameworks/base/services/java/com/android/server/SystemServer.java
7299c41630935a2b106e73e5603579a7747f7535 05-Mar-2010 Dianne Hackborn <hackbod@google.com> Refactor car mode.

Extract all UI behavior from dock observer and ACTION_DOCK_EVENT.

Also introduce a desk type to go along with the car type all through
the resource system, since we now need to have corresponding high-level
broadcasts for desk dock mode. As part of that I also reworked some
of the logic for switching modes to all funnel through a single
update() call that looks all of the current state to decide what to
do next, and fixed various locking issues.

In addition I found there were bugs in the configuration change
handling causing us to only switch into the car mode config and
then never get out of it. Unfortunately now that we are actually
changing the configuration for each mode change, the transitions
between them are really crummy as we restart all kinds of
activities. :(
/frameworks/base/services/java/com/android/server/SystemServer.java
8a9b22056b13477f59df934928c00c58b5871c95 27-Feb-2010 Joe Onorato <joeo@android.com> Switch the services library to using the new Slog
/frameworks/base/services/java/com/android/server/SystemServer.java
46db504de583d7d644a28a4e7adae43eed5df1ba 22-Feb-2010 Mike Lockwood <lockwood@android.com> Don't start location providers until the system is ready.

Change-Id: Id545e95705e59ffbaaab8a679a1b7df488813101
BUG: 2461320

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
21f1bd17b2dfe361acbb28453b3f3b1a110932fa 20-Feb-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2438980: Implement package watcher for voice recognizer service setting

I am getting tired of writing package monitor code, realized this is missing in
a number of places, and at this point it has gotten complicated enough that I
don't think anyone actually does it 100% right so:

Introducing PackageMonitor.

Yes there are no Java docs. I am still playing around with just what this
thing is to figure out what makes sense and how people will use it. It is
being used to fix this bug for monitoring voice recognizers (integrating the
code from the settings provider for setting an initial value), to replace
the existing code for monitoring input methods (and fix the bug where we
wouldn't remove an input method from the enabled list when it got
uninstalled), to now monitor live wallpaper package changes (now allowing
us to avoid reverting back to the default live wallpaper when the current
one is updated!), and to monitor device admin changes.

Also includes a fix so you can't uninstall an .apk that is currently enabled
as a device admin.

Also includes a fix where the default time zone was not initialized early
enough which should fix issue #2455507 (Observed Google services frame work crash).

In addition, this finally introduces a mechanism to determine if the
"force stop" button should be enabled, with convenience in PackageMonitor
for system services to handle it. All services have been updated to support
this. There is also new infrastructure for reporting battery usage as an
applicatin error report.
/frameworks/base/services/java/com/android/server/SystemServer.java
6c0afff7f027f14fba97bc937d2a13889927be9a 15-Feb-2010 Ben Cheng <bccheng@android.com> Detect system-wide safe mode and configure the VM accordingly.

For the system server process, do the disableJitCompilation/startJitCompilation
callbacks depending on whether the system is in safe mode or not.

In addition, if the system is found to be in safe mode, a flag will be set in
the Zygote class which will be used to launch subsequent apps in VM safe mode.

Bug: 2267590
/frameworks/base/services/java/com/android/server/SystemServer.java
1c9131c91f27c8258dfad0a92cee105275f5422a 13-Feb-2010 Dan Egnor <egnor@google.com> Remove all traces of the old checkin service (and its associated parental
control interfaces) from the framework.
/frameworks/base/services/java/com/android/server/SystemServer.java
1bf3f8be7c01aa77afc114e0728cb041e95640b1 03-Feb-2010 San Mehat <san@google.com> SystemServer: Move MountService startup before NotificationManagerService

Signed-off-by: San Mehat <san@google.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
2a9094d07915a077026a651a7773f94322bf7d23 04-Feb-2010 Dianne Hackborn <hackbod@google.com> Framework part of issue #2391576: Add method to start the Jit and call it
/frameworks/base/services/java/com/android/server/SystemServer.java
d1df8ac6d076ef15ba8857211da2e447b6505fb3 26-Jan-2010 San Mehat <san@google.com> NetworkManagementService: Start service when SystemServer starts up

Signed-off-by: San Mehat <san@google.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
d68478467e3f837511196c80891d7245d0e163df 13-Jan-2010 Dianne Hackborn <hackbod@google.com> First pass at new device policy and administration APIs.

This adds new DevicAdmin, DevicePolicyManager, and DeviceAdminInfo classes.
See the java docs for each on documentation on them. Basically: a DeviceAdmin
is what you derive from to administer a device; DevicePolicyManager is what you
use to apply and check your policy requirements and perform other administration
tasks.
/frameworks/base/services/java/com/android/server/SystemServer.java
42471dd5552a346dd82a58a663159875ccc4fb79 08-Jan-2010 Dan Egnor <egnor@google.com> Simplify & update ANR logging; report ANR data into the dropbox.
Eliminate the per-process 200ms timeout during ANR thread-dumping.
Dump all the threads at once, then wait for the file to stabilize.
Seems to work great and is much, much, much faster.

Don't dump stack traces to traces.txt on app crashes (it isn't very
useful and mostly just clutters up the file).

Tweak the formatting of the dropbox dumpsys a bit, for readability,
and avoid running out of memory when dumping large log files.

Report build & kernel version with kernel log dropbox entries.
/frameworks/base/services/java/com/android/server/SystemServer.java
887f355f99ff83d568ef2885a4fdcaae475583df 08-Dec-2009 Dianne Hackborn <hackbod@google.com> Propagate background scheduling class across processes.

This is a very simply implementation: upon receiving an IPC, if the handling
thread is at a background priority (the driver will have taken care of
propagating this from the calling thread), then stick it in to the background
scheduling group. Plus an API to turn this off for the process, which is
used by the system process.

This also pulls some of the code for managing scheduling classes out of
the Process JNI wrappers and in to some convenience methods in thread.h.
/frameworks/base/services/java/com/android/server/SystemServer.java
ab5c49c7e7f5f61040650109a76f38a443fb852d 04-Dec-2009 Doug Zongker <dougz@android.com> move event log tags used by system server into this package

We can now locate event log tag definitions in individual packages
(and java constants for the tag numbers get auto-generated), so move
all the tags used by the system server into the package.
/frameworks/base/services/java/com/android/server/SystemServer.java
3a32213c4029a03fe39486f3d6ebd0ea18928ee1 24-Nov-2009 Mike Lockwood <lockwood@android.com> Remove HardwareService and move vibrator support to VibratorService.

The lights support is only needed by PowerManagerService and NotificationManagerService, so we do not need a Binder API for it.
Move backlight and notification light support to new LightsService class.
The camera flash is now handled directly by the camera HAL, so the flash Hardware service flash support is obsolete.

Change-Id: I086d681f54668e7f7de3e8b90df3de19d59833c5
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
f18a01c77e78209b74e34d05cfb352fa4a92db5f 12-Nov-2009 Dan Egnor <egnor@google.com> Rename [I]DropBox[Service] to [I]DropBoxManager[Service].

Un-hide the DropBoxManager interface, and update the public API accordingly.
/frameworks/base/services/java/com/android/server/SystemServer.java
952402704a175ba27f6c89dff1ada634c5ce5626 28-Oct-2009 Dan Egnor <egnor@google.com> Instead of a raw AIDL interface, give DropBox a Java
interface (android.os.DropBox); move the Binder interface
behind the scenes. Make DropBoxEntry into DropBox.Entry.
Make it possible to get a dropbox from an (Application)Context
with the usual getSystemService(DROPBOX_SERVICE) type thing.
Update the tests accordingly.
/frameworks/base/services/java/com/android/server/SystemServer.java
4410ec8f7cec6ab05a8c24c04fe2d5ed5d1e18df 12-Sep-2009 Dan Egnor <egnor@google.com> Framework-side DropBox service that maintains a size-bounded
queue of data chunks (sort of a blob-oriented logcat).

In the future, this will be coupled with a revised checkin service that
would actually upload this data.
/frameworks/base/services/java/com/android/server/SystemServer.java
f242b7b931898856bcbcb7ec36cacf43098ba544 08-Oct-2009 Nick Pelly <npelly@google.com> Introduce BluetoothAdapter.getDefaultAdapter().

This is the main entry point to the Bluetooth APIs, and returns the default
local Bluetooth adapter.

It replaces context.getSystemService(Context.BLUETOOTH_SERVICE). This was
never in a public SDK release.

DrNo: eastham
Bug: 2158765
Joke: Why can't you play cards in the jungle? Because there's too many cheetas!
Change-Id: Ieed8be009ee5aba621cb69090ee8c8a9c19c840d
/frameworks/base/services/java/com/android/server/SystemServer.java
e91ebe2be9580625ff31af8583e55aaefc50474f 30-Sep-2009 Fred Quintana <fredq@google.com> - make SyncManager get the accounts list during the constructor,
which will allow syncs to be scheduled during bootup. The
providers need this so that they can potentially schedule
syncs while they are starting up.
- make the SyncManager message handler wait until boot
has completed to start dispatching messages
/frameworks/base/services/java/com/android/server/SystemServer.java
6af0d50a8edb101d9da1306b6d85abf5dd3f9a30 28-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2149145: Safe Mode does not work on Sholes device

The APIs for checking whether keys are held down now also look
at virtual keys.

However it turns out there is less than a second between the time we
start the input thread and check for safe mode, so there is not enough
time to actually open all of the devices and get the data from them
about the finger being down to determine if a virtual key is down.

So now you can also hold DPAD center, trackball center, or s to
enter safe mode. Also give some vibrator feedback.

Change-Id: I55edce63bc0c375813bd3751766b8070beeb0153
/frameworks/base/services/java/com/android/server/SystemServer.java
f02c0740d3039977149773604a229c9f76c8121d 11-Sep-2009 Ken Schultz <kschultz@motorola.com> DockObserver wakes the display when broadcasting a change
- normal display timeout applies after wake

Signed-off-by: Ken Schultz <kschultz@motorola.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
e540833fdff4d58e37c9ba859388e24e2945ed45 05-Sep-2009 Bob Lee <crazybob@crazybob.org> Integrated the profiler into the framework. We run it all the time if the persist.sampling_profiler
system property is set. Saves snapshots to the SD card.
/frameworks/base/services/java/com/android/server/SystemServer.java
a34f1ad7c3a68d971e6332aa2fb1c16d083920b3 02-Sep-2009 Dianne Hackborn <hackbod@google.com> 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
/frameworks/base/services/java/com/android/server/SystemServer.java
d0e82cec71442485d9cc952e5e16165d9d98b16e 28-Aug-2009 Mike Lockwood <lockwood@android.com> Do not send dock state changed broadcasts until the system has finished booting.

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
6ccd2aff3eb4450c6f1021637d18e4e5d9346bf0 27-Aug-2009 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 301b97ac to eclair

Change-Id: I0fb70cbe0a52006ad14f43a02c30b72aad457c48
fd12af4e768fec852c4c5dfee3b9bd7403b4b347 27-Aug-2009 Dianne Hackborn <hackbod@google.com> 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.
/frameworks/base/services/java/com/android/server/SystemServer.java
bd022f423a33f0794bb53e5b0720da2d67e4631c 15-Aug-2009 Nick Pelly <npelly@google.com> Bluetooth: API change.

Split BluetoothDevice into BluetoothDevice and BluetoothAdapter.

BluetoothAdapter: Represents the local BT adapter. Operations on the local
adapter (start a scan, etc).
BluetoothDevice: Represents a remote BT device. Operations on remote devices
(pair, connect, etc).

IBluetoothDevice.aidl -> Bluetooth.aidl
BluetoothDeviceService.java -> BluetoothDeviceService.java

TODO:
Javadoc
/frameworks/base/services/java/com/android/server/SystemServer.java
c9f4eaf4388087f23aa97e55349850f0902a19d3 12-Aug-2009 Dan Murphy <D.Murphy@motorola.com> Dock changes:Docking station intents

Docking station intents for dock switch driver.
Add DockObserver and updated Intent.java and systemserver.jave

Signed-off-by: Dan Murphy <D.Murphy@motorola.com>

modified: core/java/android/content/Intent.java
new file: services/java/com/android/server/DockObserver.java
modified: services/java/com/android/server/SystemServer.java

Docking station updates

Add constants for the dock

Signed-off-by: Dan Murphy <D.Murphy@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
0f79b54c3a0b4141b1da38fa301571a89e165632 14-Aug-2009 Mike Lockwood <lockwood@android.com> ConnectivityService: Do not send broadcasts until the system is ready.

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
f21adf6fc19bc9c6908c6f1aaae203389f104bfa 13-Aug-2009 Dianne Hackborn <hackbod@google.com> Always have a wallpaper service running.
/frameworks/base/services/java/com/android/server/SystemServer.java
07a500f0de2243b832e258ed477652a10cbd2d08 12-Aug-2009 Mike Lockwood <lockwood@android.com> BatteryService: Fix problems shutting down when the battery is dead:

Wait until system is booted before attempting to display the shutdown dialog.
Use ShutdownActivity rather than attempting to run ShutdownThread in the battery service.
Fix logic error (check !isPowered() instead of isPowered())

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/SystemServer.java
8cc6a5026aeb5cf9cc36529426fe0cc66714f5fb 06-Aug-2009 Dianne Hackborn <hackbod@google.com> First bit of wallpaper work.

This is mostly refactoring, adding a new WallpaperManager class that takes care
of the old wallpaper APIs on Context, so we don't need to pollute Context with
various new wallpaper APIs as they are needed. Also adds the first little
definition of a wallpaper service, which is not yet used or useful.
/frameworks/base/services/java/com/android/server/SystemServer.java
10c59a365a095d322f29aa969a3d0f6bb3314972 17-Jul-2009 Christopher Tate <ctate@google.com> DO NOT MERGE - Disable settings backup in Donut
/frameworks/base/services/java/com/android/server/SystemServer.java
afefa49abce3a1f8dd64644009f73aaeea86d7e0 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 4af0a709: Merge change 6555 into donut

Merge commit '4af0a709ee08e8ae43f49d8fc5c9cae142aaf2c4'

* commit '4af0a709ee08e8ae43f49d8fc5c9cae142aaf2c4':
Make it so the notification manager doesn't mysteriously
302754801cacf19a99c7fa1b88a195bb8f2b0915 09-Jul-2009 Joe Onorato <joeo@android.com> Make it so the notification manager doesn't mysteriously
beep during boot.
/frameworks/base/services/java/com/android/server/SystemServer.java
a791bc070f1ea0008781ef67b22945282285d5f6 18-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 5ad76ef5: Merge change 4521 into donut

Merge commit '5ad76ef5ee1b437b4c07ed0be78ec7cc16c81dfe'

* commit '5ad76ef5ee1b437b4c07ed0be78ec7cc16c81dfe':
load entropy data at boot. Periodically write entropy data to disk.
4fb256117ca271e3e37284a19b663d116f6ec20c 18-Jun-2009 Nick Kralevich <nnk@google.com> load entropy data at boot. Periodically write entropy data to disk.
/frameworks/base/services/java/com/android/server/SystemServer.java
d5ac1ae36b4e096eb97984334f86d0c68abea2f7 06-May-2009 Jaikumar Ganesh <jaikumar@google.com> Framework changes for bluez4.

Changes in the Bluetooth JNI calls and framework functions
for Bluez4.
/frameworks/base/services/java/com/android/server/SystemServer.java
76879bc2343779d4d2a870b7bd46b0544c0cc46c 15-May-2009 svetoslavganov <svetoslavganov@google.com> resolved conflicts w/ 75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec merge....
75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec 15-May-2009 svetoslavganov <svetoslavganov@google.com> Accessibility feature - framework changes (replacing 698, 699, 700, 701 and merging with the latest Donut)
/frameworks/base/services/java/com/android/server/SystemServer.java
f8997690da3790a1ff87f1f96a6e68fbb79b5ddc 30-Apr-2009 Christopher Tate <ctate@google.com> am 487529a: First baby steps towards settings backup

Merge commit '487529a70cd1479ae8d6bbfb356be7e72542c185'

* commit '487529a70cd1479ae8d6bbfb356be7e72542c185':
First baby steps towards settings backup
487529a70cd1479ae8d6bbfb356be7e72542c185 29-Apr-2009 Christopher Tate <ctate@google.com> First baby steps towards settings backup

This change adds a sketched outline of the backup system architecture, with
all of the major pieces represented other than client-side helpers for
specific types of data. IBackupManager and BackupService are public so that
we can write test apps against SDK-domain symbols from the outset.

What code exists in this change hasn't been tested and may crash. It's the
beginnings of the real implementation but of course is barely begun.
/frameworks/base/services/java/com/android/server/SystemServer.java
603073430bbcb1bd29db7afb9b14e2732ad589fb 25-Mar-2009 Fred Quintana <> Automated import from //branches/master/...@142414,142414
/frameworks/base/services/java/com/android/server/SystemServer.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
/frameworks/base/services/java/com/android/server/SystemServer.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
/frameworks/base/services/java/com/android/server/SystemServer.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/services/java/com/android/server/SystemServer.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/services/java/com/android/server/SystemServer.java
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
/frameworks/base/services/java/com/android/server/SystemServer.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
/frameworks/base/services/java/com/android/server/SystemServer.java
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
/frameworks/base/services/java/com/android/server/SystemServer.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/services/java/com/android/server/SystemServer.java
22f7dfd23490a3de2f21ff96949ba47003aac8f8 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
/frameworks/base/services/java/com/android/server/SystemServer.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/services/java/com/android/server/SystemServer.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/services/java/com/android/server/SystemServer.java