Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DatePreference ClassCastException fixed and minor improvement #3

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

capi
Copy link

@capi capi commented Aug 25, 2011

Hi,

I fixed a ClassCastException in DatePreference which occured if the device was rotated while the DatePreference was shown. I don't know Android well enough to know why the Parcelable state in onRestoreInstanceState is not the correct SavedState class, but I know that the current code must fail with a ClassCastException (you checked for the class, and casted after you knew it wasn't of the correct type).

I also added an overload for getDateFor() that allows specifying a default value to use in case the DatePreference was never opened in a PreferenceScreen before, as in this case it will always use the default value 1970-01-01.

Hope you find the changes useful.

Best regards,
Martin

Before this fix, retrieving the value before the preferences page was
opened at least once, the getDateFor() would return 1.1.1970 instead
of the configured default value in the XML declaration.
When the screen is rotated, it seems that a different state is handed to
onRestoreInstanceState(). Using the defaultValue() in this case.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant