From 1e390e675766237707e6535079578c05000899e6 Mon Sep 17 00:00:00 2001 From: manmohan kumar Date: Mon, 14 Aug 2017 16:34:13 +0530 Subject: [PATCH] [ITC][badge][ACR-1046][Added badge feature as per ACR] Change-Id: I9a197c14fb0b8232b903eef6157cf74af1fbe626 Signed-off-by: manmohan kumar --- src/itc/badge/ITs-badge-common.c | 3 ++- src/itc/badge/ITs-badge-common.h | 17 +++++++++++++++-- src/itc/badge/ITs-badge.c | 32 +++++++++++++++++++++++++++----- 3 files changed, 44 insertions(+), 8 deletions(-) diff --git a/src/itc/badge/ITs-badge-common.c b/src/itc/badge/ITs-badge-common.c index 5cc79034f..f872ee378 100755 --- a/src/itc/badge/ITs-badge-common.c +++ b/src/itc/badge/ITs-badge-common.c @@ -41,6 +41,7 @@ char *BadgeGetError(int nRet) case BADGE_ERROR_PERMISSION_DENIED: szErrorVal = "BADGE_ERROR_PERMISSION_DENIED"; break; case BADGE_ERROR_SERVICE_NOT_READY: szErrorVal = "BADGE_ERROR_SERVICE_NOT_READY"; break; case BADGE_ERROR_INVALID_PACKAGE: szErrorVal = "BADGE_ERROR_INVALID_PACKAGE"; break; + case BADGE_ERROR_NOT_SUPPORTED: szErrorVal = "BADGE_ERROR_NOT_SUPPORTED"; break; default: szErrorVal = "Unknown Error"; break; } @@ -95,4 +96,4 @@ void QuitGmainLoop(void) } } -/** @} */ \ No newline at end of file +/** @} */ diff --git a/src/itc/badge/ITs-badge-common.h b/src/itc/badge/ITs-badge-common.h index c937cfe81..6d88ffd7b 100755 --- a/src/itc/badge/ITs-badge-common.h +++ b/src/itc/badge/ITs-badge-common.h @@ -30,20 +30,33 @@ #define BADGE_PACKAGE "native.badge-itc" #define API_NAMESPACE "BADGE_ITC" #define TIMEOUT_CB 15000 +#define BADGE_FEATURE "http://tizen.org/feature/badge" //Add helper function declarations here #define START_TEST {\ FPRINTF("[Line : %d] Starting test : %s\\n", __LINE__ ,__FUNCTION__);\ + if(g_bBadgeNotSupported)\ + {\ + FPRINTF("[Line : %d][%s] Feature =%s not supported :success ", __LINE__, API_NAMESPACE, BADGE_FEATURE);\ + return 0;\ + }\ + else if (g_bBadgeMismatch)\ + {\ + FPRINTF("[Line : %d][%s] Precondition of badge create feature=%s:Mismatch,failure ", __LINE__, API_NAMESPACE, BADGE_FEATURE);\ + return 1;\ + }\ if ( !g_bBadgeInit )\ {\ - FPRINTF("[Line : %d] [badge_ITC] Precondition of badge create failed\\n", __LINE__);\ - return 1;\ + FPRINTF("[Line : %d] [badge_ITC] Precondition of badge create failed\\n", __LINE__);\ + return 1;\ }\ } int g_nTimeoutId; GMainLoop *g_pMainLoop; bool g_bCallBackHit; +bool g_bBadgeNotSupported; +bool g_bBadgeMismatch; char *BadgeGetError(int nRet); gboolean TimeoutFunction(gpointer data); diff --git a/src/itc/badge/ITs-badge.c b/src/itc/badge/ITs-badge.c index fbb3afceb..01dec4d45 100755 --- a/src/itc/badge/ITs-badge.c +++ b/src/itc/badge/ITs-badge.c @@ -70,7 +70,9 @@ bool g_bBadgeInit = false; void ITs_badge_startup(void) { g_bBadgeInit = false; - struct stat stBuff; + g_bBadgeNotSupported = false; + g_bBadgeMismatch = false; + struct stat stBuff; if ( stat(ERR_LOG, &stBuff) == 0 ) { remove(ERR_LOG); @@ -82,6 +84,26 @@ void ITs_badge_startup(void) //badge_app_id, the id of the application for which the badge to be created, can be null when creating a badge for itself badge_error_e eRetValue = badge_add(/*BADGE_PACKAGE*/NULL); + bool bFeatureBadge = TCTCheckSystemInfoFeatureSupported(BADGE_FEATURE, API_NAMESPACE); + + if(!bFeatureBadge) + { + if(eRetValue == BADGE_ERROR_NOT_SUPPORTED) + { + FPRINTF("[Line : %d][%s] badge_add() returned %s error for unsupported feature :success \\n", __LINE__, + API_NAMESPACE, BadgeGetError(eRetValue)); + g_bBadgeNotSupported = true; + } + else + { + FPRINTF("[Line : %d][%s] badge_add() returned %s error for unsupported feature, error mismatch :Failure \\n", + __LINE__, API_NAMESPACE, BadgeGetError(eRetValue)); + g_bBadgeMismatch = true; + } + + return; + } + if ( eRetValue == BADGE_ERROR_NONE || eRetValue == BADGE_ERROR_ALREADY_EXIST ) { FPRINTF("[Line : %d] [%s] badge_add succeeded in startup\\n", __LINE__, API_NAMESPACE); @@ -248,7 +270,7 @@ int ITc_badge_set_get_count_p(void) { FPRINTF("[Line : %d] [%s] badge_get_count failed , error returned = get and set values are not same\\n", __LINE__, API_NAMESPACE); return 1; - } + } return 0; } @@ -287,7 +309,7 @@ int ITc_badge_set_get_display_p(void) { FPRINTF("[Line : %d] [%s] badge_get_display failed , error returned = get and set values are not same\\n", __LINE__, API_NAMESPACE); return 1; - } + } return 0; } @@ -316,7 +338,7 @@ int ITc_badge_foreach_p(void) nRet = badge_foreach(BadgeForeachCallBack, NULL); PRINT_RESULT(BADGE_ERROR_NONE, nRet, "badge_foreach", BadgeGetError(nRet)); PRINT_RESULT(true, g_bCallBackHit, "badge_foreach", "CallBack Not Invoked"); - + return 0; } @@ -351,7 +373,7 @@ int ITc_badge_register_unregister_changed_cb_p(void) PRINT_RESULT(true, g_bCallBackHit, "badge_register_changed_cb", "CallBack Not Invoked"); nRet = badge_unregister_changed_cb(BadgeChangedCallBack); PRINT_RESULT(BADGE_ERROR_NONE, nRet, "badge_unregister_changed_cb", BadgeGetError(nRet)); - + return 0; } -- 2.34.1