package org.holoeverywhere.widget;
import android.content.Context;
import android.os.Parcelable;
import android.util.AttributeSet;
import android.util.SparseArray;
import org.holoeverywhere.drawable.DrawableCompat;
public class FrameLayout extends android.widget.FrameLayout implements DrawableCompat.IStateOverlay {
private final DrawableCompat.StateOverlay mStateOverlay;
private boolean mSaveChildrenState = true;
public FrameLayout(Context context) {
this(context, null);
}
public FrameLayout(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public FrameLayout(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
mStateOverlay = new DrawableCompat.StateOverlay(this, context, attrs, defStyle);
}
@Override
public boolean isActivated() {
return mStateOverlay.isActivated();
}
@Override
public void setActivated(boolean activated) {
mStateOverlay.setActivated(activated);
}
@Override
protected int[] onCreateDrawableState(int extraSpace) {
if (mStateOverlay == null) {
return super.onCreateDrawableState(extraSpace);
}
return mStateOverlay.onCreateDrawableState(extraSpace);
}
@Override
public int[] superOnCreateDrawableState(int extraSpace) {
return super.onCreateDrawableState(extraSpace);
}
public boolean isSaveChildrenState() {
return mSaveChildrenState;
}
public void setSaveChildrenState(boolean saveChildrenState) {
mSaveChildrenState = saveChildrenState;
}
@Override
protected void dispatchSaveInstanceState(SparseArray<Parcelable> container) {
if (mSaveChildrenState) {
super.dispatchSaveInstanceState(container);
} else {
super.dispatchFreezeSelfOnly(container);
}
}
@Override
protected void dispatchRestoreInstanceState(SparseArray<Parcelable> container) {
if (mSaveChildrenState) {
super.dispatchRestoreInstanceState(container);
} else {
super.dispatchThawSelfOnly(container);
}
}
}