Commit Graph

2990 Commits

Author SHA1 Message Date
Adam Powell
04fe6ebb9f Fix a bug resolving the correct icon/logo in action bars
Remove some abstraction-breaking magic in ActionBarView and replace it
with proper resolution of the icon/logo when creating a window. The
old implementation relied on the ActionBarView's context being an
Activity.

Bug 9171554

Change-Id: Idbbb1942622195dcb55e8119f2d64287b07bb509
2013-05-31 15:00:24 -07:00
Dianne Hackborn
21d9b56692 Add more details about why a force stop is happening.
Change-Id: Ia938cf6fc37ad22fc7447dc538968c7bd234be7d
2013-05-28 17:46:59 -07:00
Dianne Hackborn
56798adf41 am 959b9b39: am fc09b326: am fee6d0cb: Merge "Fix documentation of requestCode parameter."
* commit '959b9b39b4e488b643919fb7a58f2fbbdd70e573':
  Fix documentation of requestCode parameter.
2013-05-28 13:49:53 -07:00
Dianne Hackborn
fc09b326da am fee6d0cb: Merge "Fix documentation of requestCode parameter."
* commit 'fee6d0cb1e27b13f6ed91c1cdcb9d524bb967ea2':
  Fix documentation of requestCode parameter.
2013-05-26 00:02:31 -07:00
Dianne Hackborn
fee6d0cb1e Merge "Fix documentation of requestCode parameter." 2013-05-26 06:56:03 +00:00
Dianne Hackborn
2e39f5c5cb Merge "New ArrayMap class." 2013-05-24 23:37:16 +00:00
Dianne Hackborn
f4bf0ae2a7 New ArrayMap class.
This is a new kind of key/value mapping that stores its data
as an array, so it doesn't need to create an extra Entry object
for every mapping placed in to it.  It is also optimized to reduce
memory overhead in other ways, by keeping the base object small,
being fairly aggressive about keeping the array data structures
small, etc.

There are some unit and performance tests dropped in to some
random places; they will need to be put somewhere else once I
decided what we are going to do with this for the next release
(for example if we make it public the unit tests should go in
to CTS).

Switch IntentResolver to using ArrayMap instead of HashMap.

Also get rid of a bunch of duplicate implementations of binarySearch,
and add an optimization to the various sparse arrays where you can
supply an explicit 0 capacity to prevent it from doing an initial
array allocation; use this new optimization in a few places where it
makes sense.

Change-Id: I01ef2764680f8ae49938e2a2ed40dc01606a056b
2013-05-24 16:36:14 -07:00
Craig Mautner
18f8530486 Merge "Convert API refs to StackBox from ActivityStack." 2013-05-24 23:14:52 +00:00
Craig Mautner
5a449154d1 Convert API refs to StackBox from ActivityStack.
- Removed IActivityManager.getStacks() since getStackBoxes() is better.
- Made createStacks operate relative to StackBox instead of TaskStack.
- Made resizeStack into resizeStackBox.

Change-Id: I7a0e1f4e34f399b4fd1180c60cc3989f9c2433f3
2013-05-24 16:12:57 -07:00
Craig Mautner
8cec2bcef9 Merge "Add retrieval of StackBox info for more flexibility" 2013-05-24 19:54:18 +00:00
Craig Mautner
5ff1210172 Add retrieval of StackBox info for more flexibility
First step in permitting StackBoxes to be manipulated by user.
Necessary for Configuration changes coming down.

Change-Id: I4029926a35e4fdc59a5759fd9e4bae10bb308413
2013-05-24 12:50:15 -07:00
Dianne Hackborn
64770d16b0 Some improvements to meminfo output.
- Rename "Swappable PSS" to "PSS Clean" which I think is what it
  means and is consistent with the other memory metrics.
- Split at the top level the dalvik heap from other dalvik allocations,
  so when you look on the dalvik allocations line things are consistent
  with the allocator's data and it is clear what are app allocations vs.
  other data in dalvik.
- Don't print lines that are all 0.
- Don't print the detailed Dalvik allocation data by default; add a new
  option to have it printed.

Here's what a typical system process dump now looks like:

** MEMINFO in pid 6358 [system] **
                   Pss      Pss   Shared  Private   Shared  Private     Heap     Heap     Heap
                 Total    Clean    Dirty    Dirty    Clean    Clean     Size    Alloc     Free
                ------   ------   ------   ------   ------   ------   ------   ------   ------
  Native Heap        0        0        0        0        0        0     6964     3599     2048
  Dalvik Heap     7541        0     4344     7356        0        0    11768    11194      574
 Dalvik Other     3553        0     2792     3448        0        0
        Stack       28        0        8       28        0        0
       Cursor        4        0        0        4        0        0
       Ashmem        5        0       12        0        0        0
    Other dev     4004        0       24     4000        0        4
     .so mmap     3959      684     2500     2280     5468      684
    .apk mmap      173       68        0        0      692       68
    .dex mmap     4358     3068        0        0     9276     3068
   Other mmap       60        0        8        8      244       36
      Unknown     4387        0      508     4380        0        0
        TOTAL    28072     3820    10196    21504    15680     3860    18732    14793     2622

 Objects
               Views:       10         ViewRootImpl:        1
         AppContexts:        8           Activities:        0
              Assets:        3        AssetManagers:        3
       Local Binders:      176        Proxy Binders:      341
    Death Recipients:      141
     OpenSSL Sockets:        0

 SQL
         MEMORY_USED:      473
  PAGECACHE_OVERFLOW:       98          MALLOC_SIZE:       62

 DATABASES
      pgsz     dbsz   Lookaside(b)          cache  Dbname
         4       68             49         7/21/7  /data/data/com.android.providers.settings/databases/settings.db
         4       20             17         0/13/1  /data/system/locksettings.db
         4       20             21        96/14/2  /data/system/locksettings.db (1)
         4       20             21        75/13/2  /data/system/locksettings.db (2)
         4       80             29         4/17/3  /data/system/users/0/accounts.db

Change-Id: Ifd511a7baaa8808f82f39509a5a15c71c41d1bac
2013-05-24 10:47:03 -07:00
Anwar Ghuloum
3c61506b71 Add more memory usage stats
Added support for teasing apart different parts of the dalvik heap.

Note this adds more public api and we should talk to hackbod before going into master with this.

(cherry picked from commit 73407daf3f6110e933d8614605b21586c4c5fde2)

Change-Id: If4431f50e67e18bcc42e00694c97805477bd6815
2013-05-23 12:30:42 -07:00
Anwar Ghuloum
b1d45b3d3b Fix small formatting issue with dumpsys meminfo
(cherry picked from commit 853d2b6bcd49af08458a2dbf2481bb931ef1c707)

Change-Id: I83cb5184ce9d7c029bd16eb16f131db280283536
2013-05-23 12:30:23 -07:00
Anwar Ghuloum
3a8ce1bec8 More stats for meminfo
Added shared clean tracking (for pageable stuff).  Renamed .oat and .art mmap.

(cherry picked from commit 967d53b17b6010c3a675ca9c3bbd0e9dd2f2f092)

Change-Id: I741e0dbe0d3f9aee6975c6fad8af9905942962d4
2013-05-23 12:29:59 -07:00
Craig Mautner
6d90fed076 Add stackId to RecentTaskInfo
Necessary for multi-stack activity overview.

Fixes bug 9092356.

Change-Id: I3d51a7b5cbca6166017759401bb5d31b4ae96f07
2013-05-22 17:23:25 -07:00
Craig Mautner
9d851de6cc Revert "Add stackId to RecentTaskInfo"
Need to modify the API as well.
This reverts commit b9b9477581

Change-Id: I34ea371408930b6b1bf4c53ad9ab8418b0070dbc
2013-05-22 23:14:05 +00:00
Craig Mautner
b9b9477581 Add stackId to RecentTaskInfo
Necessary for multi-stack activity overview.

Fixes bug 9092356.

Change-Id: I91fc68ebf72114224c8e651261101ac14517ff86
2013-05-22 15:03:10 -07:00
Dianne Hackborn
713df150b9 Add app ops for wake locks.
Currently only supports auditing, not disabling.

Change-Id: Ie85f02c29b490d96e073f54d59e165d48c7c00c9
2013-05-20 16:49:46 -07:00
Daniel Sandler
fa98345745 am 617055d7: am 5d6dc425: Merge "Filter out dangerous CharSequences in Notification." into jb-mr2-dev
* commit '617055d7a9e2c30d1a99bf7e596f8d9e32fab723':
  Filter out dangerous CharSequences in Notification.
2013-05-08 17:32:50 -07:00
Daniel Sandler
617055d7a9 am 5d6dc425: Merge "Filter out dangerous CharSequences in Notification." into jb-mr2-dev
* commit '5d6dc425287e5651e3a1fdc32591b8791dd9dd18':
  Filter out dangerous CharSequences in Notification.
2013-05-08 17:30:43 -07:00
Daniel Sandler
5d6dc42528 Merge "Filter out dangerous CharSequences in Notification." into jb-mr2-dev 2013-05-09 00:28:11 +00:00
Daniel Sandler
dcbaf661bf Filter out dangerous CharSequences in Notification.
If an app mistakenly puts some Parcelable implementation of
CharSequence in here, Bundle will try to marshal the derived
class, which is going to be bad news when we try to unparcel
it in another process.

Additionally add a proper stack trace to unparceling
failures (otherwise you have no idea where the bad parcel
was being used).

Bug: 8725271
Change-Id: Ide19b986d65c7f47929cf2dde4e62b762c469fee
2013-05-08 17:06:35 -04:00
Scott Main
2b6daf130a am 0ba3d91f: am 05759d15: Merge "add notice to not use 0 in startForeground(). also delete some obsolete back-compat tips for <=donut bug: 8746126" into jb-mr2-dev
* commit '0ba3d91f2da7773492739aad267d6d825d1465fd':
  add notice to not use 0 in startForeground(). also delete some obsolete back-compat tips for <=donut bug: 8746126
2013-05-07 10:18:42 -07:00
Kenny Root
1d69bad411 resolved conflicts for merge of a98b0ff8 to master
Change-Id: I1f4a952d360c48426e22a7772726b6867cc19771
2013-05-07 10:14:46 -07:00
Kenny Root
add582122d resolved conflicts for merge of 485d7a31 to master
Change-Id: I058e19af8732df44457bdc614ee810a642dc25e4
2013-05-07 09:51:31 -07:00
Scott Main
0ba3d91f2d am 05759d15: Merge "add notice to not use 0 in startForeground(). also delete some obsolete back-compat tips for <=donut bug: 8746126" into jb-mr2-dev
* commit '05759d1531f4e36b51f386fa884454eeda88ecb8':
  add notice to not use 0 in startForeground(). also delete some obsolete back-compat tips for <=donut bug: 8746126
2013-05-06 17:06:40 -07:00
Scott Main
05759d1531 Merge "add notice to not use 0 in startForeground(). also delete some obsolete back-compat tips for <=donut bug: 8746126" into jb-mr2-dev 2013-05-06 23:56:41 +00:00
Dianne Hackborn
a98b0ff812 am d43a71da: Merge "Help for the debugging help for issue #8734824." into jb-mr2-dev
* commit 'd43a71dad80dfca65b0758f4333360516f6ad300':
  Help for the debugging help for issue #8734824.
2013-05-06 16:48:16 -07:00
Dianne Hackborn
ba50b97cff Add new app ops for various interesting audio service things.
Media buttons: note when an application tries to take ownership
of the media buttons.
Audio focus: note when an application tries to take audio focus.
Volume levels: note changes to the volume level of the various
streams.

Maybe we should also have some ops for muting streams, soloing
streams, etc?

Change-Id: I79a5d477b0bad4ff61486cdb73ffb1196a674964
2013-05-06 16:12:12 -07:00
Dianne Hackborn
8bd64df2ad Help for the debugging help for issue #8734824.
Add a new "hang" am command that lets you hang the system
process.  Useful for testing.

Change-Id: Ice0fc52b49d80e5189f016108b03f9fd549b58a7
2013-05-06 16:07:26 -07:00
Dianne Hackborn
485d7a31a8 am 5b88a2fd: Debugging help for issue #8734824: WATCHDOG KILLING SYSTEM PROCESS
* commit '5b88a2fd7b77880f6e09ae4a1de509bebe28bc3a':
  Debugging help for issue #8734824: WATCHDOG KILLING SYSTEM PROCESS
2013-05-06 13:47:04 -07:00
Dianne Hackborn
5b88a2fd7b Debugging help for issue #8734824: WATCHDOG KILLING SYSTEM PROCESS
IActivityController has a new callback which the Watchdog calls
when it detects that the system process is hung.  This may be
use full monkey.  All hail the monkey!

Also add a new private feature to Binder to be able to turn off
all incoming dump() calls to a process.  The watchdog uses this
when it reports it is hung, so that if someone, say, wants to
collect a bug report at this point they won't get stuck waiting
for things that are all busted.

Change-Id: Ib514d97451cf3b93f29e194c1954e29f948c13b1
2013-05-06 11:16:18 -07:00
Scott Main
2e6de8fdcc add notice to not use 0 in startForeground().
also delete some obsolete back-compat tips for <=donut
bug: 8746126

Change-Id: I3ee966647aa2c9f572e6f02eeabfc2cf925a031f
2013-04-30 11:44:07 -07:00
Kenny Root
178e8bbf25 am e9ae6822: resolved conflicts for merge of 1f6e789b to jb-mr2-dev-plus-aosp
* commit 'e9ae6822a80cb1f3bd13c785f1727c03d35da52e':
  Track change to JSSE provider
2013-04-30 09:01:38 -07:00
Kenny Root
e9ae6822a8 resolved conflicts for merge of 1f6e789b to jb-mr2-dev-plus-aosp
Change-Id: I06c05d637613215b6d83df3e29cd495f6a5a0176
2013-04-29 23:09:03 -07:00
Kenny Root
12e752225a Track change to JSSE provider
Change-Id: I35e824e47ad758ab6408e91e2ba5dcda053a82f5
2013-04-29 15:15:27 -07:00
Daniel Sandler
06cacff626 am 4064af9b: am a7b6cbf1: Merge "API cleanup: NotificationListener" into jb-mr2-dev
* commit '4064af9b096dfdf317d158c8aafd396c86f3fd0a':
  API cleanup: NotificationListener
2013-04-25 17:01:10 -07:00
Daniel Sandler
6064df5c64 am fa1c4430: am 5e97c317: Merge "New NotificationListener API: getActiveNotifications()" into jb-mr2-dev
* commit 'fa1c443063f3d3a98c4f3bb71689fb3e1d4c6c37':
  New NotificationListener API: getActiveNotifications()
2013-04-25 13:50:40 -07:00
Daniel Sandler
e6f7f2e3a0 API cleanup: NotificationListener
- Wrap all public member variables in getters and make
    slots private
  - Rename clear* methods to cancel* to be more consistent
    with existing public Notification API

Bug: 8656860
Change-Id: I84f7e71fbb627f859352a93089c6a531b44dac95
2013-04-25 15:51:08 -04:00
Daniel Sandler
25cf8cee6f New NotificationListener API: getActiveNotifications()
This allows a listener service to catch up on the current
state of the notification panel at any time, including at
startup.

Bug: 8656860
Change-Id: I1a3d665d84576e17870929a63dda334afc696010
2013-04-24 23:19:08 -04:00
Svetoslav
a424bc8058 am c91d4dfe: am e00b297c: Merge "The touch exploration capability is dynamically granted pre-JellyBeanMR2." into jb-mr2-dev
* commit 'c91d4dfe0a243f9f1d53bb4dbd435759da5202fd':
  The touch exploration capability is dynamically granted pre-JellyBeanMR2.
2013-04-24 18:51:40 -07:00
Svetoslav
11adf6dc24 The touch exploration capability is dynamically granted pre-JellyBeanMR2.
Since the enable touch exploration capability is dynamically granted by
the user for apps targeting pre-JellybeanMR2 API level, we have to properly
update the accessibility service info for that service and also avoid
caching copies of the service info.

bug:8633951

Change-Id: I83dd1c852706ec55d40cda7209ad842889fb970a
2013-04-24 14:59:04 -07:00
Craig Mautner
b58121c350 Merge "Add tap detector for switching stack focus." 2013-04-24 02:36:43 +00:00
Craig Mautner
cf910b0c71 Add tap detector for switching stack focus.
- New InputEventReceiver for detecting taps outside of focused stack
boundaries.
- Fixed bug that wasn't pausing the non-focused window when returning
home.

Change-Id: Ia51d312a7c029abc01eb5df1102814cc29d33b47
2013-04-23 19:33:27 -07:00
Svetoslav
fb2563103b am 939ff0ac: am 4c783066: Merge "Fixing bugs exposed when moving accessibility CTS tests to UiAutomation." into jb-mr2-dev
* commit '939ff0acff8a21a023d79214130680a66214840f':
  Fixing bugs exposed when moving accessibility CTS tests to UiAutomation.
2013-04-23 18:08:55 -07:00
Svetoslav
db7da0eb8b Fixing bugs exposed when moving accessibility CTS tests to UiAutomation.
1. UiAutomation#executeAndWaitForEvent method was invoking the passed
   runnable while holding the lock which may lead to a deadlock. For
   example: a runnable that calls getActivity() gets us into a state
   like this.

2. UI automation services did not get all capabilities such a
   service can have. Now a UI test service gets all of them.

3. When UiAutomation was exiting for event fired as a result of a
   performed action, it was checking whether the received evnet time
   is strictly before the time of executing the command that should
   fire the event. However, if the execution is fast enough, i.e.
   less than one millisecond, then the event time and the execution
   time are the same. This was leading to a missed signal in rare
   cases.

4. AccessibilityNodeInfoCache was not clearing the relevant state
   for accessibility focus clearing event.

5. Accessibility text traversal in TextView was partially using text
   and partially content description - broken. Now we are using the
   text since for text view and content desc for other views. In other
   words, we are using the most precise text we have.

6. AccessibilityManagerService was not granting capabilities of a
   UiAutomation service - plainly wrong.

CTS change:https://googleplex-android-review.googlesource.com/#/c/300693/

bug:8695422
bug:8657560

Change-Id: I9afc5c3c69eb51f1c01930959232f44681b15e86
2013-04-23 17:44:00 -07:00
Daniel Sandler
bf7b95cec9 am 2fd0ba8e: am f78ff07f: Merge "Fix concurrency issues when parceling StatusBarNotifications." into jb-mr2-dev
* commit '2fd0ba8e9529780fd87b71a024edb3200ad1d93a':
  Fix concurrency issues when parceling StatusBarNotifications.
2013-04-23 11:16:19 -07:00
Michael Wright
058feb4e1d am 58500051: am 5fe6e4c4: Merge "Rewrite input handling for native applications" into jb-mr2-dev
* commit '585000515faacc02736f920425ae6c323223ee58':
  Rewrite input handling for native applications
2013-04-23 11:16:08 -07:00
Daniel Sandler
f78ff07f6e Merge "Fix concurrency issues when parceling StatusBarNotifications." into jb-mr2-dev 2013-04-23 00:53:31 +00:00