Fix the reload of pages after installation of packages.

This commit is contained in:
Xavier Ducrohet
2009-06-12 18:12:20 -07:00
parent 07c07c2e68
commit 63c20f1cd7
2 changed files with 13 additions and 3 deletions

View File

@@ -59,6 +59,8 @@ class UpdaterData {
private final ArrayList<ISdkListener> mListeners = new ArrayList<ISdkListener>();
private Display mDisplay;
public interface ISdkListener {
void onSdkChange();
}
@@ -81,6 +83,10 @@ class UpdaterData {
return mOsSdkRoot;
}
public void setDisplay(Display display) {
mDisplay = display;
}
public void setTaskFactory(ITaskFactory taskFactory) {
mTaskFactory = taskFactory;
}
@@ -166,6 +172,7 @@ class UpdaterData {
}
// notify adapters?
mLocalSdkParser.clearPackages();
// TODO
// notify listeners
@@ -192,9 +199,8 @@ class UpdaterData {
* <p/>This can be called from any thread.
*/
public void notifyListeners() {
Display display = Display.getCurrent();
if (display != null && mListeners.size() > 0) {
display.syncExec(new Runnable() {
if (mDisplay != null && mListeners.size() > 0) {
mDisplay.syncExec(new Runnable() {
public void run() {
for (ISdkListener listener : mListeners) {
try {
@@ -265,6 +271,9 @@ class UpdaterData {
monitor.setDescription("Done. %1$d %2$s installed.",
numInstalled,
numInstalled == 1 ? "package" : "packages");
//notify listeners something was installed, so that they can refresh
reloadSdk();
}
}
});

View File

@@ -105,6 +105,7 @@ public class UpdaterWindowImpl {
onAndroidSdkUpdaterDispose(); //$hide$ (hide from SWT designer)
}
});
mUpdaterData.setDisplay(mAndroidSdkUpdater.getDisplay());
FillLayout fl;
mAndroidSdkUpdater.setLayout(fl = new FillLayout(SWT.HORIZONTAL));