Commit Graph

1150 Commits

Author SHA1 Message Date
Scott Main
66adf0d04d am 70af3cdb: Merge "docs: resolve bugs from external tracker" into jb-mr1-dev
* commit '70af3cdb90bafc081ffa693a350b95ced48b6cfd':
  docs: resolve bugs from external tracker
2013-01-08 12:42:10 -08:00
Scott Main
6aad995042 docs: resolve bugs from external tracker
Change-Id: I680970ec63701197103f6c5ab55c25c736aa0519
2013-01-08 12:02:38 -08:00
Nicolas Klein
5ea914f21b am 759c1005: Merge "Fix some typos and missing @param in android.os.Bundle" into jb-mr1-dev
* commit '759c1005b3f96ea8bbf59192d206aacece315655':
  Fix some typos and missing @param in android.os.Bundle
2012-11-30 14:54:50 -08:00
Nicolas Klein
9f6cb87522 Fix some typos and missing @param in android.os.Bundle
getChar(String) and getChar(String, char) had wrong description in their
javadoc.
Also most of the get methods with default value were missing the corresponding
@param tag for the default value parameter.

Change-Id: I0f38b3caacf9cabd70e0c1ada36af3662f5566d0
2012-11-30 14:41:46 -08:00
Dianne Hackborn
8103890a59 Improve debugging for issue #7586414: AlarmManager wakelocks held
In alarm manager, print a summary of the top 10 alarms by time
being executed.  Keep track of execution time (and wake count) of
each type of alarm for each application so this can be printed in
the summary (and used to compute the top 10 alarms).  Rework how
the alarm summary stats are tracked so that we don't need to hold
on to the full Intent for each stat and can get the Intent information
at the time the alarm is sent rather than waiting for whatever Intent
comes back in the result.

Also in the battery stats: sort the kernel wake locks by time, add
a new section showing all partial wake locks across all applications
sorted by time.

Finally a new LocalLog class that is used by AlarmManager to log
important warning messages, so these can also be later found in
its dumpsys output.

Change-Id: Icc07810053e60fb623a49937e696819cb8352b06
2012-11-27 11:05:42 -08:00
Craig Mautner
6edb6db512 Ignore invalid combination of PowerManager flags.
ACQUIRE_CAUSES_WAKEUP is supposed to be ignored if combined with
PARTIAL_WAKE_LOCK. Instead it was being carried out for any values
of the WakeLock level.

This change reverts behavior to closely match
previous releases of the framework by only honoring
ACQUIRE_CAUSES_WAKEUP for screen wake lock levels. The only
difference being that in previous releases ACQUIRE_ could have been
combined with PROXIMITY_SCREEN_OFF_WAKE_LOCK (it never was) and
now such a combination will ignore the ACQUIRE_ flag.

Bug 7532258 fixed.

Change-Id: I46e848d8fd1b57e54c63141bf3d4f353986b5bdf
2012-11-21 13:19:39 -08:00
Jeff Sharkey
f5377a7242 Merge "Useful annotations for code documentation." into jb-mr1.1-dev 2012-11-15 11:48:38 -08:00
Jeff Sharkey
7407c948cb Watch for leaked ParcelFileDescriptors.
Bug: 7426029
Change-Id: I18f7ac7d7b357b092bf9ec91ffb9fa3de5ca0271
2012-11-12 13:43:09 -08:00
Jeff Sharkey
8b2c3a1460 Useful annotations for code documentation.
Bug: 6537978
Change-Id: I806c3c09e3255f8789455f13bf37c1dde2a93f1f
2012-11-12 12:42:17 -08:00
Andy McFadden
325be8a1ea Reduce emulator logspam
The emulator doesn't support systrace, but we should point that out
at most once per process.

Bug 7436352

Change-Id: I30e0094dc3b24bc3ab6bc2799ce81ca0a6bb7d9d
2012-11-08 16:40:21 -08:00
Dianne Hackborn
ef03a7f441 Work on issue #7343200: Fails to show wallpaper in the background...
...for lockscreen sometimes and remains black / blank

Add some debug output to try to track down what is going on.

Change-Id: I98a96c5da9c04b988e948f6fc2766d927db49ebf
2012-10-29 18:46:52 -07:00
Dirk Dougherty
7b9a28892b Doc change: fix some table formatting.
Change-Id: I1533be695347697f5afd5c8d2719a0ff0b07abaa
2012-10-28 13:40:26 -07:00
Dianne Hackborn
b26306ad52 Fix issue #7408647: Add getUserCount() API
Change-Id: Ib4e8e2300757e0941fae8fbc46c4323f5e2d7d6b
2012-10-24 15:28:03 -07:00
Andy McFadden
d401a53c64 Merge "Improve systrace tag propagation" into jb-mr1-dev 2012-10-23 15:21:56 -07:00
Jeff Sharkey
b76a0c40d4 Avoid mentioning hidden API in docs.
Change-Id: If83c179ec0d1b038e94a7fdca386c8ddf324e391
2012-10-23 09:37:54 -07:00
Andy McFadden
d11ca4dd2c Improve systrace tag propagation
The native side of the tracing code latches a copy of the tags from a
system property on first use.  The Java-side tracing code latches a
copy of the native's copy during class init.  The tracing code is
preloaded by the zygote, which means we get the flags during zygote
init and don't update them when we launch a new app.

This changes the Java sources to also defer initialization until
first use, so that newly-launched apps will use the current value
of the system property.

Bug 7323431

Change-Id: I7db048ec54345ae9565088a35c2e2b4c82f993fd
2012-10-22 19:35:39 -07:00
Jeff Sharkey
8c16579994 Update docs for multi-user storage behavior.
Define external storage as being isolated for each user, with the
caveat for shared OBB files. Also mention external storage
permissions.

Bug: 7384941
Change-Id: Ib156b5874c5587749d7bc066791e9e88d931b174
2012-10-22 15:04:35 -07:00
Romain Guy
6f931ccd31 Fix javadoc
Change-Id: Ie98dd00f41add876f3740f5d37781a10c6bd41fe
2012-10-17 11:06:11 -07:00
Guang Zhu
90619816d9 use BufferedInputStream in readTextFile
With FileInputStream, using assumption of bytes read (as
returned by read function) not matching buffer size as EOF is
not correct, we hit this when reading from /proc in some cases.

BufferedInputStream's behavior matches that assumption due to
its implementation.

Bug: 7342759
Change-Id: Ibb06dbe1fbe33f6f880524f7555ff5542889ea50
2012-10-12 15:50:44 -07:00
Amith Yamasani
ff54920ed2 Temporarily disable multiuser for specific builds
Enable switching through power menu for other builds

Change-Id: I0bd8450583e078b0a83fb639337427ab84db5ab8
2012-10-12 12:44:49 -07:00
Jeff Brown
9cf36b7a77 Don't process UEvents in Dalvik unless they match a pattern.
On some devices, vsync is delivered from the kernel to userspace
over a netlink socket via UEvent.  The result is that a thread wakes
up, reads a message, creates a new String then searches it for matches
against a pattern on every single frame.

Reduce the overhead by performing the initial pattern matching in
native code.

Bug: 7326329
Change-Id: Icb22db1c38330694207bec1153840e0c06f502d6
2012-10-10 21:46:55 -07:00
Dianne Hackborn
a8a9bd65bf Fix issue #7311376: Add API to allow apps to know if they are...
...running as the foreground user

Add UserManager.isUserRunning() which is the public version of the
existing method on ActivityManager.

Also add UserManager.isUserRunningOrStopping() since that seems like
it will be useful.

And fix the internal function that returns the array of currently
running users to not include stopped users.

Change-Id: I84672fa8748fc027fd402729586b5603f640e498
2012-10-09 17:00:31 -07:00
Dianne Hackborn
0cdbd0776d Merge "Fix issue #7290206: Need API to get/look up user serial number" into jb-mr1-dev 2012-10-04 18:19:01 -07:00
Dianne Hackborn
33f9cb8cf0 Fix issue #7290206: Need API to get/look up user serial number
Change-Id: I1713215e7c205b1b66c36488f89e3fbf4572cb97
2012-10-04 17:15:10 -07:00
Jeff Brown
93cbbb25a5 Allow phone to go to sleep while in call.
Bug: 7279383
Change-Id: Ia05490218f40a1843507b95ff48fa07910e582d4
2012-10-04 16:22:04 -07:00
Dianne Hackborn
c428aae642 Fix issue #7267494, issue #7212347
7267494 Calendar is not syncing
Check for whether a content provider is dead before returning
it.  This is kind-of a band-aid, but probably the right thing
to do; I'm just not sure exactly the full details of why this
problem is happening.  Hopefully this "fixes" it, though I don't
have a way to repro to tell.

7212347 System power off dialog is only visible to user 0
Make it visible.  Also turn on some battery debugging stuff and
clean it up so we can just keep it.

Change-Id: I5add25bf2a763c8dfe1df23bc5c753a9ea5d157a
2012-10-03 18:07:23 -07:00
Jeff Brown
a4d8204e30 Fix some synchronization issues in BatteryService.
Some of the BatteryService state was being locked
sometimes and it wasn't at all consistent.

Bug: 7158734
Change-Id: I46e75f66fde92c5a577a80a6bd99c9573066f3c1
2012-10-02 19:11:19 -07:00
Jeff Brown
db21284a7f Disable use of twilight mode for auto-brightness.
This adjustment is still experimental.

Bug: 7165399
Change-Id: I3fcf361933995d02a5329eeaec80155b39371ba3
2012-10-01 14:33:42 -07:00
Jeff Brown
1e3b98d47d New internal API to eliminate poke locks.
Added a new WindowManager.LayoutParams inputFeatures flag
to disable automatic user activity behavior when an input
event is sent to a window.

Added a new WindowManager.LayoutParams field userActivityTimeout.

Bug: 7165399
Change-Id: I204eafa37ef26aacc2c52a1ba1ecce1eebb0e0d9
2012-10-01 14:27:34 -07:00
Jeff Brown
edce6a7978 Remove clearUserActivityTimeout().
This function is not implemented and not needed.

Bug: 7165399
Change-Id: Ib1c50fabad6292ccf670404ba70aeb1242c4614d
2012-09-30 16:23:05 -07:00
Dianne Hackborn
fc4947491f Update APIs to JB MR1 level 17.
17 is current, resources are fixed, cleanup is done.

Change-Id: I6de446e209f59c5dd5fe1cde311776ab222817ea
2012-09-30 11:24:23 -07:00
Jeff Brown
120664816a Get rid of preventScreenOn().
Bug: 7165399
Change-Id: I1968265ecd74fff4d85efd2ca03b1983425ea518
2012-09-28 18:21:36 -07:00
Philip Milne
eed8f06f7f Merge "Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos()" into jb-mr1-dev 2012-09-26 17:30:20 -07:00
Jeff Brown
62c82e4d92 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
2012-09-26 15:24:27 -07:00
Jeff Sharkey
1951db86f5 Merge "Multi-user ringtone playback." into jb-mr1-dev 2012-09-26 13:38:22 -07:00
Philip Milne
4118012da9 Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos()
Change-Id: Ie38952bbaace080e81e41e61350cda172951d548
2012-09-26 11:29:25 -07:00
Jeff Sharkey
65c4a2b26c Multi-user ringtone playback.
Change RingtonePlayer to open content:// Uris based on requesting
UserHandle.  Grant SystemUI visibility to all emulated storage so
it can play ringtones for apps without READ_EXTERNAL_STORAGE.

Resolve canonical file:// Uris before passing out of source app,
replacing any /emulated_legacy/-style paths with user-specific
variant so they can be opened by SystemUI.  Calling for RemoteViews,
Ringtones, and Notifications.

Bug: 7202982
Change-Id: Ibf0eca8df80c1486711144a7b648f464aadfe099
2012-09-26 10:49:35 -07:00
Jeff Sharkey
4fbbda4cec Handle multi-user mountObb() requests.
Since emulated external storage paths differ based on execution
context, carefully fix up paths for various use-cases:

1. When sending paths to DefaultContainerService, always scope
   OBB paths as belonging to USER_OWNER.
2. When sending paths to vold, always build emulated storage paths
   visible to root.
3. Always use the original untouched path when talking with apps.

Mount OBB containers using shared app GID, so that an app can read
the mount point across users.

Handle legacy paths like "/sdcard" by resolving the canonical path
before sending to MountService.  Move tests to servicestests, and
add tests for new path generation logic.

Bug: 7212801
Change-Id: I078c52879cd08d9c8a52cc8c83ac7ced1e8035e7
2012-09-25 17:34:48 -07:00
Jeff Sharkey
7d8bcb498d Move multi-user OBB under user-specific path.
Bug: 7212801
Change-Id: I0ab83c1d9cb21914d61a7da45a32e89956e22ec8
2012-09-24 13:03:35 -07:00
Dan Morrill
466bd63681 Merge "New method returning user metadata." into jb-mr1-dev 2012-09-21 09:53:57 -07:00
Amith Yamasani
920ace0bbc Query users excluding any being removed
Keep track of user creation and last logged-in time.
adb shell dumpsys users
User switcher shouldn't show users about to be removed.
No need to check for singleton for activities.

Bug: 7194894
Change-Id: Ic9a59ea5bd544920479e191d1a1e8a77f8b6ddcf
2012-09-20 22:33:43 -07:00
Dan Morrill
e4ab16ad98 New method returning user metadata.
Change-Id: Ic1a42cf54152fe2e6bcd01b1bd9f1edb77d1710e
2012-09-20 20:25:55 -07:00
Jeff Sharkey
4673e7ea8d Migrate UI to supportsMultipleUsers().
Bug: 7194531
Change-Id: Ifbbe3b4d954f8d11fb1c94674e5e7f8e21264c75
2012-09-19 13:14:30 -07:00
Jeff Sharkey
3fe5bf6d69 Make getMediaStorageDirectory() user-aware.
Bug: 7173591
Change-Id: I4513afbd8c3d6a31cd66d8a149be4071d5a4d24c
2012-09-18 15:54:52 -07:00
Jeff Sharkey
27bd34d9d9 Multi-user MTP.
The current MTP kernel driver at /dev/mtp_usb is exclusive, meaning
only one process can have it open. In addition, each MTP session
with a desktop requires unique object IDs, which doesn't hold true
across users on the device.

To solve these two issues, when switching users we cycle the USB host
stack to disconnect both local and remote MTP connections, giving the
new user's media process a chance to claim /dev/mtp_usb, and causing
the desktop to initiate a new MTP session.

This change also allows BroadcastReceivers to registerReceiver()
allow retrieval of a current sticky broadcast. Adds a system property
to override maximum users. Removes MOUNTED broadcasts for secondary
users. Allows INTERACT_ACROSS_USERS to getCurrentUser().

Bug: 6925114
Change-Id: I02b4a1b535af95fb2142655887b6d15a8068d18a
2012-09-18 13:26:26 -07:00
Amith Yamasani
f7a6dfcafc Merge "Pass Bitmap instead of ParcelFileDescriptor in UserManager" into jb-mr1-dev 2012-09-17 22:53:21 -07:00
Amith Yamasani
e928d7d95d Pass Bitmap instead of ParcelFileDescriptor in UserManager
Add a USER_INFO_CHANGED intent for lockscreen and quicksettings to use
to monitor changes to the user name or icon.

Bug: 7164040
Change-Id: Id6fb8b6d38ce04ccd02bbadcf0c10699783d6c03
2012-09-17 21:46:51 -07:00
Dianne Hackborn
c33f94e2a5 Merge "Fix API review bugs." into jb-mr1-dev 2012-09-17 18:22:38 -07:00
Dianne Hackborn
8832c18d8b Fix API review bugs.
7173152 API REVIEW: android.content.pm.PackageUserState
7172969 API REVIEW: android.app.PendingIntent
7172730 API REVIEW: android.content.Context
7172726 API REVIEW: android.manifest.permission

Change-Id: Iad470256d3b5ca5596487f6a699ec1871457c3b5
2012-09-17 17:27:15 -07:00
Amith Yamasani
3b49f07a45 Add UserManager.getUserIcon()
So that we don't abuse the setUserIcon() for reading. So the new method won't try
to create the file, only return it if it exists.

Change-Id: I7a81d3f1b29d14d37e71f531744ce39f21d827ac
2012-09-17 12:42:00 -07:00