Skip to content

Commit 0920f66

Browse files
committed
more of timeline implemented
1 parent df3f169 commit 0920f66

3 files changed

Lines changed: 44 additions & 20 deletions

File tree

app/src/main/java/com/cmput301f17t11/cupofjava/Controllers/EventFilteringHelper.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.cmput301f17t11.cupofjava.Controllers;
22

3+
import com.cmput301f17t11.cupofjava.Models.Habit;
34
import com.cmput301f17t11.cupofjava.Models.HabitEvent;
45

56
import java.util.ArrayList;
@@ -30,4 +31,26 @@ else if (o1.getHabitEventDate().getTime() == o2.getHabitEventDate().getTime()){
3031
});
3132
return events;
3233
}
34+
35+
public static ArrayList<HabitEvent> filterByComment(ArrayList<HabitEvent> events, String str){
36+
ArrayList<HabitEvent> filteredEvents = new ArrayList<>();
37+
for(int i = 0; i < events.size(); i++){
38+
if (events.get(i).getComment().contains(str)){
39+
filteredEvents.add(events.get(i));
40+
}
41+
}
42+
return filteredEvents;
43+
}
44+
45+
public static ArrayList<HabitEvent> filterByType(ArrayList<HabitEvent> events, String habitTitle){
46+
ArrayList<HabitEvent> filteredEvents = new ArrayList<>();
47+
48+
for (int i = 0; i < events.size(); i++){
49+
if (events.get(i).getHabitTitle().equals(habitTitle)){
50+
filteredEvents.add(events.get(i));
51+
}
52+
}
53+
54+
return filteredEvents;
55+
}
3356
}

app/src/main/java/com/cmput301f17t11/cupofjava/Views/HabitEventTimeLineActivity.java

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
package com.cmput301f17t11.cupofjava.Views;
1212

13+
import android.content.Context;
1314
import android.content.DialogInterface;
1415
import android.content.Intent;
1516
import android.location.Location;
@@ -133,7 +134,7 @@ public void onClick(View v) {
133134
@Override
134135
public void onClick(final View v) {
135136
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
136-
builder.setTitle("Filter Events by Comment").setMessage("Enter Comment to search");
137+
builder.setTitle("Search events by comment").setMessage("Enter comment:");
137138

138139
final EditText input = new EditText(getContext());
139140
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
@@ -147,6 +148,20 @@ public void onClick(final View v) {
147148
public void onClick(DialogInterface dialog, int which) {
148149

149150
String comment = input.getText().toString();
151+
if (comment.length() == 0){
152+
String text = "Error: Cannot search for empty string!";
153+
int length = Toast.LENGTH_SHORT;
154+
Context context = getContext();
155+
Toast toast = Toast.makeText(context,text, length);
156+
toast.show();
157+
dialog.dismiss();
158+
}
159+
160+
events = EventFilteringHelper.filterByComment(events, comment);
161+
events = EventFilteringHelper.reverseChronological(events);
162+
updateTextView(events.size());
163+
updateListView(events);
164+
150165
}
151166
})
152167
.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
@@ -367,20 +382,4 @@ public int compare(HabitEvent o1, HabitEvent o2) {
367382
});
368383
return events;
369384
}
370-
371-
372-
/* Not Working
373-
public ArrayList<HabitEvent> filterByComment(ArrayList<HabitEvent> events, String comment) {
374-
ArrayList<HabitEvent> finalEvents = new ArrayList<>();
375-
376-
for (int i=0; i < events.size(); i++) {
377-
HabitEvent event = events.get(i);
378-
String checkComment = event.getComment();
379-
if (checkComment.contains(comment)) {
380-
finalEvents.add(event);
381-
}
382-
}
383-
return finalEvents;
384-
}
385-
*/
386385
}

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
android:gravity="center"
6868
android:paddingLeft="8dp"
6969
android:paddingRight="8dp"
70-
android:text="BY COMMENT" />
70+
android:text="BY COMMENT"/>
7171

7272
</LinearLayout>
7373

@@ -79,18 +79,20 @@
7979
<android.support.v7.widget.AppCompatSpinner
8080
android:id="@+id/Filter_by_habit"
8181
style="@android:style/Widget.Holo.Light.Spinner"
82-
android:layout_width="wrap_content"
82+
android:layout_width="251dp"
8383
android:layout_height="48dp"
8484
android:layout_gravity="center_horizontal"
8585
android:layout_marginBottom="8dp"
8686
android:layout_marginLeft="16dp"
8787
android:layout_marginRight="16dp"
8888
android:layout_weight="1"
8989
android:backgroundTint="@color/colorAccentL"
90+
android:contentDescription="Select Habit"
9091
android:paddingLeft="8dp"
9192
android:paddingRight="8dp"
93+
android:popupBackground="@drawable/common_google_signin_btn_icon_light"
9294
android:prompt="@id/Filter_by_habit"
93-
android:text="BY HABIT" />
95+
android:text="BY HABIT"/>
9496

9597
<Button
9698
android:id="@+id/viewMapButton"

0 commit comments

Comments
 (0)