思特奇智慧酒店云平台 v0.0.5版本的 MD5 值为:dedb172bb322639d79d7e0e26262fb5c
以下内容为反编译后的 Hacks.java 源代码,内容仅作参考
package org.linphone.mediastream.video.capture.hwconf;
import android.hardware.Camera;
import android.os.Build;
import org.linphone.mediastream.Log;
import org.linphone.mediastream.Version;
public final class Hacks {
public static BuiltInEchoCancellerModel[] mBuiltInEchoCancellerModels = {new BuiltInEchoCancellerModel("samsung", "GT-I9100"), new BuiltInEchoCancellerModel("samsung", "GT-I9300")};
public static class BuiltInEchoCancellerModel {
public String manufacturer;
public String model;
public BuiltInEchoCancellerModel(String str, String str2) {
this.manufacturer = str;
this.model = str2;
}
}
public static boolean hasBuiltInEchoCanceller() {
BuiltInEchoCancellerModel[] builtInEchoCancellerModelArr;
for (BuiltInEchoCancellerModel builtInEchoCancellerModel : mBuiltInEchoCancellerModels) {
if (Build.MANUFACTURER.equals(builtInEchoCancellerModel.manufacturer) && Build.MODEL.startsWith(builtInEchoCancellerModel.model)) {
Log.i(Build.MANUFACTURER + " " + Build.MODEL + " has a built-in echo canceller");
return true;
}
}
Log.i(Build.MANUFACTURER + " " + Build.MODEL + " doesn't have a built-in echo canceller");
return false;
}
public static boolean hasCamera() {
int i;
if (Version.sdkAboveOrEqual(9)) {
try {
i = ((Integer) Camera.class.getMethod("getNumberOfCameras", null).invoke(null, new Object[0])).intValue();
} catch (Exception unused) {
Log.e("Error getting number of cameras");
i = 0;
}
return i > 0;
}
Log.i("Hack: considering there IS a camera.\nIf it is not the case, report DEVICE and MODEL to linphone-users@nongnu.org");
return true;
}
public static final boolean hasTwoCamerasRear0Front1() {
return isLGP970() || isSPHD700() || isADR6400();
}
public static final boolean isADR6400() {
return Build.MODEL.startsWith("ADR6400") || Build.DEVICE.startsWith("ADR6400");
}
public static boolean isGT9000() {
return Build.DEVICE.startsWith("GT-I9000");
}
public static boolean isGTP1000() {
return Build.DEVICE.startsWith("GT-P1000");
}
public static boolean isGalaxyS() {
return isGT9000() || isSC02B() || isSGHI896() || isSPHD700();
}
public static boolean isGalaxySOrTab() {
return isGalaxyS() || isGalaxyTab();
}
public static boolean isGalaxySOrTabWithFrontCamera() {
return isGalaxySOrTab() && !isGalaxySOrTabWithoutFrontCamera();
}
public static boolean isGalaxySOrTabWithoutFrontCamera() {
return isSC02B() || isSGHI896();
}
public static boolean isGalaxyTab() {
return isGTP1000();
}
public static final boolean isLGP970() {
return Build.DEVICE.startsWith("LG-P970");
}
public static boolean isSC02B() {
return Build.DEVICE.startsWith("SC-02B");
}
public static boolean isSGHI896() {
return Build.DEVICE.startsWith("SGH-I896");
}
public static final boolean isSPHD700() {
return Build.DEVICE.startsWith("SPH-D700");
}
public static boolean needGalaxySAudioHack() {
return isGalaxySOrTab() && !isSC02B();
}
public static boolean needPausingCallForSpeakers() {
return needGalaxySAudioHack();
}
public static boolean needSoftvolume() {
return isGalaxySOrTab() && Version.sdkStrictlyBelow(9);
}
public static final void sleep(int i) {
try {
Thread.sleep(i);
} catch (InterruptedException unused) {
}
}
}