Fix NPE when trying to view file diff for closed change
Support for closed changes is still bad (e.g. the Code-Review buttons
should not be displayed at all), but at least the app is now no longer
crashing for closed changes.
Change-Id: Ide729d1b7a6fdd5c7b78e9678d5dbeada953828f
Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/app/src/main/java/com/google/reviewit/widget/SelectCodeReviewView.java b/app/src/main/java/com/google/reviewit/widget/SelectCodeReviewView.java
index 1c9bd1e..5ee5ce2 100644
--- a/app/src/main/java/com/google/reviewit/widget/SelectCodeReviewView.java
+++ b/app/src/main/java/com/google/reviewit/widget/SelectCodeReviewView.java
@@ -212,14 +212,18 @@
public void setChange(Change change) {
this.change = change;
- Collection<Integer> voteableValues = Collections2.transform(
- change.info.permittedLabels.get("Code-Review"),
- new Function<String, Integer>() {
- @Override
- public Integer apply(String value) {
- return Integer.parseInt(value.trim());
- }
- });
+ Collection<String> permittedCodeReviewVotes =
+ change.info.permittedLabels.get("Code-Review");
+
+ Collection<Integer> voteableValues = permittedCodeReviewVotes != null
+ ? Collections2.transform(permittedCodeReviewVotes,
+ new Function<String, Integer>() {
+ @Override
+ public Integer apply(String value) {
+ return Integer.parseInt(value.trim());
+ }
+ })
+ : new ArrayList<Integer>();
for (VotingButton b : votingButtons) {
if (!voteableValues.contains(b.getVote())) {
b.setDisabled(true);