Webview in salesforce1 app is showing blank page in Android virtual devices

I am doing a POC on Appium with Salesforce 1 app.

Device Nexus 6
Android verison 6
Appium Version 1.6.5

app can downloaded from this link https://s3.amazonaws.com/bindupeteti/salesforce1.apk

After clicking the Iagree button on th etop right corner, from the automation code, I am seeing a blank HTML page source. but in the virtual device, login screen is seen. The issue actually happens after switching from native view to Webview in Salesfore1 app.

I request you to please help me in this.

My Java Appium Code

import java.io.File;

import java.net.MalformedURLException;
import java.net.URL;

import org.mozilla.javascript.Context;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

import com.amazonaws.services.budgets.model.TimeUnit;

import io.appium.java_client.MobileBy.ByAndroidUIAutomator;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.pagefactory.AndroidFindBy;

/**

  • @author Bindu

*/
public class Nexus6 {

/**
 * @param args
 * @throws MalformedURLException
 */
public static void main(String[] args) throws MalformedURLException {

    File appDir = new File("C://Users//Bindu//Documents//Bindu Work//Software//Appium");
    File app = new File(appDir, "Salesforce1.apk");
    new DesiredCapabilities();
    DesiredCapabilities capabilities = DesiredCapabilities.android();
    capabilities.setCapability("device", "Android Emulator");
    // capabilities.setCapability("browserName", "chrome");
    capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
    capabilities.setCapability(CapabilityType.SUPPORTS_NETWORK_CONNECTION, true);
    capabilities.setCapability(CapabilityType.SUPPORTS_WEB_STORAGE, true);
    // mandatory capabilities
    capabilities.setCapability("deviceName", "Nexus_6p");
    capabilities.setCapability("platformName", "Android");
    capabilities.setCapability("version", "6");
//    capabilities.setCapability("automationName", "selendroid");

    capabilities.setCapability("app", app.getAbsolutePath());

    capabilities.setCapability("appPackage", "com.salesforce.chatter");

    capabilities.setCapability("appActivity", "com.salesforce.chatter.Chatter");

    ChromeOptions chromeOptions = new ChromeOptions();

    chromeOptions.addArguments("ignore-certificate-errors");

    capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);

    capabilities.setCapability("chromedriverExecutable",
            "C://Users//Bindu//Documents//Bindu Work//Software//Selenium//Driver Executables//Chrome Driver//chromedriver_2.20//chromedriver.exe");

    AndroidDriver driver = new AndroidDriver(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);

    WebElement IagreeButton = driver.findElement(
            By.xpath("//android.widget.TextView[contains(@resource-id,'com.salesforce.chatter:id/mi_accept')]"));

    IagreeButton.click();
    System.setProperty("webdriver.chrome.driver",
            "C://Users//Bindu//Documents//Bindu Work//Software//Selenium//Driver Executables//Chrome Driver//chromedriver_2.20//chromedriver.exe");

    WebDriverWait wait = new WebDriverWait(driver, 10);

    int contextHandles = driver.getContextHandles().size();

    System.out.println("Context Handles : " + contextHandles);

    for (Object contextName : driver.getContextHandles()) {
        System.out.println("Context Name : " + contextName);

        if (contextName.toString().toUpperCase().contains("WEBVIEW")) {
            System.out.println("CONTEXT NAME : " + contextName);
            System.out.println("Context :: " + contextName.toString());
            driver.context(contextName.toString());

            Iterable<String> windowHandles = driver.getWindowHandles();
            for (String windowHandle : windowHandles) {
                System.out.println("Window handle: " + windowHandle);
                driver.switchTo().window(windowHandle);
                System.out.println("PAGE SOURCE OF DIFFERENT WINDOW HANDLES : " + driver.getPageSource());
            }
        }
    }

    String pageSource = driver.getPageSource();

    System.out.println("Page Source : " + pageSource.toString());

    if (pageSource.contains("Custom")) {
        System.out.println("TEST");
    }

   

}

}