protected void handleRegionDetected(String detectedRegion) { if (RegionUtil.getInstance().isLegalRegion(detectedRegion)) { RegionUtil.getInstance().setTargetRegion(detectedRegion); } postModelEvent(ICommonConstants.EVENT_MODEL_CHECK_REGION); }
protected void checkRegionChange() { final String region = RegionUtil.getInstance().getTargetRegion(); if (RegionUtil.getInstance().isRegionSupported(region) && RegionUtil.getInstance().isNewRegion(region)) { RegionResSwitcher regionSwitcher = new RegionResSwitcher( new RegionResSwitcher.IRegionResSwitcherListener() { public void onRegionSwitched(String message, int resultType) { if (resultType == RegionResSwitcher.SUCCESS_FROM_SERVER) { RegionUtil.getInstance().setCurrentRegion(region); RegionUtil.getInstance().clearTargetRegion(region); postModelEvent(ICommonConstants.EVENT_MODEL_SWITCHING_SUCC_FROM_SERVER); } else if (resultType == RegionResSwitcher.FAIL) { postModelEvent(ICommonConstants.EVENT_MODEL_SWITCHING_FAIL); } } }); int resultType = regionSwitcher.switchRegion(region); if (resultType == RegionResSwitcher.SUCCESS_FROM_CACHE) { RegionUtil.getInstance().setCurrentRegion(region); RegionUtil.getInstance().clearTargetRegion(region); postModelEvent(ICommonConstants.EVENT_MODEL_CONTINUE); } else if (resultType == RegionResSwitcher.SUCCESS_FROM_SERVER) { postModelEvent(ICommonConstants.EVENT_MODEL_SWITCHING_REGION); } } else { RegionUtil.getInstance().clearTargetRegion(region); postModelEvent(ICommonConstants.EVENT_MODEL_CONTINUE); } }