aboutsummaryrefslogtreecommitdiff
path: root/android/olm-sdk/src/main/java/org/matrix/olm/OlmManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'android/olm-sdk/src/main/java/org/matrix/olm/OlmManager.java')
-rw-r--r--android/olm-sdk/src/main/java/org/matrix/olm/OlmManager.java64
1 files changed, 64 insertions, 0 deletions
diff --git a/android/olm-sdk/src/main/java/org/matrix/olm/OlmManager.java b/android/olm-sdk/src/main/java/org/matrix/olm/OlmManager.java
new file mode 100644
index 0000000..c1e6031
--- /dev/null
+++ b/android/olm-sdk/src/main/java/org/matrix/olm/OlmManager.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2016 OpenMarket Ltd
+ * Copyright 2016 Vector Creations Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.matrix.olm;
+
+import android.content.Context;
+import android.util.Log;
+
+/**
+ * Olm SDK entry point class.<br> An OlmManager instance must be created at first to enable native library load.
+ * <br><br>Detailed implementation guide is available at <a href="http://matrix.org/docs/guides/e2e_implementation.html">Implementing End-to-End Encryption in Matrix clients</a>.
+ */
+public class OlmManager {
+ private static final String LOG_TAG = "OlmManager";
+
+ /**
+ * Constructor.
+ */
+ public OlmManager() {
+ }
+
+ static {
+ try {
+ java.lang.System.loadLibrary("olm");
+ } catch(UnsatisfiedLinkError e) {
+ Log.e(LOG_TAG,"Exception loadLibrary() - Msg="+e.getMessage());
+ }
+ }
+
+ /**
+ * Provide the android library version
+ * @param context the context
+ * @return the library version
+ */
+ public String getSdkOlmVersion(Context context) {
+ String gitVersion = context.getResources().getString(R.string.git_olm_revision);
+ String date = context.getResources().getString(R.string.git_olm_revision_date);
+ return gitVersion + "-" + date;
+ }
+
+ /**
+ * Get the OLM lib version.
+ * @return the lib version as a string
+ */
+ public String getOlmLibVersion(){
+ return getOlmLibVersionJni();
+ }
+ public native String getOlmLibVersionJni();
+}
+