Require PIN for browser if browser access restricted

This commit is contained in:
2024-05-07 21:25:45 -04:00
parent 64d65417fa
commit c6b6f560be
3 changed files with 49 additions and 0 deletions

View File

@@ -111,6 +111,17 @@ Result close_archives(void)
return 0;
}
Result load_parental_controls(Parental_Restrictions_s *restrictions)
{
char parental_data[0xC0] = {0};
Result res;
if (R_FAILED(res = CFG_GetConfigInfoBlk8(0xC0, 0x000C0000, &parental_data))) return res;
memcpy(restrictions, parental_data, 4);
return 0;
}
u32 file_to_buf(FS_Path path, FS_Archive archive, char** buf)
{
Handle file;

View File

@@ -490,6 +490,26 @@ bool themeplaza_browser(EntryMode mode)
{
bool downloaded = false;
Parental_Restrictions_s restrictions = {0};
Result res = load_parental_controls(&restrictions);
if (R_SUCCEEDED(res))
{
if (restrictions.enable && restrictions.browser)
{
SwkbdState swkbd;
char entered[5] = {0};
swkbdInit(&swkbd, SWKBD_TYPE_NUMPAD, 2, 4);
swkbdSetFeatures(&swkbd, SWKBD_PARENTAL);
swkbdInputText(&swkbd, entered, 5);
SwkbdResult swkbd_res = swkbdGetResult(&swkbd);
if (swkbd_res != SWKBD_PARENTAL_OK)
{
return downloaded;
}
}
}
bool preview_mode = false;
int preview_offset = 0;
audio_s * audio = NULL;