static SetupViewModel onActivityResult(final Activity activity, final int request, final int result) {
		// Activity result of managed provisioning is only delivered since Android 6.
		if (request != REQUEST_PROVISION_MANAGED_PROFILE) return null;
		if (result == Activity.RESULT_CANCELED) {
			Log.i(TAG, "Provision is cancelled.");
			Analytics.$().event("profile_provision_sys_activity_canceled").send();
			return buildErrorVM(R.string.setup_solution_for_cancelled_provision, reason("provisioning_cancelled"))
					.withExtraAction(R.string.button_setup_island_with_root).withNextButton(R.string.button_setup_troubleshooting);
		}
		if (result == Activity.RESULT_OK) {
			Log.i(TAG, "System provision activity is done.");
			Analytics.$().event("profile_provision_sys_activity_done").send();
			Toast.makeText(activity, R.string.toast_setup_in_progress, Toast.LENGTH_LONG).show();
			activity.finish();
		}
		return null;
	}
@return null if all prerequisites met TODO: Move this method to IslandSetup
mobile/src/main/java/com/oasisfeng/island/setup/SetupViewModel.java