Merge "Fix null-pointer in EnableZenModeDialog" into rvc-dev am: 707032d7eb am: 26a4f78880

Change-Id: I350e43317ae5f84208b0546763485d65c8f876b0
This commit is contained in:
Beverly Tai
2020-04-22 19:04:42 +00:00
committed by Automerger Merge Worker

View File

@@ -358,9 +358,11 @@ public class EnableZenModeDialog {
} }
}); });
// minus button final long time = ZenModeConfig.tryParseCountdownConditionId(conditionId);
final ImageView button1 = (ImageView) row.findViewById(android.R.id.button1); final ImageView minusButton = (ImageView) row.findViewById(android.R.id.button1);
button1.setOnClickListener(new View.OnClickListener() { final ImageView plusButton = (ImageView) row.findViewById(android.R.id.button2);
if (rowId == COUNTDOWN_CONDITION_INDEX && time > 0) {
minusButton.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
onClickTimeButton(row, tag, false /*down*/, rowId); onClickTimeButton(row, tag, false /*down*/, rowId);
@@ -368,39 +370,33 @@ public class EnableZenModeDialog {
} }
}); });
// plus button plusButton.setOnClickListener(new View.OnClickListener() {
final ImageView button2 = (ImageView) row.findViewById(android.R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
onClickTimeButton(row, tag, true /*up*/, rowId); onClickTimeButton(row, tag, true /*up*/, rowId);
tag.lines.setAccessibilityLiveRegion(View.ACCESSIBILITY_LIVE_REGION_POLITE); tag.lines.setAccessibilityLiveRegion(View.ACCESSIBILITY_LIVE_REGION_POLITE);
} }
}); });
final long time = ZenModeConfig.tryParseCountdownConditionId(conditionId);
if (rowId == COUNTDOWN_CONDITION_INDEX && time > 0) {
button1.setVisibility(View.VISIBLE);
button2.setVisibility(View.VISIBLE);
if (mBucketIndex > -1) { if (mBucketIndex > -1) {
button1.setEnabled(mBucketIndex > 0); minusButton.setEnabled(mBucketIndex > 0);
button2.setEnabled(mBucketIndex < MINUTE_BUCKETS.length - 1); plusButton.setEnabled(mBucketIndex < MINUTE_BUCKETS.length - 1);
} else { } else {
final long span = time - System.currentTimeMillis(); final long span = time - System.currentTimeMillis();
button1.setEnabled(span > MIN_BUCKET_MINUTES * MINUTES_MS); minusButton.setEnabled(span > MIN_BUCKET_MINUTES * MINUTES_MS);
final Condition maxCondition = ZenModeConfig.toTimeCondition(mContext, final Condition maxCondition = ZenModeConfig.toTimeCondition(mContext,
MAX_BUCKET_MINUTES, ActivityManager.getCurrentUser()); MAX_BUCKET_MINUTES, ActivityManager.getCurrentUser());
button2.setEnabled(!Objects.equals(condition.summary, maxCondition.summary)); plusButton.setEnabled(!Objects.equals(condition.summary, maxCondition.summary));
} }
button1.setAlpha(button1.isEnabled() ? 1f : .5f); minusButton.setAlpha(minusButton.isEnabled() ? 1f : .5f);
button2.setAlpha(button2.isEnabled() ? 1f : .5f); plusButton.setAlpha(plusButton.isEnabled() ? 1f : .5f);
} else { } else {
if (button1 != null) { if (minusButton != null) {
((ViewGroup) row).removeView(button1); ((ViewGroup) row).removeView(minusButton);
} }
if (button2 != null) {
((ViewGroup) row).removeView(button2); if (plusButton != null) {
((ViewGroup) row).removeView(plusButton);
} }
} }
} }