// Path: src/com/xiaomi/mitv/soundbarapp/diagnosis/data/Entry.java
// public class Entry implements Comparable<Entry>{
//     private final Node mRoot;
//     private Node mCurrentView;
// 
//     public Entry(Node root){
//         mRoot = root;
//         mCurrentView = mRoot;
//     }
// 
//     public Node getRoot(){
//         return mRoot;
//     }
// 
//     public boolean isBegin(){
//         return mCurrentView==mRoot;
//     }
// 
//     public boolean isEnd(){
//         return (mCurrentView!=null)?mCurrentView.getChildren().size()==0:true;
//     }
// 
//     public Node pre(){
//         if(isBegin()) return null;
//         return mCurrentView.getParent();
//     }
// 
//     @Override
//     public int compareTo(Entry another) {
//         return mRoot.compareTo(another.getRoot());
//     }
// }
// 
// Path: src/com/xiaomi/mitv/soundbarapp/diagnosis/data/Node.java
// public class Node implements Comparable<Node>{
//     private Node mParent;
//     private OrderedList<Node> mChildren = new OrderedList<Node>();
//     private final QAElement mElement;
//     private final int mOrder;
// 
//     public Node(QAElement e, int order){
//         mElement = e;
//         mOrder = order;
//         if(mElement==null) throw  new IllegalArgumentException();
//     }
// 
//     public Node getParent() {
//         return mParent;
//     }
// 
//     public void setParent(Node mPre) {
//         this.mParent = mPre;
//     }
// 
//     public int getOrder(){ return mOrder;}
// 
//     public List<Node> getChildren() {
//         return mChildren;
//     }
// 
//     public void addNext(Node node){
//         node.setParent(this);
//         mChildren.add(node);
//     }
// 
//     public QAElement getElement() {
//         return mElement;
//     }
// 
//     @Override
//     public int compareTo(Node another) {
//         return mOrder -another.mOrder;
//     }
// }
// 
// Path: src/com/xiaomi/mitv/soundbarapp/diagnosis/data/OrderedList.java
// public class OrderedList<T extends Comparable<T>> extends ArrayList<T> {
//     @Override
//     public boolean add(T element){
//         add(findPos(element), element);
//         return true;
//     }
// 
//     private int findPos(T element){
//         int pos = size();
//         for(int i=0; i<size(); i++){
//             if(get(i).compareTo(element)>0){
//                 pos = i;
//             }
//         }
//         return pos;
//     }
// }


import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.xiaomi.mitv.soundbarapp.R;
import com.xiaomi.mitv.soundbarapp.diagnosis.data.Entry;
import com.xiaomi.mitv.soundbarapp.diagnosis.data.Node;
import com.xiaomi.mitv.soundbarapp.diagnosis.data.OrderedList;
import org.w3c.dom.Text;
import java.util.*;
        if(!TextUtils.isEmpty(title)){
            ((TextView)mFixActionBar.findViewById(R.id.action_bar_text)).setText(title);
        }
        mCategoryLayout.setVisibility(View.GONE);
        mQuestionsLayout.setVisibility(View.GONE);
        mFixViewLayout.setVisibility(View.VISIBLE);
    }

    public void initCategory(HashMap<Integer, Entry> categories, View.OnClickListener listener){
        Set<Integer> keys = categories.keySet();
        for(Integer id : keys){
            View actionView = null;
            switch (id){
                case 1: actionView = mMainView.findViewById(R.id.category_connection);break;
                case 2: actionView = mMainView.findViewById(R.id.category_no_sound);break;
                case 3: actionView = mMainView.findViewById(R.id.category_quality);break;
                case 4: actionView = mMainView.findViewById(R.id.category_upgrade);break;
                default:continue;
            }
            actionView.setTag(categories.get(id).getRoot());
            actionView.setOnClickListener(listener);
        }
        mMainView.findViewById(R.id.category_faq).setOnClickListener(mFragment);
        mMainView.findViewById(R.id.category_bbs).setOnClickListener(mFragment);
    }

    public void setQuestions(List<Node> questions, View.OnClickListener listener){
        mQuestionsList.removeAllViews();
        LayoutInflater li = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

// Path: src/com/xiaomi/mitv/soundbarapp/diagnosis/data/Entry.java
// public class Entry implements Comparable<Entry>{
//     private final Node mRoot;
//     private Node mCurrentView;
// 
//     public Entry(Node root){
//         mRoot = root;
//         mCurrentView = mRoot;
//     }
// 
//     public Node getRoot(){
//         return mRoot;
//     }
// 
//     public boolean isBegin(){
//         return mCurrentView==mRoot;
//     }
// 
//     public boolean isEnd(){
//         return (mCurrentView!=null)?mCurrentView.getChildren().size()==0:true;
//     }
// 
//     public Node pre(){
//         if(isBegin()) return null;
//         return mCurrentView.getParent();
//     }
// 
//     @Override
//     public int compareTo(Entry another) {
//         return mRoot.compareTo(another.getRoot());
//     }
// }
// 
// Path: src/com/xiaomi/mitv/soundbarapp/diagnosis/data/Node.java
// public class Node implements Comparable<Node>{
//     private Node mParent;
//     private OrderedList<Node> mChildren = new OrderedList<Node>();
//     private final QAElement mElement;
//     private final int mOrder;
// 
//     public Node(QAElement e, int order){
//         mElement = e;
//         mOrder = order;
//         if(mElement==null) throw  new IllegalArgumentException();
//     }
// 
//     public Node getParent() {
//         return mParent;
//     }
// 
//     public void setParent(Node mPre) {
//         this.mParent = mPre;
//     }
// 
//     public int getOrder(){ return mOrder;}
// 
//     public List<Node> getChildren() {
//         return mChildren;
//     }
// 
//     public void addNext(Node node){
//         node.setParent(this);
//         mChildren.add(node);
//     }
// 
//     public QAElement getElement() {
//         return mElement;
//     }
// 
//     @Override
//     public int compareTo(Node another) {
//         return mOrder -another.mOrder;
//     }
// }
// 
// Path: src/com/xiaomi/mitv/soundbarapp/diagnosis/data/OrderedList.java
// public class OrderedList<T extends Comparable<T>> extends ArrayList<T> {
//     @Override
//     public boolean add(T element){
//         add(findPos(element), element);
//         return true;
//     }
// 
//     private int findPos(T element){
//         int pos = size();
//         for(int i=0; i<size(); i++){
//             if(get(i).compareTo(element)>0){
//                 pos = i;
//             }
//         }
//         return pos;
//     }
// }


// Path: src/com/xiaomi/mitv/soundbarapp/diagnosis/ViewWrapper.java
import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.xiaomi.mitv.soundbarapp.R;
import com.xiaomi.mitv.soundbarapp.diagnosis.data.Entry;
import com.xiaomi.mitv.soundbarapp.diagnosis.data.Node;
import com.xiaomi.mitv.soundbarapp.diagnosis.data.OrderedList;
import org.w3c.dom.Text;
import java.util.*;

        if(!TextUtils.isEmpty(title)){
            ((TextView)mFixActionBar.findViewById(R.id.action_bar_text)).setText(title);
        }
        mCategoryLayout.setVisibility(View.GONE);
        mQuestionsLayout.setVisibility(View.GONE);
        mFixViewLayout.setVisibility(View.VISIBLE);
    }

    public void initCategory(HashMap<Integer, Entry> categories, View.OnClickListener listener){
        Set<Integer> keys = categories.keySet();
        for(Integer id : keys){
            View actionView = null;
            switch (id){
                case 1: actionView = mMainView.findViewById(R.id.category_connection);break;
                case 2: actionView = mMainView.findViewById(R.id.category_no_sound);break;
                case 3: actionView = mMainView.findViewById(R.id.category_quality);break;
                case 4: actionView = mMainView.findViewById(R.id.category_upgrade);break;
                default:continue;
            }
            actionView.setTag(categories.get(id).getRoot());
            actionView.setOnClickListener(listener);
        }
        mMainView.findViewById(R.id.category_faq).setOnClickListener(mFragment);
        mMainView.findViewById(R.id.category_bbs).setOnClickListener(mFragment);
    }

    public void setQuestions(List<Node> questions, View.OnClickListener listener){
        mQuestionsList.removeAllViews();
        LayoutInflater li = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        for(Node node : questions){