private String getCacheableUrl(String url) { if (TextUtils.equals(url, BLANK) || TextUtils.equals(url, FILE)) { return url; } mArchiveClient.cacheFileName = generateCacheFilename(url); setCacheModeInternal(); if (getSettings().getCacheMode() != WebSettings.LOAD_CACHE_ONLY) { return url; } File cacheFile = new File(mArchiveClient.cacheFileName); return cacheFile.exists() ? Uri.fromFile(cacheFile).toString() : url; }
@CallSuper @Override public void onProgressChanged(android.webkit.WebView view, int newProgress) { if (view.getSettings().getCacheMode() == WebSettings.LOAD_CACHE_ONLY) { return; } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && cacheFileName != null && lastProgress != 100 && newProgress == 100) { lastProgress = newProgress; view.saveWebArchive(cacheFileName); } }
@CallSuper @Override public void onProgressChanged(WebView view, int newProgress) { if (view.getSettings().getCacheMode() == WebSettings.LOAD_CACHE_ONLY) { return; } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && cacheFileName != null && lastProgress != 100 && newProgress == 100) { lastProgress = newProgress; } }
@Test public void init_setsWebSettings() { mThreeDSecureWebView.init(mActivity); WebSettings settings = mThreeDSecureWebView.getSettings(); assertEquals(BraintreeHttpClient.getUserAgent(), settings.getUserAgentString()); assertEquals(WebSettings.LOAD_CACHE_ELSE_NETWORK, settings.getCacheMode()); assertTrue(settings.supportMultipleWindows()); assertTrue(settings.getJavaScriptEnabled()); assertTrue(settings.getBuiltInZoomControls()); assertFalse(settings.getDisplayZoomControls()); assertTrue(settings.getDomStorageEnabled()); assertTrue(settings.getDatabaseEnabled()); }