HHConfig.java 6.2 KB
package com.hhmedic.android.sdk.config;

import android.content.pm.ActivityInfo;
import android.text.TextUtils;
import android.view.Surface;


/**
 * Created by iOS on 2016/11/1.
 *
 *
 */

public class HHConfig
{


    public  static boolean DEBUG = false;

    private static boolean TEST_MODEL = false;

    public  static boolean OPEN_CAMERA = true;

    public static boolean ENABLE_PUSH = true;

    //设置成true后可以使用接入方自己定义的铃声,不播放方SDK默认铃声
    public static boolean USE_CUSTOM_RING_SOUND = false;

    public static boolean VIDEO_DEFAULT_FRONT_CAMERA = true;

    private static final String SDK_VERSION = "2.8.0";

    private static String PID = "3001";


    //请求扩展字段 第三方设置
    private static String ext = null;


    public static MessageOptions mMessageOptions;


    public static boolean isTest()
    {
        return TEST_MODEL;
    }


    public static String getExtString(){

        return ext;
    }


    public static DeviceType DEVICE_TYPE = DeviceType.NORMAL;


    public static int ORIENTATION = ActivityInfo.SCREEN_ORIENTATION_BEHIND;

    public static int deviceDefaultRotation = Surface.ROTATION_0;

    public static boolean enableVideoRotateInRending = true;

    public static boolean ENABLE_CALL_ERROR_TOAST = true;

    public static boolean isSkipEditMember = false;

    public static boolean useSampleRate16K_HZ = false;

    public static boolean useSampleRate48K_HZ = false;

    public static boolean useSoundStreamMusic = false;

    public static boolean enableHighQualityMusic = false;

    public static boolean enableEffectAcousticEchoCanceler = true;

    public static int localRenderRotation = 0;
    /**
     * 是否开启评价功能,在视频超过3分钟挂断的时候会弹出,如果不需要可以设置为false,建议开启评价功能
     */
    public static boolean isOpenEvaluation = true;

    public static String tabletSlogan;

    public static boolean canAddMember = true;

    public static String messageTitle;

    public static boolean canShowMultiCall = false;

    public static boolean enableVideoFullScreen = false;

    public static boolean enableActivate = true;

    public static boolean enableMedical = true;

    public static boolean enableCustomPreviewSize = false;

    public static boolean enableVipInfo = true;

    public static boolean enableAddMemberInDoc = true;

    public static boolean isSound()
    {
        if (DEVICE_TYPE == null)
        {
            DEVICE_TYPE = DeviceType.NORMAL;
        }

        return DEVICE_TYPE == DeviceType.SOUND;
    }


    public static boolean isTV()
    {
        if (DEVICE_TYPE == null)
        {
            DEVICE_TYPE = DeviceType.NORMAL;
        }

        return DEVICE_TYPE == DeviceType.TV;
    }


    public static DeviceType getDeviceType()
    {
        if (DEVICE_TYPE == null)
        {
            DEVICE_TYPE = DeviceType.NORMAL;
        }

        return DEVICE_TYPE;
    }

    public static void openTest()
    {
        TEST_MODEL = true;
    }

    public static void closeTest()
    {
        TEST_MODEL = false;
    }

    public static void setOpenEvaluation(boolean isOpen) {
        isOpenEvaluation = isOpen;
    }

    public static boolean getOpenEvaluation() {

        if (isTV()){
            return false;
        }

        return isOpenEvaluation;
    }


    public static void setPid(String pid)
    {
        if (!TextUtils.isEmpty(pid))
        {
            PID = pid;
        }
    }

    public static String getPid()
    {
        return PID;
    }


    public static String getSdkVersion()
    {
        return SDK_VERSION;
    }




    public static void initFromOption(HHSDKOptions options){

        if (options.dev) {
            HHConfig.openTest();
        } else {
            HHConfig.closeTest();
        }

        HHConfig.setPid(options.getSdkProductId());

        HHConfig.DEBUG = options.isDebug;

        if (options.mDeviceType !=  null) {

            HHConfig.DEVICE_TYPE = options.mDeviceType;
        }

        HHConfig.ORIENTATION = options.mOrientation;

        HHConfig.OPEN_CAMERA = options.isOpenCamera;

        HHConfig.USE_CUSTOM_RING_SOUND = options.useCustomRingSound;

        HHConfig.setOpenEvaluation(options.isOpenEvaluation);

        HHConfig.VIDEO_DEFAULT_FRONT_CAMERA = options.videoDefaultFrontCamera;

        HHConfig.deviceDefaultRotation = options.deviceDefaultRotation;

        HHConfig.enableVideoRotateInRending = options.enableVideoRotateInRending;

        HHConfig.ENABLE_PUSH = options.enablePush;

        HHConfig.ENABLE_CALL_ERROR_TOAST = options.enableCallErrorToast;

        HHConfig.useSampleRate16K_HZ = options.useSampleRate16K_HZ;

        HHConfig.useSampleRate48K_HZ = options.useSampleRate48K_HZ;

        HHConfig.useSoundStreamMusic = options.useSoundStreamMusic;

        HHConfig.enableHighQualityMusic = options.enableHighQualityMusic;

        HHConfig.enableEffectAcousticEchoCanceler = options.enableEffectAcousticEchoCanceler;

        HHConfig.localRenderRotation = options.localRenderRotation;

        HHConfig.canAddMember = options.enableAddMember;

        HHConfig.canShowMultiCall = options.enableMultiCall;

        HHConfig.tabletSlogan = options.mCompanySloganTip;

        HHConfig.messageTitle = options.messageTitle;

        HHConfig.setExt(options.mExtensionString);

        HHConfig.enableVideoFullScreen = options.enableVideoFullScreen;

        HHConfig.enableActivate = options.enableActivate;

        HHConfig.enableMedical = options.enableMedical;

        HHConfig.mMessageOptions = options.messageOptions;

        HHConfig.enableCustomPreviewSize = options.enableCustomPreviewSize;

        HHConfig.enableVipInfo = options.enableVipInfo;

        HHConfig.enableAddMemberInDoc = options.enableAddMemberInDoc;

        if (options.mSenderConfig != null){

            if (!TextUtils.isEmpty(options.mSenderConfig.getIcon())){

                SystemSenderInfo.ICON = options.mSenderConfig.getIcon();
            }

            if (!TextUtils.isEmpty(options.mSenderConfig.getNickName())){

                SystemSenderInfo.NAME = options.mSenderConfig.getNickName();
            }

        }
    }



    public static void setExt(String ext){

        HHConfig.ext = ext;
    }


}