// Path: app/src/main/java/com/smbtv/ui/activity/handler/DialogHandler.java
// public interface DialogHandler {
// 
//     void onSelection(DialogConfig.DialogItem itemSelected);
// }
// 
// Path: app/src/main/java/com/smbtv/ui/activity/tools/GuidedActionBuilder.java
// public class GuidedActionBuilder {
// 
//     public static GuidedAction editText(long id, String title, String desc) {
// 
//         return new GuidedAction.Builder()
//                 .id(id)
//                 .title(title)
//                 .description(desc)
//                 .inputType(InputType.TYPE_CLASS_TEXT)
//                 .descriptionEditable(true)
//                 .build();
//     }
// 
//     public static GuidedAction editNumber(long id, String title, int desc) {
// 
//         return new GuidedAction.Builder()
//                 .id(id)
//                 .title(title)
//                 .description(Integer.toString(desc))
//                 .inputType(InputType.TYPE_CLASS_NUMBER)
//                 .descriptionEditable(true)
//                 .build();
//     }
// 
//     public static GuidedAction text(long id, String title, String desc) {
// 
//         return new GuidedAction.Builder()
//                 .id(id)
//                 .title(title)
//                 .description(desc)
//                 .descriptionEditable(false)
//                 .build();
//     }
// 
// }
// 
// Path: app/src/main/java/com/smbtv/ui/components/DialogConfig.java
// public class DialogConfig {
// 
//     private String title;
//     private String description;
//     private String beatcrumb;
//     private List<DialogItem> items = new ArrayList<>();
// 
//     public DialogConfig() {
//         super();
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public void setDescription(String description) {
//         this.description = description;
//     }
// 
//     public List<DialogItem> getItems() {
//         return items;
//     }
// 
//     public String getBeatcrumb() {
//         return beatcrumb;
//     }
// 
//     public void setBeatcrumb(String beatcrumb) {
//         this.beatcrumb = beatcrumb;
//     }
// 
//     public void addItem(DialogItem item) {
//         this.items.add(item);
//     }
// 
// 
//     public static class DialogItem {
// 
//         private int id;
//         private String title;
//         private String description;
// 
//         public DialogItem(int id, String title) {
// 
//             this.id = id;
//             this.title = title;
//         }
// 
//         public int getId() {
//             return id;
//         }
// 
//         public void setId(int id) {
//             this.id = id;
//         }
// 
//         public String getTitle() {
//             return title;
//         }
// 
//         public void setTitle(String title) {
//             this.title = title;
//         }
// 
//         public String getDescription() {
//             return description;
//         }
// 
//         public void setDescription(String description) {
//             this.description = description;
//         }
// 
//     }
// }


import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v17.leanback.app.GuidedStepFragment;
import android.support.v17.leanback.widget.GuidanceStylist;
import android.support.v17.leanback.widget.GuidedAction;
import android.util.Log;
import com.smbtv.R;
import com.smbtv.ui.activity.handler.DialogHandler;
import com.smbtv.ui.activity.tools.GuidedActionBuilder;
import com.smbtv.ui.components.DialogConfig;
import java.util.List;
package com.smbtv.ui.activity.fragment;





public class DialogFragment extends GuidedStepFragment {

    private static final String TAG = DialogFragment.class.getName();

    private DialogConfig mConfig;
    private DialogHandler mHandler;

    public void setConfig(DialogConfig config) {
        this.mConfig = config;
    }

    public void setHandler(DialogHandler mHandler) {
        this.mHandler = mHandler;
    }

    @NonNull
    @Override
    public GuidanceStylist.Guidance onCreateGuidance(Bundle savedInstanceState) {

        Log.d(TAG, "onCreateGuidance");

        Drawable icon = getActivity().getDrawable(R.drawable.ic_warning);
        return new GuidanceStylist.Guidance(mConfig.getTitle(), mConfig.getDescription(), mConfig.getBeatcrumb(), icon);
    }

    @Override
    public void onCreateActions(@NonNull List<GuidedAction> actions, Bundle savedInstanceState) {

        Log.d(TAG, "onCreateActions");

        for (DialogConfig.DialogItem item : mConfig.getItems()) {
// Path: app/src/main/java/com/smbtv/ui/activity/handler/DialogHandler.java
// public interface DialogHandler {
// 
//     void onSelection(DialogConfig.DialogItem itemSelected);
// }
// 
// Path: app/src/main/java/com/smbtv/ui/activity/tools/GuidedActionBuilder.java
// public class GuidedActionBuilder {
// 
//     public static GuidedAction editText(long id, String title, String desc) {
// 
//         return new GuidedAction.Builder()
//                 .id(id)
//                 .title(title)
//                 .description(desc)
//                 .inputType(InputType.TYPE_CLASS_TEXT)
//                 .descriptionEditable(true)
//                 .build();
//     }
// 
//     public static GuidedAction editNumber(long id, String title, int desc) {
// 
//         return new GuidedAction.Builder()
//                 .id(id)
//                 .title(title)
//                 .description(Integer.toString(desc))
//                 .inputType(InputType.TYPE_CLASS_NUMBER)
//                 .descriptionEditable(true)
//                 .build();
//     }
// 
//     public static GuidedAction text(long id, String title, String desc) {
// 
//         return new GuidedAction.Builder()
//                 .id(id)
//                 .title(title)
//                 .description(desc)
//                 .descriptionEditable(false)
//                 .build();
//     }
// 
// }
// 
// Path: app/src/main/java/com/smbtv/ui/components/DialogConfig.java
// public class DialogConfig {
// 
//     private String title;
//     private String description;
//     private String beatcrumb;
//     private List<DialogItem> items = new ArrayList<>();
// 
//     public DialogConfig() {
//         super();
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public void setDescription(String description) {
//         this.description = description;
//     }
// 
//     public List<DialogItem> getItems() {
//         return items;
//     }
// 
//     public String getBeatcrumb() {
//         return beatcrumb;
//     }
// 
//     public void setBeatcrumb(String beatcrumb) {
//         this.beatcrumb = beatcrumb;
//     }
// 
//     public void addItem(DialogItem item) {
//         this.items.add(item);
//     }
// 
// 
//     public static class DialogItem {
// 
//         private int id;
//         private String title;
//         private String description;
// 
//         public DialogItem(int id, String title) {
// 
//             this.id = id;
//             this.title = title;
//         }
// 
//         public int getId() {
//             return id;
//         }
// 
//         public void setId(int id) {
//             this.id = id;
//         }
// 
//         public String getTitle() {
//             return title;
//         }
// 
//         public void setTitle(String title) {
//             this.title = title;
//         }
// 
//         public String getDescription() {
//             return description;
//         }
// 
//         public void setDescription(String description) {
//             this.description = description;
//         }
// 
//     }
// }


// Path: app/src/main/java/com/smbtv/ui/activity/fragment/DialogFragment.java
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v17.leanback.app.GuidedStepFragment;
import android.support.v17.leanback.widget.GuidanceStylist;
import android.support.v17.leanback.widget.GuidedAction;
import android.util.Log;
import com.smbtv.R;
import com.smbtv.ui.activity.handler.DialogHandler;
import com.smbtv.ui.activity.tools.GuidedActionBuilder;
import com.smbtv.ui.components.DialogConfig;
import java.util.List;

package com.smbtv.ui.activity.fragment;





public class DialogFragment extends GuidedStepFragment {

    private static final String TAG = DialogFragment.class.getName();

    private DialogConfig mConfig;
    private DialogHandler mHandler;

    public void setConfig(DialogConfig config) {
        this.mConfig = config;
    }

    public void setHandler(DialogHandler mHandler) {
        this.mHandler = mHandler;
    }

    @NonNull
    @Override
    public GuidanceStylist.Guidance onCreateGuidance(Bundle savedInstanceState) {

        Log.d(TAG, "onCreateGuidance");

        Drawable icon = getActivity().getDrawable(R.drawable.ic_warning);
        return new GuidanceStylist.Guidance(mConfig.getTitle(), mConfig.getDescription(), mConfig.getBeatcrumb(), icon);
    }

    @Override
    public void onCreateActions(@NonNull List<GuidedAction> actions, Bundle savedInstanceState) {

        Log.d(TAG, "onCreateActions");

        for (DialogConfig.DialogItem item : mConfig.getItems()) {
            actions.add(GuidedActionBuilder.text(item.getId(), item.getTitle(), item.getDescription()));