
org.robolectric.shadows.ShadowDisplay Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of framework Show documentation
Show all versions of framework Show documentation
An alternative Android testing framework.
The newest version!
package org.robolectric.shadows;
import android.graphics.PixelFormat;
import android.graphics.Point;
import android.graphics.Rect;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.DisplayAdjustments;
import android.view.Surface;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
import org.robolectric.annotation.RealObject;
import static android.os.Build.VERSION_CODES.KITKAT;
import static android.os.Build.VERSION_CODES.LOLLIPOP;
@SuppressWarnings({"UnusedDeclaration"})
@Implements(value = Display.class)
public class ShadowDisplay {
@RealObject Display realObject;
private int displayId;
private String name = "Default Display";
private int flags;
private int width = 480;
private int height = 800;
private int realWidth = 480;
private int realHeight = 854;
private float density = 1.5f;
private int densityDpi = DisplayMetrics.DENSITY_HIGH;
private float xdpi = 240.0f;
private float ydpi = 240.0f;
private float scaledDensity = 1.0f;
private float refreshRate = 60.0f;
private int rotation = Surface.ROTATION_0;
private int pixelFormat = PixelFormat.RGBA_4444;
@Implementation
public int getHeight() {
return height;
}
@Implementation
public void getMetrics(DisplayMetrics outMetrics) {
outMetrics.density = density;
outMetrics.densityDpi = densityDpi;
outMetrics.scaledDensity = scaledDensity;
outMetrics.widthPixels = width;
outMetrics.heightPixels = height;
outMetrics.xdpi = xdpi;
outMetrics.ydpi = ydpi;
}
@Implementation
public void getRealMetrics(DisplayMetrics outMetrics) {
getMetrics(outMetrics);
outMetrics.widthPixels = realWidth;
outMetrics.heightPixels = realHeight;
}
@Implementation
public int getWidth() {
return width;
}
@Implementation
public int getDisplayId() {
return displayId;
}
@Implementation
public String getName() {
return name;
}
@Implementation
public int getFlags() {
return flags;
}
@Implementation
public float getRefreshRate() {
return refreshRate;
}
@Implementation
public int getOrientation() {
return getRotation();
}
@Implementation
public int getRotation() {
return rotation;
}
@Implementation
public int getPixelFormat() {
return pixelFormat;
}
@Implementation
public void getCurrentSizeRange(Point outSmallestSize, Point outLargestSize) {
int minimum = Math.min(width, height);
int maximum = Math.max(width, height);
outSmallestSize.set(minimum, minimum);
outLargestSize.set(maximum, maximum);
}
@Implementation
public void getSize(Point outSize) {
outSize.set(width, height);
}
@Implementation
public void getRectSize(Rect outSize) {
outSize.set(0, 0, width, height);
}
@Implementation
public void getRealSize(Point outSize) {
outSize.set(realWidth, realHeight);
}
@Implementation(minSdk = LOLLIPOP)
public int getState() {
return Display.STATE_ON;
}
public float getDensity() {
return density;
}
public void setDensity(float density) {
this.density = density;
}
public int getDensityDpi() {
return densityDpi;
}
public void setDensityDpi(int densityDpi) {
this.densityDpi = densityDpi;
}
public float getXdpi() {
return xdpi;
}
public void setXdpi(float xdpi) {
this.xdpi = xdpi;
}
public float getYdpi() {
return ydpi;
}
public void setYdpi(float ydpi) {
this.ydpi = ydpi;
}
public float getScaledDensity() {
return scaledDensity;
}
public void setScaledDensity(float scaledDensity) {
this.scaledDensity = scaledDensity;
}
public void setDisplayId(int displayId) {
this.displayId = displayId;
}
public void setName(String name) {
this.name = name;
}
public void setFlags(int flags) {
this.flags = flags;
}
public void setWidth(int width) {
this.width = width;
}
public void setHeight(int height) {
this.height = height;
}
public void setRealWidth(int realWidth) {
this.realWidth = realWidth;
}
public void setRealHeight(int realHeight) {
this.realHeight = realHeight;
}
public void setRefreshRate(float refreshRate) {
this.refreshRate = refreshRate;
}
public void setRotation(int rotation) {
this.rotation = rotation;
}
public void setPixelFormat(int pixelFormat) {
this.pixelFormat = pixelFormat;
}
@Implementation(minSdk = KITKAT)
public Object getDisplayAdjustments() {
return new DisplayAdjustments();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy