aboutsummaryrefslogtreecommitdiffstats
path: root/sdkmanager/libs/sdklib/src
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2010-02-18 16:30:41 -0800
committerXavier Ducrohet <xav@android.com>2010-02-18 17:36:51 -0800
commite87bc60813f90110c1156b086138e5e856c93809 (patch)
tree96d6b8cf99219a19877052679eea8bb640628315 /sdkmanager/libs/sdklib/src
parent15f6b7be14c56571f8296c360d0f2fdfc41553c3 (diff)
downloadsdk-e87bc60813f90110c1156b086138e5e856c93809.zip
sdk-e87bc60813f90110c1156b086138e5e856c93809.tar.gz
sdk-e87bc60813f90110c1156b086138e5e856c93809.tar.bz2
Clean up for how the ADT plug-in keeps track of project and their targets.
For some the (IProject, IAndroidTarget) map was only filled when a project was created or had its target changed. Other projects that were just opened in the workspace wouldn't be put in the map, making each call to Sdk.getTarget() read the default.properties. This commit adds a new class ProjectState to centralize the state of a project including target info, apk settings and soon libraries. The project state are stored statically in Sdk so that they survive Sdk reload. I'm cleaning up the API of Sdk also to make it let complex and weird. Change-Id: I1324c622a646486a474ce26b2172385f00091b3f
Diffstat (limited to 'sdkmanager/libs/sdklib/src')
-rw-r--r--sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ApkSettings.java14
-rw-r--r--sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java4
-rw-r--r--sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectProperties.java10
3 files changed, 16 insertions, 12 deletions
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ApkSettings.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ApkSettings.java
index c96e223..ff9028a 100644
--- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ApkSettings.java
+++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ApkSettings.java
@@ -55,4 +55,18 @@ public class ApkSettings {
public void setSplitByDensity(boolean split) {
mSplitByDpi = split;
}
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj instanceof ApkSettings) {
+ return mSplitByDpi == ((ApkSettings) obj).mSplitByDpi;
+ }
+
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return Boolean.valueOf(mSplitByDpi).hashCode();
+ }
}
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java
index 97f84bb..9fe5bba 100644
--- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java
+++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectCreator.java
@@ -214,7 +214,7 @@ public class ProjectCreator {
// target goes in default properties
ProjectProperties defaultProperties = ProjectProperties.create(folderPath,
PropertyType.DEFAULT);
- defaultProperties.setAndroidTarget(target);
+ defaultProperties.setProperty(ProjectProperties.PROPERTY_TARGET, target.hashString());
if (library) {
defaultProperties.setProperty(ProjectProperties.PROPERTY_LIBRARY, "true");
}
@@ -453,7 +453,7 @@ public class ProjectCreator {
}
// set or replace the target
- props.setAndroidTarget(target);
+ props.setProperty(ProjectProperties.PROPERTY_TARGET, target.hashString());
saveDefaultProps = true;
}
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectProperties.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectProperties.java
index e61a607..f6abdd7 100644
--- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectProperties.java
+++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/project/ProjectProperties.java
@@ -16,7 +16,6 @@
package com.android.sdklib.internal.project;
-import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.SdkConstants;
import com.android.sdklib.SdkManager;
@@ -211,15 +210,6 @@ public final class ProjectProperties {
}
/**
- * Sets the target property to the given {@link IAndroidTarget} object.
- * @param target the Android target.
- */
- public void setAndroidTarget(IAndroidTarget target) {
- assert mType == PropertyType.DEFAULT;
- mProperties.put(PROPERTY_TARGET, target.hashString());
- }
-
- /**
* Returns the value of a property.
* @param name the name of the property.
* @return the property value or null if the property is not set.