Loading api/current.txt +14 −4 Original line number Diff line number Diff line Loading @@ -7941,29 +7941,37 @@ package android.graphics { ctor public PixelXorXfermode(int); } public class Point { public class Point implements android.os.Parcelable { ctor public Point(); ctor public Point(int, int); ctor public Point(android.graphics.Point); method public int describeContents(); method public final boolean equals(int, int); method public final void negate(); method public final void offset(int, int); method public void readFromParcel(android.os.Parcel); method public void set(int, int); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; field public int x; field public int y; } public class PointF { public class PointF implements android.os.Parcelable { ctor public PointF(); ctor public PointF(float, float); ctor public PointF(android.graphics.Point); method public int describeContents(); method public final boolean equals(float, float); method public final float length(); method public static float length(float, float); method public final void negate(); method public final void offset(float, float); method public void readFromParcel(android.os.Parcel); method public final void set(float, float); method public final void set(android.graphics.PointF); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; field public float x; field public float y; } Loading Loading @@ -19896,13 +19904,15 @@ package android.view { public class Display { method public int getDisplayId(); method public int getHeight(); method public deprecated int getHeight(); method public void getMetrics(android.util.DisplayMetrics); method public deprecated int getOrientation(); method public int getPixelFormat(); method public void getRectSize(android.graphics.Rect); method public float getRefreshRate(); method public int getRotation(); method public int getWidth(); method public void getSize(android.graphics.Point); method public deprecated int getWidth(); field public static final int DEFAULT_DISPLAY = 0; // 0x0 } core/java/android/app/Activity.java +0 −12 Original line number Diff line number Diff line Loading @@ -818,18 +818,6 @@ public class Activity extends ContextThemeWrapper return mWindow != null ? mWindow.getCurrentFocus() : null; } @Override public int getWallpaperDesiredMinimumWidth() { int width = super.getWallpaperDesiredMinimumWidth(); return width <= 0 ? getWindowManager().getDefaultDisplay().getWidth() : width; } @Override public int getWallpaperDesiredMinimumHeight() { int height = super.getWallpaperDesiredMinimumHeight(); return height <= 0 ? getWindowManager().getDefaultDisplay().getHeight() : height; } /** * Called when the activity is starting. This is where most initialization * should go: calling {@link #setContentView(int)} to inflate the Loading core/java/android/app/backup/WallpaperBackupHelper.java +5 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.app.backup; import android.app.WallpaperManager; import android.content.Context; import android.graphics.BitmapFactory; import android.graphics.Point; import android.os.ParcelFileDescriptor; import android.util.Slog; import android.view.Display; Loading Loading @@ -70,8 +71,10 @@ public class WallpaperBackupHelper extends FileBackupHelperBase implements Backu if (mDesiredMinWidth <= 0 || mDesiredMinHeight <= 0) { WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); Display d = wm.getDefaultDisplay(); mDesiredMinWidth = d.getWidth(); mDesiredMinHeight = d.getHeight(); Point size = new Point(); d.getSize(size); mDesiredMinWidth = size.x; mDesiredMinHeight = size.y; } if (DEBUG) { Loading core/java/android/view/Display.java +100 −18 Original line number Diff line number Diff line Loading @@ -16,10 +16,15 @@ package android.view; import android.graphics.Point; import android.graphics.Rect; import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemClock; import android.util.DisplayMetrics; import android.util.Slog; public class Display { public class Display { /** * Specify the default Display */ Loading @@ -35,10 +40,10 @@ public class Display Display(int display) { // initalize the statics when this class is first instansiated. This is // done here instead of in the static block because Zygote synchronized (mStaticInit) { if (!mInitialized) { synchronized (sStaticInit) { if (!sInitialized) { nativeClassInit(); mInitialized = true; sInitialized = true; } } mDisplay = display; Loading @@ -60,30 +65,93 @@ public class Display native static int getDisplayCount(); /** * Returns the raw width of the display, in pixels. Note that this * Returns the raw size of the display, in pixels. Note that this * should <em>not</em> generally be used for computing layouts, since * a device will typically have screen decoration (such as a status bar) * along the edges of the display that reduce the amount of application * space available from the raw size returned here. This value is * adjusted for you based on the current rotation of the display. */ native public int getWidth(); public void getSize(Point outSize) { try { IWindowManager wm = getWindowManager(); if (wm != null) { wm.getDisplaySize(outSize); } else { // This is just for boot-strapping, initializing the // system process before the window manager is up. outSize.y = getRealHeight(); } } catch (RemoteException e) { Slog.w("Display", "Unable to get display size", e); } } /** * Returns the raw height of the display, in pixels. Note that this * should <em>not</em> generally be used for computing layouts, since * a device will typically have screen decoration (such as a status bar) * along the edges of the display that reduce the amount of application * space available from the raw size returned here. This value is * adjusted for you based on the current rotation of the display. * This is just easier for some parts of the framework. */ public void getRectSize(Rect outSize) { synchronized (mTmpPoint) { getSize(mTmpPoint); outSize.set(0, 0, mTmpPoint.x, mTmpPoint.y); } } /** * Return the maximum screen size dimension that will happen. This is * mostly for wallpapers. * @hide */ native public int getHeight(); public int getMaximumSizeDimension() { try { IWindowManager wm = getWindowManager(); return wm.getMaximumSizeDimension(); } catch (RemoteException e) { Slog.w("Display", "Unable to get display maximum size dimension", e); return 0; } } /** @hide special for when we are faking the screen size. */ /** * @deprecated Use {@link #getSize(Point)} instead. */ @Deprecated public int getWidth() { synchronized (mTmpPoint) { long now = SystemClock.uptimeMillis(); if (now > (mLastGetTime+20)) { getSize(mTmpPoint); mLastGetTime = now; } return mTmpPoint.x; } } /** * @deprecated Use {@link #getSize(Point)} instead. */ @Deprecated public int getHeight() { synchronized (mTmpPoint) { long now = SystemClock.uptimeMillis(); if (now > (mLastGetTime+20)) { getSize(mTmpPoint); mLastGetTime = now; } return mTmpPoint.y; } } /** @hide Returns the actual screen size, not including any decor. */ native public int getRealWidth(); /** @hide special for when we are faking the screen size. */ /** @hide Returns the actual screen size, not including any decor. */ native public int getRealHeight(); /** @hide special for when we are faking the screen size. */ native public int getRawWidth(); /** @hide special for when we are faking the screen size. */ native public int getRawHeight(); /** * Returns the rotation of the screen from its "natural" orientation. * The returned value may be {@link Surface#ROTATION_0 Surface.ROTATION_0} Loading Loading @@ -141,6 +209,16 @@ public class Display outMetrics.ydpi = mDpiY; } static IWindowManager getWindowManager() { synchronized (sStaticInit) { if (sWindowManager == null) { sWindowManager = IWindowManager.Stub.asInterface( ServiceManager.getService("window")); } return sWindowManager; } } /* * We use a class initializer to allow the native code to cache some * field offsets. Loading @@ -157,8 +235,12 @@ public class Display private float mDpiX; private float mDpiY; private static final Object mStaticInit = new Object(); private static boolean mInitialized = false; private final Point mTmpPoint = new Point(); private float mLastGetTime; private static final Object sStaticInit = new Object(); private static boolean sInitialized = false; private static IWindowManager sWindowManager; /** * Returns a display object which uses the metric's width/height instead. Loading core/java/android/view/IWindowManager.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import com.android.internal.view.IInputMethodClient; import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.Point; import android.view.IApplicationToken; import android.view.IOnKeyguardExitResult; import android.view.IRotationWatcher; Loading Loading @@ -52,6 +53,9 @@ interface IWindowManager in IInputContext inputContext); boolean inputMethodClientHasFocus(IInputMethodClient client); void getDisplaySize(out Point size); int getMaximumSizeDimension(); // These can only be called when injecting events to your own window, // or by holding the INJECT_EVENTS permission. These methods may block // until pending input events are finished being dispatched even when 'sync' is false. Loading Loading
api/current.txt +14 −4 Original line number Diff line number Diff line Loading @@ -7941,29 +7941,37 @@ package android.graphics { ctor public PixelXorXfermode(int); } public class Point { public class Point implements android.os.Parcelable { ctor public Point(); ctor public Point(int, int); ctor public Point(android.graphics.Point); method public int describeContents(); method public final boolean equals(int, int); method public final void negate(); method public final void offset(int, int); method public void readFromParcel(android.os.Parcel); method public void set(int, int); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; field public int x; field public int y; } public class PointF { public class PointF implements android.os.Parcelable { ctor public PointF(); ctor public PointF(float, float); ctor public PointF(android.graphics.Point); method public int describeContents(); method public final boolean equals(float, float); method public final float length(); method public static float length(float, float); method public final void negate(); method public final void offset(float, float); method public void readFromParcel(android.os.Parcel); method public final void set(float, float); method public final void set(android.graphics.PointF); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator CREATOR; field public float x; field public float y; } Loading Loading @@ -19896,13 +19904,15 @@ package android.view { public class Display { method public int getDisplayId(); method public int getHeight(); method public deprecated int getHeight(); method public void getMetrics(android.util.DisplayMetrics); method public deprecated int getOrientation(); method public int getPixelFormat(); method public void getRectSize(android.graphics.Rect); method public float getRefreshRate(); method public int getRotation(); method public int getWidth(); method public void getSize(android.graphics.Point); method public deprecated int getWidth(); field public static final int DEFAULT_DISPLAY = 0; // 0x0 }
core/java/android/app/Activity.java +0 −12 Original line number Diff line number Diff line Loading @@ -818,18 +818,6 @@ public class Activity extends ContextThemeWrapper return mWindow != null ? mWindow.getCurrentFocus() : null; } @Override public int getWallpaperDesiredMinimumWidth() { int width = super.getWallpaperDesiredMinimumWidth(); return width <= 0 ? getWindowManager().getDefaultDisplay().getWidth() : width; } @Override public int getWallpaperDesiredMinimumHeight() { int height = super.getWallpaperDesiredMinimumHeight(); return height <= 0 ? getWindowManager().getDefaultDisplay().getHeight() : height; } /** * Called when the activity is starting. This is where most initialization * should go: calling {@link #setContentView(int)} to inflate the Loading
core/java/android/app/backup/WallpaperBackupHelper.java +5 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.app.backup; import android.app.WallpaperManager; import android.content.Context; import android.graphics.BitmapFactory; import android.graphics.Point; import android.os.ParcelFileDescriptor; import android.util.Slog; import android.view.Display; Loading Loading @@ -70,8 +71,10 @@ public class WallpaperBackupHelper extends FileBackupHelperBase implements Backu if (mDesiredMinWidth <= 0 || mDesiredMinHeight <= 0) { WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); Display d = wm.getDefaultDisplay(); mDesiredMinWidth = d.getWidth(); mDesiredMinHeight = d.getHeight(); Point size = new Point(); d.getSize(size); mDesiredMinWidth = size.x; mDesiredMinHeight = size.y; } if (DEBUG) { Loading
core/java/android/view/Display.java +100 −18 Original line number Diff line number Diff line Loading @@ -16,10 +16,15 @@ package android.view; import android.graphics.Point; import android.graphics.Rect; import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemClock; import android.util.DisplayMetrics; import android.util.Slog; public class Display { public class Display { /** * Specify the default Display */ Loading @@ -35,10 +40,10 @@ public class Display Display(int display) { // initalize the statics when this class is first instansiated. This is // done here instead of in the static block because Zygote synchronized (mStaticInit) { if (!mInitialized) { synchronized (sStaticInit) { if (!sInitialized) { nativeClassInit(); mInitialized = true; sInitialized = true; } } mDisplay = display; Loading @@ -60,30 +65,93 @@ public class Display native static int getDisplayCount(); /** * Returns the raw width of the display, in pixels. Note that this * Returns the raw size of the display, in pixels. Note that this * should <em>not</em> generally be used for computing layouts, since * a device will typically have screen decoration (such as a status bar) * along the edges of the display that reduce the amount of application * space available from the raw size returned here. This value is * adjusted for you based on the current rotation of the display. */ native public int getWidth(); public void getSize(Point outSize) { try { IWindowManager wm = getWindowManager(); if (wm != null) { wm.getDisplaySize(outSize); } else { // This is just for boot-strapping, initializing the // system process before the window manager is up. outSize.y = getRealHeight(); } } catch (RemoteException e) { Slog.w("Display", "Unable to get display size", e); } } /** * Returns the raw height of the display, in pixels. Note that this * should <em>not</em> generally be used for computing layouts, since * a device will typically have screen decoration (such as a status bar) * along the edges of the display that reduce the amount of application * space available from the raw size returned here. This value is * adjusted for you based on the current rotation of the display. * This is just easier for some parts of the framework. */ public void getRectSize(Rect outSize) { synchronized (mTmpPoint) { getSize(mTmpPoint); outSize.set(0, 0, mTmpPoint.x, mTmpPoint.y); } } /** * Return the maximum screen size dimension that will happen. This is * mostly for wallpapers. * @hide */ native public int getHeight(); public int getMaximumSizeDimension() { try { IWindowManager wm = getWindowManager(); return wm.getMaximumSizeDimension(); } catch (RemoteException e) { Slog.w("Display", "Unable to get display maximum size dimension", e); return 0; } } /** @hide special for when we are faking the screen size. */ /** * @deprecated Use {@link #getSize(Point)} instead. */ @Deprecated public int getWidth() { synchronized (mTmpPoint) { long now = SystemClock.uptimeMillis(); if (now > (mLastGetTime+20)) { getSize(mTmpPoint); mLastGetTime = now; } return mTmpPoint.x; } } /** * @deprecated Use {@link #getSize(Point)} instead. */ @Deprecated public int getHeight() { synchronized (mTmpPoint) { long now = SystemClock.uptimeMillis(); if (now > (mLastGetTime+20)) { getSize(mTmpPoint); mLastGetTime = now; } return mTmpPoint.y; } } /** @hide Returns the actual screen size, not including any decor. */ native public int getRealWidth(); /** @hide special for when we are faking the screen size. */ /** @hide Returns the actual screen size, not including any decor. */ native public int getRealHeight(); /** @hide special for when we are faking the screen size. */ native public int getRawWidth(); /** @hide special for when we are faking the screen size. */ native public int getRawHeight(); /** * Returns the rotation of the screen from its "natural" orientation. * The returned value may be {@link Surface#ROTATION_0 Surface.ROTATION_0} Loading Loading @@ -141,6 +209,16 @@ public class Display outMetrics.ydpi = mDpiY; } static IWindowManager getWindowManager() { synchronized (sStaticInit) { if (sWindowManager == null) { sWindowManager = IWindowManager.Stub.asInterface( ServiceManager.getService("window")); } return sWindowManager; } } /* * We use a class initializer to allow the native code to cache some * field offsets. Loading @@ -157,8 +235,12 @@ public class Display private float mDpiX; private float mDpiY; private static final Object mStaticInit = new Object(); private static boolean mInitialized = false; private final Point mTmpPoint = new Point(); private float mLastGetTime; private static final Object sStaticInit = new Object(); private static boolean sInitialized = false; private static IWindowManager sWindowManager; /** * Returns a display object which uses the metric's width/height instead. Loading
core/java/android/view/IWindowManager.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import com.android.internal.view.IInputMethodClient; import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.Point; import android.view.IApplicationToken; import android.view.IOnKeyguardExitResult; import android.view.IRotationWatcher; Loading Loading @@ -52,6 +53,9 @@ interface IWindowManager in IInputContext inputContext); boolean inputMethodClientHasFocus(IInputMethodClient client); void getDisplaySize(out Point size); int getMaximumSizeDimension(); // These can only be called when injecting events to your own window, // or by holding the INJECT_EVENTS permission. These methods may block // until pending input events are finished being dispatched even when 'sync' is false. Loading