Chromium Code Reviews| Index: blimp/client/app/android/java/src/org/chromium/blimp/app/BlimpEnvironment.java |
| diff --git a/blimp/client/app/android/java/src/org/chromium/blimp/app/BlimpEnvironment.java b/blimp/client/app/android/java/src/org/chromium/blimp/app/BlimpEnvironment.java |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..de8077214a03eb0ab7e8c7678fc8985fe135eae7 |
| --- /dev/null |
| +++ b/blimp/client/app/android/java/src/org/chromium/blimp/app/BlimpEnvironment.java |
| @@ -0,0 +1,51 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +package org.chromium.blimp.app; |
| + |
| +import org.chromium.base.ThreadUtils; |
| +import org.chromium.base.annotations.CalledByNative; |
| +import org.chromium.base.annotations.JNINamespace; |
| +import org.chromium.blimp_public.BlimpClientContext; |
| + |
| +/** |
| + * BlimpEnvironment is the core environment required to run Blimp for Android. |
| + */ |
| +@JNINamespace("blimp::client") |
| +public class BlimpEnvironment { |
| + private static BlimpEnvironment sInstance; |
| + |
| + private long mBlimpEnvironmentNativePtr; |
| + |
| + public static BlimpEnvironment getInstance() { |
| + ThreadUtils.assertOnUiThread(); |
| + if (sInstance == null) { |
| + sInstance = new BlimpEnvironment(); |
| + } |
| + return sInstance; |
| + } |
| + |
| + private BlimpEnvironment() { |
| + mBlimpEnvironmentNativePtr = nativeInit(); |
| + } |
| + |
| + public void destroy() { |
|
David Trainor- moved to gerrit
2016/12/02 18:16:14
Should this clear the static?
nyquist
2016/12/02 22:35:47
Done.
|
| + assert mBlimpEnvironmentNativePtr != 0; |
| + nativeDestroy(mBlimpEnvironmentNativePtr); |
| + mBlimpEnvironmentNativePtr = 0; |
| + } |
| + |
| + public BlimpClientContext getBlimpClientContext() { |
| + return nativeGetBlimpClientContext(mBlimpEnvironmentNativePtr); |
| + } |
| + |
| + @CalledByNative |
| + private long getNativePtr() { |
| + return mBlimpEnvironmentNativePtr; |
| + } |
| + |
| + private native long nativeInit(); |
| + private native void nativeDestroy(long nativeBlimpEnvironment); |
| + private native BlimpClientContext nativeGetBlimpClientContext(long nativeBlimpEnvironment); |
| +} |