Skip to content

Commit

Permalink
Switch to Calendar class to avoid myriad of deprecation warnings.
Browse files Browse the repository at this point in the history
  • Loading branch information
billdawson committed Sep 4, 2010
1 parent f4beee4 commit ce81f4e
Showing 1 changed file with 35 additions and 29 deletions.
Expand Up @@ -42,7 +42,7 @@ public class TiUIDateSpinner extends TiUIView
private boolean suppressChangeEvent = false;
private boolean ignoreItemSelection = false;

private Date maxDate, minDate;
private Calendar maxDate = Calendar.getInstance(), minDate = Calendar.getInstance();
private Locale locale = Locale.getDefault();
private boolean dayBeforeMonth = false;
private boolean numericMonths = false;
Expand All @@ -58,8 +58,9 @@ public TiUIDateSpinner(TiViewProxy proxy)
private void createNativeView()
{
// defaults
maxDate = new Date(calendar.get(Calendar.YEAR) + 100, 11, 31);
minDate = new Date(calendar.get(Calendar.YEAR) - 100, 0, 31);
maxDate.set(calendar.get(Calendar.YEAR) + 100, 11, 31);
minDate.set(calendar.get(Calendar.YEAR) - 100, 0, 1);


monthWheel = new WheelView(proxy.getContext());
dayWheel = new WheelView(proxy.getContext());
Expand Down Expand Up @@ -106,14 +107,14 @@ public void processProperties(TiDict d) {

if (d.containsKey("minDate")) {
Calendar c = Calendar.getInstance();
minDate = TiConvert.toDate(d, "minDate");
c.setTime(minDate);
minDate.setTime(TiConvert.toDate(d, "minDate"));
c.setTime(minDate.getTime());
}

if (d.containsKey("maxDate")) {
Calendar c = Calendar.getInstance();
maxDate = TiConvert.toDate(d, "maxDate");
c.setTime(maxDate);
maxDate.setTime(TiConvert.toDate(d, "maxDate"));
c.setTime(maxDate.getTime());
}

if (d.containsKey("locale")) {
Expand All @@ -129,14 +130,14 @@ public void processProperties(TiDict d) {
}

if (maxDate.before(minDate)) {
maxDate = minDate;
maxDate.setTime(minDate.getTime());
}

// If initial value is out-of-bounds, set date to nearest bound
if (calendar.getTime().after(maxDate)) {
calendar.setTime(maxDate);
} else if (calendar.getTime().before(minDate)) {
calendar.setTime(minDate);
if (calendar.after(maxDate)) {
calendar.setTime(maxDate.getTime());
} else if (calendar.before(minDate)) {
calendar.setTime(minDate.getTime());
}

setValue(calendar.getTimeInMillis() , true);
Expand Down Expand Up @@ -171,8 +172,8 @@ private void setAdapters()

private void setYearAdapter()
{
int minYear = minDate.getYear() + 1900;
int maxYear = maxDate.getYear() + 1900;
int minYear = minDate.get(Calendar.YEAR);
int maxYear = maxDate.get(Calendar.YEAR);
if (yearAdapter != null && yearAdapter.getMinValue() == minYear && yearAdapter.getMaxValue() == maxYear) {
return;
}
Expand All @@ -199,16 +200,16 @@ private void setMonthAdapter(boolean forceUpdate)
currentMax = monthAdapter.getMaxValue();
}

int maxYear = maxDate.getYear() + 1900;
int minYear = minDate.getYear() + 1900;
int maxYear = maxDate.get(Calendar.YEAR);
int minYear = minDate.get(Calendar.YEAR);
int selYear = getSelectedYear();

if (selYear == maxYear) {
setMaxMonth = maxDate.getMonth() + 1;
setMaxMonth = maxDate.get(Calendar.MONTH) + 1;
}

if (selYear == minYear) {
setMinMonth = minDate.getMonth() + 1;
setMinMonth = minDate.get(Calendar.MONTH) + 1;
}

if (currentMin != setMinMonth || currentMax != setMaxMonth || forceUpdate) {
Expand Down Expand Up @@ -239,19 +240,19 @@ private void setDayAdapter()
currentMax = dayAdapter.getMaxValue();
}

int maxYear = maxDate.getYear() + 1900;
int minYear = minDate.getYear() + 1900;
int maxYear = maxDate.get(Calendar.YEAR);
int minYear = minDate.get(Calendar.YEAR);
int selYear = getSelectedYear();
int maxMonth = maxDate.getMonth() + 1;
int minMonth = minDate.getMonth() + 1;
int maxMonth = maxDate.get(Calendar.MONTH) + 1;
int minMonth = minDate.get(Calendar.MONTH) + 1;
int selMonth = getSelectedMonth();

if (selYear == maxYear && selMonth == maxMonth) {
setMaxDay = maxDate.getDate();
setMaxDay = maxDate.get(Calendar.DAY_OF_MONTH);
}

if (selYear == minYear && selMonth == minMonth) {
setMinDay = minDate.getDate();
setMinDay = minDate.get(Calendar.DAY_OF_MONTH);
}

if (currentMin != setMinDay || currentMax != setMaxDay) {
Expand Down Expand Up @@ -283,11 +284,11 @@ public void setValue(long value, boolean suppressEvent)

setCalendar(value);
newVal = calendar.getTime();
if (newVal.after(maxDate)) {
newVal = maxDate;
if (newVal.after(maxDate.getTime())) {
newVal = maxDate.getTime();
setCalendar(newVal);
} else if (newVal.before(minDate)) {
newVal = minDate;
} else if (newVal.before(minDate.getTime())) {
newVal = minDate.getTime();
setCalendar(newVal);
}

Expand Down Expand Up @@ -378,7 +379,12 @@ private int getSelectedDay()

private Date getSelectedDate()
{
return new Date(getSelectedYear() - 1900, getSelectedMonth() - 1, getSelectedDay());
int year = getSelectedYear();
int month = getSelectedMonth() - 1;
int day = getSelectedDay();
Calendar c = Calendar.getInstance();
c.set(year, month, day);
return c.getTime();
}

@Override
Expand Down

0 comments on commit ce81f4e

Please sign in to comment.