搜索
 找回密码
 立即注册

简单一步 , 微信登陆

Kappa ATSC平台设置父母锁后System Lock打到off无效

作者:HaoQiao | 时间:2016-9-28 17:56:02 | 阅读:3609| 只看该作者
Kappa ATSC平台设置父母锁后菜单System Lock打到off无效,寄菜单System Lock设置off后退出到DTV之前加锁的节目还是需要输入秘钥才能观看节目,解决方法在接收到的E_APP_CMD_ZUI_CHANGE_PARENTCTRL_LEVEL和E_APP_CMD_TV_CHG_PARENTCTRL_LEVEL命令模式下判断条件增加stSysSetting.g_systermlock为true或false不同情况下分别设置加锁或解锁:

static MS_BOOL _appMenu_CommandRcv(AppCommand *pCommand)
{
     ......
    switch (pCommand->eCmd)
    {
        ......   
        case E_APP_CMD_ZUI_CHANGE_PARENTCTRL_LEVEL:
        {
            ......
#if (defined ATSC_STYLE&&defined VCHIP_ENABLE)
                    if((vchiplock)&&(stSysSetting.g_systermlock == TRUE))
#else
            if (stBlockSysSetting.u8ParentalControl <= u8RatingLevel
                    && (stBlockSysSetting.u8ParentalControl != 3) )
#endif
            {
                g_u8Parenttrol = TRUE;
                tvview_AVDisable();
#if (defined DVBT_STYLE||defined (DVBT2_STYLE)||defined ATSC_STYLE)
                MApp_ZUI_Parentctrl_show(TRUE);
#endif
            }

#if (defined ATSC_STYLE&&defined VCHIP_ENABLE)
                    if((!vchiplock|| g_u8ParenttrolPwdStatus)&&(stSysSetting.g_systermlock == FALSE))
#else
            else if(stBlockSysSetting.u8ParentalControl == 3 || stBlockSysSetting.u8ParentalControl > u8RatingLevel || g_u8ParenttrolPwdStatus)
#endif
            {
                if(g_u8Parenttrol)
                {
                    g_u8Parenttrol = FALSE;
                    tvview_Enable();
#if (defined DVBT_STYLE||defined (DVBT2_STYLE)||defined ATSC_STYLE)
                    MApp_ZUI_Parentctrl_show(FALSE);
#endif
                }

            }
            break;
        }
        case E_APP_CMD_TV_CHG_PARENTCTRL_LEVEL:
        {
            if (_eAppStateMenu == E_APP_STAT_RUNNING)
            {

                if((MApp_ZUI_GetActiveOSD() == E_OSD_MANUAL_SCAN)||(MApp_ZUI_GetActiveOSD() == E_OSD_MENU_PHOTO_CONFIG)\
                    ||(MApp_ZUI_GetActiveOSD() == E_OSD_MENU_MOVIE_CONFIG)||(MApp_ZUI_GetActiveOSD() == E_OSD_MENU_PVR_FORMAT)\
                    ||(MApp_ZUI_GetActiveOSD() == E_OSD_MENU_PVR_DEVICE)||(MApp_ZUI_GetActiveOSD() == E_OSD_MENU_MEDIA_PLAY_SIMPLE_START_PVR)\
                    ||(MApp_ZUI_GetActiveOSD() == E_OSD_SCANNING)||(MApp_ZUI_GetActiveOSD() == E_OSD_AUTO_TUNING))
                {
                    break;
                }

                MS_BLOCKSYS_SETTING         stBlockSysSetting;
                eSERVICETYPE eServiceType = MApi_DB_CM_GetCurrentServiceType();
                MS_U16 wCurrentPosition = MApi_DB_CM_GetCurrentPosition( eServiceType );

                App_GetBlockData(&stBlockSysSetting);

#if (defined ATSC_STYLE&&defined VCHIP_ENABLE)
                            if (vchiplock&& wCurrentPosition == ((pTV_CMD_DATA_TV_CHG_PARENTCTRL)pCommand->u8Data)->u16ProgID
                                            && !g_u8ParenttrolPwdStatus && (stSysSetting.g_systermlock == TRUE))

#else
                if (stBlockSysSetting.u8ParentalControl <=
                        ((pTV_CMD_DATA_TV_CHG_PARENTCTRL)pCommand->u8Data)->u8Level
                        && wCurrentPosition == ((pTV_CMD_DATA_TV_CHG_PARENTCTRL)pCommand->u8Data)->u16ProgID
                        && (stBlockSysSetting.u8ParentalControl != 3) && !g_u8ParenttrolPwdStatus)
#endif
                {
                     MApp_Set_PASSWD_Chk_Flag(FALSE);
                    g_u8Parenttrol = TRUE;
                    tvview_AVDisable();
#if (defined DVBT_STYLE||defined (DVBT2_STYLE)||defined ATSC_STYLE)
                    MApp_ZUI_Parentctrl_show(TRUE);
#endif
                }
#if (defined ATSC_STYLE&&defined VCHIP_ENABLE)
                else if((!vchiplock || g_u8ParenttrolPwdStatus)&&(stSysSetting.g_systermlock == FALSE))
#else
                else if(stBlockSysSetting.u8ParentalControl >
                        ((pTV_CMD_DATA_TV_CHG_PARENTCTRL)pCommand->u8Data)->u8Level
#if 0 // todo (MS_Customer_SEL == Customer_BUSH)
                        || stBlockSysSetting.u8ParentalControl  == EN_F4_ParentalControl_Off || g_u8ParenttrolPwdStatus)
#else
                        || stBlockSysSetting.u8ParentalControl  == 3 || g_u8ParenttrolPwdStatus)
#endif
                {
#if 0 // todo (MS_Customer_SEL == Customer_BUSH)
                    if(stBlockSysSetting.u8ParentalControl == EN_F4_LockSystem_ALL)
                    {
                        break;
                    }
#endif
                    //if(g_u8Parenttrol)
                    {
                        MApp_Set_PASSWD_Chk_Flag(TRUE);
                        g_u8Parenttrol = FALSE;
                        tvview_Enable();
#if (defined DVBT_STYLE||defined (DVBT2_STYLE)||defined ATSC_STYLE)
                          MApp_ZUI_Parentctrl_show(FALSE);
#endif
                    }

                }
            }
            break;
        }
        ......
    }
}

收藏
收藏0
分享
分享
点赞
点赞0
反对
反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版