Patent ID: 8417231

Claim:
A method for programming a mobile device with a software build supporting a selected service provider account, comprising: receiving a service provider account selection; determining whether an account with the selected service provider is activated; retrieving software build parameters and settings from a non-volatile memory corresponding to the selected service provider account; implementing the software build supporting the selected service provider account using the retrieved software build parameters and settings, wherein implementing the software build supporting the selected service provider account comprises: retrieving an application programming interface and a dynamically linked library corresponding to the selected service provider account from memory; implementing the application programming interface and dynamically linked library; resetting a download service; deleting all previous parameters, settings, files and provisioning data from an extended file service; writing the retrieved software build parameters, provisioning data, files and settings into the extended files service; storing the retrieved software build parameters, files, provisioning data, and settings into the non-volatile memory; and resetting the mobile device; confirming prior activation of the selected service provider account, wherein confirming prior activation of the selected service provider account comprises: attempting to conduct a data call; determining whether the data call attempt was successful; determining whether the mobile device is located within the home network for the selected service provider account when the data call is unsuccessful; indicating a roaming condition when the mobile device is determined to be located outside the home network for the selected service provider account; and resetting factory default parameters and an indicator of account activation for the selected service provider when the mobile device is determined not to be located outside the home network for the selected service provider account; resetting a fail to connect counter to zero; incrementing the fail to connect counter when the data call is unsuccessful and the mobile device is determined to be within the home network for the selected service provider account; determining whether the fail to connect counter equals a predetermined number; and repeating attempts to conduct a data call when the number of connection attempts does not equal the predetermined number, wherein resetting factory default parameters and the indicator of account activation for the selected service provider is performed only when the fail to connect counter equals the predetermined number of connection attempts.