Skip to content

Instantly share code, notes, and snippets.

@g4s8
Created May 10, 2017 14:10
Show Gist options
  • Save g4s8/05bc39281d979fe012c99e67712ded59 to your computer and use it in GitHub Desktop.
Save g4s8/05bc39281d979fe012c99e67712ded59 to your computer and use it in GitHub Desktop.
public final class PrintedSpec {
private final int mode;
private final int size;
public PrintedSpec(int spec) {
this(MeasureSpec.getMode(spec), MeasureSpec.getSize(spec));
}
private PrintedSpec(final int mode, final int size) {
this.mode = mode;
this.size = size;
}
private String mode() {
switch (this.mode) {
case MeasureSpec.AT_MOST:
return "at-most";
case MeasureSpec.EXACTLY:
return "exactly";
case MeasureSpec.UNSPECIFIED:
return "unspecified";
default:
return String.format(Locale.UK, "invalid-mode(%d)", mode);
}
}
private String size() {
switch (this.mode) {
case MeasureSpec.AT_MOST:
case MeasureSpec.EXACTLY:
return String.format(Locale.UK, "(%d)", this.size);
default:
return "";
}
}
@Override
public String toString() {
return String.format(Locale.UK, "%s%s", mode(), size());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment