@Override
  public void onActivityStarted(Activity activity) {

    if (activitiesOnRotation.contains(activity.getPackageName() + activity.getLocalClassName())) {
      activitiesOnRotation.remove(activity.getPackageName() + activity.getLocalClassName());
    } else {
      if (activityStack.empty() && !activity.isChangingConfigurations()) {
        appWillReturnfromBackground();
      }
    }

    this.activityStack.push(new ActivityLifecyleWrapper(activity, true, false));
  }
 @Override
 public void onActivityStopped(Activity activity) {
   try {
     if (activity.isChangingConfigurations()) {
       activitiesOnRotation.add(activity.getPackageName() + activity.getLocalClassName());
     } else if (activityStack.size() <= 1) {
       appWillEnterBackground();
     }
     removeActivityFromStack(activity);
   } catch (Exception e) {
     AppliverySdk.Logger.log(e.getMessage());
   }
 }