/**
  * Delete Functionality
  *
  * @param driver - NativeAppDriver instance
  * @param editButton - Id of Edit Button
  * @param checkboxButton - Id of Check Box Button
  * @param deleteButton - Id of Delete Button
  * @param okButton - Id of ok Button
  * @throws InterruptedException
  */
 public void deleteFuctionality(
     NativeAppDriver driver,
     String editButton,
     String checkboxButton,
     String deleteButton,
     String okButton,
     int videoNumber)
     throws InterruptedException {
   Thread.sleep(10000);
   driver.clickElementById(editButton);
   driver.clickElementWithIndexById(checkboxButton, videoNumber);
   driver.clickElementById(deleteButton);
   driver.clickElementById(okButton);
 }
 /**
  * Logout from the app
  *
  * @param driver - NativeAppDriver instance
  * @param header - Id of header button of left Navigation Bar
  * @param logoutButton - Id of Logout button
  * @param emailTextBox - Id of Email Text box
  * @param isAndroid - Whether the device is Android or iOS
  * @throws InterruptedException
  */
 public void logout(
     NativeAppDriver driver,
     String header,
     String logoutButton,
     String emailTextBox,
     boolean isAndroid)
     throws InterruptedException {
   Thread.sleep(10000);
   driver.clickElementById(header);
   driver.clickElementById(logoutButton);
   driver.clearInputById(emailTextBox);
   if (isAndroid) {
     driver.hideKeyboard();
   }
 }
 /**
  * Login to the app
  *
  * @param driver - NativeAppDriver instance
  * @param email - Id of Email id field
  * @param password - Id of Password field
  * @param signInButton - Id of Full Screen Button
  * @param isAndroid - Whether the device is Android or iOS
  */
 public void login(
     NativeAppDriver driver,
     String email,
     String password,
     String signInButton,
     boolean isAndroid) {
   driver.clearInputById(email);
   if (!(email.isEmpty())) {
     driver.clearInputById(email);
   }
   driver.clearInputById(password);
   if (!(password.isEmpty())) {
     driver.clearInputById(password);
   }
   driver.enterTextToElementById(email, emailId);
   if (isAndroid) {
     driver.hideKeyboard();
   }
   driver.enterTextToElementById(password, this.password);
   if (isAndroid) {
     driver.hideKeyboard();
   }
   driver.clickElementById(signInButton);
 }
  /**
   * Video player functionality
   *
   * @param driver - NativeAppDriver instance
   * @param fullscreenButton - Id of Full Screen Button
   * @param lmsButton - Id of LMS Button
   * @param settingsButton - Id of Settings Button
   * @param rewindButton - Id of Rewind Button
   * @param videoHeader - Id of Video header.
   * @param seekBar - Id of seek bar
   * @throws InterruptedException
   */
  public void videoPlayer(
      NativeAppDriver driver,
      String fullscreenButton,
      String lmsButton,
      String settingsButton,
      String rewindButton,
      String seekBar,
      String playPauseButton,
      String videoPlayerId,
      boolean downloaded,
      boolean isAndroid)
      throws InterruptedException {

    if (!downloaded) {
      driver.insertWait(settingsButton);
    }
    Thread.sleep(3500);
    driver.clickElementById(videoPlayerId);
    driver.verifyElementPresentById(settingsButton);
    Thread.sleep(3500);
    driver.clickElementById(videoPlayerId);
    driver.verifyElementPresentById(rewindButton);
    Thread.sleep(3500);
    driver.clickElementById(videoPlayerId);
    driver.verifyElementPresentById(lmsButton);
    Thread.sleep(3500);
    driver.clickElementById(videoPlayerId);
    driver.verifyElementPresentById(playPauseButton);
    Thread.sleep(3500);
    driver.clickElementById(videoPlayerId);
    driver.verifyElementPresentById(fullscreenButton);
    Thread.sleep(3500);
    if (isAndroid) {
      driver.clickElementById(videoPlayerId);
      driver.clickElementById(fullscreenButton);
      driver.clickElementById(videoPlayerId);
      driver.verifyElementPresentById(rewindButton);
      driver.verifyElementPresentById(lmsButton);
      driver.verifyElementPresentById(playPauseButton);
      driver.clickElementById(videoPlayerId);
      driver.clickElementById(fullscreenButton);
    }
  }
 /**
  * Verify videoName, video size, and video length
  *
  * @param driver - NativeAppDriver instance
  * @param videoName - Id of video name
  * @param videoSize - Id of video size
  * @param videoLength - Id of video length
  */
 public void videoInformation(NativeAppDriver driver, String videoName, String videoLength) {
   driver.verifyElementPresentById(videoName);
   driver.verifyElementPresentById(videoLength);
 }