// Path: src/main/java/com/googlecode/android/widgets/DateSlider/timeview/TimeLayoutView.java
// public class TimeLayoutView extends LinearLayout implements TimeView {
//     protected long endTime, startTime;
//     protected String text;
//     protected boolean isCenter=false, isOutOfBounds=false;
//     protected TextView topView, bottomView;
// 
//     /**
//      * constructor
//      *
//      * @param context
//      * @param isCenterView true if the element is the centered view in the ScrollLayout
//      * @param topTextSize	text size of the top TextView in dps
//      * @param bottomTextSize	text size of the bottom TextView in dps
//      * @param lineHeight	LineHeight of the top TextView
//      */
//     public TimeLayoutView(Context context, boolean isCenterView, int topTextSize, int bottomTextSize, float lineHeight) {
//         super(context);
//         setupView(context, isCenterView, topTextSize, bottomTextSize, lineHeight);
//     }
// 
//     /**
//      * Setting up the top TextView and bottom TextVew
//      * @param context
//      * @param isCenterView true if the element is the centered view in the ScrollLayout
//      * @param topTextSize	text size of the top TextView in dps
//      * @param bottomTextSize	text size of the bottom TextView in dps
//      * @param lineHeight	LineHeight of the top TextView
//      */
//     protected void setupView(Context context, boolean isCenterView, int topTextSize, int bottomTextSize, float lineHeight) {
//         setOrientation(VERTICAL);
//         topView = new TextView(context);
//         topView.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM);
//         topView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, topTextSize);
//         bottomView = new TextView(context);
//         bottomView.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.TOP);
//         bottomView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, bottomTextSize);
//         topView.setLineSpacing(0, lineHeight);
//         if (isCenterView) {
//             isCenter = true;
//             topView.setTypeface(Typeface.DEFAULT_BOLD);
//             topView.setTextColor(0xFF333333);
//             bottomView.setTypeface(Typeface.DEFAULT_BOLD);
//             bottomView.setTextColor(0xFF444444);
//             topView.setPadding(0, 5-(int)(topTextSize/15.0), 0, 0);
//         } else {
//             topView.setPadding(0, 5, 0, 0);
//             topView.setTextColor(0xFF666666);
//             bottomView.setTextColor(0xFF666666);
//         }
//         addView(topView);addView(bottomView);
// 
//     }
// 
//     
//     public void setVals(TimeObject to) {
//         text = to.text.toString();
//         setText();
//         this.startTime = to.startTime;
//         this.endTime = to.endTime;
//     }
// 
//     
//     public void setVals(TimeView other) {
//         text = other.getTimeText().toString();
//         setText();
//         startTime = other.getStartTime();
//         endTime = other.getEndTime();
//     }
// 
//     /**
//      * sets the TextView texts by splitting the text into two
//      */
//     protected void setText() {
//         String[] splitTime = text.split(" ");
//         topView.setText(splitTime[0]);
//         bottomView.setText(splitTime[1]);
//     }
// 
//     
//     public String getTimeText() {
//         return text;
//     }
// 
//     
//     public long getStartTime() {
//         return startTime;
//     }
// 
//     
//     public long getEndTime() {
//         return endTime;
//     }
// 
// 	public boolean isOutOfBounds() {
// 		return isOutOfBounds;
// 	}
// 
// 	public void setOutOfBounds(boolean outOfBounds) {
// 		if (outOfBounds && !isOutOfBounds) {
// 			topView.setTextColor(0x44666666);
//             bottomView.setTextColor(0x44666666);
// 		}
// 		else if (!outOfBounds && isOutOfBounds) {
//             topView.setTextColor(0xFF666666);
//             bottomView.setTextColor(0xFF666666);
// 		}
// 		isOutOfBounds = outOfBounds;
// 	}
// 
// }
// 
// Path: src/main/java/com/googlecode/android/widgets/DateSlider/timeview/TimeView.java
// public interface TimeView {
//     /**
//      * Sets this TimeView to display the contents of the specified TimeObject.
//      *
//      * @param to The TimeObject to use to populate this TimeView
//      */
//     public void setVals(TimeObject to);
//     /**
//      * Instructs this TimeView to copy its values from the specified TimeView, so
//      * it will assume the state of the other TimeView.
//      *
//      * @param other The TimeView to copy values from
//      */
//     public void setVals(TimeView other);
//     
//     /**
//      * Get a string containing the textual representation of this TimeView's time
//      * @return
//      */
//     public String getTimeText();
//     /**
//      * Get the start time of this TimeView
//      * @return
//      */
//     public long getStartTime();
//     /**
//      * Get the end time of this TimeView
//      * @return
//      */
//     public long getEndTime();
//     
//     public boolean isOutOfBounds();
//     public void setOutOfBounds(boolean outOfBounds);
// }


import android.content.Context;
import com.googlecode.android.widgets.DateSlider.timeview.TimeLayoutView;
import com.googlecode.android.widgets.DateSlider.timeview.TimeView;
package com.googlecode.android.widgets.DateSlider.labeler;



/**
 * A Labeler that displays months using TimeLayoutViews.
 */
public class MonthYearLabeler extends MonthLabeler {
    /**
     * The format string that specifies how to display the month. Since this class
     * uses a TimeLayoutView, the format string should consist of two strings
     * separated by a space.
     *
     * @param formatString
     */
    public MonthYearLabeler(String formatString) {
        super(formatString);
    }

    @Override
// Path: src/main/java/com/googlecode/android/widgets/DateSlider/timeview/TimeLayoutView.java
// public class TimeLayoutView extends LinearLayout implements TimeView {
//     protected long endTime, startTime;
//     protected String text;
//     protected boolean isCenter=false, isOutOfBounds=false;
//     protected TextView topView, bottomView;
// 
//     /**
//      * constructor
//      *
//      * @param context
//      * @param isCenterView true if the element is the centered view in the ScrollLayout
//      * @param topTextSize	text size of the top TextView in dps
//      * @param bottomTextSize	text size of the bottom TextView in dps
//      * @param lineHeight	LineHeight of the top TextView
//      */
//     public TimeLayoutView(Context context, boolean isCenterView, int topTextSize, int bottomTextSize, float lineHeight) {
//         super(context);
//         setupView(context, isCenterView, topTextSize, bottomTextSize, lineHeight);
//     }
// 
//     /**
//      * Setting up the top TextView and bottom TextVew
//      * @param context
//      * @param isCenterView true if the element is the centered view in the ScrollLayout
//      * @param topTextSize	text size of the top TextView in dps
//      * @param bottomTextSize	text size of the bottom TextView in dps
//      * @param lineHeight	LineHeight of the top TextView
//      */
//     protected void setupView(Context context, boolean isCenterView, int topTextSize, int bottomTextSize, float lineHeight) {
//         setOrientation(VERTICAL);
//         topView = new TextView(context);
//         topView.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM);
//         topView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, topTextSize);
//         bottomView = new TextView(context);
//         bottomView.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.TOP);
//         bottomView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, bottomTextSize);
//         topView.setLineSpacing(0, lineHeight);
//         if (isCenterView) {
//             isCenter = true;
//             topView.setTypeface(Typeface.DEFAULT_BOLD);
//             topView.setTextColor(0xFF333333);
//             bottomView.setTypeface(Typeface.DEFAULT_BOLD);
//             bottomView.setTextColor(0xFF444444);
//             topView.setPadding(0, 5-(int)(topTextSize/15.0), 0, 0);
//         } else {
//             topView.setPadding(0, 5, 0, 0);
//             topView.setTextColor(0xFF666666);
//             bottomView.setTextColor(0xFF666666);
//         }
//         addView(topView);addView(bottomView);
// 
//     }
// 
//     
//     public void setVals(TimeObject to) {
//         text = to.text.toString();
//         setText();
//         this.startTime = to.startTime;
//         this.endTime = to.endTime;
//     }
// 
//     
//     public void setVals(TimeView other) {
//         text = other.getTimeText().toString();
//         setText();
//         startTime = other.getStartTime();
//         endTime = other.getEndTime();
//     }
// 
//     /**
//      * sets the TextView texts by splitting the text into two
//      */
//     protected void setText() {
//         String[] splitTime = text.split(" ");
//         topView.setText(splitTime[0]);
//         bottomView.setText(splitTime[1]);
//     }
// 
//     
//     public String getTimeText() {
//         return text;
//     }
// 
//     
//     public long getStartTime() {
//         return startTime;
//     }
// 
//     
//     public long getEndTime() {
//         return endTime;
//     }
// 
// 	public boolean isOutOfBounds() {
// 		return isOutOfBounds;
// 	}
// 
// 	public void setOutOfBounds(boolean outOfBounds) {
// 		if (outOfBounds && !isOutOfBounds) {
// 			topView.setTextColor(0x44666666);
//             bottomView.setTextColor(0x44666666);
// 		}
// 		else if (!outOfBounds && isOutOfBounds) {
//             topView.setTextColor(0xFF666666);
//             bottomView.setTextColor(0xFF666666);
// 		}
// 		isOutOfBounds = outOfBounds;
// 	}
// 
// }
// 
// Path: src/main/java/com/googlecode/android/widgets/DateSlider/timeview/TimeView.java
// public interface TimeView {
//     /**
//      * Sets this TimeView to display the contents of the specified TimeObject.
//      *
//      * @param to The TimeObject to use to populate this TimeView
//      */
//     public void setVals(TimeObject to);
//     /**
//      * Instructs this TimeView to copy its values from the specified TimeView, so
//      * it will assume the state of the other TimeView.
//      *
//      * @param other The TimeView to copy values from
//      */
//     public void setVals(TimeView other);
//     
//     /**
//      * Get a string containing the textual representation of this TimeView's time
//      * @return
//      */
//     public String getTimeText();
//     /**
//      * Get the start time of this TimeView
//      * @return
//      */
//     public long getStartTime();
//     /**
//      * Get the end time of this TimeView
//      * @return
//      */
//     public long getEndTime();
//     
//     public boolean isOutOfBounds();
//     public void setOutOfBounds(boolean outOfBounds);
// }


// Path: src/main/java/com/googlecode/android/widgets/DateSlider/labeler/MonthYearLabeler.java
import android.content.Context;
import com.googlecode.android.widgets.DateSlider.timeview.TimeLayoutView;
import com.googlecode.android.widgets.DateSlider.timeview.TimeView;

package com.googlecode.android.widgets.DateSlider.labeler;



/**
 * A Labeler that displays months using TimeLayoutViews.
 */
public class MonthYearLabeler extends MonthLabeler {
    /**
     * The format string that specifies how to display the month. Since this class
     * uses a TimeLayoutView, the format string should consist of two strings
     * separated by a space.
     *
     * @param formatString
     */
    public MonthYearLabeler(String formatString) {
        super(formatString);
    }

    @Override
    public TimeView createView(Context context, boolean isCenterView) {