    public boolean isForwardLocked(String key, String version, String versionCode, TelephonyManager mng, boolean hasFile) throws IOException{
        
        if (key == null){
            throw new IllegalArgumentException("key: null");
        }
        if (version == null){
            throw new IllegalArgumentException("version: null");
        }
        
        StringBuilder sb = new StringBuilder();
        
        sb.append("https://slideme.org/mobileapp/install-check?device_id=");
        sb.append(mng.getDeviceId());
        sb.append("&key=");
        sb.append(key);
        sb.append("&version=");
        sb.append(version);
        sb.append("&versionCode=");
        sb.append(versionCode);
        sb.append("&network_op=");
        sb.append(mng.getNetworkOperator());
        sb.append("&network_op_name=");
        sb.append(mng.getNetworkOperatorName());
        sb.append("&network_iso=");
        sb.append(mng.getNetworkCountryIso());
        sb.append("&software_version=");
        sb.append(mng.getDeviceSoftwareVersion());
        sb.append("&phone_type=");
        sb.append(mng.getPhoneType);
        sb.append("&network_type=");
        sb.append(mng.getNetworkType());
        sb.append("&sim_iso=");
        sb.append(mng.getSimCountryIso());
        sb.append("&sim_op=");
        sb.append(mng.getSimOperator());
        sb.append("&sim_serial=");
        sb.append(mng.getSimSerialNumber());
        sb.append("&subscriber_id=");
        sb.append(mng.getSubscriberId());
        sb.append("&roaming=");
        sb.append(mng.isNetworkRoaming());
        sb.append("&lock_version=1.1");
        Log.d("RightsManager",sb.toString());
        URL url = new URL(sb.toString());
        
        try{
            return checkForwardLock(url, hasFile);
        }catch (Exception e){
            return checkForwardLock(url, hasFile);
        }
    }