private void removeActivityFromStack(Activity activity) {
   Iterator<ActivityLifecyleWrapper> iter = activityStack.iterator();
   while (iter.hasNext()) {
     ActivityLifecyleWrapper activityLifecyleWrapper = iter.next();
     if (activityLifecyleWrapper.getActivity().equals(activity)) {
       activityStack.remove(activityLifecyleWrapper);
     }
   }
 }
  public Activity getCurrentActivity() {

    for (ActivityLifecyleWrapper activityLifecyleWrapper : activityStack) {
      if (!activityLifecyleWrapper.isPaused()) {
        return activityLifecyleWrapper.getActivity();
      }
    }

    for (ActivityLifecyleWrapper activityLifecyleWrapper : activityStack) {
      if (!activityLifecyleWrapper.isStopped()) {
        return activityLifecyleWrapper.getActivity();
      }
    }
    return null;
  }