Annotate Rect/RectF with nullability annotations
And a missing override or eight. Bug: 78245676 Test: none Change-Id: I4476646f03f88753db358d01a6ad65a0982a160f
This commit is contained in:
@@ -17,12 +17,13 @@
|
||||
package android.graphics;
|
||||
|
||||
import android.annotation.CheckResult;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import android.util.proto.ProtoOutputStream;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
@@ -89,7 +90,7 @@ public final class Rect implements Parcelable {
|
||||
* @param r The rectangle whose coordinates are copied into the new
|
||||
* rectangle.
|
||||
*/
|
||||
public Rect(Rect r) {
|
||||
public Rect(@Nullable Rect r) {
|
||||
if (r == null) {
|
||||
left = top = right = bottom = 0;
|
||||
} else {
|
||||
@@ -140,6 +141,7 @@ public final class Rect implements Parcelable {
|
||||
/**
|
||||
* Return a string representation of the rectangle in a compact form.
|
||||
*/
|
||||
@NonNull
|
||||
public String toShortString() {
|
||||
return toShortString(new StringBuilder(32));
|
||||
}
|
||||
@@ -148,7 +150,8 @@ public final class Rect implements Parcelable {
|
||||
* Return a string representation of the rectangle in a compact form.
|
||||
* @hide
|
||||
*/
|
||||
public String toShortString(StringBuilder sb) {
|
||||
@NonNull
|
||||
public String toShortString(@NonNull StringBuilder sb) {
|
||||
sb.setLength(0);
|
||||
sb.append('['); sb.append(left); sb.append(',');
|
||||
sb.append(top); sb.append("]["); sb.append(right);
|
||||
@@ -164,6 +167,7 @@ public final class Rect implements Parcelable {
|
||||
*
|
||||
* @return Returns a new String of the form "left top right bottom"
|
||||
*/
|
||||
@NonNull
|
||||
public String flattenToString() {
|
||||
StringBuilder sb = new StringBuilder(32);
|
||||
// WARNING: Do not change the format of this string, it must be
|
||||
@@ -182,7 +186,8 @@ public final class Rect implements Parcelable {
|
||||
* Returns a Rect from a string of the form returned by {@link #flattenToString},
|
||||
* or null if the string is not of that form.
|
||||
*/
|
||||
public static Rect unflattenFromString(String str) {
|
||||
@Nullable
|
||||
public static Rect unflattenFromString(@Nullable String str) {
|
||||
if (TextUtils.isEmpty(str)) {
|
||||
return null;
|
||||
}
|
||||
@@ -201,7 +206,7 @@ public final class Rect implements Parcelable {
|
||||
* Print short representation to given writer.
|
||||
* @hide
|
||||
*/
|
||||
public void printShortString(PrintWriter pw) {
|
||||
public void printShortString(@NonNull PrintWriter pw) {
|
||||
pw.print('['); pw.print(left); pw.print(',');
|
||||
pw.print(top); pw.print("]["); pw.print(right);
|
||||
pw.print(','); pw.print(bottom); pw.print(']');
|
||||
@@ -215,7 +220,7 @@ public final class Rect implements Parcelable {
|
||||
* @param fieldId Field Id of the Rect as defined in the parent message
|
||||
* @hide
|
||||
*/
|
||||
public void writeToProto(ProtoOutputStream protoOutputStream, long fieldId) {
|
||||
public void writeToProto(@NonNull ProtoOutputStream protoOutputStream, long fieldId) {
|
||||
final long token = protoOutputStream.start(fieldId);
|
||||
protoOutputStream.write(RectProto.LEFT, left);
|
||||
protoOutputStream.write(RectProto.TOP, top);
|
||||
@@ -309,7 +314,7 @@ public final class Rect implements Parcelable {
|
||||
* @param src The rectangle whose coordinates are copied into this
|
||||
* rectangle.
|
||||
*/
|
||||
public void set(Rect src) {
|
||||
public void set(@NonNull Rect src) {
|
||||
this.left = src.left;
|
||||
this.top = src.top;
|
||||
this.right = src.right;
|
||||
@@ -366,7 +371,7 @@ public final class Rect implements Parcelable {
|
||||
* @hide
|
||||
* @param insets The rectangle specifying the insets on all side.
|
||||
*/
|
||||
public void inset(Rect insets) {
|
||||
public void inset(@NonNull Rect insets) {
|
||||
left += insets.left;
|
||||
top += insets.top;
|
||||
right -= insets.right;
|
||||
@@ -432,7 +437,7 @@ public final class Rect implements Parcelable {
|
||||
* @return true iff the specified rectangle r is inside or equal to this
|
||||
* rectangle
|
||||
*/
|
||||
public boolean contains(Rect r) {
|
||||
public boolean contains(@NonNull Rect r) {
|
||||
// check for empty first
|
||||
return this.left < this.right && this.top < this.bottom
|
||||
// now check for containment
|
||||
@@ -481,7 +486,7 @@ public final class Rect implements Parcelable {
|
||||
* return false and do not change this rectangle.
|
||||
*/
|
||||
@CheckResult
|
||||
public boolean intersect(Rect r) {
|
||||
public boolean intersect(@NonNull Rect r) {
|
||||
return intersect(r.left, r.top, r.right, r.bottom);
|
||||
}
|
||||
|
||||
@@ -491,7 +496,7 @@ public final class Rect implements Parcelable {
|
||||
* @see #inset(int, int, int, int) but without checking if the rects overlap.
|
||||
* @hide
|
||||
*/
|
||||
public void intersectUnchecked(Rect other) {
|
||||
public void intersectUnchecked(@NonNull Rect other) {
|
||||
left = Math.max(left, other.left);
|
||||
top = Math.max(top, other.top);
|
||||
right = Math.min(right, other.right);
|
||||
@@ -511,7 +516,7 @@ public final class Rect implements Parcelable {
|
||||
* false and do not change this rectangle.
|
||||
*/
|
||||
@CheckResult
|
||||
public boolean setIntersect(Rect a, Rect b) {
|
||||
public boolean setIntersect(@NonNull Rect a, @NonNull Rect b) {
|
||||
if (a.left < b.right && b.left < a.right && a.top < b.bottom && b.top < a.bottom) {
|
||||
left = Math.max(a.left, b.left);
|
||||
top = Math.max(a.top, b.top);
|
||||
@@ -550,7 +555,7 @@ public final class Rect implements Parcelable {
|
||||
* @return true iff the two specified rectangles intersect. In no event are
|
||||
* either of the rectangles modified.
|
||||
*/
|
||||
public static boolean intersects(Rect a, Rect b) {
|
||||
public static boolean intersects(@NonNull Rect a, @NonNull Rect b) {
|
||||
return a.left < b.right && b.left < a.right && a.top < b.bottom && b.top < a.bottom;
|
||||
}
|
||||
|
||||
@@ -587,7 +592,7 @@ public final class Rect implements Parcelable {
|
||||
*
|
||||
* @param r The rectangle being unioned with this rectangle
|
||||
*/
|
||||
public void union(Rect r) {
|
||||
public void union(@NonNull Rect r) {
|
||||
union(r.left, r.top, r.right, r.bottom);
|
||||
}
|
||||
|
||||
@@ -634,6 +639,7 @@ public final class Rect implements Parcelable {
|
||||
/**
|
||||
* Parcelable interface methods
|
||||
*/
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
@@ -643,6 +649,7 @@ public final class Rect implements Parcelable {
|
||||
* a parcel, use readFromParcel()
|
||||
* @param out The parcel to write the rectangle's coordinates into
|
||||
*/
|
||||
@Override
|
||||
public void writeToParcel(Parcel out, int flags) {
|
||||
out.writeInt(left);
|
||||
out.writeInt(top);
|
||||
@@ -654,6 +661,7 @@ public final class Rect implements Parcelable {
|
||||
/**
|
||||
* Return a new rectangle from the data in the specified parcel.
|
||||
*/
|
||||
@Override
|
||||
public Rect createFromParcel(Parcel in) {
|
||||
Rect r = new Rect();
|
||||
r.readFromParcel(in);
|
||||
@@ -663,6 +671,7 @@ public final class Rect implements Parcelable {
|
||||
/**
|
||||
* Return an array of rectangles of the specified size.
|
||||
*/
|
||||
@Override
|
||||
public Rect[] newArray(int size) {
|
||||
return new Rect[size];
|
||||
}
|
||||
@@ -674,7 +683,7 @@ public final class Rect implements Parcelable {
|
||||
*
|
||||
* @param in The parcel to read the rectangle's coordinates from
|
||||
*/
|
||||
public void readFromParcel(Parcel in) {
|
||||
public void readFromParcel(@NonNull Parcel in) {
|
||||
left = in.readInt();
|
||||
top = in.readInt();
|
||||
right = in.readInt();
|
||||
|
||||
@@ -16,12 +16,15 @@
|
||||
|
||||
package android.graphics;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import com.android.internal.util.FastMath;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
|
||||
/**
|
||||
* RectF holds four float coordinates for a rectangle. The rectangle is
|
||||
* represented by the coordinates of its 4 edges (left, top, right bottom).
|
||||
@@ -64,7 +67,7 @@ public class RectF implements Parcelable {
|
||||
* @param r The rectangle whose coordinates are copied into the new
|
||||
* rectangle.
|
||||
*/
|
||||
public RectF(RectF r) {
|
||||
public RectF(@Nullable RectF r) {
|
||||
if (r == null) {
|
||||
left = top = right = bottom = 0.0f;
|
||||
} else {
|
||||
@@ -75,7 +78,7 @@ public class RectF implements Parcelable {
|
||||
}
|
||||
}
|
||||
|
||||
public RectF(Rect r) {
|
||||
public RectF(@Nullable Rect r) {
|
||||
if (r == null) {
|
||||
left = top = right = bottom = 0.0f;
|
||||
} else {
|
||||
@@ -104,6 +107,7 @@ public class RectF implements Parcelable {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "RectF(" + left + ", " + top + ", "
|
||||
+ right + ", " + bottom + ")";
|
||||
@@ -112,6 +116,7 @@ public class RectF implements Parcelable {
|
||||
/**
|
||||
* Return a string representation of the rectangle in a compact form.
|
||||
*/
|
||||
@NonNull
|
||||
public String toShortString() {
|
||||
return toShortString(new StringBuilder(32));
|
||||
}
|
||||
@@ -120,7 +125,8 @@ public class RectF implements Parcelable {
|
||||
* Return a string representation of the rectangle in a compact form.
|
||||
* @hide
|
||||
*/
|
||||
public String toShortString(StringBuilder sb) {
|
||||
@NonNull
|
||||
public String toShortString(@NonNull StringBuilder sb) {
|
||||
sb.setLength(0);
|
||||
sb.append('['); sb.append(left); sb.append(',');
|
||||
sb.append(top); sb.append("]["); sb.append(right);
|
||||
@@ -132,7 +138,7 @@ public class RectF implements Parcelable {
|
||||
* Print short representation to given writer.
|
||||
* @hide
|
||||
*/
|
||||
public void printShortString(PrintWriter pw) {
|
||||
public void printShortString(@NonNull PrintWriter pw) {
|
||||
pw.print('['); pw.print(left); pw.print(',');
|
||||
pw.print(top); pw.print("]["); pw.print(right);
|
||||
pw.print(','); pw.print(bottom); pw.print(']');
|
||||
@@ -207,7 +213,7 @@ public class RectF implements Parcelable {
|
||||
* @param src The rectangle whose coordinates are copied into this
|
||||
* rectangle.
|
||||
*/
|
||||
public void set(RectF src) {
|
||||
public void set(@NonNull RectF src) {
|
||||
this.left = src.left;
|
||||
this.top = src.top;
|
||||
this.right = src.right;
|
||||
@@ -220,7 +226,7 @@ public class RectF implements Parcelable {
|
||||
* @param src The rectangle whose coordinates are copied into this
|
||||
* rectangle.
|
||||
*/
|
||||
public void set(Rect src) {
|
||||
public void set(@NonNull Rect src) {
|
||||
this.left = src.left;
|
||||
this.top = src.top;
|
||||
this.right = src.right;
|
||||
@@ -315,7 +321,7 @@ public class RectF implements Parcelable {
|
||||
* @return true iff the specified rectangle r is inside or equal to this
|
||||
* rectangle
|
||||
*/
|
||||
public boolean contains(RectF r) {
|
||||
public boolean contains(@NonNull RectF r) {
|
||||
// check for empty first
|
||||
return this.left < this.right && this.top < this.bottom
|
||||
// now check for containment
|
||||
@@ -372,7 +378,7 @@ public class RectF implements Parcelable {
|
||||
* (and this rectangle is then set to that intersection) else
|
||||
* return false and do not change this rectangle.
|
||||
*/
|
||||
public boolean intersect(RectF r) {
|
||||
public boolean intersect(@NonNull RectF r) {
|
||||
return intersect(r.left, r.top, r.right, r.bottom);
|
||||
}
|
||||
|
||||
@@ -388,7 +394,7 @@ public class RectF implements Parcelable {
|
||||
* this rectangle to that intersection. If they do not, return
|
||||
* false and do not change this rectangle.
|
||||
*/
|
||||
public boolean setIntersect(RectF a, RectF b) {
|
||||
public boolean setIntersect(@NonNull RectF a, @NonNull RectF b) {
|
||||
if (a.left < b.right && b.left < a.right
|
||||
&& a.top < b.bottom && b.top < a.bottom) {
|
||||
left = Math.max(a.left, b.left);
|
||||
@@ -430,7 +436,7 @@ public class RectF implements Parcelable {
|
||||
* @return true iff the two specified rectangles intersect. In no event are
|
||||
* either of the rectangles modified.
|
||||
*/
|
||||
public static boolean intersects(RectF a, RectF b) {
|
||||
public static boolean intersects(@NonNull RectF a, @NonNull RectF b) {
|
||||
return a.left < b.right && b.left < a.right
|
||||
&& a.top < b.bottom && b.top < a.bottom;
|
||||
}
|
||||
@@ -439,7 +445,7 @@ public class RectF implements Parcelable {
|
||||
* Set the dst integer Rect by rounding this rectangle's coordinates
|
||||
* to their nearest integer values.
|
||||
*/
|
||||
public void round(Rect dst) {
|
||||
public void round(@NonNull Rect dst) {
|
||||
dst.set(FastMath.round(left), FastMath.round(top),
|
||||
FastMath.round(right), FastMath.round(bottom));
|
||||
}
|
||||
@@ -448,7 +454,7 @@ public class RectF implements Parcelable {
|
||||
* Set the dst integer Rect by rounding "out" this rectangle, choosing the
|
||||
* floor of top and left, and the ceiling of right and bottom.
|
||||
*/
|
||||
public void roundOut(Rect dst) {
|
||||
public void roundOut(@NonNull Rect dst) {
|
||||
dst.set((int) Math.floor(left), (int) Math.floor(top),
|
||||
(int) Math.ceil(right), (int) Math.ceil(bottom));
|
||||
}
|
||||
@@ -490,7 +496,7 @@ public class RectF implements Parcelable {
|
||||
*
|
||||
* @param r The rectangle being unioned with this rectangle
|
||||
*/
|
||||
public void union(RectF r) {
|
||||
public void union(@NonNull RectF r) {
|
||||
union(r.left, r.top, r.right, r.bottom);
|
||||
}
|
||||
|
||||
@@ -537,6 +543,7 @@ public class RectF implements Parcelable {
|
||||
/**
|
||||
* Parcelable interface methods
|
||||
*/
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
@@ -546,6 +553,7 @@ public class RectF implements Parcelable {
|
||||
* a parcel, use readFromParcel()
|
||||
* @param out The parcel to write the rectangle's coordinates into
|
||||
*/
|
||||
@Override
|
||||
public void writeToParcel(Parcel out, int flags) {
|
||||
out.writeFloat(left);
|
||||
out.writeFloat(top);
|
||||
@@ -557,6 +565,7 @@ public class RectF implements Parcelable {
|
||||
/**
|
||||
* Return a new rectangle from the data in the specified parcel.
|
||||
*/
|
||||
@Override
|
||||
public RectF createFromParcel(Parcel in) {
|
||||
RectF r = new RectF();
|
||||
r.readFromParcel(in);
|
||||
@@ -566,6 +575,7 @@ public class RectF implements Parcelable {
|
||||
/**
|
||||
* Return an array of rectangles of the specified size.
|
||||
*/
|
||||
@Override
|
||||
public RectF[] newArray(int size) {
|
||||
return new RectF[size];
|
||||
}
|
||||
@@ -577,7 +587,7 @@ public class RectF implements Parcelable {
|
||||
*
|
||||
* @param in The parcel to read the rectangle's coordinates from
|
||||
*/
|
||||
public void readFromParcel(Parcel in) {
|
||||
public void readFromParcel(@NonNull Parcel in) {
|
||||
left = in.readFloat();
|
||||
top = in.readFloat();
|
||||
right = in.readFloat();
|
||||
|
||||
Reference in New Issue
Block a user