Commit Graph

179 Commits

Author SHA1 Message Date
Amith Yamasani
c2be0d6183 Unmarshall PFDs properly when hand-crafting interface stubs
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
2013-09-23 13:35:46 -07:00
Amith Yamasani
618f8cc5db Merge "Don't leave space for summary text if it's an empty string" into klp-dev 2013-09-10 15:59:37 +00:00
Amith Yamasani
b25158886b Don't leave space for summary text if it's an empty string
Bug: 10639567
Change-Id: Ifeb71ea0779a86e39fe55fb0bc6cd267dba4a92e
2013-09-09 14:50:21 -07:00
Amith Yamasani
a5001b94a0 Throw an exception if isValidFragment is not overridden for KK targets
Bug: 9901133
Change-Id: I8dfe43aa90546e351f25c94579a34bb87658bf08
2013-09-06 14:18:00 -07:00
Alan Viverette
0ccef4d003 Merge "Apply implicit parent dependency when adding to PreferenceGroup" into klp-dev 2013-09-05 23:36:18 +00:00
Alan Viverette
651b4249b9 Apply implicit parent dependency when adding to PreferenceGroup
BUG: 10493706
Change-Id: Iba741d8dd4e72bc5aef5c033e42a9ba4fb0c523b
2013-09-05 13:32:40 -07:00
Chet Haase
e8222dddaf Change build version from KEY_LIME_PIE to KITKAT
Issue #10631619 Change build version to KitKat

Change-Id: I6ad13f6169ad74204078d36929479998b498ad8b
2013-09-05 08:44:33 -07:00
Alan Viverette
d3927bd035 Merge "Allow recycling of Preferences in com.android.* packages" into klp-dev 2013-08-21 01:58:55 +00:00
Alan Viverette
791b37e0d9 Allow recycling of Preferences in com.android.* packages
Refactors hasSpecifiedLayout to canRecycleLayout for readability's
sake. All boolean references to the method have been inverted.

BUG: 10079104
Change-Id: Ie6beda9f0b837f889a6cc6a80377349e98cc4883
2013-08-20 17:34:19 -07:00
Alan Viverette
02f5680363 Add implicit parent dependency for Preferences
Also removes unused dependency change listener interface.

BUG: 10117838
Change-Id: I03f0eb37e7ba69942f7997a8b32adb38a3dee0bd
2013-08-19 16:32:56 -07:00
Amith Yamasani
cf638aceef Use more styles for preferences to allow single pane 10"
Change-Id: Ib3b1032ca45f22bca08546eb65b2c42bc1975bdf
2013-08-06 15:19:10 -07:00
Amith Yamasani
5b8f93047c Merge "Don't check for valid fragment when switching to another fragment" 2013-08-05 17:58:45 +00:00
Amith Yamasani
a47372c861 Don't check for valid fragment when switching to another fragment
Bug: 10184429
Change-Id: I09b39682d907a1cd7ce140e0be0faaddfaba6bd1
2013-08-05 10:55:28 -07:00
Amith Yamasani
20915daf06 Fix javadoc for new API
Change-Id: I31d3eb877552029a346f956414227aac42e5582b
2013-08-01 12:44:01 -07:00
Amith Yamasani
364ed4dda4 PreferenceActivity Fragment security
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
2013-07-30 16:23:50 -07:00
Alan Viverette
eb2fded0d3 Merge "Fix handling of ListPreference.setValue()" 2013-07-23 22:16:56 +00:00
Alan Viverette
94c02a1a1a Fix handling of ListPreference.setValue()
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
2013-07-23 14:43:37 -07:00
Eric Laurent
aca105cfb4 VolumePreference: fix audio sample playback
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
2013-07-19 19:48:02 +00:00
Amith Yamasani
49bdc1681e Ignore list item clicks if PreferenceActivity is paused.
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
2013-07-18 09:57:43 -07:00
Adam Powell
1dc3b790df am 4b8cc94c: Merge "PreferenceActivity should not leave message in looper when destroyed"
* commit '4b8cc94cc67d760e724c56aee9301d1bcc2bbe89':
  PreferenceActivity should not leave message in looper when destroyed
2013-07-12 15:09:54 -07:00
Hiroaki Kuriyama
1ebf13ef20 PreferenceActivity should not leave message in looper when destroyed
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
2013-07-12 15:42:35 +09:00
Dianne Hackborn
43861f9de9 am f46449ab: Merge "Avoid IllegalArgumentException in Preference.java compareTo()"
* commit 'f46449abedcba2167fffa8ba8dc2f6d7a6d410b9':
  Avoid IllegalArgumentException in Preference.java compareTo()
2013-05-26 00:02:46 -07:00
Carsten Hauge
b2e61e44e9 Avoid IllegalArgumentException in Preference.java compareTo()
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
2013-04-29 11:17:54 +02:00
Dianne Hackborn
19470ecc0f Fix issue #6595555: deal better with fragmentless headers.
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
2013-02-12 11:42:51 -08:00
Justin Koh
37ae558676 Expose PreferenceManager constructor / Preference#performClick
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
2012-10-25 16:27:43 -07:00
Amith Yamasani
3ec7bac9a0 No breadcrumbs for single-pane preferences
Bug: 7274530
Change-Id: I6a4b6321a72ad38a757098ea470ac58d4294639b
2012-10-03 16:21:42 -07:00
Adam Powell
c1b07211b8 Don't assume a default of 'false' for TwoStatePreference
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
2012-08-10 14:36:53 -07:00
Scott Main
cdd0c59a01 docs: add links to new Settings dev guide
Change-Id: I04444ec0c4c1c278569b64f15cbbc7e8c1c623cd
2012-07-26 17:03:51 -07:00
Scott Main
bbb3f41e26 docs: add Settings dev guide;
a few changes to javadocs

Change-Id: I2d671aafe91e4c6e224e2a556a60dce9f93f11ae
2012-07-25 13:52:46 -07:00
Amith Yamasani
423d48bbba Add a private method to retrieve the header list from PreferenceActivity
This is required by Settings app to be able to update the header list
if the accounts list changed.

Bug: 6685701
Change-Id: If27f83ec86fe1f3519a6e25de4e4fe4864133dc8
2012-06-20 13:54:53 -07:00
Amith Yamasani
ade026f749 Avoid launching dialogs twice from double-clicking a preference.
Bug: 6500628

Only create the dialog if another one doesn't already exist.

Change-Id: Ie9be06a58c369299bcb67526e668785e6735a307
2012-05-16 17:02:32 -07:00
Amith Yamasani
cd9ea08d9c Fix amnesia problem in MultiSelectListPreference.
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
2012-05-15 17:17:24 -07:00
Eric Laurent
8c78752f2b Implement new volume display policy.
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
2012-05-14 14:13:10 -07:00
Dianne Hackborn
83e6eb11d7 Support for changing traces from development settings.
Publish information needed to build UI, fix SystemProperties.getLong()
to be able to read this property, fix some issues in
MultiCheckPreference.

Change-Id: I10c8ff84a167fdb42f6c93500201b78b844cfb8b
2012-05-08 14:53:24 -07:00
Dianne Hackborn
7746f91065 New preference for multi-selection check boxes.
This will be used for a new settings preference.

Change-Id: Ia748cd3e0e8b80ff40942fe2978bd27ce929499a
2012-05-07 19:17:58 -07:00
Amith Yamasani
f9638a4aee Fixes PreferenceScreen padding and scrollbar position.
Bug: 6399996
Changed the scrollbarStyle for tablets

Bug: 6405440
Inflate the listview from a layout with padding.

Change-Id: I838bb073ee2f0e23ac7163cc632679278dbccf05
2012-04-30 16:32:39 -07:00
Jeff Sharkey
0f1c3af76b Hide Preference title when empty.
Change-Id: I1c1d73f5a4647657c7da65c72192fbac061fe259
2012-04-03 20:46:42 -07:00
Amith Yamasani
2d43d283fc Handle the case of Preference lists that have header views inserted at the top.
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
2011-09-29 15:16:16 -07:00
Amith Yamasani
72e6bece43 Launch nested preferences with the same theme as parent activity.
Bug: 5351628
Change-Id: Id67b81558bc6e010d6f024cdb8117424aa6b62f0
2011-09-23 10:43:40 -07:00
Adam Powell
c82c7a5403 Fix bug 5067075 - missing scrollbar when entering long signatures
Let DialogPreferences decide their own IME adjust mode as normal
rather than forcing adjustPan.

Change-Id: Ib53e9f648342430640469a0682308b056e7ef991
2011-08-28 14:36:05 -07:00
Adam Powell
94f67e2af6 Fix bug 5205275 - SwitchPreference doesn't allow Switch to slide back
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
2011-08-23 21:17:07 -07:00
Jeff Sharkey
ce4a193ea8 Preferences padding and scrollbars to match spec.
Adjust preferences ListView to use direct padding instead of applying
to outer parent.  Also display scrollbars outsideOverlay on small
screens.

Change-Id: I750c53d2452d8842d487a091075c32f009f2c2fc
2011-08-17 16:31:24 -07:00
Amith Yamasani
5d36715a76 am 648dc03c: am 4dbd1bc6: am 5f074067: am 712a8cca: Merge "VolumePreference.onActivityStop only stops playback"
* commit '648dc03cd038a726b25929f9ffc142eb16e891e8':
  VolumePreference.onActivityStop only stops playback
2011-08-12 16:26:57 -07:00
Amith Yamasani
648dc03cd0 am 4dbd1bc6: am 5f074067: am 712a8cca: Merge "VolumePreference.onActivityStop only stops playback"
* commit '4dbd1bc6ae84cb4d0cd28922e917473ec6e53517':
  VolumePreference.onActivityStop only stops playback
2011-08-12 13:16:21 -07:00
Amith Yamasani
023f8e00fd Pass in the title of the preference as a title for the ringtone picker dialog.
Bug: 5135537
Change-Id: I988c4c6b800466a5f28e41b452a91a5424c7d58b
2011-08-10 16:25:31 -07:00
Svetoslav Ganov
7650259a59 Improving accessibility feedback for two state widgets.
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
2011-07-29 10:45:05 -07:00
Svetoslav Ganov
a28a16d1c2 Updating the data base upgrade/creation code for the new touch exploraion setting.
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
2011-07-28 11:26:02 -07:00
Svetoslav Ganov
2182a3b642 Merge "TwoStatePreference does not fire click events." 2011-07-23 19:38:47 -07:00
Svetoslav Ganov
5c3ea06a7a TwoStatePreference does not fire click events.
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
2011-07-22 18:58:28 -07:00
Dianne Hackborn
34905a9808 Fix issue #5021385: Title of any Settings subscreen changes...
...to "Settings" when orientation changes

Change-Id: Ib6387b9813329174013452bcdf323cedc4b29664
2011-07-21 17:30:57 -07:00