Example usage for com.facebook.react.uimanager ThemedReactContext addLifecycleEventListener

List of usage examples for com.facebook.react.uimanager ThemedReactContext addLifecycleEventListener

Introduction

In this page you can find the example usage for com.facebook.react.uimanager ThemedReactContext addLifecycleEventListener.

Prototype

@Override
    public void addLifecycleEventListener(LifecycleEventListener listener) 

Source Link

Usage

From source file:com.blockablewebview.BlockableWebViewManager.java

License:Open Source License

@Override
protected WebView createViewInstance(ThemedReactContext reactContext) {
    BlockableWebView webView = new BlockableWebView(reactContext);
    webView.setWebChromeClient(new WebChromeClient() {
        @Override//  ww  w  .java 2 s  . c  o m
        public void onGeolocationPermissionsShowPrompt(String origin,
                GeolocationPermissions.Callback callback) {
            callback.invoke(origin, true, false);
        }
    });
    reactContext.addLifecycleEventListener(webView);
    mWebViewConfig.configWebView(webView);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setDisplayZoomControls(false);

    // Fixes broken full-screen modals/galleries due to body height being 0.
    webView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

    if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        WebView.setWebContentsDebuggingEnabled(true);
    }

    return webView;
}

From source file:com.coship.video.ijkplayer.IjkVideoView.java

License:Apache License

public IjkVideoView(ThemedReactContext context) {
    super(context);
    this.eventEmitter = new VideoEventEmitter(context);
    context.addLifecycleEventListener(this);
    initVideoView(context);//from w  ww . j  a  v a2  s . c  o  m
}

From source file:com.lightappbuilder.lab4.lablibrary.rnviews.webview.ReactWebViewManager.java

License:Open Source License

@Override
protected DynamicSizeWrapperView createViewInstance(ThemedReactContext reactContext) {
    ReactWebView webView = new ReactWebView(reactContext);

    //LAB /*from  ww w.ja v a  2s . c o  m*/
    webView.setOverScrollMode(View.OVER_SCROLL_NEVER);
    //webView.setBackgroundColor(0);

    webView.setWebChromeClient(new LABWebChromeClient(reactContext));
    reactContext.addLifecycleEventListener(webView);
    mWebViewConfig.configWebView(webView);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setDisplayZoomControls(false);

    // Fixes broken full-screen modals/galleries due to body height being 0.
    webView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

    if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        WebView.setWebContentsDebuggingEnabled(true);
    }

    WebSettings webSettings = webView.getSettings();
    webSettings.setUserAgentString(webSettings.getUserAgentString() + " " + Config.userAgent());
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        // http://www.jianshu.com/p/ff55a923f648
        webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
    }

    DynamicSizeWrapperView view = new DynamicSizeWrapperView(reactContext);
    view.addView(webView, view.getFitContentLayoutParams(false, false));
    view.setSizeBridge(new DynamicSizeShadowNodeBridge(reactContext, view));
    return view;
}

From source file:com.phxrb.CWebView.RNWebViewManager.java

License:Open Source License

@Override
protected WebView createViewInstance(ThemedReactContext reactContext) {
    ReactWebView webView = new ReactWebView(reactContext);
    webView.getSettings().setAllowFileAccess(true);
    webView.setWebChromeClient(new WebChromeClient() {
        @Override//from w ww .j  av a  2 s.  c  om
        public boolean onConsoleMessage(ConsoleMessage message) {
            if (ReactBuildConfig.DEBUG) {
                return super.onConsoleMessage(message);
            }
            // Ignore console logs in non debug builds.
            return true;
        }

        @Override
        public void onGeolocationPermissionsShowPrompt(String origin,
                GeolocationPermissions.Callback callback) {
            callback.invoke(origin, true, false);
        }

        @Override
        public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
            getPackage().getModule().showAlert(url, message, result);
            return true;
        }

        @SuppressWarnings("unused")
        public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
            getPackage().getModule().startFileChooserIntent(uploadMsg, acceptType);
        }

        // For Android 5.0+
        @Override
        @SuppressLint("NewApi")
        public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback,
                FileChooserParams fileChooserParams) {
            return getPackage().getModule().startFileChooserIntent(filePathCallback,
                    fileChooserParams.createIntent());
        }

    });
    reactContext.addLifecycleEventListener(webView);
    mWebViewConfig.configWebView(webView);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setDisplayZoomControls(false);
    webView.getSettings().setDomStorageEnabled(true);

    // Fixes broken full-screen modals/galleries due to body height being 0.
    webView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

    if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        WebView.setWebContentsDebuggingEnabled(true);
    }

    return webView;
}

From source file:com.reactlibrary.RNWebViewLocalCacheManager.java

License:Open Source License

@Override
protected WebView createViewInstance(ThemedReactContext reactContext) {
    ReactWebView webView = new ReactWebView(reactContext);
    webView.setWebChromeClient(new WebChromeClient() {
        @Override/*from   w w  w .  j a va  2 s  .  co  m*/
        public void onGeolocationPermissionsShowPrompt(String origin,
                GeolocationPermissions.Callback callback) {
            callback.invoke(origin, true, false);
        }
    });
    reactContext.addLifecycleEventListener(webView);
    mWebViewConfig.configWebView(webView);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setDisplayZoomControls(false);

    // Fixes broken full-screen modals/galleries due to body height being 0.
    webView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

    if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        WebView.setWebContentsDebuggingEnabled(true);
    }

    return webView;
}

From source file:com.roihuapp.CacheClearableWebViewManager.java

License:Open Source License

@Override
protected WebView createViewInstance(ThemedReactContext reactContext) {
    ReactWebView webView = new ReactWebView(reactContext);
    reactContext.addLifecycleEventListener(webView);
    mWebViewConfig.configWebView(webView);

    if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        WebView.setWebContentsDebuggingEnabled(true);
    }// w ww .ja v a 2  s.  c om

    return webView;
}

From source file:com.testproject.webview.XWalkViewManager.java

License:Open Source License

@Override
protected XWalkView createViewInstance(ThemedReactContext reactContext) {
    RXWalkView webView = new RXWalkView(mActivity);
    webView.setReactContext(reactContext);
    webView.setResourceClient(new ResourceClient(webView));
    reactContext.addLifecycleEventListener(webView);
    mWebViewConfig.configWebView(webView);

    if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        WebView.setWebContentsDebuggingEnabled(true);
    }/*from www .j a  v a2s  .c o m*/

    return webView;
}

From source file:com.testweb.views.ReactAdvancedWebViewManager.java

License:Open Source License

@Override
protected AdvancedWebView createViewInstance(ThemedReactContext reactContext) {
    this.reactContext = reactContext;
    final ReactWebView webView = new ReactWebView(reactContext);
    activity = reactContext.getNativeModule(XiuJavaModule.class).getActivity();
    reactContext.getNativeModule(XiuJavaModule.class).reactContext
            .addActivityEventListener(new ActivityEventListener() {
                @Override//from  w w  w . ja  va  2 s.com
                public void onActivityResult(int requestCode, int resultCode, Intent data) {
                    webView.onActivityResult(requestCode, resultCode, data);
                }
            });
    webView.setListener(activity, new AdvancedWebView.Listener() {
        @Override
        public void onPageStarted(String url, Bitmap favicon) {
        }

        @Override
        public void onPageFinished(String url) {
        }

        @Override
        public void onPageError(int errorCode, String description, String failingUrl) {
        }

        @Override
        public void onDownloadRequested(String url, String userAgent, String contentDisposition,
                String mimetype, long contentLength) {
        }

        @Override
        public void onExternalPageRequest(String url) {
        }
    });
    WebSettings webSettings = webView.getSettings();
    webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);
    webSettings.setTextZoom(100);
    Log.e("ReactTag", "ReactAdvancedWebViewManager created");

    //        webView.setWebChromeClient(new WebChromeClient());
    reactContext.addLifecycleEventListener(webView);
    mWebViewConfig.configWebView(webView);

    if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        WebView.setWebContentsDebuggingEnabled(true);
    }

    return webView;
}

From source file:fr.bamlab.webview.ReactWebViewManager.java

License:Open Source License

@Override
protected WebView createViewInstance(ThemedReactContext reactContext) {
    final ReactWebView webView = new ReactWebView(reactContext);
    webView.setWebChromeClient(new VideoWebChromeClient(reactContext.getCurrentActivity(), webView) {
        @Override//from  w w w.  j  av  a2 s  .  c  o  m
        public void onGeolocationPermissionsShowPrompt(String origin,
                GeolocationPermissions.Callback callback) {
            callback.invoke(origin, true, false);
        }
    });
    reactContext.addLifecycleEventListener(webView);
    mWebViewConfig.configWebView(webView);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setDisplayZoomControls(false);

    // Fixes broken full-screen modals/galleries due to body height being 0.
    webView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

    if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        WebView.setWebContentsDebuggingEnabled(true);
    }

    return webView;
}