public static boolean syncPartners(int userID, SQLiteDatabase db) throws Exception { try { URL url = new URL( "http://www.256design.com/projectTransparency/project/syncPartners.php?id=" + userID); URLConnection conn = url.openConnection(); BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line = ""; ArrayList<Partner> newPartnersList = new ArrayList<Partner>(); while ((line = rd.readLine()) != null) { // Log.d("SPENCER", line); if (line.equals("None")) { break; } String[] splitLine = line.split(":"); Partner partnerToAdd = new Partner(splitLine[1]); if (splitLine[0].equals("Conf")) { partnerToAdd.setState(CONFIRMED); newPartnersList.add(partnerToAdd); } else if (splitLine[0].equals("Unconf")) { partnerToAdd.setState(UNCONFIRMED); newPartnersList.add(partnerToAdd); } else { partnerToAdd.setState(DENIED); newPartnersList.add(partnerToAdd); } // Log.d("SPENCER", "added " + splitLine[1] + " to " + splitLine[0]); } ArrayList<String> currentPartners = DatabaseHelper.getPartnerEmails(db); topLevel: for (String currentPartnerEmail : currentPartners) { // Log.d("SPENCER", "checking " + currentPartnerEmail); for (Partner partner : newPartnersList) { if (currentPartnerEmail.equals(partner.getEmail())) { DatabaseHelper.updatePartnerState(partner.getEmail(), partner.getState(), db); newPartnersList.remove(partner); continue topLevel; } } DatabaseHelper.updatePartnerState(currentPartnerEmail, Partner.DENIED, db); } for (Partner partner : newPartnersList) { DatabaseHelper.addPartner(partner, db); } return true; } catch (Exception e) { return false; } }