// Path: app/src/main/java/com/silver/dan/castdemo/WidgetOption.java
// @IgnoreExtraProperties
// public class WidgetOption {
// 
//     @Exclude
//     Widget widgetRef;
// 
//     @Exclude
//     String key;
// 
//     public String value;
// 
//     public WidgetOption() {
//     }
// 
// 
//     @Exclude
//     private DatabaseReference getOptionsRef() {
//         return getFirebaseDashboardWidgetsRef()
//                 .child(widgetRef.guid)
//                 .child("optionsMap");
//     }
// 
//     @Exclude
//     private Map<String, String> toMap() {
//         HashMap<String, String> result = new HashMap<>();
//         result.put("value", value);
// 
//         return result;
//     }
// 
// 
//     @Exclude
//     void associateWidget(Widget widget) {
//         this.widgetRef = widget;
//     }
// 
//     @Exclude
//     public boolean getBooleanValue() {
//         return value.equals("1");
//     }
// 
//     @Exclude
//     public void setValue(boolean booleanValue) {
//         this.value = booleanValue ? "1" : "0";
//     }
// 
//     @Exclude
//     public void setValue(int value) {
//         this.value = Integer.toString(value);
//     }
// 
//     @Exclude
//     public int getIntValue() {
//         return Integer.valueOf(value);
//     }
// 
//     @Exclude
//     public void setValue(Date datetime) {
//         this.value = Long.toString(datetime.getTime());
//     }
// 
//     @Exclude
//     public Date getDate() {
//         return new Date(Long.parseLong(this.value));
//     }
// 
//     @Exclude
//     public void save() {
//         getOptionsRef()
//                 .child(this.key)
//                 .setValue(this.toMap());
//     }
// 
//     @Exclude
//     public void update(int value) {
//         setValue(value);
//         save();
//     }
// 
//     @Exclude
//     public void update(boolean value) {
//         setValue(value);
//         save();
//     }
// 
//     @Exclude
//     public void update(String str) {
//         setValue(str);
//         save();
//     }
// 
//     @Exclude
//     public void update(double n) {
//         setValue(n);
//         save();
//     }
// 
//     @Exclude
//     private void setValue(double n) {
//         this.value = Double.toString(n);
//     }
// 
//     @Exclude
//     public void setValue(long l) {
//         this.value = Long.toString(l);
//     }
// 
//     @Exclude
//     public void setValue(String str) {
//         this.value = str;
//     }
// 
// 
//     @Exclude
//     public List<String> getList() {
//         String[] stringArray = this.value.split(",");
//         List<String> items = new ArrayList<>();
//         Collections.addAll(items, stringArray);
// 
//         items.removeAll(Arrays.asList("", null)); //http://stackoverflow.com/questions/5520693/in-java-remove-empty-elements-from-a-list-of-strings
// 
// 
//         if (items.size() == 1 && items.get(0).length() == 0)
//             return new ArrayList<>();
// 
//         return items;
//     }
// 
//     @Exclude
//     public void update(List<String> enabledIds) {
//         setValue(enabledIds);
//         save();
//     }
// 
//     @Exclude
//     protected void setValue(List<String> enabledIds) {
//         setValue(TextUtils.join(",", enabledIds));
//     }
// }


import android.os.Bundle;
import android.support.annotation.NonNull;
import android.text.InputType;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.afollestad.materialdialogs.MaterialDialog;
import com.silver.dan.castdemo.R;
import com.silver.dan.castdemo.WidgetOption;
import com.wdullaer.materialdatetimepicker.date.DatePickerDialog;
import com.wdullaer.materialdatetimepicker.time.TimePickerDialog;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
package com.silver.dan.castdemo.settingsFragments;

/**
 * Created by dan on 5/26/16.
 */





public class CountdownSettings extends WidgetSettingsFragment {

    @BindView(R.id.countdown_date)
    TwoLineSettingItem countdownDate;

    @BindView(R.id.countdown_time)
    TwoLineSettingItem countdownTime;

    @BindView(R.id.countdown_text)
    TwoLineSettingItem countdownText;

// Path: app/src/main/java/com/silver/dan/castdemo/WidgetOption.java
// @IgnoreExtraProperties
// public class WidgetOption {
// 
//     @Exclude
//     Widget widgetRef;
// 
//     @Exclude
//     String key;
// 
//     public String value;
// 
//     public WidgetOption() {
//     }
// 
// 
//     @Exclude
//     private DatabaseReference getOptionsRef() {
//         return getFirebaseDashboardWidgetsRef()
//                 .child(widgetRef.guid)
//                 .child("optionsMap");
//     }
// 
//     @Exclude
//     private Map<String, String> toMap() {
//         HashMap<String, String> result = new HashMap<>();
//         result.put("value", value);
// 
//         return result;
//     }
// 
// 
//     @Exclude
//     void associateWidget(Widget widget) {
//         this.widgetRef = widget;
//     }
// 
//     @Exclude
//     public boolean getBooleanValue() {
//         return value.equals("1");
//     }
// 
//     @Exclude
//     public void setValue(boolean booleanValue) {
//         this.value = booleanValue ? "1" : "0";
//     }
// 
//     @Exclude
//     public void setValue(int value) {
//         this.value = Integer.toString(value);
//     }
// 
//     @Exclude
//     public int getIntValue() {
//         return Integer.valueOf(value);
//     }
// 
//     @Exclude
//     public void setValue(Date datetime) {
//         this.value = Long.toString(datetime.getTime());
//     }
// 
//     @Exclude
//     public Date getDate() {
//         return new Date(Long.parseLong(this.value));
//     }
// 
//     @Exclude
//     public void save() {
//         getOptionsRef()
//                 .child(this.key)
//                 .setValue(this.toMap());
//     }
// 
//     @Exclude
//     public void update(int value) {
//         setValue(value);
//         save();
//     }
// 
//     @Exclude
//     public void update(boolean value) {
//         setValue(value);
//         save();
//     }
// 
//     @Exclude
//     public void update(String str) {
//         setValue(str);
//         save();
//     }
// 
//     @Exclude
//     public void update(double n) {
//         setValue(n);
//         save();
//     }
// 
//     @Exclude
//     private void setValue(double n) {
//         this.value = Double.toString(n);
//     }
// 
//     @Exclude
//     public void setValue(long l) {
//         this.value = Long.toString(l);
//     }
// 
//     @Exclude
//     public void setValue(String str) {
//         this.value = str;
//     }
// 
// 
//     @Exclude
//     public List<String> getList() {
//         String[] stringArray = this.value.split(",");
//         List<String> items = new ArrayList<>();
//         Collections.addAll(items, stringArray);
// 
//         items.removeAll(Arrays.asList("", null)); //http://stackoverflow.com/questions/5520693/in-java-remove-empty-elements-from-a-list-of-strings
// 
// 
//         if (items.size() == 1 && items.get(0).length() == 0)
//             return new ArrayList<>();
// 
//         return items;
//     }
// 
//     @Exclude
//     public void update(List<String> enabledIds) {
//         setValue(enabledIds);
//         save();
//     }
// 
//     @Exclude
//     protected void setValue(List<String> enabledIds) {
//         setValue(TextUtils.join(",", enabledIds));
//     }
// }


// Path: app/src/main/java/com/silver/dan/castdemo/settingsFragments/CountdownSettings.java
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.text.InputType;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.afollestad.materialdialogs.MaterialDialog;
import com.silver.dan.castdemo.R;
import com.silver.dan.castdemo.WidgetOption;
import com.wdullaer.materialdatetimepicker.date.DatePickerDialog;
import com.wdullaer.materialdatetimepicker.time.TimePickerDialog;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

package com.silver.dan.castdemo.settingsFragments;

/**
 * Created by dan on 5/26/16.
 */





public class CountdownSettings extends WidgetSettingsFragment {

    @BindView(R.id.countdown_date)
    TwoLineSettingItem countdownDate;

    @BindView(R.id.countdown_time)
    TwoLineSettingItem countdownTime;

    @BindView(R.id.countdown_text)
    TwoLineSettingItem countdownText;

    WidgetOption dateOption, textOption;