Add empty check for path in UsageGraph
If path is empty, skip method since there is nothing to draw. Bug: 132728523 Test: RunSettingsRoboTests Change-Id: I6fdb7c2f69d3d658c47b58c7304cfeb7d4010a46
This commit is contained in:
@@ -288,7 +288,11 @@ public class UsageGraph extends View {
|
||||
canvas.drawPath(mPath, paint);
|
||||
}
|
||||
|
||||
private void drawFilledPath(Canvas canvas, SparseIntArray localPaths, Paint paint) {
|
||||
@VisibleForTesting
|
||||
void drawFilledPath(Canvas canvas, SparseIntArray localPaths, Paint paint) {
|
||||
if (localPaths.size() == 0) {
|
||||
return;
|
||||
}
|
||||
mPath.reset();
|
||||
float lastStartX = localPaths.keyAt(0);
|
||||
mPath.moveTo(localPaths.keyAt(0), localPaths.valueAt(0));
|
||||
|
@@ -24,6 +24,8 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Paint;
|
||||
import android.util.SparseIntArray;
|
||||
|
||||
import com.android.settingslib.R;
|
||||
@@ -177,4 +179,14 @@ public class UsageGraphTest {
|
||||
assertThat(localPaths.keyAt(5)).isEqualTo(1001);
|
||||
assertThat(localPaths.valueAt(5)).isEqualTo(-1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void drawFilledPath_emptyPath_shouldNotCrash() {
|
||||
final Canvas canvas = new Canvas();
|
||||
final SparseIntArray localPaths = new SparseIntArray();
|
||||
final Paint paint = new Paint();
|
||||
|
||||
// Should not crash
|
||||
mGraph.drawFilledPath(canvas, localPaths, paint);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user