Mobile browser - RemoteWebElement cannot be cast to io.appium.java_client.android.AndroidElement

Hi,

I am new to Appium and trying to learn and automate mobile website , but getting the below error

org.openqa.selenium.remote.RemoteWebElement cannot be cast to io.appium.java_client.android.AndroidElement

I am able to launch website but unable to do any click action eventhough xpath is valid

below are the code

BaseChrome

package com.company;

import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import io.appium.java_client.remote.MobileCapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.net.URL;
public class baseChrome {

public static AndroidDriver capabilities() throws Exception {

AndroidDriver<AndroidElement> driver;
DesiredCapabilities capabilities=new DesiredCapabilities();
        capabilities.setCapability(MobileCapabilityType.DEVICE_NAME,"Android Device");
capabilities.setCapability(MobileCapabilityType.BROWSER_NAME,"Chrome");

// URL url = new URL(“http://127.0.0.1:4722/wd/hub”);

driver= new AndroidDriver<>(new URL(“http://127.0.0.1:4722/wd/hub”),capabilities);
return driver;
}
}

======================================
package com.company;

import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.testng.Assert;

public class browse extends baseChrome {
public static void main(String[] args) throws Exception{
AndroidDriver driver=capabilities();

driver.get(“https://www.o2.co.uk/shop/”);
driver.findElement(By.xpath("//span[contains(text(),‘Samsung Galaxy S8’)]")).click();

}

}