Files
Magisk/app/src/main/java/com/topjohnwu/magisk/uicomponents/Expandable.java
2019-03-13 06:12:02 -04:00

41 lines
811 B
Java

package com.topjohnwu.magisk.uicomponents;
public abstract class Expandable {
private boolean mExpanded = false;
public final boolean isExpanded() {
return mExpanded;
}
public final void setExpanded(boolean expanded) {
mExpanded = expanded;
onSetExpanded(expanded);
}
public final void expand() {
if (mExpanded)
return;
onExpand();
mExpanded = true;
}
public final void collapse() {
if (!mExpanded)
return;
onCollapse();
mExpanded = false;
}
protected abstract void onExpand();
protected abstract void onCollapse();
protected void onSetExpanded(boolean expanded) {
if (expanded)
onExpand();
else
onCollapse();
}
}