// Path: app/src/main/java/ca/alexland/renewpass/utils/CalendarUtil.java
// public class CalendarUtil {
//     private static Calendar calendar = new GregorianCalendar();
// 
//     public static long getNextMonthTimeInMillis(long currTimeInMillis) {
//         calendar.setTimeInMillis(currTimeInMillis);
//         int nextMonth = (calendar.get(Calendar.MONTH) + 1) % 12;
//         calendar.set(Calendar.MONTH, nextMonth);
//         if (nextMonth == 0) {
//             calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + 1);
//         }
//         return calendar.getTimeInMillis();
//     }
// 
//     public static String convertDateToString(Context context, Calendar calendar) {
//         return convertDateToString(context, calendar.getTimeInMillis());
//     }
// 
//     public static String convertDateToString(Context context, long timeInMillis) {
//         return DateFormat.getDateFormat(context).format(new Date(timeInMillis));
//     }
// 
//     public static String convertTimeToString(Context context, Calendar calendar) {
//         return convertTimeToString(context, calendar.getTimeInMillis());
//     }
// 
//     public static String convertTimeToString(Context context, long timeInMillis) {
//         return DateFormat.getTimeFormat(context).format(new Date(timeInMillis));
//     }
// }
// 
// Path: app/src/main/java/ca/alexland/renewpass/utils/SimpleTimeFormat.java
// public class SimpleTimeFormat {
//     //TODO: Change this to wrap/use a SimpleDateFormat, then just offer a nice interface for retrieving values from it
//     String time;
// 
//     public SimpleTimeFormat(String time) {
//         this.time = time;
//     }
//     public SimpleTimeFormat(int hour, int minute) {
//         time = hour + ":" + minute;
//     }
// 
//     public int getHour() {
//         String[] pieces=time.split(":");
// 
//         return(Integer.parseInt(pieces[0]));
//     }
// 
//     public int getMinute() {
//         String[] pieces=time.split(":");
// 
//         return(Integer.parseInt(pieces[1]));
//     }
// 
//     @Override
//     public String toString() {
//         return time;
//     }
// }


import android.content.Context;
import android.content.res.TypedArray;
import android.os.Build;
import android.preference.DialogPreference;
import android.text.format.DateFormat;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TimePicker;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import ca.alexland.renewpass.utils.CalendarUtil;
import ca.alexland.renewpass.utils.SimpleTimeFormat;
            }
            //set the time so that there will be a value to restore next time this is called
            //setTime();
        }
        SimpleTimeFormat simpleTimeFormat = new SimpleTimeFormat(timeVal);
        calendar.set(Calendar.HOUR_OF_DAY, simpleTimeFormat.getHour());
        calendar.set(Calendar.MINUTE, simpleTimeFormat.getMinute());
    }

    @Override
    protected void onDialogClosed(boolean positiveResult) {
        if (positiveResult) {
            calendar.set(Calendar.HOUR_OF_DAY, timePicker.getHourCompat());
            calendar.set(Calendar.MINUTE, timePicker.getMinuteCompat());

            if (callChangeListener(calendar.getTimeInMillis())) {
                setTime();
            }
        }
    }

    @Override
    public CharSequence getSummary() {
        if (calendar == null) {
            return null;
        }
        return CalendarUtil.convertTimeToString(getContext(), calendar.getTimeInMillis());
    }

    private void setTime() {
// Path: app/src/main/java/ca/alexland/renewpass/utils/CalendarUtil.java
// public class CalendarUtil {
//     private static Calendar calendar = new GregorianCalendar();
// 
//     public static long getNextMonthTimeInMillis(long currTimeInMillis) {
//         calendar.setTimeInMillis(currTimeInMillis);
//         int nextMonth = (calendar.get(Calendar.MONTH) + 1) % 12;
//         calendar.set(Calendar.MONTH, nextMonth);
//         if (nextMonth == 0) {
//             calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + 1);
//         }
//         return calendar.getTimeInMillis();
//     }
// 
//     public static String convertDateToString(Context context, Calendar calendar) {
//         return convertDateToString(context, calendar.getTimeInMillis());
//     }
// 
//     public static String convertDateToString(Context context, long timeInMillis) {
//         return DateFormat.getDateFormat(context).format(new Date(timeInMillis));
//     }
// 
//     public static String convertTimeToString(Context context, Calendar calendar) {
//         return convertTimeToString(context, calendar.getTimeInMillis());
//     }
// 
//     public static String convertTimeToString(Context context, long timeInMillis) {
//         return DateFormat.getTimeFormat(context).format(new Date(timeInMillis));
//     }
// }
// 
// Path: app/src/main/java/ca/alexland/renewpass/utils/SimpleTimeFormat.java
// public class SimpleTimeFormat {
//     //TODO: Change this to wrap/use a SimpleDateFormat, then just offer a nice interface for retrieving values from it
//     String time;
// 
//     public SimpleTimeFormat(String time) {
//         this.time = time;
//     }
//     public SimpleTimeFormat(int hour, int minute) {
//         time = hour + ":" + minute;
//     }
// 
//     public int getHour() {
//         String[] pieces=time.split(":");
// 
//         return(Integer.parseInt(pieces[0]));
//     }
// 
//     public int getMinute() {
//         String[] pieces=time.split(":");
// 
//         return(Integer.parseInt(pieces[1]));
//     }
// 
//     @Override
//     public String toString() {
//         return time;
//     }
// }


// Path: app/src/main/java/ca/alexland/renewpass/TimePreference.java
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Build;
import android.preference.DialogPreference;
import android.text.format.DateFormat;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TimePicker;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import ca.alexland.renewpass.utils.CalendarUtil;
import ca.alexland.renewpass.utils.SimpleTimeFormat;

            }
            //set the time so that there will be a value to restore next time this is called
            //setTime();
        }
        SimpleTimeFormat simpleTimeFormat = new SimpleTimeFormat(timeVal);
        calendar.set(Calendar.HOUR_OF_DAY, simpleTimeFormat.getHour());
        calendar.set(Calendar.MINUTE, simpleTimeFormat.getMinute());
    }

    @Override
    protected void onDialogClosed(boolean positiveResult) {
        if (positiveResult) {
            calendar.set(Calendar.HOUR_OF_DAY, timePicker.getHourCompat());
            calendar.set(Calendar.MINUTE, timePicker.getMinuteCompat());

            if (callChangeListener(calendar.getTimeInMillis())) {
                setTime();
            }
        }
    }

    @Override
    public CharSequence getSummary() {
        if (calendar == null) {
            return null;
        }
        return CalendarUtil.convertTimeToString(getContext(), calendar.getTimeInMillis());
    }

    private void setTime() {
        persistString(new SimpleTimeFormat(