diff options
author | Xavier Ducrohet <xav@android.com> | 2009-07-27 15:24:38 -0700 |
---|---|---|
committer | Xavier Ducrohet <xav@android.com> | 2009-07-27 15:26:10 -0700 |
commit | 3b1e768223b885112a5432ed0e179587bf0c354a (patch) | |
tree | ff77043bb31366ce02557ceacdcfc5d77e164bf1 | |
parent | 2235796ae0f0065584e51e42fd3a34dcc7f99689 (diff) | |
download | sdk-3b1e768223b885112a5432ed0e179587bf0c354a.zip sdk-3b1e768223b885112a5432ed0e179587bf0c354a.tar.gz sdk-3b1e768223b885112a5432ed0e179587bf0c354a.tar.bz2 |
Prevent SDK updater dialog from showing offscreen.
-rw-r--r-- | sdkmanager/libs/sdklib/src/com/android/sdklib/PlatformTarget.java | 3 | ||||
-rwxr-xr-x | sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdateChooserDialog.java | 19 |
2 files changed, 21 insertions, 1 deletions
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/PlatformTarget.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/PlatformTarget.java index 0481d4c..15e7e51 100644 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/PlatformTarget.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/PlatformTarget.java @@ -242,6 +242,9 @@ final class PlatformTarget implements IAndroidTarget { int apiDiff = mVersion.getApiLevel() - target.getVersion().getApiLevel(); if (mVersion.getCodename() != null && apiDiff == 0) { + if (target.getVersionName() == null) { + return +1; // preview showed last + } return mVersion.getCodename().compareTo(target.getVersion().getCodename()); } diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdateChooserDialog.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdateChooserDialog.java index 14c8bbc..c940e0d 100755 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdateChooserDialog.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdateChooserDialog.java @@ -63,6 +63,12 @@ import java.util.TreeMap; */
final class UpdateChooserDialog extends Dialog {
+ /**
+ * Min Y location for dialog. Need to deal with the menu bar on mac os.
+ */
+ private final static int MIN_Y = SdkConstants.CURRENT_PLATFORM == SdkConstants.PLATFORM_DARWIN ?
+ 20 : 0;
+
/** Last dialog size for this session. */
private static Point sLastSize;
private boolean mCompleted;
@@ -373,7 +379,18 @@ final class UpdateChooserDialog extends Dialog { int cw = childSize.x;
int ch = childSize.y;
- child.setLocation(px + (pw - cw) / 2, py + (ph - ch) / 2);
+ int x = px + (pw - cw) / 2;
+ int y = py + (ph - ch) / 2;
+
+ if (x < 0) {
+ x = 0;
+ }
+
+ if (y < MIN_Y) {
+ y = MIN_Y;
+ }
+
+ child.setLocation(x, y);
child.setSize(cw, ch);
}
}
|