1 // Copyright (c) 2014 Intel Corporation. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 package org.xwalk.core;
7 import android.app.Activity;
8 import android.content.Context;
9 import android.util.AttributeSet;
12 * The XWalkView that allows to use Crosswalk's shared library.
14 public class SharedXWalkView extends XWalkView {
16 private static boolean initialized = false;
18 public SharedXWalkView(Context context, AttributeSet attrs,
19 SharedXWalkExceptionHandler handler) {
20 super(verifyActivity(context), attrs);
23 public SharedXWalkView(Context context, Activity activity) {
24 super(context, verifyActivity(activity));
27 private static Activity verifyActivity(Context context) {
28 assert context instanceof Activity;
29 if (!initialized) initialize(context, null);
30 return (Activity) context;
33 public static void initialize(Context context, SharedXWalkExceptionHandler handler) {
34 if (initialized) return;
36 assert context.getApplicationContext() instanceof XWalkApplication;
37 ReflectionHelper.allowCrossPackage();
38 if (handler != null) ReflectionHelper.setExceptionHandler(handler);
42 public static boolean containsLibrary() {
43 return !ReflectionHelper.shouldUseLibrary();
46 public static boolean isUsingLibrary() {
47 return ReflectionHelper.isUsingLibrary();