Issue description:
When run ICS stress test, always meet GREF issue. one of contributor is MountService$MountServiceBinderListener.
log info
19:21:11.609 222 24316 W dalvikvm: 24 of com.android.server.am.ActivityManagerService$AppDeathRecipient (24 unique instances)
19:21:11.609 222 24316 W dalvikvm: 479 of com.android.server.MountService$MountServiceBinderListener (479 unique instances)
19:21:11.619 222 24316 W dalvikvm: 7 of com.android.server.accessibility.AccessibilityManagerService$6 (7 unique instances)
Note: PID 222 is system server.
Issue alaysis:
Everyone can call getSystemService(Context.STORAGE_SERVICE) to get service.
When other service get StorageManager, StorageManager will new MountServiceBinderLister and
register a listener in MountService, which won't be unregistered. It's easy to generate a lot of
instance of unused MountService$MountServiceBinderListener in system server.
Issue fix:
So change the policy to be:
1. Doesn't new MountServiceBinderLister in construction.
2. when other service needs to register listener in StorageManager,
StorageManager will register listener with MountService.
3. When other service needs to unregister listener in StorageManager,
if there is no more other listeners in StorageManager, StorageManager
will unregister listener in MountService.
Change-Id: Iaaf889f44a1a5f62b9f65b3ab1b486c9b7dcaf7f
Author: Chuanxiao Dong <chuanxiao.dong@intel.com>
Signed-off-by: Bo Huang <bo.b.huang@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Previously the `getChildAt` method would be called with an index of -1 which
would lead to an exception being thrown and caught. This is unnecessary since
we know there will never be a divider before the first child. It also avoids
additional object creation since this method can be invoked quite frequently.
Change-Id: Iab44520d5d52f96a829a009cdd1201696edbf9a4
When device is camped on HSPAP TCP Buffer sizes need to be configured
properly to support higher data rates. Without this change, default TCP
buffer sizes will be used and throughput will be low.
Change-Id: Ica5884b35851a32e57c82c63b148df5be580ae83
These have been created to reduce the size and complexity
of frameworks/base.
mms-common was created by moving all of
frameworks/base/core/java/com/google/android/mms
to:
frameworks/opt/mms
telephony-common was created by moving some of
frameworks/base/telephony
to:
frameworks/opt/telephony
Change-Id: If6cb3c6ff952767fc10210f923dc0e4b343cd4ad
Test report for the time spent in each signal strength bin, along
with the number of times that bin was entered showed the result
as Bin=3 Time=3211926000 Count=0. With a non-zero Time, the Count
value 0 was wrong.
The cause of the problem was that getPhoneSignalStrengthCount() used
mPhoneDataConnectionsTimer, instead of mPhoneSignalStrengthsTimer,
to get the count.
Change-Id: I55ac1125abfcfdc105605d76d1c706ac315b90cc
The network connection type for Bluetooth is added so
that it is possible to use Bluetooth as Hotspot during
download from the Internet.
Change-Id: If8e8a3f69821beef742bc91d7a292a091861b48b
In current code, if an application opens a cursor to access a
provider, and doesn't close that cursor, later, when this cursor
is garbage collected, it won't get closed. This will cause a memory
leak in the provider. The leaked memory can only be reclaimed when
the application with the leaked cursor was dead.
The solution is, close the cursor when it's garbage collected.
Change-Id: I786915c46d4672b6b1b37414b3bc1ff8cea2e00b
When an error in fetching a column occurs in your suggestions cursor
adapter this will ensure the stacktrace is logged to provide more
context about what failed.
Change-Id: Iafe4918caebb9b0fb712b758b2d3ace329fd2512
Make StateMachine#quit non-conditional and remove the need to
process the SM_QUIT_CMD it is now private.
Rename halting to onHalting.
Add onQuitting
Change the message specific logging to be more generic and change
the xxxProcessedMessagesYyy methods to xxxLogRecXyy names. Also add
addLogRec(String) and addLogRec(String, State) as the generic logging
methods.
bug: 5678189
Change-Id: I22f66d11828bfd70498db625fe1be728b90478b7
Conflicts:
services/java/com/android/server/NsdService.java
The package manager calls to clear data / clear cache were not also
having default container service clear the data on external storage. Now
they do.
Change-Id: Ib5e5eb6adf2cac5a4cc094cc1a02ac8cfb6a2edf
I got this reproduce a few times, then wasn't able to. I made this
change and then couldn't reproduce it. Maybe it fixed it.
The change here is to explicitly pass in the handler class to
apply() and reapply(), instead of relying it being set as a member of
the RemoteViews class. This is much cleaner and more explicitly about
setting that for the click callbacks.
Bug: 6756472
Change-Id: I8d029c3836501df3206c433838124b4be3890a8b
This should help developers use some of the features of
Style via subclassing rather than duplicating functionality.
Bug: 6716608
Change-Id: I048e8221c8046e9779e08e6e262ac3fb37b01cb3
* commit '29775794d6014196063534415ad61d60e84e9c9a':
Get rid of the extra bt_disable call when turning on airplane mode Get rid of enabling bt when in airplane mode.
Get rid of enabling bt when in airplane mode.
Current code has 2 paths that trying to place bluetooth in cold state when
turning airplane mode on. This caused extra call of bt_disable that
causing a kernel sleep failure. The fix removes one of the sys call.
This CL keeps Bluetooth in cold state after turning airplane mode on
instead of seting it to hotoff state
bug 6563480
Change-Id: I30c413707157acb4a8e83ded9452256cf6260899
FLAG_ACTIVITY_CLOSE_SYSTEM_DIALOGS was a mistake.
Instead, and the infrastructure for the status bar to take care
of closing and hiding things itself when you press these buttons,
just like it does for the main Intent of the notification.
Bug: 6717667
Change-Id: I1b22186e0cedc05f46a1a3ec78053a72afaf61b1