@Test public void testBrowserImplementationRotation() { createActivity(AdActivity.ACTIVITY_TYPE_BROWSER); WebView webView = new WebView(RuntimeEnvironment.application); BrowserAdActivity.BROWSER_QUEUE.add(webView); // create in one rotation implementation = new BrowserAdActivity(adActivity); implementation.create(); assertNotNull(implementation.getWebView()); assertEquals(0, BrowserAdActivity.BROWSER_QUEUE.size()); // @TODO rotate activity // assert implementation's webview is the same one // actually destroy it this time implementation.backPressed(); implementation.destroy(); assertEquals(0, BrowserAdActivity.BROWSER_QUEUE.size()); }
@Override protected void onCreate(Bundle b) { super.onCreate(b); String activityType = getIntent(). getStringExtra(INTENT_KEY_ACTIVITY_TYPE); if (StringUtil.isEmpty(activityType)) { Clog.e(Clog.baseLogTag, Clog.getString(R.string.adactivity_no_type)); finish(); } else if (ACTIVITY_TYPE_INTERSTITIAL.equals(activityType)) { implementation = new InterstitialAdActivity(this); implementation.create(); } else if (ACTIVITY_TYPE_BROWSER.equals(activityType)) { implementation = new BrowserAdActivity(this); implementation.create(); } else if (ACTIVITY_TYPE_MRAID.equals(activityType)) { implementation = new MRAIDAdActivity(this); implementation.create(); } CookieSyncManager.createInstance(this); CookieSyncManager csm = CookieSyncManager.getInstance(); if (csm != null) csm.startSync(); }
@Override public void onBackPressed() { if (implementation != null) { implementation.backPressed(); } super.onBackPressed(); }
@Override protected void onDestroy() { if (implementation != null) { implementation.destroy(); } super.onDestroy(); }
@Test public void testBrowserImplementationBackPressToDestroy() { testBrowserImplementationCreate(); implementation.backPressed(); implementation.destroy(); assertEquals(0, BrowserAdActivity.BROWSER_QUEUE.size()); }
@Test public void testBrowserImplementationCreateWithNullWebView() { // check for no crash createBrowserActivity(); implementation = new BrowserAdActivity(adActivity); implementation.create(); assertNull(implementation.getWebView()); assertEquals(0, BrowserAdActivity.BROWSER_QUEUE.size()); }
protected void interacted() { if (implementation != null) { implementation.interacted(); } }
@Override protected void onPause() { if (implementation != null) { WebviewUtil.onPause(implementation.getWebView()); } CookieSyncManager csm = CookieSyncManager.getInstance(); if (csm != null) csm.stopSync(); super.onPause(); }
@Test public void testBrowserImplementationDestroy() { testBrowserImplementationCreate(); implementation.destroy(); assertEquals(0, BrowserAdActivity.BROWSER_QUEUE.size()); }
@Override protected void onResume() { if (implementation != null) { WebviewUtil.onResume(implementation.getWebView()); } CookieSyncManager csm = CookieSyncManager.getInstance(); if (csm != null) csm.startSync(); super.onResume(); }
void browserLaunched() { if (adImplementation != null) { adImplementation.browserLaunched(); } }
@Override void interacted() { if (adImplementation != null) { adImplementation.interacted(); } }
private void createBrowserImplementation() { // create AdActivity object for implementation createBrowserActivity(); // creating an implementation consumes a webview WebView webView = new WebView(RuntimeEnvironment.application); BrowserAdActivity.BROWSER_QUEUE.add(webView); assertEquals(1, BrowserAdActivity.BROWSER_QUEUE.size()); implementation = new BrowserAdActivity(adActivity); implementation.create(); assertNotNull(implementation.getWebView()); assertEquals(0, BrowserAdActivity.BROWSER_QUEUE.size()); }