Browse Source

feat(android) adds initializer for SoLoader.init

master
tmoldovan8x8 3 years ago
parent
commit
3b33ba3f5d
No account linked to committer's email address

+ 1
- 0
android/sdk/build.gradle View File

48
     implementation 'com.jakewharton.timber:timber:4.7.1'
48
     implementation 'com.jakewharton.timber:timber:4.7.1'
49
     implementation 'com.squareup.duktape:duktape-android:1.3.0'
49
     implementation 'com.squareup.duktape:duktape-android:1.3.0'
50
     implementation 'com.google.code.gson:gson:2.8.6'
50
     implementation 'com.google.code.gson:gson:2.8.6'
51
+    implementation "androidx.startup:startup-runtime:1.1.0"
51
 
52
 
52
     if (rootProject.ext.libreBuild) {
53
     if (rootProject.ext.libreBuild) {
53
         implementation(project(':react-native-device-info')) {
54
         implementation(project(':react-native-device-info')) {

+ 8
- 0
android/sdk/src/main/AndroidManifest.xml View File

57
             android:enabled="false"
57
             android:enabled="false"
58
             tools:replace="android:authorities">
58
             tools:replace="android:authorities">
59
         </provider>
59
         </provider>
60
+        <provider
61
+            android:name="androidx.startup.InitializationProvider"
62
+            android:authorities="${applicationId}.androidx-startup"
63
+            android:exported="false">
64
+            <meta-data  android:name="org.jitsi.meet.sdk.JitsiInitializer"
65
+                android:value="androidx.startup" />
66
+        </provider>
67
+
60
     </application>
68
     </application>
61
 
69
 
62
 </manifest>
70
 </manifest>

+ 42
- 0
android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiInitializer.java View File

1
+/*
2
+ * Copyright @ 2021-present 8x8, Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ *     http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+package org.jitsi.meet.sdk;
17
+
18
+import android.content.Context;
19
+
20
+import androidx.annotation.NonNull;
21
+import androidx.startup.Initializer;
22
+
23
+import com.facebook.soloader.SoLoader;
24
+
25
+import java.util.ArrayList;
26
+import java.util.List;
27
+
28
+public class JitsiInitializer implements Initializer<Boolean> {
29
+
30
+    @NonNull
31
+    @Override
32
+    public Boolean create(@NonNull Context context) {
33
+        SoLoader.init(context, /* native exopackage */ false);
34
+        return true;
35
+    }
36
+
37
+    @NonNull
38
+    @Override
39
+    public List<Class<? extends Initializer<?>>> dependencies() {
40
+        return new ArrayList<>();
41
+    }
42
+}

+ 0
- 3
android/sdk/src/main/java/org/jitsi/meet/sdk/ReactInstanceManagerHolder.java View File

30
 import com.facebook.react.jscexecutor.JSCExecutorFactory;
30
 import com.facebook.react.jscexecutor.JSCExecutorFactory;
31
 import com.facebook.react.modules.core.DeviceEventManagerModule;
31
 import com.facebook.react.modules.core.DeviceEventManagerModule;
32
 import com.facebook.react.uimanager.ViewManager;
32
 import com.facebook.react.uimanager.ViewManager;
33
-import com.facebook.soloader.SoLoader;
34
 import com.oney.WebRTCModule.RTCVideoViewManager;
33
 import com.oney.WebRTCModule.RTCVideoViewManager;
35
 import com.oney.WebRTCModule.WebRTCModule;
34
 import com.oney.WebRTCModule.WebRTCModule;
36
 
35
 
174
             return;
173
             return;
175
         }
174
         }
176
 
175
 
177
-        SoLoader.init(activity.getApplication(), /* native exopackage */ false);
178
-
179
         List<ReactPackage> packages
176
         List<ReactPackage> packages
180
             = new ArrayList<>(Arrays.asList(
177
             = new ArrayList<>(Arrays.asList(
181
                 new com.calendarevents.CalendarEventsPackage(),
178
                 new com.calendarevents.CalendarEventsPackage(),

Loading…
Cancel
Save