From f7aa9251d091d0e52e879a8a92bd38228e58efd9 Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Wed, 3 Jun 2015 14:07:26 -0700 Subject: [PATCH] Pass setEnabled() value in calendar-mode DatePicker delegate Fixes mContainer referencing wrong view. Also cleans up getCalendarView() exception message. Bug: 21211308 Change-Id: I4ad18206a8071b2c9b75d488e14fd53da6f5fa5b --- .../android/widget/DatePickerCalendarDelegate.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/core/java/android/widget/DatePickerCalendarDelegate.java b/core/java/android/widget/DatePickerCalendarDelegate.java index d38a225ae209a..7e542c93ef1dd 100755 --- a/core/java/android/widget/DatePickerCalendarDelegate.java +++ b/core/java/android/widget/DatePickerCalendarDelegate.java @@ -115,7 +115,8 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { R.styleable.DatePicker_internalLayout, R.layout.date_picker_material); // Set up and attach container. - mContainer = (ViewGroup) inflater.inflate(layoutResourceId, mDelegator); + mContainer = (ViewGroup) inflater.inflate(layoutResourceId, mDelegator, false); + mDelegator.addView(mContainer); // Set up header views. final ViewGroup header = (ViewGroup) mContainer.findViewById(R.id.date_picker_header); @@ -471,7 +472,11 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { @Override public void setEnabled(boolean enabled) { - mContainer.setEnabled(false); + mContainer.setEnabled(enabled); + mDayPickerView.setEnabled(enabled); + mYearPickerView.setEnabled(enabled); + mHeaderYear.setEnabled(enabled); + mHeaderMonthDay.setEnabled(enabled); } @Override @@ -481,8 +486,7 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { @Override public CalendarView getCalendarView() { - throw new UnsupportedOperationException( - "CalendarView does not exists for the new DatePicker"); + throw new UnsupportedOperationException("Not supported by calendar-mode DatePicker"); } @Override