private void runImeAnimations(boolean entering) {
   ArrayList<Animator> animators = new ArrayList<Animator>();
   if (entering) {
     mGuidanceStylist.onImeAppearing(animators);
     mActionsStylist.onImeAppearing(animators);
   } else {
     mGuidanceStylist.onImeDisappearing(animators);
     mActionsStylist.onImeDisappearing(animators);
   }
   AnimatorSet set = new AnimatorSet();
   set.playTogether(animators);
   set.start();
 }
  /** {@inheritDoc} */
  @Override
  public View onCreateView(
      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    if (DEBUG) Log.v(TAG, "onCreateView");

    resolveTheme();
    inflater = getThemeInflater(inflater);

    View v = inflater.inflate(R.layout.lb_guidedstep_fragment, container, false);
    ViewGroup guidanceContainer = (ViewGroup) v.findViewById(R.id.content_fragment);
    ViewGroup actionContainer = (ViewGroup) v.findViewById(R.id.action_fragment);

    Guidance guidance = onCreateGuidance(savedInstanceState);
    View guidanceView = mGuidanceStylist.onCreateView(inflater, guidanceContainer, guidance);
    guidanceContainer.addView(guidanceView);

    View actionsView = mActionsStylist.onCreateView(inflater, actionContainer);
    actionContainer.addView(actionsView);

    GuidedActionAdapter.EditListener editListener =
        new GuidedActionAdapter.EditListener() {
          @Override
          public void onGuidedActionEdited(GuidedAction action, boolean entering) {
            runImeAnimations(entering);
            if (!entering) {
              GuidedStepSupportFragment.this.onGuidedActionEdited(action);
            }
          }
        };

    mAdapter = new GuidedActionAdapter(mActions, this, this, editListener, mActionsStylist);

    mListView = mActionsStylist.getActionsGridView();
    mListView.setAdapter(mAdapter);
    int pos =
        (mSelectedIndex >= 0 && mSelectedIndex < mActions.size())
            ? mSelectedIndex
            : getFirstCheckedAction();
    mListView.setSelectedPosition(pos);

    return v;
  }