Forums | developer.brewmp.com Forums | developer.brewmp.com

Developer

Forums

Forums:

When application is downloaded onto prepaid device from Catalog, and application is installed. Device hangs during reboot. This is reproduceable 100% of the time when downloaded from catalog but cannot be reproduced when application is side loaded.

Backup Assistant has been having an issue on a particular device (Pantech 8040) device where it gets stuck on start up on the Verison logo after BuA is downloaded from the catalog (calling the handset from another line brings the phone back up). This app registers for the TAPI notifications since it is a smartlink and once notified calls into the smartlink extension trying to update its corresponding entry. The way that the smartlink extension itself works is that it calls ISHELL_StartBackgroundApplet() on the smart link updater applet which then does the actual job of updating the entry for an applet, but on device restart, ISHELL_StartBackgroundApplet() itself is failing.
As a workaround don't update the smartlink on device bootup, rather update it once application download completes and app gets NMASK_SHELL_START_STATUS and on AEET_NMASK_DATA_CALL.
 

Further what could see that when application download completes from catalog, Application is getting NMASK_SHELL_START_STATUS on TXT8040, so i don't think there is any need to update the smartlink on device bootup. Please remove AEECLSID_TAPI and AEET_NMASK_DATA_CALL from application code and MIF, keep only NMASK_SHELL_START_STATUS under EVT_NOTIFY like below code.

if (NMASK_SHELL_START_STATUS == GET_NOTIFIER_MASK(pNotify->dwMask))
{
DBGPRINTF("#####NMASK_SHELL_START_STATUS ");
UpdateSmartLink();

I tried above appraoch with my sample helloworld application, when application download completes from catalog, application got NMASK_SHELL_START_STATUS and updatesmartlink() function got called so there is no need to update the smartlink on device bootup.  

Backup Assistant has been having an issue on a particular device (Pantech 8040) device where it gets stuck on start up on the Verison logo after BuA is downloaded from the catalog (calling the handset from another line brings the phone back up). This app registers for the TAPI notifications since it is a smartlink and once notified calls into the smartlink extension trying to update its corresponding entry. The way that the smartlink extension itself works is that it calls ISHELL_StartBackgroundApplet() on the smart link updater applet which then does the actual job of updating the entry for an applet, but on device restart, ISHELL_StartBackgroundApplet() itself is failing.
As a workaround don't update the smartlink on device bootup, rather update it once application download completes and app gets NMASK_SHELL_START_STATUS and on AEET_NMASK_DATA_CALL.
 

Further what could see that when application download completes from catalog, Application is getting NMASK_SHELL_START_STATUS on TXT8040, so i don't think there is any need to update the smartlink on device bootup. Please remove AEECLSID_TAPI and AEET_NMASK_DATA_CALL from application code and MIF, keep only NMASK_SHELL_START_STATUS under EVT_NOTIFY like below code.

if (NMASK_SHELL_START_STATUS == GET_NOTIFIER_MASK(pNotify->dwMask))
{
DBGPRINTF("#####NMASK_SHELL_START_STATUS ");
UpdateSmartLink();

I tried above appraoch with my sample helloworld application, when application download completes from catalog, application got NMASK_SHELL_START_STATUS and updatesmartlink() function got called so there is no need to update the smartlink on device bootup.  

Hi Eugene, You will not be able to test this by cable loading as application gets NMASK_SHELL_START_STATUS when application download completes from the catalog. Please follow below steps in your code: 1.) Call UpdateSmartLink() when getting MASK_SHELL_START_STATUS as described earlier like below if (NMASK_SHELL_START_STATUS == GET_NOTIFIER_MASK(pNotify->dwMask)) { DBGPRINTF("#####NMASK_SHELL_START_STATUS "); UpdateSmartLink(); } 2.) Call UpdateSmartLink() on EVT_APP_START, which i think you are already doing. You can send me the binaries with these changes with DBGPRINTF for above steps, i will check the UpdateSmartLink() call. Also remove below calls from UpdateSmartLink() function: 
ISHELL_RegisterNotify(pApplet->m_pIShell, pApplet->clsID, AEECLSID_TAPI, 0);
ISHELL_RegisterNotify(pApplet->m_pIShell, pApplet->clsID, AEECLSID_PHONENOTIFIER, 0); Thanks, Mahesh

Hi Eugene, You will not be able to test this by cable loading as application gets NMASK_SHELL_START_STATUS when application download completes from the catalog. Please follow below steps in your code: 1.) Call UpdateSmartLink() when getting MASK_SHELL_START_STATUS as described earlier like below if (NMASK_SHELL_START_STATUS == GET_NOTIFIER_MASK(pNotify->dwMask)) { DBGPRINTF("#####NMASK_SHELL_START_STATUS "); UpdateSmartLink(); } 2.) Call UpdateSmartLink() on EVT_APP_START, which i think you are already doing. You can send me the binaries with these changes with DBGPRINTF for above steps, i will check the UpdateSmartLink() call. Also remove below calls from UpdateSmartLink() function: 
ISHELL_RegisterNotify(pApplet->m_pIShell, pApplet->clsID, AEECLSID_TAPI, 0);
ISHELL_RegisterNotify(pApplet->m_pIShell, pApplet->clsID, AEECLSID_PHONENOTIFIER, 0); Thanks, Mahesh