// Path: app/src/main/java/de/mygrades/view/adapter/model/RuleItem.java
// public class RuleItem implements Comparable<RuleItem> {
//     private long childId;
//     private String name;
//     private long ruleId;
// 
//     public RuleItem(long childId) {
//         this.childId = childId;
//     }
// 
//     public long getChildId() {
//         return childId;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public long getRuleId() {
//         return ruleId;
//     }
// 
//     public void setRuleId(long ruleId) {
//         this.ruleId = ruleId;
//     }
// 
//     /**
//      * Starts an intent to go to the LoginActivity.
//      *
//      * @param context Context
//      * @param universityData UniversityData used in intent data
//      */
//     public void goToLogin(Context context, UniversityItem universityData) {
//         final Intent intent = new Intent(context, LoginActivity.class);
// 
//         intent.putExtra(LoginActivity.EXTRA_UNIVERSITY_NAME, universityData.getName());
//         intent.putExtra(LoginActivity.EXTRA_UNIVERSITY_ID, universityData.getUniversityId());
//         intent.putExtra(LoginActivity.EXTRA_RULE_ID, ruleId);
//         context.startActivity(intent);
//     }
// 
//     @Override
//     public int compareTo(RuleItem another) {
//         return name.compareToIgnoreCase(another.getName());
//     }
// }
// 
// Path: app/src/main/java/de/mygrades/view/adapter/model/UniversityFooter.java
// public class UniversityFooter extends UniversityGroupItem {
//     private boolean visible;
// 
//     public UniversityFooter() {
//         visible = false;
//     }
// 
//     @Override
//     public long getGroupId() {
//         return -1;
//     }
// 
//     public boolean isVisible() {
//         return visible;
//     }
// 
//     public void setVisible(boolean visible) {
//         this.visible = visible;
//     }
// 
//     public void goToSubmitWish(Context context) {
//         String uri = "de.mygrades.view.activity://goto.fragment/postwish";
//         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
//         context.startActivity(intent);
//     }
// }
// 
// Path: app/src/main/java/de/mygrades/view/adapter/model/UniversityGroupItem.java
// public abstract class UniversityGroupItem {
// 
//     /**
//      * Get the group id.
//      * ExpandableItemAdapter requires stable IDs for each group item.
//      *
//      * @return group id
//      */
//     public abstract long getGroupId();
// }
// 
// Path: app/src/main/java/de/mygrades/view/adapter/model/UniversityHeader.java
// public class UniversityHeader extends UniversityGroupItem {
//     private boolean isLoading;
//     private ErrorEvent.ErrorType actErrorType;
// 
//     public UniversityHeader() {
//         isLoading = false;
//         actErrorType = null;
//     }
// 
//     public boolean isLoading() {
//         return isLoading;
//     }
// 
//     public void setIsLoading(boolean isLoading) {
//         this.isLoading = isLoading;
//     }
// 
//     public ErrorEvent.ErrorType getActErrorType() {
//         return actErrorType;
//     }
// 
//     public void setActErrorType(ErrorEvent.ErrorType actErrorType) {
//         this.actErrorType = actErrorType;
//     }
// 
//     @Override
//     public long getGroupId() {
//         return 0;
//     }
// }
// 
// Path: app/src/main/java/de/mygrades/view/adapter/model/UniversityItem.java
// public class UniversityItem extends UniversityGroupItem {
//     private long groupId;
//     private String name;
//     private long universityId;
//     private boolean isSectionHeader;
//     private String sectionTitle;
//     private boolean showRuleHint;
// 
//     private List<RuleItem> rules;
// 
//     public UniversityItem(long groupId) {
//         this.groupId = groupId;
//         rules = new ArrayList<>();
//         showRuleHint = false;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//         this.sectionTitle = String.valueOf(name.toUpperCase().charAt(0));
//     }
// 
//     public long getUniversityId() {
//         return universityId;
//     }
// 
//     public void setUniversityId(long universityId) {
//         this.universityId = universityId;
//     }
// 
//     public boolean isSectionHeader() {
//         return isSectionHeader;
//     }
// 
//     public void setIsSectionHeader(boolean isSectionHeader) {
//         this.isSectionHeader = isSectionHeader;
//     }
// 
//     public List<RuleItem> getRules() {
//         return rules;
//     }
// 
//     public void addRuleData(RuleItem ruleItem) {
//         this.rules.add(ruleItem);
//     }
// 
//     public String getSectionTitle() {
//         return sectionTitle;
//     }
// 
//     @Override
//     public long getGroupId() {
//         return groupId;
//     }
// 
//     public boolean showRuleHint() {
//         return showRuleHint;
//     }
// 
//     public void setShowRuleHint(boolean showRuleHint) {
//         this.showRuleHint = showRuleHint;
//     }
// }


import com.h6ah4i.android.widget.advrecyclerview.expandable.RecyclerViewExpandableItemManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import de.mygrades.view.adapter.model.RuleItem;
import de.mygrades.view.adapter.model.UniversityFooter;
import de.mygrades.view.adapter.model.UniversityGroupItem;
import de.mygrades.view.adapter.model.UniversityHeader;
import de.mygrades.view.adapter.model.UniversityItem;
package de.mygrades.view.adapter.dataprovider;




/**
 * UniversitiesDataProvider provides access to the underlying university items.
 */
public class UniversitiesDataProvider {
    private List<UniversityGroupItem> items;
    private UniversityHeader header;
    private UniversityFooter footer;

    public UniversitiesDataProvider() {
// Path: app/src/main/java/de/mygrades/view/adapter/model/RuleItem.java
// public class RuleItem implements Comparable<RuleItem> {
//     private long childId;
//     private String name;
//     private long ruleId;
// 
//     public RuleItem(long childId) {
//         this.childId = childId;
//     }
// 
//     public long getChildId() {
//         return childId;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public long getRuleId() {
//         return ruleId;
//     }
// 
//     public void setRuleId(long ruleId) {
//         this.ruleId = ruleId;
//     }
// 
//     /**
//      * Starts an intent to go to the LoginActivity.
//      *
//      * @param context Context
//      * @param universityData UniversityData used in intent data
//      */
//     public void goToLogin(Context context, UniversityItem universityData) {
//         final Intent intent = new Intent(context, LoginActivity.class);
// 
//         intent.putExtra(LoginActivity.EXTRA_UNIVERSITY_NAME, universityData.getName());
//         intent.putExtra(LoginActivity.EXTRA_UNIVERSITY_ID, universityData.getUniversityId());
//         intent.putExtra(LoginActivity.EXTRA_RULE_ID, ruleId);
//         context.startActivity(intent);
//     }
// 
//     @Override
//     public int compareTo(RuleItem another) {
//         return name.compareToIgnoreCase(another.getName());
//     }
// }
// 
// Path: app/src/main/java/de/mygrades/view/adapter/model/UniversityFooter.java
// public class UniversityFooter extends UniversityGroupItem {
//     private boolean visible;
// 
//     public UniversityFooter() {
//         visible = false;
//     }
// 
//     @Override
//     public long getGroupId() {
//         return -1;
//     }
// 
//     public boolean isVisible() {
//         return visible;
//     }
// 
//     public void setVisible(boolean visible) {
//         this.visible = visible;
//     }
// 
//     public void goToSubmitWish(Context context) {
//         String uri = "de.mygrades.view.activity://goto.fragment/postwish";
//         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
//         context.startActivity(intent);
//     }
// }
// 
// Path: app/src/main/java/de/mygrades/view/adapter/model/UniversityGroupItem.java
// public abstract class UniversityGroupItem {
// 
//     /**
//      * Get the group id.
//      * ExpandableItemAdapter requires stable IDs for each group item.
//      *
//      * @return group id
//      */
//     public abstract long getGroupId();
// }
// 
// Path: app/src/main/java/de/mygrades/view/adapter/model/UniversityHeader.java
// public class UniversityHeader extends UniversityGroupItem {
//     private boolean isLoading;
//     private ErrorEvent.ErrorType actErrorType;
// 
//     public UniversityHeader() {
//         isLoading = false;
//         actErrorType = null;
//     }
// 
//     public boolean isLoading() {
//         return isLoading;
//     }
// 
//     public void setIsLoading(boolean isLoading) {
//         this.isLoading = isLoading;
//     }
// 
//     public ErrorEvent.ErrorType getActErrorType() {
//         return actErrorType;
//     }
// 
//     public void setActErrorType(ErrorEvent.ErrorType actErrorType) {
//         this.actErrorType = actErrorType;
//     }
// 
//     @Override
//     public long getGroupId() {
//         return 0;
//     }
// }
// 
// Path: app/src/main/java/de/mygrades/view/adapter/model/UniversityItem.java
// public class UniversityItem extends UniversityGroupItem {
//     private long groupId;
//     private String name;
//     private long universityId;
//     private boolean isSectionHeader;
//     private String sectionTitle;
//     private boolean showRuleHint;
// 
//     private List<RuleItem> rules;
// 
//     public UniversityItem(long groupId) {
//         this.groupId = groupId;
//         rules = new ArrayList<>();
//         showRuleHint = false;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//         this.sectionTitle = String.valueOf(name.toUpperCase().charAt(0));
//     }
// 
//     public long getUniversityId() {
//         return universityId;
//     }
// 
//     public void setUniversityId(long universityId) {
//         this.universityId = universityId;
//     }
// 
//     public boolean isSectionHeader() {
//         return isSectionHeader;
//     }
// 
//     public void setIsSectionHeader(boolean isSectionHeader) {
//         this.isSectionHeader = isSectionHeader;
//     }
// 
//     public List<RuleItem> getRules() {
//         return rules;
//     }
// 
//     public void addRuleData(RuleItem ruleItem) {
//         this.rules.add(ruleItem);
//     }
// 
//     public String getSectionTitle() {
//         return sectionTitle;
//     }
// 
//     @Override
//     public long getGroupId() {
//         return groupId;
//     }
// 
//     public boolean showRuleHint() {
//         return showRuleHint;
//     }
// 
//     public void setShowRuleHint(boolean showRuleHint) {
//         this.showRuleHint = showRuleHint;
//     }
// }


// Path: app/src/main/java/de/mygrades/view/adapter/dataprovider/UniversitiesDataProvider.java
import com.h6ah4i.android.widget.advrecyclerview.expandable.RecyclerViewExpandableItemManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import de.mygrades.view.adapter.model.RuleItem;
import de.mygrades.view.adapter.model.UniversityFooter;
import de.mygrades.view.adapter.model.UniversityGroupItem;
import de.mygrades.view.adapter.model.UniversityHeader;
import de.mygrades.view.adapter.model.UniversityItem;

package de.mygrades.view.adapter.dataprovider;




/**
 * UniversitiesDataProvider provides access to the underlying university items.
 */
public class UniversitiesDataProvider {
    private List<UniversityGroupItem> items;
    private UniversityHeader header;
    private UniversityFooter footer;

    public UniversitiesDataProvider() {
        header = new UniversityHeader();