During the time of OTA activation screen startup, the app needs
to get MIN by calling getCdmaMin(). The issue in current code is that
OTA app calls getCdmaMin() before framework gets MIN data from lower
layer.
To fix this issue, framework will be providing the following new APIs
to applications for checking if MIN data is ready:
1. isMinInfoReady():
Check if mMin variable in getCdmaMin() has been assigned a non-null value.
2. registerForSubscriptionInfoReady():
Apps uses this API to register for notification.
3. unregisterForSubscriptionInfoReady():
This API is used by apps to unregister notification.
Framework will be sending out the notification in the following situations:
1. when mMin is assigned a non-null MIN value;
2. When app calls register API and MIN is ready.
There was no garanty that the corresponding thread destructor had been already called when exiting the closeOutput() or closeInput() functions.
This contructor could be called by the thread after the exit condition is signalled. By way of consequence, closeOutputStream() could be called after
we exited closeOutput() function.
To solve the problem, the call to closeOutputStream() or closeInputStream() is moved to closeOutput() or closeInput().
The function checkForNewParameters_l() is called with the ThreadBase mutex mLock locked. In the case where the parameter change implies
an audio parameter modification (e.g. sampling rate) the function sendConfigEvent() is called which tries to lock mLock creating a deadlock.
The fix consists in creating a function equivalent to sendConfigEvent() that must be called with mLock locked and does not lock mLock.
Also added the possibility to have more than one set parameter request pending.
Use integers instead of void* as input/output handles at IAudioFlinger and IAudioPolicyService interfaces.
AudioFlinger maintains an always increasing count of opened inputs or outputs as unique ID.
When RemoteViews inflates a layout and set of actions, it
uses a cloned remote Context so it can fully access the
resources needed to complete the inflate. However, in one
specific case when inflating the root view, LayoutInflater
calls back to the soon-to-be parent view to request the
correct set of LayoutParams through generateLayoutParams().
The default implementation of generateLayoutParams() uses
the Context of the /local/ View instead of the remote
Context being used for the inflation, which means that any
LayoutParam references in the root view are unresolved.
To fix this, we internally create our own copy of the target
remote Context. This way, when the remote LayoutInflater
calls generateLayoutParams(), we inflate it using the remote
Context to correctly resolve any references.
This change is required as part of http://b/2038594
Also, giving Presence.RAW_CONTACT_ID and Presence.DATA_ID unique ids to allow easy joining. The main rationale for this is that SQLite does not allow cross-database joins in VIEWs, so we cannot hide this join inside a VIEW.
Merge commit '3397f16949d2e86442c32f3b82d5ee3ace99ba82'
* commit '3397f16949d2e86442c32f3b82d5ee3ace99ba82':
Capture the start and end memory usage in the output file. Move the start memory catpure after 10 loops.
Merge commit 'a7a3b6ef0fdaf6b17993642b76baf90a03ae0077'
* commit 'a7a3b6ef0fdaf6b17993642b76baf90a03ae0077':
Dismiss both the soft keyboard and the search dialog on back if there is no text entered and no shortcuts are being obscured by the soft keyboard.
* changes:
update most gl tests to use EGLUtils
added two EGL helpers for selecting a config matching a certain pixelformat or native window type
added NATIVE_WINDOW_FORMAT attribute to android_native_window_t
* changes:
Wipe data on backend before a backup run Append the date to 3.txt so that we can see if/when backup failures occurred solely from the device/server state Note that these files will probably be deleted from the tree immediately, to be replaced by the ruby versions.
Append the date to 3.txt so that we can see if/when backup failures occurred
solely from the device/server state
Note that these files will probably be deleted from the tree immediately, to
be replaced by the ruby versions.
This is because doing it through the Activity Manager also makes sure that the
app has been shut down first, which is quite a desirable invariant for restore
handling.
Merge commit 'e303d2cf94da6bb7f0569fbddd6dfd5b85ed8295'
* commit 'e303d2cf94da6bb7f0569fbddd6dfd5b85ed8295':
Send a special respond to the cursor in SuggestionsAdapter to tell it to
close itself directly because it may not happen correctly for some cursors
currently. This fixes http://b/2036290, which is being caused by
http://b/2015069 which we are not fixing for Donut, so this is a hack around
that for the time being.