Skip to content

Commit f85fc12

Browse files
Default Date Selection method added
1 parent 832c50b commit f85fc12

File tree

5 files changed

+68
-18
lines changed

5 files changed

+68
-18
lines changed

app/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ android {
2222
dependencies {
2323

2424
def supportVersion = "28.0.0"
25-
2625
def constraintLayoutVersion = "1.1.0"
2726

2827

app/src/main/java/com/wiselap/rangecalender/MainActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99

1010
import com.rangecalender.interfaces.OnDateSelected;
1111
import com.rangecalender.RangeCalender;
12-
1312
import java.text.SimpleDateFormat;
13+
import java.util.Calendar;
1414
import java.util.Date;
1515

1616

@@ -31,7 +31,7 @@ public void dateSelectedIs(Date fromDate, Date toDate) {
3131
}
3232
});
3333
rangeCalender.setSetSameDateAsFromDateIfToDateNotSelected(false);
34-
rangeCalender.show();
34+
rangeCalender.show();
3535
}
3636
});
3737

rangecalender/src/main/java/com/rangecalender/CalenderDialog.java

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public class CalenderDialog extends Dialog implements CalenderDayClicked, View.O
5454
private Animation anim;
5555
private int color,width;
5656
private boolean setSameDateAsFromDateIfToDateNotSelected;
57+
private Date fromDate,toDate;
5758
private final String TAG = CalenderDialog.class.getSimpleName();
5859

5960

@@ -72,10 +73,36 @@ public CalenderDialog(Context context, int color, boolean setSameDateAsFromDateI
7273
show();
7374
}
7475

76+
public CalenderDialog(Context context, int color,Date fromDate,Date toDate ,boolean setSameDateAsFromDateIfToDateNotSelected, OnDateSelected onDateSelected) {
77+
super(context,android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth);
78+
this.context = context;
79+
this.onDateSelected = onDateSelected;
80+
this.color = color;
81+
this.fromDate = fromDate;
82+
this.toDate = toDate;
83+
84+
85+
this.setSameDateAsFromDateIfToDateNotSelected = setSameDateAsFromDateIfToDateNotSelected;
86+
setContentView(R.layout.calender_dialog);
87+
init();
88+
events();
89+
setUpCalender();
90+
setOnUI();
91+
generateCalender();
92+
show();
93+
}
94+
7595
private void setUpCalender() {
7696
calendar = Calendar.getInstance();
77-
month = calendar.get(Calendar.MONTH)+1;
78-
year = calendar.get(Calendar.YEAR);
97+
/**
98+
* if fromDate is to be selected bydefault we will set it to calender
99+
* */
100+
if (fromDate!=null){
101+
calendar.setTime(fromDate);
102+
}
103+
104+
month = calendar.get(Calendar.MONTH) + 1;
105+
year = calendar.get(Calendar.YEAR);
79106

80107
yearAdapter = new YearAdapter(years, String.valueOf(year),this);
81108
yearList.setAdapter(yearAdapter);
@@ -162,7 +189,16 @@ private void generateCalender(){
162189
}else {
163190
calenderAdapter = new CalenderAdapter(this);
164191
calenderAdapter.setColor(color);
165-
calenderAdapter.setCalenders(Date_Utils.getDaysBetweenDates(fromDate, toDate),null,null);
192+
if (fromDate!=null && toDate!=null) {
193+
MyCalender fromDateCal = new MyCalender(fromDate.getDay(), fromDate.getMonth(), fromDate.getYear(), "");
194+
MyCalender toDateCal = new MyCalender(toDate.getDay(),toDate.getMonth(),toDate.getYear(),"");
195+
calenderAdapter.setCalenders(Date_Utils.getDaysBetweenDates(fromDate, toDate),fromDateCal,toDateCal);
196+
}else if(fromDate!=null && toDate == null){
197+
MyCalender fromDateCal = new MyCalender(fromDate.getDay(), fromDate.getMonth(), fromDate.getYear(), "");
198+
calenderAdapter.setCalenders(Date_Utils.getDaysBetweenDates(fromDate, toDate),fromDateCal,null);
199+
}else{
200+
calenderAdapter.setCalenders(Date_Utils.getDaysBetweenDates(fromDate, toDate),null,null);
201+
}
166202
dateList.setAdapter(calenderAdapter);
167203
}
168204
}catch (Exception e){
@@ -275,4 +311,6 @@ private void setOnUI(){
275311
monthYear.setText(new DateFormatSymbols().getMonths()[month-1]+" "+year);
276312
generateCalender();
277313
}
314+
315+
278316
}

rangecalender/src/main/java/com/rangecalender/RangeCalender.java

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ public class RangeCalender {
1515
private OnDateSelected onDateSelected;
1616
private int color = R.color.design_default_color_primary;
1717
private boolean setSameDateAsFromDateIfToDateNotSelected = false;
18-
19-
18+
private Date fromDate,toDate;
2019
public RangeCalender(Context context,int color,OnDateSelected onDateSelected) {
2120
this.color = color;
2221
this.context = context;
@@ -30,15 +29,31 @@ public void setSetSameDateAsFromDateIfToDateNotSelected(boolean b){
3029
this.setSameDateAsFromDateIfToDateNotSelected = b;
3130
}
3231

33-
public void show(){
32+
public void setDefaultDateSelection(Date fromDate,Date toDate){
33+
this.fromDate = fromDate;
34+
this.toDate = toDate;
35+
}
3436

35-
CalenderDialog calenderDialog = new CalenderDialog(context,color, setSameDateAsFromDateIfToDateNotSelected,new OnDateSelected() {
36-
@Override
37-
public void dateSelectedIs(Date fromDate, Date toDate) {
38-
onDateSelected.dateSelectedIs(fromDate,toDate);
39-
}
40-
});
41-
calenderDialog.show();
37+
38+
39+
public void show(){
40+
CalenderDialog calenderDialog;
41+
if (fromDate!=null){
42+
calenderDialog = new CalenderDialog(context, color, fromDate, toDate, setSameDateAsFromDateIfToDateNotSelected, new OnDateSelected() {
43+
@Override
44+
public void dateSelectedIs(Date fromDate, Date toDate) {
45+
onDateSelected.dateSelectedIs(fromDate, toDate);
46+
}
47+
});
48+
}else {
49+
calenderDialog = new CalenderDialog(context, color, setSameDateAsFromDateIfToDateNotSelected, new OnDateSelected() {
50+
@Override
51+
public void dateSelectedIs(Date fromDate, Date toDate) {
52+
onDateSelected.dateSelectedIs(fromDate, toDate);
53+
}
54+
});
55+
}
56+
calenderDialog.show();
4257
}
4358

4459
}

rangecalender/src/main/java/com/rangecalender/adapter/CalenderAdapter.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,6 @@ public ViewHolder onCreateViewHolder( ViewGroup parent, int viewType) {
9393
@Override
9494
public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
9595

96-
97-
9896
if (calenders.get(position) == null){
9997
holder.rootLayout.setVisibility(View.GONE);
10098
} else{

0 commit comments

Comments
 (0)