Custom opus lib bridges

This commit is contained in:
gdlbo
2022-05-10 20:18:59 +03:00
parent 39f72f9058
commit c911b2d64e
10 changed files with 84 additions and 10 deletions
@@ -1,4 +1,4 @@
package ru.vtosters.lite.badmanners;
package ru.vtosters.lite.deviceinfo;
public class Device {
private String androidId;
@@ -1,4 +1,4 @@
package ru.vtosters.lite.badmanners;
package ru.vtosters.lite.deviceinfo;
import android.bluetooth.BluetoothAdapter;
import android.content.Context;
@@ -19,7 +19,7 @@ import com.vtosters.lite.R;
import java.io.PrintWriter;
import java.io.StringWriter;
import ru.vtosters.lite.badmanners.DeviceInfoCollector;
import ru.vtosters.lite.deviceinfo.DeviceInfoCollector;
public class Crashreporter {
protected static String logString;
@@ -16,10 +16,10 @@ import android.net.NetworkInfo;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.widget.Toast;
import androidx.annotation.NonNull;
import com.vk.core.util.ToastUtils;
import com.vtosters.lite.UserProfile;
import com.vtosters.lite.VKActivity;
import com.vtosters.lite.api.ExtendedUserProfile;
@@ -144,7 +144,7 @@ public class Globals {
}
public static void sendToast(String text) {
ToastUtils.a(text);
Toast.makeText(getContext(), text, Toast.LENGTH_SHORT).show();
}
public static boolean isEmpty(String str) {
@@ -0,0 +1,62 @@
package ru.vtosters.lite.utils;
import static ru.vtosters.lite.utils.Preferences.dev;
import static ru.vtosters.lite.utils.Preferences.opusmodule;
import android.util.Log;
import com.vk.medianative.MediaNative;
import java.nio.ByteBuffer;
public class OpusLoader {
private static long timetracker;
private static boolean inited;
public static void LoadLibrary(String libname){
try {
System.loadLibrary(libname);
inited = true;
} catch (UnsatisfiedLinkError unused2) {
if(dev()) Log.d("VTLite", "Failed to load " + libname);
inited = false;
}
}
public static long getLength() {
if (isReadyToUse()) {
long length = System.currentTimeMillis() - timetracker;
timetracker = System.currentTimeMillis();
return length;
}
return 0L;
}
public static int AudioStartRecordBridge(String str) {
if (isReadyToUse()) {
// Init custom AudioStartRecord
timetracker = System.currentTimeMillis();
return 1;
}
return MediaNative.nativeAudioStartRecord(str);
}
public static int AudioWriteFrameBridge(ByteBuffer buffer, int length) {
if (isReadyToUse()) {
// Init custom AudioWriteFrame
}
return MediaNative.nativeAudioWriteFrame(buffer, length);
}
public static void AudioStopRecordBridge() {
if (isReadyToUse()) {
// Init custom AudioStopRecord
} else {
MediaNative.nativeAudioStopRecord();
}
}
private static boolean isReadyToUse() {
return opusmodule() && inited;
}
}
@@ -7,6 +7,7 @@ import static ru.vtosters.lite.utils.Globals.getContext;
import static ru.vtosters.lite.utils.Globals.getPreferences;
import static ru.vtosters.lite.utils.Globals.registerActivities;
import static ru.vtosters.lite.utils.Newsfeed.setupFilters;
import static ru.vtosters.lite.utils.OpusLoader.LoadLibrary;
import static ru.vtosters.lite.utils.Proxy.setProxy;
import android.app.Application;
@@ -30,6 +31,7 @@ public class Preferences {
migrate();
reloadMessagesList();
registerActivities(application);
LoadLibrary("vkopustest");
}
public static boolean BooleanFalse(String key) {
@@ -42,6 +44,10 @@ public class Preferences {
return prefs.getBoolean(key, true);
}
public static boolean opusmodule() {
return BooleanTrue("opusmodule");
}
public static boolean authorsrecomm() {
return BooleanTrue("authorsrecomm");
}