diff --git a/sample/src/main/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml
index 9bbf7fe92..4cf129c3d 100644
--- a/sample/src/main/AndroidManifest.xml
+++ b/sample/src/main/AndroidManifest.xml
@@ -25,6 +25,10 @@
android:name=".AsynchronousActivity"
android:label="@string/title_activity_asynchronous" >
+
+
diff --git a/sample/src/main/java/com/alamkanak/weekview/sample/MainActivity.java b/sample/src/main/java/com/alamkanak/weekview/sample/MainActivity.java
index 54fd785d7..22f6019dd 100644
--- a/sample/src/main/java/com/alamkanak/weekview/sample/MainActivity.java
+++ b/sample/src/main/java/com/alamkanak/weekview/sample/MainActivity.java
@@ -32,6 +32,14 @@ public void onClick(View v) {
startActivity(intent);
}
});
+
+ findViewById(R.id.buttonEventGenerator).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(MainActivity.this, AsynchronousActivity.class);
+ startActivity(intent);
+ }
+ });
}
}
diff --git a/sample/src/main/java/com/alamkanak/weekview/sample/TestActivity.java b/sample/src/main/java/com/alamkanak/weekview/sample/TestActivity.java
new file mode 100644
index 000000000..fe285f14e
--- /dev/null
+++ b/sample/src/main/java/com/alamkanak/weekview/sample/TestActivity.java
@@ -0,0 +1,99 @@
+package com.alamkanak.weekview.sample;
+
+import android.graphics.Color;
+import android.graphics.RectF;
+import android.os.Bundle;
+import android.util.Log;
+
+import com.alamkanak.weekview.WeekView;
+import com.alamkanak.weekview.WeekViewEvent;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.List;
+
+/**
+ * Created by alam on 1/3/16.
+ */
+public class TestActivity extends BaseActivity implements WeekView.EmptyViewClickListener {
+
+ private List events = new ArrayList();
+ private long count = 1;
+ private String[] colors = new String[]{
+ "#59dbe0",
+ "#f57f68",
+ "#87d288",
+ "#f8b552"
+ };
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ getWeekView().setEmptyViewClickListener(this);
+ getWeekView().setEmptyViewLongPressListener(this);
+ }
+
+ @Override
+ public List extends WeekViewEvent> onMonthChange(int newYear, int newMonth) {
+
+ List matchedEvents = new ArrayList();
+ for (WeekViewEvent event : events) {
+ if (eventMatches(event, newYear, newMonth)) {
+ matchedEvents.add(event);
+ }
+ }
+
+ return matchedEvents;
+ }
+
+ private boolean eventMatches(WeekViewEvent event, int year, int month) {
+ return (event.getStartTime().get(Calendar.YEAR) == year && event.getStartTime().get(Calendar.MONTH) == month - 1) || (event.getEndTime().get(Calendar.YEAR) == year && event.getEndTime().get(Calendar.MONTH) == month - 1);
+ }
+
+ @Override
+ public void onEmptyViewClicked(Calendar time) {
+ time.set(Calendar.MINUTE, 0);
+ time.set(Calendar.SECOND, 0);
+ time.set(Calendar.MILLISECOND, 0);
+ WeekViewEvent newEvent = new WeekViewEvent(count, "Event " + count, time.get(Calendar.YEAR), time.get(Calendar.MONTH) + 1, time.get(Calendar.DAY_OF_MONTH), time.get(Calendar.HOUR_OF_DAY), time.get(Calendar.MINUTE), time.get(Calendar.YEAR), time.get(Calendar.MONTH) + 1, time.get(Calendar.DAY_OF_MONTH), time.get(Calendar.HOUR_OF_DAY), time.get(Calendar.MINUTE));
+ Calendar endTime = newEvent.getEndTime();
+
+ int random = (int )(Math.random() * 3 + 1);
+
+ endTime.add(Calendar.HOUR, random == 1 ? 2 : 1);
+ newEvent.setEndTime(endTime);
+ newEvent.setColor(Color.parseColor(colors[((int) (count % 4))]));
+ this.events.add(newEvent);
+ count++;
+ getWeekView().notifyDatasetChanged();
+ }
+
+ @Override
+ public void onEventClick(WeekViewEvent event, RectF eventRect) {
+ onEmptyViewClicked(event.getStartTime());
+ }
+
+ @Override
+ public void onEmptyViewLongPress(Calendar time) {
+ String json = "[";
+ for (WeekViewEvent event : events) {
+ json += String.format(
+ "{" +
+ "\"name\": \"%s\"," +
+ "\"dayOfMonth\": %d," +
+ "\"startTime\": \"%02d:%02d\"," +
+ "\"endTime\": \"%02d:%02d\"," +
+ "\"color\": \"%s\"" +
+ "},",
+ event.getName(),
+ event.getStartTime().get(Calendar.DAY_OF_MONTH),
+ event.getStartTime().get(Calendar.HOUR_OF_DAY), event.getStartTime().get(Calendar.MINUTE),
+ event.getEndTime().get(Calendar.HOUR_OF_DAY), event.getEndTime().get(Calendar.MINUTE),
+ String.format("#%06X", (0xFFFFFF & event.getColor()))
+ );
+ }
+ json += "]";
+ Log.d("TEST", json);
+ super.onEmptyViewLongPress(time);
+ }
+}
diff --git a/sample/src/main/java/com/alamkanak/weekview/sample/apiclient/MyJsonService.java b/sample/src/main/java/com/alamkanak/weekview/sample/apiclient/MyJsonService.java
index 78277fa09..2f204927e 100644
--- a/sample/src/main/java/com/alamkanak/weekview/sample/apiclient/MyJsonService.java
+++ b/sample/src/main/java/com/alamkanak/weekview/sample/apiclient/MyJsonService.java
@@ -10,7 +10,7 @@
*/
public interface MyJsonService {
- @GET("/4ccqb")
+ @GET("/3isor")
void listEvents(Callback> eventsCallback);
}
diff --git a/sample/src/main/res/layout/activity_main.xml b/sample/src/main/res/layout/activity_main.xml
index c4f067fdf..9cc92cf98 100644
--- a/sample/src/main/res/layout/activity_main.xml
+++ b/sample/src/main/res/layout/activity_main.xml
@@ -20,4 +20,12 @@
android:text="@string/title_activity_asynchronous"
style="@style/Button"/>
+
+
+
diff --git a/sample/src/main/res/values/strings.xml b/sample/src/main/res/values/strings.xml
index c0e86e0c2..bf0d8f90b 100644
--- a/sample/src/main/res/values/strings.xml
+++ b/sample/src/main/res/values/strings.xml
@@ -8,4 +8,5 @@
Basic Example
Asynchronous Events
Could not download events from the internet
+ Event Generator