ParcelFileDescriptors now carry an optional socket fd to communicate
close events. So, make sure that the correct creator is called when
reconstructing parceled PFDs.
Bug: 10759966
Change-Id: Ic6b9ffb8cb7af5f3a12440def595f74682231866
Refactors hasSpecifiedLayout to canRecycleLayout for readability's
sake. All boolean references to the method have been inverted.
BUG: 10079104
Change-Id: Ie6beda9f0b837f889a6cc6a80377349e98cc4883
Provides a way for PreferenceActivities to verify that they
aren't being launched with Fragments not meant to be attached to
them. Default implementation will fail verification for apps built
with KLP. This will not affect apps built for earlier targets.
Also, make sure that the class being instantiated is a Fragment and
not some random class.
Bug: 9901133
Change-Id: I564cd5168eabcadd7594ea8011e2081ebebfe063
Previously, setValue() was not calling notifyChanged(). This
prevented the summary from updating correctly. Now it calls
notifyChanged() the first time it's called and when the value
actually changes.
BUG: 9987962
Change-Id: I02dd4be6bde2969f39d30921a62a7ba908128e0e
Handle audio sample start/stop request in a handler
to avoid race conditions.
If a sample is active, do not ignore playback requests but
schedule a second attempt one second later. This is to avoid
ignoring a playback request if a sample is short or about to finish.
Bug: 8176776.
Change-Id: If2d5f7d469eba345af3f4771067a076a56f4bfed
Since list item clicks are delivered asynchronously, it's possible to
get click callbacks after the activity has already paused.
This should actually be blocked further up the event chain, ideally,
so that the list selection state is not out of sync with the application.
Bug: 9752185
Change-Id: I1058d64cba98e9093b462e2e581bdbccdace1420
When a PreferenceActivity is destroyed as soon as created,
there is a problematic case that messages for the activity are
sometimes left in the looper even after the activity is destroyed.
For example, by clearing user data of the selecting IME on
Settings apk, com.android.settings.Settings is re-launched
2 times successively. (Destory->Create->Destroy->Create)
Due to the left message, application crash can happen.
(NullPointerException at BackStackRecord.getBreadCrumbTitle())
Two cases have been found to observe this issue.
[Case 1]
1,Launch IME in advance.
2,Go to Settings >Apps > All and choose the IME package.
3,Click "Clear data"
4,Application crash occurs on com.android.settings.
[Case 2]
1,Go to Settings > Language&input > Language.
2,ListView dialog to choose language is shown.
3,Rotate the tablet 180 degree so that 90 degree rotation occurs twice.
4,Application crash occurs on com.android.settings.
Change-Id: I5ce36ea7a40ab7bc7737b7dca6641a4c3d77a480
In some situations the collection.sort() algoritm fails in compareTo()
with a: java.lang.IllegalArgumentException: Comparison method violates
its general contract!, due to a more strict validation of the compare
contract.
This strict validation was introduced in java 1.7.
See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6804124
This fix should prevent the sorting from crashing.
Change-Id: I64230e7f62f83c99d7a6274964bb2988ae843826
If you constructed a preference activity whose first header
didn't have a fragment, this would crash in two-pane mode
because it would try to use that header as the initially
selected header but not have a fragment to show.
We need to have a fragment for whatever header we switch to,
so the code now looks for the first header with a fragment
as the initial header.
Also added some error checks to throw more descriptive
exceptions on bad headers -- when there is no header at all
with a fragment, if the app tries to manually switch to a
header without a fragment.
Change-Id: Ia84221fcb2fe5755bb674e0606ac2a1fcde4cdc9
Expose PreferenceManager constructor and Preference#performClick so they can be
used by other UIs beyond the standard PreferenceActivity. Marked @hide so public
API is not affected.
Change-Id: Ieb4aecba5f86e40ff70f2b252458602e6b9ad1ee
TwoStatePreference would treat a default value of false as having no
effect since it matched the initial value of the internal field. This
caused asymmetric behavior around persistence and listener
notification when the default was true (persisted) vs. false (not
persisted).
Standard behavior for most Preferences is to persist the default
value. Make TwoStatePreference (CheckBoxPreference and
SwitchPreference) follow this pattern.
Bug 5722690
Change-Id: I8b3cf55efc5dfd573b511913b48ced017f0432d8
This is required by Settings app to be able to update the header list
if the accounts list changed.
Bug: 6685701
Change-Id: If27f83ec86fe1f3519a6e25de4e4fe4864133dc8
Bug: 6478079
Pointer assignment instead of copy was resulting in mValues being cleared
on next launch, since mValues became the same pointer as mNewValues.
Change-Id: I91014948e4f48056474b3ab31aab6d35e0ad69ca
Whenever a stream type is muted, the progress bar in volume panel
is at 0.
If a stream is muted by ringer mode and does not control ringer mode,
the progress bar is disabled.
Pressing VOL- when in vibrate or silent mode resets the last audible
volume of ringtone stream (music strem on tablets) to 0.
VolumePanel implementation:
- Always prefer AudioManager APIs over AudioService APIs when available on both.
- Do not use AudioManager.shouldVibrate() (deprecated).
Change-Id: I57fcb19ada4e8d729b6b41d668496562ebe340c3
Publish information needed to build UI, fix SystemProperties.getLong()
to be able to read this property, fix some issues in
MultiCheckPreference.
Change-Id: I10c8ff84a167fdb42f6c93500201b78b844cfb8b
Bug: 6399996
Changed the scrollbarStyle for tablets
Bug: 6405440
Inflate the listview from a layout with padding.
Change-Id: I838bb073ee2f0e23ac7163cc632679278dbccf05
Without this change, wrong Preference is returned when you select one.
Subtract the number of headers from the index before querying the adapter.
Needed for:
Bug: 5203189
Change-Id: Iba7277789ebbd7e3e9954931b1ea06c7e34f3c15
and forth.
Also have the SwitchPreference's Switch widget's onClick listener
toggle the switch rather than invoke the preference's own onClick
method. This will allow subclasses to assign different behavior to
clicking the preference itself if desired.
Change-Id: I97e3b7a786e9f0e8bdc03c0ed6001caa7dcd991b
Adjust preferences ListView to use direct padding instead of applying
to outer parent. Also display scrollbars outsideOverlay on small
screens.
Change-Id: I750c53d2452d8842d487a091075c32f009f2c2fc
1. Added population of sensible text for the state of the
two state controls such as CheckBox, Switch, etc. This
is important since if they are in a layout manager which
fires an accessibility event there should be a description
of the widget.
bug:5092552
Change-Id: Ie3ca955653563496b84db379ae23a23fe88089a8
1. Update the database creation/upgrade code to take care of the new setting
to enable touch exploration.
2. Made the tocuh exploration settings persistent to the cloud.
Change-Id: Ie24e9184b4a21869432d11d207cb6464fadbac3b
1. Event were send in onBindView but since we have fixed the bug
of unattached views firing accessibility events and there is
no guarantee that the view is attached in onBindView no events
were sent. Now posting a runnable so on the next run the UI
tread will send the event i.e. after the view is bound and
attached.
bug:5008841
Change-Id: I4ed914f7fb65d6896f0c55e7c46e6508d2b2f11f