#define ENABLED "enabled"
#define SIG_CLICKED "clicked"
+#define KEY_PASSCODE "settings/system/change_passcode"
+#define ITEM_CHANNEL_LOCK_ID "channel-lock"
+
enum focused_state {
FOCUS_MAIN_ITEM = 1,
FOCUS_SUB_ITEM
int cnt;
Eina_Array_Iterator a;
unsigned int i;
- const char *style, *status;
+ const char *id, *passcode, *style, *status;
Eina_Array *enabled;
if (!data || !name || !data->base) {
evas_object_data_set(btn, SUBITEM_DATA_ID, item);
- status = settingitem_get_status(item);
+ id = settingitem_get_id(item);
+ if (id && !strncmp(id, ITEM_CHANNEL_LOCK_ID, strlen(id))
+ && (provider_get_passcode(KEY_PASSCODE, &passcode) == -1)) {
+ /*Disable channel lock menu if passcode has not been setup yet*/
+ status = DISABLED;
+ } else {
+ status = settingitem_get_status(item);
+ }
+
if (status && !strncmp(status, DISABLED, strlen(status))) {
elm_object_disabled_set(btn, EINA_TRUE);
evas_object_freeze_events_set(btn, EINA_TRUE);
return 0;
passcode = NULL;
- provider_get_passcode(KEY_PASSCODE, &passcode);
+ if (provider_get_passcode(KEY_PASSCODE, &passcode) == -1) {
+ _DBG("Passcode has not been setup yet");
+ return 1;
+ }
if (strncmp(data->passcode, passcode, strlen(passcode))) {
free(passcode);