Revert "Changes needed to upgrade to new gradle version"

This reverts commit ba1332d1b4.

Reason for revert: Broke taimen builds in master

Change-Id: Iffffadbacae8c6c69907dcecc447f958cf6ce909
This commit is contained in:
Colin Cross 2017-12-13 02:48:52 +00:00
parent ba1332d1b4
commit 46216d0e61
27 changed files with 235 additions and 54 deletions

View File

@ -16,7 +16,6 @@
package com.android.setupwizardlib.view;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.PorterDuff;
@ -31,7 +30,6 @@ 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) {

View File

@ -32,6 +32,7 @@ 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;
@ -43,7 +44,7 @@ import org.robolectric.annotation.Config;
import java.util.ArrayList;
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
public class ExpandableSwitchItemTest {
private TextView mSummaryView;

View File

@ -31,6 +31,7 @@ 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;
@ -39,7 +40,7 @@ import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
public class SwitchItemTest {
private SwitchCompat mSwitch;

View File

@ -25,6 +25,7 @@ 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;
@ -34,7 +35,7 @@ import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(sdk = Config.ALL_SDKS)
@Config(constants = BuildConfig.class, sdk = Config.ALL_SDKS)
public class DimensionConsistencyTest {
// Visual height of the framework switch widget

View File

@ -1,11 +1,7 @@
<?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>

View File

@ -32,6 +32,9 @@
<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>
@ -45,6 +48,9 @@
<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>
@ -88,10 +94,11 @@
<item name="android:textAlignment" tools:targetApi="jelly_bean_mr1">gravity</item>
</style>
<!-- Ignore UnusedResources: Used by clients -->
<style name="TextAppearance.SuwDescription.Secondary"
parent="TextAppearance.SuwDescription"
tools:ignore="UnusedResources">
<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">
<item name="android:textColor">?android:attr/textColorSecondary</item>
</style>
@ -204,10 +211,7 @@
<item name="android:textAllCaps" tools:targetApi="ice_cream_sandwich">false</item>
</style>
<!-- Ignore UnusedResources: used by clients -->
<style name="SuwGlifButton.Tertiary"
parent="SuwGlifButton.BaseTertiary"
tools:ignore="UnusedResources" />
<style name="SuwGlifButton.Tertiary" parent="SuwGlifButton.BaseTertiary" />
<!-- The start and end paddings are asymmetric because start buttons are borderless buttons
which aligns the text label. -->

View File

@ -79,12 +79,24 @@ 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.

View File

@ -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">@style/TextAppearance.SuwItemSummary</item>
<item name="android:textAppearanceListItemSmall">@android:style/TextAppearance.Material.Body1</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">@style/TextAppearance.SuwItemSummary</item>
<item name="android:textAppearanceListItemSmall">@android:style/TextAppearance.Material.Body1</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>

View File

@ -27,6 +27,7 @@ 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;
@ -37,7 +38,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@RunWith(SuwLibRobolectricTestRunner.class)
public class RecyclerViewScrollHandlingDelegateTest {

View File

@ -21,12 +21,9 @@ android {
res.srcDirs = ['main/res']
}
flavorDimensions 'compat'
productFlavors {
// Platform version that will not include the compatibility libraries
platform {
dimension 'compat'
minSdkVersion 23
dependencies {
@ -46,17 +43,16 @@ android {
// deps = ['project-name': 'com.example.group:project-name:1.0.0']
// }
//
platformImplementation deps['support-annotations']
platformCompile deps['support-annotations']
}
}
// Provides backwards compatibility for Gingerbread or above, using support libraries.
gingerbreadCompat {
dimension 'compat'
minSdkVersion 9
dependencies {
gingerbreadCompatImplementation deps['support-appcompat-v7']
gingerbreadCompatImplementation deps['support-recyclerview-v7']
gingerbreadCompatCompile deps['support-appcompat-v7']
gingerbreadCompatCompile deps['support-recyclerview-v7']
}
}
}

View File

@ -13,12 +13,12 @@ android.sourceSets {
res.srcDirs = ['test/instrumentation/res']
dependencies {
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'
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'
}
}
@ -38,12 +38,12 @@ android.sourceSets {
java.srcDirs = ['test/robotest/src']
dependencies {
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'
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'
// Workaround for https://github.com/robolectric/robolectric/issues/2566
testImplementation 'org.khronos:opengl-api:gl1.1-android-2.1_r1'
testCompile 'org.khronos:opengl-api:gl1.1-android-2.1_r1'
}
}
@ -51,9 +51,6 @@ 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

View File

@ -54,7 +54,7 @@ import org.robolectric.Robolectric;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
public class GlifLayoutTest {
private Context mContext;

View File

@ -39,6 +39,7 @@ 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;
@ -49,7 +50,9 @@ import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@Config(
constants = BuildConfig.class,
sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
public class ButtonItemTest {
private ViewGroup mParent;

View File

@ -24,6 +24,7 @@ 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;
@ -35,7 +36,9 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@Config(
constants = BuildConfig.class,
sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
public class ItemGroupTest {
private static final Item CHILD_1 = new EqualsItem("Child 1");

View File

@ -0,0 +1,126 @@
/*
* 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;
}
}
}

View File

@ -20,13 +20,42 @@ 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 + " =====");

View File

@ -23,12 +23,15 @@ 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
@ -65,7 +68,6 @@ 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;

View File

@ -31,6 +31,7 @@ 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;
@ -41,7 +42,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@RunWith(SuwLibRobolectricTestRunner.class)
public class ListViewScrollHandlingDelegateTest {

View File

@ -34,6 +34,7 @@ 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;
@ -47,7 +48,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@RunWith(SuwLibRobolectricTestRunner.class)
public class RequireScrollMixinTest {

View File

@ -23,6 +23,7 @@ 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;
@ -35,7 +36,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@Config(sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
@RunWith(SuwLibRobolectricTestRunner.class)
public class ScrollViewScrollHandlingDelegateTest {

View File

@ -26,6 +26,7 @@ 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 +36,7 @@ import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(sdk = Config.ALL_SDKS)
@Config(constants = BuildConfig.class, sdk = Config.ALL_SDKS)
public class GlifDimensionTest {
private Context mContext;

View File

@ -30,6 +30,7 @@ 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;
@ -40,7 +41,7 @@ import org.robolectric.Robolectric;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(sdk = {Config.OLDEST_SDK, Config.NEWEST_SDK})
@Config(constants = BuildConfig.class, sdk = {Config.OLDEST_SDK, Config.NEWEST_SDK})
public class GlifStyleTest {
private Context mContext;

View File

@ -37,6 +37,7 @@ 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;
@ -56,6 +57,7 @@ import java.util.Collections;
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(
constants = BuildConfig.class,
sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK },
shadows = ShadowApplicationPackageManager.class)
public class PartnerTest {

View File

@ -31,6 +31,7 @@ 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;
@ -43,7 +44,7 @@ import java.util.Arrays;
import java.util.List;
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(sdk = Config.NEWEST_SDK)
@Config(constants = BuildConfig.class, sdk = Config.NEWEST_SDK)
public class WizardManagerHelperTest {
@Test

View File

@ -22,6 +22,7 @@ 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;
@ -30,7 +31,7 @@ import org.robolectric.Robolectric;
import org.robolectric.annotation.Config;
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(sdk = {Config.OLDEST_SDK, Config.NEWEST_SDK})
@Config(constants = BuildConfig.class, sdk = {Config.OLDEST_SDK, Config.NEWEST_SDK})
public class FillContentLayoutTest {
@Test

View File

@ -31,6 +31,7 @@ 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;
@ -53,6 +54,7 @@ import org.robolectric.util.ReflectionHelpers;
@RunWith(SuwLibRobolectricTestRunner.class)
@Config(
constants = BuildConfig.class,
sdk = Config.NEWEST_SDK,
shadows = {
ShadowMockMediaPlayer.class,

View File

@ -1,6 +1,6 @@
// Set the default SDK and build tools version for all apps
compileSdkVersion 27
buildToolsVersion = '27.0.0'
compileSdkVersion 26
buildToolsVersion = '26.0.0'
// enable Java7
compileOptions.sourceCompatibility JavaVersion.VERSION_1_7