summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaurice Lam <yukl@google.com>2017-12-06 12:55:23 -0800
committerMaurice Lam <yukl@google.com>2017-12-06 20:03:01 -0800
commitba1332d1b4dd525a2ef313246482708cb2016052 (patch)
tree91b258e0a4efeaf259405b0960d2eff6d21e5b0a
parentac5ce544be357085d4c28475db7613d4da4a32c0 (diff)
downloadsetupwizard-ba1332d1b4dd525a2ef313246482708cb2016052.tar.gz
Changes needed to upgrade to new gradle version
- Add ignore for various lint errors that is introduced in the lint update - Remove GLIF Pixel themes as they are unused and causing lint errors - Add flavor dimension "compat" as it is now required - Replace *Compile with *Implementation in the gradle files, as needed by the newer Gradle version - Use build tools 27.0.0 to avoid the Gradle warning - Use new Robolectric configuration mechanism and removed our old hack, per http://robolectric.org/getting-started/ Reference: https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html Test: Existing tests pass Bug: 70287447 Change-Id: I505476ae3695cd06349766c5e6280299f779f272
-rw-r--r--library/gingerbread/src/com/android/setupwizardlib/view/NavigationBarButton.java2
-rw-r--r--library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/ExpandableSwitchItemTest.java3
-rw-r--r--library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/SwitchItemTest.java3
-rw-r--r--library/gingerbread/test/robotest/src/com/android/setupwizardlib/util/DimensionConsistencyTest.java3
-rw-r--r--library/lint.xml4
-rw-r--r--library/main/res/values/styles.xml20
-rw-r--r--library/main/src/com/android/setupwizardlib/util/WizardManagerHelper.java12
-rw-r--r--library/platform/res/values-v23/styles.xml4
-rw-r--r--library/recyclerview/test/robotest/src/com/android/setupwizardlib/template/RecyclerViewScrollHandlingDelegateTest.java3
-rw-r--r--library/rules.gradle10
-rw-r--r--library/self.gradle25
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/GlifLayoutTest.java2
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/items/ButtonItemTest.java5
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/items/ItemGroupTest.java5
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/robolectric/PatchedGradleManifestFactory.java126
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/robolectric/SuwLibRobolectricTestRunner.java29
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/span/LinkSpanTest.java4
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/template/ListViewScrollHandlingDelegateTest.java3
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/template/RequireScrollMixinTest.java3
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/template/ScrollViewScrollHandlingDelegateTest.java3
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/util/GlifDimensionTest.java3
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java3
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/util/PartnerTest.java2
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/util/WizardManagerHelperTest.java3
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/view/FillContentLayoutTest.java3
-rw-r--r--library/test/robotest/src/com/android/setupwizardlib/view/IllustrationVideoViewTest.java2
-rw-r--r--tools/gradle/android.properties4
27 files changed, 54 insertions, 235 deletions
diff --git a/library/gingerbread/src/com/android/setupwizardlib/view/NavigationBarButton.java b/library/gingerbread/src/com/android/setupwizardlib/view/NavigationBarButton.java
index 5172c47..d7a3c2e 100644
--- a/library/gingerbread/src/com/android/setupwizardlib/view/NavigationBarButton.java
+++ b/library/gingerbread/src/com/android/setupwizardlib/view/NavigationBarButton.java
@@ -16,6 +16,7 @@
package com.android.setupwizardlib.view;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.PorterDuff;
@@ -30,6 +31,7 @@ import android.widget.Button;
* Button for navigation bar, which includes tinting of its compound drawables to be used for dark
* and light themes.
*/
+@SuppressLint("AppCompatCustomView")
public class NavigationBarButton extends Button {
public NavigationBarButton(Context context) {
diff --git a/library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/ExpandableSwitchItemTest.java b/library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/ExpandableSwitchItemTest.java
index 4fb3e28..3020ed3 100644
--- a/library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/ExpandableSwitchItemTest.java
+++ b/library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/ExpandableSwitchItemTest.java
@@ -32,7 +32,6 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.R;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
@@ -44,7 +43,7 @@ import org.robolectric.annotation.Config;
import java.util.ArrayList;
@RunWith(SuwLibRobolectricTestRunner.class)
-@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
+@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
public class ExpandableSwitchItemTest {
private TextView mSummaryView;
diff --git a/library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/SwitchItemTest.java b/library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/SwitchItemTest.java
index d391d80..fa5bbba 100644
--- a/library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/SwitchItemTest.java
+++ b/library/gingerbread/test/robotest/src/com/android/setupwizardlib/items/SwitchItemTest.java
@@ -31,7 +31,6 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.R;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
@@ -40,7 +39,7 @@ import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
-@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
+@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
public class SwitchItemTest {
private SwitchCompat mSwitch;
diff --git a/library/gingerbread/test/robotest/src/com/android/setupwizardlib/util/DimensionConsistencyTest.java b/library/gingerbread/test/robotest/src/com/android/setupwizardlib/util/DimensionConsistencyTest.java
index 43e7f03..7a08235 100644
--- a/library/gingerbread/test/robotest/src/com/android/setupwizardlib/util/DimensionConsistencyTest.java
+++ b/library/gingerbread/test/robotest/src/com/android/setupwizardlib/util/DimensionConsistencyTest.java
@@ -25,7 +25,6 @@ import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.ContextThemeWrapper;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.R;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
@@ -35,7 +34,7 @@ import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
-@Config(constants = BuildConfig.class, sdk = Config.ALL_SDKS)
+@Config(sdk = Config.ALL_SDKS)
public class DimensionConsistencyTest {
// Visual height of the framework switch widget
diff --git a/library/lint.xml b/library/lint.xml
index ca22c65..625b20d 100644
--- a/library/lint.xml
+++ b/library/lint.xml
@@ -1,7 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<lint>
+ <!-- SUW lib prefixes styleable resources -->
+ <issue id="CustomViewStyleable" severity="ignore" />
<issue id="ExtraTranslation" severity="ignore" />
<issue id="GradleDependency" severity="ignore" />
<issue id="MissingTranslation" severity="ignore" />
+ <!-- Stop lint from complaining about SDK version checks in the "platform" variant -->
+ <issue id="ObsoleteSdkInt" severity="ignore" />
<issue id="RtlEnabled" severity="ignore" />
</lint>
diff --git a/library/main/res/values/styles.xml b/library/main/res/values/styles.xml
index 0e7685b..e1e229f 100644
--- a/library/main/res/values/styles.xml
+++ b/library/main/res/values/styles.xml
@@ -32,9 +32,6 @@
<item name="suwScrollIndicators">top|bottom</item>
</style>
- <!-- Deprecated. Use SuwThemeGlifV2 instead -->
- <style name="SuwThemeGlifPixel" parent="SuwThemeGlifV2" />
-
<style name="SuwThemeGlifV2.Light" parent="SuwThemeGlif.Light">
<item name="android:colorBackground">@color/suw_glif_background_color_light</item>
<item name="android:windowLightStatusBar" tools:targetApi="m">true</item>
@@ -48,9 +45,6 @@
<item name="suwScrollIndicators">top|bottom</item>
</style>
- <!-- Deprecated. Use SuwThemeGlifV2.Light instead -->
- <style name="SuwThemeGlifPixel.Light" parent="SuwThemeGlifV2.Light" />
-
<style name="SuwThemeGlifV3" parent="SuwThemeGlifV2">
<item name="suwButtonColor">@color/suw_glif_v3_footer_button_color</item>
</style>
@@ -94,11 +88,10 @@
<item name="android:textAlignment" tools:targetApi="jelly_bean_mr1">gravity</item>
</style>
- <style name="TextAppearance.SuwDescription.Light" parent="TextAppearance.SuwDescription">
- <item name="android:fontFamily" tools:ignore="NewApi">sans-serif-light</item>
- </style>
-
- <style name="TextAppearance.SuwDescription.Secondary" parent="TextAppearance.SuwDescription">
+ <!-- Ignore UnusedResources: Used by clients -->
+ <style name="TextAppearance.SuwDescription.Secondary"
+ parent="TextAppearance.SuwDescription"
+ tools:ignore="UnusedResources">
<item name="android:textColor">?android:attr/textColorSecondary</item>
</style>
@@ -211,7 +204,10 @@
<item name="android:textAllCaps" tools:targetApi="ice_cream_sandwich">false</item>
</style>
- <style name="SuwGlifButton.Tertiary" parent="SuwGlifButton.BaseTertiary" />
+ <!-- Ignore UnusedResources: used by clients -->
+ <style name="SuwGlifButton.Tertiary"
+ parent="SuwGlifButton.BaseTertiary"
+ tools:ignore="UnusedResources" />
<!-- The start and end paddings are asymmetric because start buttons are borderless buttons
which aligns the text label. -->
diff --git a/library/main/src/com/android/setupwizardlib/util/WizardManagerHelper.java b/library/main/src/com/android/setupwizardlib/util/WizardManagerHelper.java
index f4bb8f5..cf9ddac 100644
--- a/library/main/src/com/android/setupwizardlib/util/WizardManagerHelper.java
+++ b/library/main/src/com/android/setupwizardlib/util/WizardManagerHelper.java
@@ -80,24 +80,12 @@ public class WizardManagerHelper {
public static final String THEME_GLIF_V2 = "glif_v2";
/**
- * @deprecated Use {@link #THEME_GLIF_V2} instead.
- */
- @Deprecated
- public static final String THEME_GLIF_PIXEL = THEME_GLIF_V2;
-
- /**
* Passed in a setup wizard intent as {@link #EXTRA_THEME}. This is the default theme used in
* setup wizard for O DR.
*/
public static final String THEME_GLIF_V2_LIGHT = "glif_v2_light";
/**
- * @deprecated Use {@link #THEME_GLIF_V2_LIGHT} instead.
- */
- @Deprecated
- public static final String THEME_GLIF_PIXEL_LIGHT = THEME_GLIF_V2_LIGHT;
-
- /**
* Passed in a setup wizard intent as {@link #EXTRA_THEME}. This is the dark variant of the
* theme used in setup wizard for P.
*/
diff --git a/library/platform/res/values-v23/styles.xml b/library/platform/res/values-v23/styles.xml
index aaccd17..26ab230 100644
--- a/library/platform/res/values-v23/styles.xml
+++ b/library/platform/res/values-v23/styles.xml
@@ -35,7 +35,7 @@
<item name="android:listPreferredItemPaddingStart">?attr/suwMarginSides</item>
<item name="android:navigationBarColor">@android:color/black</item>
<item name="android:statusBarColor">@android:color/black</item>
- <item name="android:textAppearanceListItemSmall">@android:style/TextAppearance.Material.Body1</item>
+ <item name="android:textAppearanceListItemSmall">@style/TextAppearance.SuwItemSummary</item>
<item name="android:textColorLink">@color/suw_link_color_dark</item>
<item name="android:windowAnimationStyle">@style/Animation.SuwWindowAnimation</item>
<item name="android:windowDisablePreview">true</item>
@@ -65,7 +65,7 @@
<item name="android:listPreferredItemPaddingStart">?attr/suwMarginSides</item>
<item name="android:navigationBarColor">@android:color/black</item>
<item name="android:statusBarColor">@android:color/black</item>
- <item name="android:textAppearanceListItemSmall">@android:style/TextAppearance.Material.Body1</item>
+ <item name="android:textAppearanceListItemSmall">@style/TextAppearance.SuwItemSummary</item>
<item name="android:textColorLink">@color/suw_link_color_light</item>
<item name="android:windowAnimationStyle">@style/Animation.SuwWindowAnimation</item>
<item name="android:windowDisablePreview">true</item>
diff --git a/library/recyclerview/test/robotest/src/com/android/setupwizardlib/template/RecyclerViewScrollHandlingDelegateTest.java b/library/recyclerview/test/robotest/src/com/android/setupwizardlib/template/RecyclerViewScrollHandlingDelegateTest.java
index b509389..5912f7f 100644
--- a/library/recyclerview/test/robotest/src/com/android/setupwizardlib/template/RecyclerViewScrollHandlingDelegateTest.java
+++ b/library/recyclerview/test/robotest/src/com/android/setupwizardlib/template/RecyclerViewScrollHandlingDelegateTest.java
@@ -27,7 +27,6 @@ import static org.robolectric.RuntimeEnvironment.application;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.RecyclerView.OnScrollListener;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
import org.junit.Before;
@@ -38,7 +37,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
-@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
+@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@RunWith(SuwLibRobolectricTestRunner.class)
public class RecyclerViewScrollHandlingDelegateTest {
diff --git a/library/rules.gradle b/library/rules.gradle
index 6b0acce..f5face8 100644
--- a/library/rules.gradle
+++ b/library/rules.gradle
@@ -21,9 +21,12 @@ android {
res.srcDirs = ['main/res']
}
+ flavorDimensions 'compat'
+
productFlavors {
// Platform version that will not include the compatibility libraries
platform {
+ dimension 'compat'
minSdkVersion 23
dependencies {
@@ -43,16 +46,17 @@ android {
// deps = ['project-name': 'com.example.group:project-name:1.0.0']
// }
//
- platformCompile deps['support-annotations']
+ platformImplementation deps['support-annotations']
}
}
// Provides backwards compatibility for Gingerbread or above, using support libraries.
gingerbreadCompat {
+ dimension 'compat'
minSdkVersion 9
dependencies {
- gingerbreadCompatCompile deps['support-appcompat-v7']
- gingerbreadCompatCompile deps['support-recyclerview-v7']
+ gingerbreadCompatImplementation deps['support-appcompat-v7']
+ gingerbreadCompatImplementation deps['support-recyclerview-v7']
}
}
}
diff --git a/library/self.gradle b/library/self.gradle
index 69f9654..a3e5334 100644
--- a/library/self.gradle
+++ b/library/self.gradle
@@ -13,12 +13,12 @@ android.sourceSets {
res.srcDirs = ['test/instrumentation/res']
dependencies {
- androidTestCompile 'com.android.support.test:rules:0.5'
- androidTestCompile 'com.android.support.test:runner:0.5'
- androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
- androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
- androidTestCompile 'junit:junit:4.+'
- androidTestCompile 'org.mockito:mockito-core:1.9.5'
+ androidTestImplementation 'com.android.support.test:rules:0.5'
+ androidTestImplementation 'com.android.support.test:runner:0.5'
+ androidTestImplementation 'com.google.dexmaker:dexmaker:1.2'
+ androidTestImplementation 'com.google.dexmaker:dexmaker-mockito:1.2'
+ androidTestImplementation 'junit:junit:4.+'
+ androidTestImplementation 'org.mockito:mockito-core:1.9.5'
}
}
@@ -38,12 +38,12 @@ android.sourceSets {
java.srcDirs = ['test/robotest/src']
dependencies {
- testCompile 'org.robolectric:robolectric:3.4.2'
- testCompile 'org.robolectric:framework:3.4.2'
- testCompile 'junit:junit:4.+'
- testCompile 'org.mockito:mockito-core:1.9.5'
+ testImplementation 'org.robolectric:robolectric:3.4.2'
+ testImplementation 'org.robolectric:framework:3.4.2'
+ testImplementation 'junit:junit:4.+'
+ testImplementation 'org.mockito:mockito-core:1.9.5'
// Workaround for https://github.com/robolectric/robolectric/issues/2566
- testCompile 'org.khronos:opengl-api:gl1.1-android-2.1_r1'
+ testImplementation 'org.khronos:opengl-api:gl1.1-android-2.1_r1'
}
}
@@ -51,6 +51,9 @@ android.sourceSets {
java.srcDirs = ['gingerbread/test/robotest/src', 'recyclerview/test/robotest/src']
}
}
+
+android.testOptions.unitTests.includeAndroidResources = true
+
android.defaultConfig.testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
android.lintOptions {
abortOnError true
diff --git a/library/test/robotest/src/com/android/setupwizardlib/GlifLayoutTest.java b/library/test/robotest/src/com/android/setupwizardlib/GlifLayoutTest.java
index 967a52e..360dfe2 100644
--- a/library/test/robotest/src/com/android/setupwizardlib/GlifLayoutTest.java
+++ b/library/test/robotest/src/com/android/setupwizardlib/GlifLayoutTest.java
@@ -54,7 +54,7 @@ import org.robolectric.Robolectric;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
-@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
+@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
public class GlifLayoutTest {
private Context mContext;
diff --git a/library/test/robotest/src/com/android/setupwizardlib/items/ButtonItemTest.java b/library/test/robotest/src/com/android/setupwizardlib/items/ButtonItemTest.java
index 93b9a6d..40e5da8 100644
--- a/library/test/robotest/src/com/android/setupwizardlib/items/ButtonItemTest.java
+++ b/library/test/robotest/src/com/android/setupwizardlib/items/ButtonItemTest.java
@@ -39,7 +39,6 @@ import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.R;
import com.android.setupwizardlib.items.ButtonItem.OnClickListener;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
@@ -50,9 +49,7 @@ import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
-@Config(
- constants = BuildConfig.class,
- sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
+@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
public class ButtonItemTest {
private ViewGroup mParent;
diff --git a/library/test/robotest/src/com/android/setupwizardlib/items/ItemGroupTest.java b/library/test/robotest/src/com/android/setupwizardlib/items/ItemGroupTest.java
index a61b750..ecaec71 100644
--- a/library/test/robotest/src/com/android/setupwizardlib/items/ItemGroupTest.java
+++ b/library/test/robotest/src/com/android/setupwizardlib/items/ItemGroupTest.java
@@ -24,7 +24,6 @@ import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
import org.junit.Before;
@@ -36,9 +35,7 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
-@Config(
- constants = BuildConfig.class,
- sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
+@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
public class ItemGroupTest {
private static final Item CHILD_1 = new EqualsItem("Child 1");
diff --git a/library/test/robotest/src/com/android/setupwizardlib/robolectric/PatchedGradleManifestFactory.java b/library/test/robotest/src/com/android/setupwizardlib/robolectric/PatchedGradleManifestFactory.java
deleted file mode 100644
index 64c63e7..0000000
--- a/library/test/robotest/src/com/android/setupwizardlib/robolectric/PatchedGradleManifestFactory.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.setupwizardlib.robolectric;
-
-import org.robolectric.annotation.Config;
-import org.robolectric.internal.GradleManifestFactory;
-import org.robolectric.internal.ManifestIdentifier;
-import org.robolectric.res.FileFsFile;
-import org.robolectric.util.Logger;
-import org.robolectric.util.ReflectionHelpers;
-
-import java.io.File;
-import java.net.URL;
-
-/**
- * Modified GradleManifestFactory to patch an issue where some build variants have merged
- * resources under res/merged/variant/type while others have it under bundles/variant/type/res.
- *
- * The change is that in the .exists() checks below we check for specific folders for the build
- * variant rather than checking existence at the parent directory.
- */
-class PatchedGradleManifestFactory extends GradleManifestFactory {
-
- @Override
- public ManifestIdentifier identify(Config config) {
- if (config.constants() == Void.class) {
- Logger.error("Field 'constants' not specified in @Config annotation");
- Logger.error("This is required when using Robolectric with Gradle!");
- throw new RuntimeException("No 'constants' field in @Config annotation!");
- }
-
- final String buildOutputDir = getBuildOutputDir(config);
- final String type = getType(config);
- final String flavor = getFlavor(config);
- final String abiSplit = getAbiSplit(config);
- final String packageName = config.packageName().isEmpty()
- ? config.constants().getPackage().getName()
- : config.packageName();
-
- final FileFsFile res;
- final FileFsFile assets;
- final FileFsFile manifest;
-
- if (FileFsFile.from(buildOutputDir, "data-binding-layout-out", flavor, type).exists()) {
- // Android gradle plugin 1.5.0+ puts the merged layouts in data-binding-layout-out.
- // https://github.com/robolectric/robolectric/issues/2143
- res = FileFsFile.from(buildOutputDir, "data-binding-layout-out", flavor, type);
- } else if (FileFsFile.from(buildOutputDir, "res", "merged", flavor, type).exists()) {
- // res/merged added in Android Gradle plugin 1.3-beta1
- res = FileFsFile.from(buildOutputDir, "res", "merged", flavor, type);
- } else if (FileFsFile.from(buildOutputDir, "res", flavor, type).exists()) {
- res = FileFsFile.from(buildOutputDir, "res", flavor, type);
- } else {
- res = FileFsFile.from(buildOutputDir, "bundles", flavor, type, "res");
- }
-
- if (FileFsFile.from(buildOutputDir, "assets", flavor, type).exists()) {
- assets = FileFsFile.from(buildOutputDir, "assets", flavor, type);
- } else {
- assets = FileFsFile.from(buildOutputDir, "bundles", flavor, type, "assets");
- }
-
- String manifestName = config.manifest();
- URL manifestUrl = getClass().getClassLoader().getResource(manifestName);
- if (manifestUrl != null && manifestUrl.getProtocol().equals("file")) {
- manifest = FileFsFile.from(manifestUrl.getPath());
- } else if (FileFsFile.from(buildOutputDir, "manifests", "full", flavor, abiSplit, type,
- manifestName).exists()) {
- manifest = FileFsFile.from(
- buildOutputDir, "manifests", "full", flavor, abiSplit, type, manifestName);
- } else if (FileFsFile.from(buildOutputDir, "manifests", "aapt", flavor, abiSplit, type,
- manifestName).exists()) {
- // Android gradle plugin 2.2.0+ can put library manifest files inside of "aapt"
- // instead of "full"
- manifest = FileFsFile.from(buildOutputDir, "manifests", "aapt", flavor, abiSplit,
- type, manifestName);
- } else {
- manifest = FileFsFile.from(buildOutputDir, "bundles", flavor, abiSplit, type,
- manifestName);
- }
-
- return new ManifestIdentifier(manifest, res, assets, packageName, null);
- }
-
- private static String getBuildOutputDir(Config config) {
- return config.buildDir() + File.separator + "intermediates";
- }
-
- private static String getType(Config config) {
- try {
- return ReflectionHelpers.getStaticField(config.constants(), "BUILD_TYPE");
- } catch (Throwable e) {
- return null;
- }
- }
-
- private static String getFlavor(Config config) {
- try {
- return ReflectionHelpers.getStaticField(config.constants(), "FLAVOR");
- } catch (Throwable e) {
- return null;
- }
- }
-
- private static String getAbiSplit(Config config) {
- try {
- return config.abiSplit();
- } catch (Throwable e) {
- return null;
- }
- }
-}
diff --git a/library/test/robotest/src/com/android/setupwizardlib/robolectric/SuwLibRobolectricTestRunner.java b/library/test/robotest/src/com/android/setupwizardlib/robolectric/SuwLibRobolectricTestRunner.java
index 509201a..61baa23 100644
--- a/library/test/robotest/src/com/android/setupwizardlib/robolectric/SuwLibRobolectricTestRunner.java
+++ b/library/test/robotest/src/com/android/setupwizardlib/robolectric/SuwLibRobolectricTestRunner.java
@@ -20,42 +20,13 @@ import org.junit.runner.notification.RunNotifier;
import org.junit.runners.model.FrameworkMethod;
import org.junit.runners.model.InitializationError;
import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-import org.robolectric.internal.ManifestFactory;
public class SuwLibRobolectricTestRunner extends RobolectricTestRunner {
- private String mModuleRootPath;
-
public SuwLibRobolectricTestRunner(Class<?> testClass) throws InitializationError {
super(testClass);
}
- // Hack to determine the module root path in the build folder (e.g. out/gradle/setup-wizard-lib)
- private void updateModuleRootPath(Config config) {
- String moduleRoot = config.constants().getResource("").toString()
- .replace("file:", "").replace("jar:", "");
- mModuleRootPath =
- moduleRoot.substring(0, moduleRoot.lastIndexOf("/build")) + "/setup-wizard-lib";
- }
-
- /**
- * Return the default config used to run Robolectric tests.
- */
- @Override
- protected Config buildGlobalConfig() {
- Config parent = super.buildGlobalConfig();
- updateModuleRootPath(parent);
- return new Config.Builder(parent)
- .setBuildDir(mModuleRootPath + "/build")
- .build();
- }
-
- @Override
- protected ManifestFactory getManifestFactory(Config config) {
- return new PatchedGradleManifestFactory();
- }
-
@Override
protected void runChild(FrameworkMethod method, RunNotifier notifier) {
System.out.println("===== Running " + method + " =====");
diff --git a/library/test/robotest/src/com/android/setupwizardlib/span/LinkSpanTest.java b/library/test/robotest/src/com/android/setupwizardlib/span/LinkSpanTest.java
index f86e057..fe72e03 100644
--- a/library/test/robotest/src/com/android/setupwizardlib/span/LinkSpanTest.java
+++ b/library/test/robotest/src/com/android/setupwizardlib/span/LinkSpanTest.java
@@ -23,15 +23,12 @@ import android.content.Context;
import android.content.ContextWrapper;
import android.widget.TextView;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
-@Config(constants = BuildConfig.class)
public class LinkSpanTest {
@Test
@@ -68,6 +65,7 @@ public class LinkSpanTest {
assertSame("Clicked LinkSpan should be passed to setup", linkSpan, context.clickedSpan);
}
+ @SuppressWarnings("deprecation")
private static class TestContext extends ContextWrapper implements LinkSpan.OnClickListener {
public LinkSpan clickedSpan = null;
diff --git a/library/test/robotest/src/com/android/setupwizardlib/template/ListViewScrollHandlingDelegateTest.java b/library/test/robotest/src/com/android/setupwizardlib/template/ListViewScrollHandlingDelegateTest.java
index fa81dc0..ec3622d 100644
--- a/library/test/robotest/src/com/android/setupwizardlib/template/ListViewScrollHandlingDelegateTest.java
+++ b/library/test/robotest/src/com/android/setupwizardlib/template/ListViewScrollHandlingDelegateTest.java
@@ -31,7 +31,6 @@ import android.widget.AbsListView.OnScrollListener;
import android.widget.BaseAdapter;
import android.widget.ListView;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
import org.junit.Before;
@@ -42,7 +41,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
-@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
+@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@RunWith(SuwLibRobolectricTestRunner.class)
public class ListViewScrollHandlingDelegateTest {
diff --git a/library/test/robotest/src/com/android/setupwizardlib/template/RequireScrollMixinTest.java b/library/test/robotest/src/com/android/setupwizardlib/template/RequireScrollMixinTest.java
index 8e39c43..c641449 100644
--- a/library/test/robotest/src/com/android/setupwizardlib/template/RequireScrollMixinTest.java
+++ b/library/test/robotest/src/com/android/setupwizardlib/template/RequireScrollMixinTest.java
@@ -34,7 +34,6 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.TemplateLayout;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
import com.android.setupwizardlib.template.RequireScrollMixin.OnRequireScrollStateChangedListener;
@@ -48,7 +47,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
-@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
+@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@RunWith(SuwLibRobolectricTestRunner.class)
public class RequireScrollMixinTest {
diff --git a/library/test/robotest/src/com/android/setupwizardlib/template/ScrollViewScrollHandlingDelegateTest.java b/library/test/robotest/src/com/android/setupwizardlib/template/ScrollViewScrollHandlingDelegateTest.java
index f77e256..429445c 100644
--- a/library/test/robotest/src/com/android/setupwizardlib/template/ScrollViewScrollHandlingDelegateTest.java
+++ b/library/test/robotest/src/com/android/setupwizardlib/template/ScrollViewScrollHandlingDelegateTest.java
@@ -23,7 +23,6 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.robolectric.RuntimeEnvironment.application;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
import com.android.setupwizardlib.view.BottomScrollView;
import com.android.setupwizardlib.view.BottomScrollView.BottomScrollListener;
@@ -36,7 +35,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
-@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
+@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@RunWith(SuwLibRobolectricTestRunner.class)
public class ScrollViewScrollHandlingDelegateTest {
diff --git a/library/test/robotest/src/com/android/setupwizardlib/util/GlifDimensionTest.java b/library/test/robotest/src/com/android/setupwizardlib/util/GlifDimensionTest.java
index 2be64e1..c10c122 100644
--- a/library/test/robotest/src/com/android/setupwizardlib/util/GlifDimensionTest.java
+++ b/library/test/robotest/src/com/android/setupwizardlib/util/GlifDimensionTest.java
@@ -26,7 +26,6 @@ import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.ContextThemeWrapper;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.R;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
@@ -36,7 +35,7 @@ import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
-@Config(constants = BuildConfig.class, sdk = Config.ALL_SDKS)
+@Config(sdk = Config.ALL_SDKS)
public class GlifDimensionTest {
private Context mContext;
diff --git a/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java b/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java
index aea2c03..3627806 100644
--- a/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java
+++ b/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java
@@ -30,7 +30,6 @@ import android.support.annotation.Nullable;
import android.view.ContextThemeWrapper;
import android.widget.Button;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.R;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
@@ -41,7 +40,7 @@ import org.robolectric.Robolectric;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
-@Config(constants = BuildConfig.class, sdk = {Config.OLDEST_SDK, Config.NEWEST_SDK})
+@Config(sdk = {Config.OLDEST_SDK, Config.NEWEST_SDK})
public class GlifStyleTest {
private Context mContext;
diff --git a/library/test/robotest/src/com/android/setupwizardlib/util/PartnerTest.java b/library/test/robotest/src/com/android/setupwizardlib/util/PartnerTest.java
index aeb678f..683e40b 100644
--- a/library/test/robotest/src/com/android/setupwizardlib/util/PartnerTest.java
+++ b/library/test/robotest/src/com/android/setupwizardlib/util/PartnerTest.java
@@ -37,7 +37,6 @@ import android.content.res.Resources;
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.R;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
import com.android.setupwizardlib.util.Partner.ResourceEntry;
@@ -57,7 +56,6 @@ import java.util.Collections;
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(
- constants = BuildConfig.class,
sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK },
shadows = ShadowApplicationPackageManager.class)
public class PartnerTest {
diff --git a/library/test/robotest/src/com/android/setupwizardlib/util/WizardManagerHelperTest.java b/library/test/robotest/src/com/android/setupwizardlib/util/WizardManagerHelperTest.java
index 9195de2..0d15ef4 100644
--- a/library/test/robotest/src/com/android/setupwizardlib/util/WizardManagerHelperTest.java
+++ b/library/test/robotest/src/com/android/setupwizardlib/util/WizardManagerHelperTest.java
@@ -31,7 +31,6 @@ import android.provider.Settings.Global;
import android.provider.Settings.Secure;
import android.support.annotation.StyleRes;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.R;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
@@ -44,7 +43,7 @@ import java.util.Arrays;
import java.util.List;
@RunWith(SuwLibRobolectricTestRunner.class)
-@Config(constants = BuildConfig.class, sdk = Config.NEWEST_SDK)
+@Config(sdk = Config.NEWEST_SDK)
public class WizardManagerHelperTest {
@Test
diff --git a/library/test/robotest/src/com/android/setupwizardlib/view/FillContentLayoutTest.java b/library/test/robotest/src/com/android/setupwizardlib/view/FillContentLayoutTest.java
index f1332c0..ae4f3d1 100644
--- a/library/test/robotest/src/com/android/setupwizardlib/view/FillContentLayoutTest.java
+++ b/library/test/robotest/src/com/android/setupwizardlib/view/FillContentLayoutTest.java
@@ -22,7 +22,6 @@ import static org.robolectric.RuntimeEnvironment.application;
import android.view.View;
import android.view.View.MeasureSpec;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
import org.junit.Test;
@@ -31,7 +30,7 @@ import org.robolectric.Robolectric;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
-@Config(constants = BuildConfig.class, sdk = {Config.OLDEST_SDK, Config.NEWEST_SDK})
+@Config(sdk = {Config.OLDEST_SDK, Config.NEWEST_SDK})
public class FillContentLayoutTest {
@Test
diff --git a/library/test/robotest/src/com/android/setupwizardlib/view/IllustrationVideoViewTest.java b/library/test/robotest/src/com/android/setupwizardlib/view/IllustrationVideoViewTest.java
index ddf59ca..6db8852 100644
--- a/library/test/robotest/src/com/android/setupwizardlib/view/IllustrationVideoViewTest.java
+++ b/library/test/robotest/src/com/android/setupwizardlib/view/IllustrationVideoViewTest.java
@@ -31,7 +31,6 @@ import android.os.Build.VERSION_CODES;
import android.support.annotation.RawRes;
import android.view.Surface;
-import com.android.setupwizardlib.BuildConfig;
import com.android.setupwizardlib.R;
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
import com.android.setupwizardlib.view.IllustrationVideoViewTest.ShadowMockMediaPlayer;
@@ -54,7 +53,6 @@ import org.robolectric.util.ReflectionHelpers;
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(
- constants = BuildConfig.class,
sdk = Config.NEWEST_SDK,
shadows = {
ShadowMockMediaPlayer.class,
diff --git a/tools/gradle/android.properties b/tools/gradle/android.properties
index b4a1e0c..3795eee 100644
--- a/tools/gradle/android.properties
+++ b/tools/gradle/android.properties
@@ -1,6 +1,6 @@
// Set the default SDK and build tools version for all apps
-compileSdkVersion 26
-buildToolsVersion = '26.0.0'
+compileSdkVersion 27
+buildToolsVersion = '27.0.0'
// enable Java7
compileOptions.sourceCompatibility JavaVersion.VERSION_1_7