Merge "Don't use layoutlib preview versions unless building with preview platform. DO NOT MERGE" into studio-1.2-release
diff --git a/android/src/com/android/tools/idea/configurations/ConfigurationManager.java b/android/src/com/android/tools/idea/configurations/ConfigurationManager.java
index e63c7cb..b9884a3 100755
--- a/android/src/com/android/tools/idea/configurations/ConfigurationManager.java
+++ b/android/src/com/android/tools/idea/configurations/ConfigurationManager.java
@@ -18,6 +18,7 @@
import com.android.annotations.VisibleForTesting;
import com.android.ide.common.resources.configuration.FolderConfiguration;
import com.android.ide.common.resources.configuration.LocaleQualifier;
+import com.android.sdklib.AndroidVersion;
import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.devices.Device;
import com.android.sdklib.devices.DeviceManager;
@@ -273,6 +274,13 @@
for (int i = targetList.length - 1; i >= 0; i--) {
IAndroidTarget target = targetList[i];
if (isLayoutLibTarget(target)) {
+ if (target.getVersion().isPreview()) {
+ // Only pick this target if the project is also compiled with the same target
+ AndroidVersion buildSdkVersion = AndroidModuleInfo.getBuildSdkVersion(myModule);
+ if (buildSdkVersion != null && !buildSdkVersion.isPreview()) {
+ continue;
+ }
+ }
return target;
}
}
@@ -512,7 +520,15 @@
IAndroidTarget[] targetList = getTargets();
for (int i = targetList.length - 1; i >= 0; i--) {
target = targetList[i];
- if (isLayoutLibTarget(target) && target.getVersion().getApiLevel() >= min) {
+ if (isLayoutLibTarget(target) && target.getVersion().getFeatureLevel() >= min) {
+ if (target.getVersion().isPreview()) {
+ // Only pick this target if the project is also compiled with the same target
+ AndroidVersion buildSdkVersion = AndroidModuleInfo.getBuildSdkVersion(myModule);
+ if (buildSdkVersion != null && !buildSdkVersion.isPreview()) {
+ continue;
+ }
+ }
+
return target;
}
}