Skip to content

Commit ed47eae

Browse files
committed
[smarcet] - #14574
* bug fixing
1 parent bf035a5 commit ed47eae

File tree

7 files changed

+41
-13
lines changed

7 files changed

+41
-13
lines changed

app/src/main/java/org/openstack/android/summit/common/DTOs/SummitDTO.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,12 @@ public DateTime getLocalStartDate() {
7878
return new DateTime(getStartDate(), summitTimeZone);
7979
}
8080

81+
public DateTime getLocalStartShowingVenuesDate() {
82+
if(this.startShowingVenuesDate == null) return null;
83+
DateTimeZone summitTimeZone = DateTimeZone.forID(getTimeZone());
84+
return new DateTime(this.startShowingVenuesDate, summitTimeZone);
85+
}
86+
8187
public DateTime getLocalEndDate() {
8288
DateTimeZone summitTimeZone = DateTimeZone.forID(getTimeZone());
8389
return new DateTime(getEndDate(), summitTimeZone);
@@ -112,6 +118,13 @@ public boolean isCurrentDateTimeInsideSummitRange() {
112118
return ( startDate.isBefore(currentLocal) || startDate.isEqual(currentLocal)) && ( endDate.isAfter(currentLocal) || endDate.isEqual(currentLocal));
113119
}
114120

121+
public boolean shouldShowVenues(){
122+
DateTime currentLocal = getCurrentLocalTime();
123+
DateTime startDate = this.getLocalStartShowingVenuesDate();
124+
if(startDate == null) return true;
125+
return currentLocal.isAfter(startDate) || currentLocal.isEqual(startDate);
126+
}
127+
115128
public boolean isNotStarted(){
116129
DateTime currentLocal = getCurrentLocalTime().withTimeAtStartOfDay();
117130
DateTime startDate = this.scheduleStartDate != null ?

app/src/main/java/org/openstack/android/summit/common/entities/VenueFloor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ public class VenueFloor extends RealmObject implements INamedEntity {
1515
private String pictureUrl;
1616
private String description;
1717
private Venue venue;
18+
private int number;
1819

1920
public RealmList<VenueRoom> getRooms() {
2021
if(rooms == null) rooms = new RealmList<>();
@@ -25,7 +26,6 @@ public void setRooms(RealmList<VenueRoom> rooms) {
2526
this.rooms = rooms;
2627
}
2728

28-
private int number;
2929
private RealmList<VenueRoom> rooms = new RealmList<>();
3030

3131
public String getPictureUrl() {

app/src/main/java/org/openstack/android/summit/modules/general_schedule_filter/business_logic/GeneralScheduleFilterInteractor.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@ public boolean VenueIncludesAnyOfGivenRooms(int venueId, List<Integer> roomsIds)
126126
if(roomsIds.contains(room.getId()))
127127
return true;
128128
}
129-
130129
}
131130
return false;
132131
}
@@ -150,13 +149,12 @@ public List<NamedDTO> getRoomsBelongingToVenue(int venueId, List<Integer> roomsI
150149
Venue venue = venueDataStore.getById(venueId);
151150
if(venue == null) return result;
152151

153-
List<VenueFloor> floors = venue.getFloors();
152+
List<VenueFloor> floors = venue.getFloors().sort("number");
154153
for(VenueFloor floor: floors){
155154
for(VenueRoom room: floor.getRooms()){
156155
if(roomsIds.contains(room.getId()))
157156
result.add(createDTO(room, NamedDTO.class));
158157
}
159-
160158
}
161159

162160
return result;
@@ -174,7 +172,7 @@ public List<NamedDTO> getRoomsForVenue(int venueId) {
174172
Venue venue = venueDataStore.getById(venueId);
175173
if(venue == null) return new ArrayList<>();
176174
List<NamedDTO> rooms = new ArrayList<>();
177-
List<VenueFloor> floors = venue.getFloors();
175+
List<VenueFloor> floors = venue.getFloors().sort("number");
178176
for(VenueFloor floor: floors){
179177
List<VenueRoom> results = floor.getRooms();
180178
List<NamedDTO> dtos = createDTOList(results, NamedDTO.class);

app/src/main/java/org/openstack/android/summit/modules/general_schedule_filter/user_interface/GeneralScheduleFilterFragment.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,6 @@ public void onCreate(Bundle savedInstanceState) {
4949
@BindView(R.id.filter_track_groups_list)
5050
LinearListView trackGroupList;
5151

52-
@BindView(R.id.filter_venues_list)
53-
LinearListView venuesList;
54-
5552
@BindView(R.id.hide_past_talks)
5653
Switch hidePastTalks;
5754

@@ -63,9 +60,16 @@ public void onCreate(Bundle savedInstanceState) {
6360

6461
@BindView(R.id.hide_past_talks_header)
6562
LinearLayout pastTalksHeader;
63+
6664
@BindView(R.id.hide_past_talks_container)
6765
LinearLayout pastTalksContainer;
6866

67+
@BindView(R.id.venues_header)
68+
LinearLayout venuesHeader;
69+
70+
@BindView(R.id.filter_venues_list)
71+
LinearListView venuesList;
72+
6973
@Override
7074
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
7175
view = inflater.inflate(R.layout.fragment_general_schedule_filter, container, false);
@@ -120,6 +124,12 @@ public void showShowPastTalks(boolean show) {
120124
pastTalksContainer.setVisibility(show ? View.VISIBLE : View.GONE);
121125
}
122126

127+
@Override
128+
public void showVenuesFilter(boolean show) {
129+
venuesHeader.setVisibility(show ? View.VISIBLE : View.GONE);
130+
venuesList.setVisibility(show ? View.VISIBLE : View.GONE);
131+
}
132+
123133
@Override
124134
public void onResume() {
125135
super.onResume();

app/src/main/java/org/openstack/android/summit/modules/general_schedule_filter/user_interface/GeneralScheduleFilterPresenter.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import android.os.Bundle;
55

66
import org.openstack.android.summit.common.DTOs.NamedDTO;
7+
import org.openstack.android.summit.common.DTOs.SummitDTO;
78
import org.openstack.android.summit.common.DTOs.TrackDTO;
89
import org.openstack.android.summit.common.DTOs.TrackGroupDTO;
910
import org.openstack.android.summit.common.IScheduleFilter;
@@ -117,7 +118,7 @@ public void onCreateView(Bundle savedInstanceState) {
117118
view.showLevels(levels);
118119
view.showVenues(venues);
119120
view.showShowPastTalks(false);
120-
121+
view.showVenuesFilter(false);
121122
}
122123

123124
@Override
@@ -261,15 +262,18 @@ public void onResume() {
261262
List<Boolean> filtersOnShowVideoTalks = (List<Boolean>) (List<?>) scheduleFilter.getSelections().get(FilterSectionType.ShowVideoTalks);
262263
boolean showVideoTalks = filtersOnShowVideoTalks != null && !filtersOnShowVideoTalks.isEmpty() ? filtersOnShowVideoTalks.get(0) : false;
263264
view.toggleShowVideoTalks(showVideoTalks);
265+
SummitDTO activeSummit = interactor.getActiveSummit();
266+
if (activeSummit != null ){
264267

265-
if (interactor.getActiveSummit() != null ){
266-
267-
if(interactor.getActiveSummit().isCurrentDateTimeInsideSummitRange()) {
268+
if(activeSummit.isCurrentDateTimeInsideSummitRange()) {
268269
view.showShowPastTalks(true);
269270
List<Boolean> filtersOnPassTalks = (List<Boolean>) (List<?>) scheduleFilter.getSelections().get(FilterSectionType.HidePastTalks);
270271
boolean hidePastTalks = filtersOnPassTalks != null && !filtersOnPassTalks.isEmpty() ? filtersOnPassTalks.get(0) : false;
271272
view.toggleShowPastTalks(hidePastTalks);
272273
}
274+
if(activeSummit.shouldShowVenues()){
275+
view.showVenuesFilter(true);
276+
}
273277
}
274278

275279
}

app/src/main/java/org/openstack/android/summit/modules/general_schedule_filter/user_interface/IGeneralScheduleFilterView.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,7 @@ public interface IGeneralScheduleFilterView extends IBaseView {
2525

2626
void showShowPastTalks(boolean show);
2727

28+
void showVenuesFilter(boolean show);
29+
2830
void toggleShowVideoTalks(boolean isChecked);
2931
}

app/src/main/res/layout/fragment_general_schedule_filter.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@
9292
android:id="@+id/filter_levels_list"
9393
style="@style/AppTheme.FilterSectionList" />
9494

95-
<LinearLayout style="@style/AppTheme.SubsectionHeaderFilter">
95+
<LinearLayout style="@style/AppTheme.SubsectionHeaderFilter"
96+
android:id="@+id/venues_header">
9697
<TextView
9798
style="@style/AppTheme.SubsectionHeaderFilter.Text"
9899
android:text="@string/venues"/>

0 commit comments

Comments
 (0)