aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2009-07-27 15:24:38 -0700
committerXavier Ducrohet <xav@android.com>2009-07-27 15:26:10 -0700
commit3b1e768223b885112a5432ed0e179587bf0c354a (patch)
treeff77043bb31366ce02557ceacdcfc5d77e164bf1
parent2235796ae0f0065584e51e42fd3a34dcc7f99689 (diff)
downloadsdk-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.java3
-rwxr-xr-xsdkmanager/libs/sdkuilib/src/com/android/sdkuilib/internal/repository/UpdateChooserDialog.java19
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);
}
}