package com.zhuinden.simplestackdemonestedstack.util; import android.support.annotation.NonNull; import com.zhuinden.servicetree.ServiceTree; import com.zhuinden.simplestack.BackstackManager; import com.zhuinden.simplestack.SavedState; import com.zhuinden.simplestack.StateChange; import java.util.Map; /** * Created by Zhuinden on 2017.03.28.. */ public class PreserveTreeScopesStrategy implements BackstackManager.StateClearStrategy { private ServiceTree serviceTree; public PreserveTreeScopesStrategy(ServiceTree serviceTree) { this.serviceTree = serviceTree; } @Override public void clearStatesNotIn(@NonNull Map<Object, SavedState> keyStateMap, @NonNull StateChange stateChange) { keyStateMap.keySet().retainAll(serviceTree.getKeys()); } }