This allows activities to know if they're being
torn down due to a configuration change.
Bug: 2557550
Change-Id: Ibd9bf5a06c92dbe3789049b84133cf4754381873
When the user selects a "Silent" notification sound, the Uri encoded
path is an empty string. Setting this Uri as the data source of the
MediaPlayer used to play notifications caused the completion listener
to not be called, which with the AudioFocus logic causes the Music
app to pause and never resume. The NotificationPlayer modifications
cause the MediaPlayer for the notification to only request audio
focus when the data source is not empty.
The audio focus code in AudioService is defensively synchronized
against a unique lock, and the exception observed in bug 2670395
is explicitely caught in case another edge case wasn't caught by
this fix.
The AudioFocus handling in AudioManager is modified so only the
requestAudioFocus and abandonAudioFocus methods are meant to be
used, as registerAudioFocusListener and unregisterAudioFocusListener
provided no additional functionality over the request/abandon
methods. abandonAudioFocus() also removes the listener from the
map in AudioManager since after abandonning focus, the listener
would no longer be called.
Change-Id: I3b553ee8a8163c25e01117d7e5479dd5fdfa7c6b
The terminal disallows USSD, SMS, Voice Call and Supplementary services
operations for numbers not in the Fixed Dialing Number (FDN) list when the
FDN service is enabled. FDN_CHECK_FAILURE error is sent from the RIL and the
message needs to be displayed to indicate the failure.
Change-Id: I49bd63f69a3f0201125b17cd16db2e8fcf93ddc3
This change adds the methods necessary to use sp<> to handle refcounting
android_native_window_t and android_native_buffer_t. The new methods forward
the refcounting operations to the corresponding android_native_base_t
functions.
Change-Id: I7de8e262728e439bc1efdf69374a2a9f6f432ced
It looks like there was a subtle bug where Process.setOomAdj() could
return false just because the given process doesn't exist, even though
it is documented to only return false if OOM killing is not supported
at all. This would cause the activity manager to fall into its code
path of trying to clean up processes itself, which it does a much
poorer problem at. I am thinking we may be seeing this problem more
now that the activity manager is killing background processes itself
when there are too many of them.
In addition, this change cleans up and reduces some of the logging
around killing processes.
Finally, try to improve process LRU management a bit by taking
into account process dependencies. Any dependent processes are
pulled up in the LRU list with the processes that is actually
moving. Also, we bring a process up if someone accesses its content
provider.
Change-Id: I34ea161f839679345578ffe681e8d9c5d26ab948
Previously the key event repeat count was always zero when the repeated
key down events was generated by the input device in the Linux kernel.
Change-Id: I86b7fd2a75880bc54d052ef404c3654b7ed14c52
This adds the base SlidinTab drawable resources shared by
InCallScreen and LockScreen into the zygote process. It should
save approximately 375kB (mdpi) and 825kB (hdpi) of RAM by
sharing resource between the LockScreen and InCallScreen.
Change-Id: I05bcafa894ed27d419b171ad5041bd83134461f7
Reduce the amount of work done inside of synchronized blocks and
force the use of cached ntp data when publicly called.
bug:2662331
Change-Id: Ibafd29ea9e355fa8f875d06ce37870b0c01c57f4
Merge commit 'b6f0cbdcbb566368ebe0468f61de024f644db6e1' into kraken
* commit 'b6f0cbdcbb566368ebe0468f61de024f644db6e1':
Include the API level 4 fields in the Parcel.
Merge commit '686d9ff53c32ded9b2b02eb9f2040f2030846e51' into kraken
* commit '686d9ff53c32ded9b2b02eb9f2040f2030846e51':
Use isLocationProviderEnabled to test for enabled providers
Added WEB_URL_PATTERN for Montenegro ".me"
long modifier was on the wrong argument.