/** Build user's info to display on the screen */ private String buildUserInfoDisplay(GraphUser user) { StringBuilder userInfo = new StringBuilder(""); /** (name) - no special permissions required */ userInfo.append(String.format("Name: %s\n", user.getName())); /** (birthday) - requires user_birthday permission */ userInfo.append(String.format("Birthday: %s\n", user.getBirthday())); /** (location) - requires user_location permission */ GraphPlace location = user.getLocation(); if (location != null) { userInfo.append(String.format("Location: %s\n", location.getProperty("name"))); } /** (locale) - no special permissions required */ userInfo.append(String.format("Locale: %s\n", user.getProperty("locale"))); /** (languages) - requires user_likes permission. */ JSONArray languages = (JSONArray) user.getProperty("languages"); if (languages != null && languages.length() > 0) { ArrayList<String> languageNames = new ArrayList<String>(); for (int i = 0; i < languages.length(); i++) { JSONObject language = languages.optJSONObject(i); languageNames.add(language.optString("name")); } userInfo.append(String.format("Languages: %s\n", languageNames.toString())); } return userInfo.toString(); }
/** Update user's profile info */ private void updateUI() { if (mUser != null) { mUserInfo.setText(buildUserInfoDisplay(mUser)); mProfilePictureView.setProfileId(mUser.getId()); } else { mUserInfo.setText(null); mProfilePictureView.setProfileId(null); } }