Skip to content
Snippets Groups Projects
Verified Commit 60d949c3 authored by Torsten Grote's avatar Torsten Grote
Browse files

Refactor tests so that all test data is created in the first test

parent 1c90e648
No related branches found
No related tags found
No related merge requests found
Showing with 103 additions and 92 deletions
...@@ -140,7 +140,7 @@ dependencies { ...@@ -140,7 +140,7 @@ dependencies {
androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:2.0.2" androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:2.0.2"
androidTestCompileOnly 'javax.annotation:jsr250-api:1.0' androidTestCompileOnly 'javax.annotation:jsr250-api:1.0'
androidTestImplementation 'junit:junit:4.12' androidTestImplementation 'junit:junit:4.12'
androidTestScreenshotImplementation "tools.fastlane:screengrab:1.1.0" androidTestScreenshotImplementation "tools.fastlane:screengrab:1.2.0"
androidTestScreenshotImplementation "com.android.support.test.uiautomator:uiautomator-v18:2.1.3" androidTestScreenshotImplementation "com.android.support.test.uiautomator:uiautomator-v18:2.1.3"
} }
......
...@@ -2,4 +2,6 @@ app_package_name "org.briarproject.briar.android.screenshot.debug" ...@@ -2,4 +2,6 @@ app_package_name "org.briarproject.briar.android.screenshot.debug"
locales ['en-US'] locales ['en-US']
app_apk_path "build/outputs/apk/screenshot/debug/briar-android-screenshot-debug.apk" app_apk_path "build/outputs/apk/screenshot/debug/briar-android-screenshot-debug.apk"
tests_apk_path "build/outputs/apk/androidTest/screenshot/debug/briar-android-screenshot-debug-androidTest.apk" tests_apk_path "build/outputs/apk/androidTest/screenshot/debug/briar-android-screenshot-debug-androidTest.apk"
test_instrumentation_runner "org.briarproject.briar.android.BriarTestRunner" test_instrumentation_runner "org.briarproject.briar.android.BriarTestRunner"
\ No newline at end of file reinstall_app = true
exit_on_test_failure = true
\ No newline at end of file
...@@ -7,6 +7,7 @@ import android.support.test.espresso.intent.rule.IntentsTestRule; ...@@ -7,6 +7,7 @@ import android.support.test.espresso.intent.rule.IntentsTestRule;
import org.briarproject.bramble.api.account.AccountManager; import org.briarproject.bramble.api.account.AccountManager;
import org.briarproject.bramble.api.lifecycle.LifecycleManager; import org.briarproject.bramble.api.lifecycle.LifecycleManager;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import org.briarproject.briar.R;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import javax.inject.Inject; import javax.inject.Inject;
...@@ -16,7 +17,8 @@ import static android.support.test.InstrumentationRegistry.getTargetContext; ...@@ -16,7 +17,8 @@ import static android.support.test.InstrumentationRegistry.getTargetContext;
@SuppressWarnings("WeakerAccess") @SuppressWarnings("WeakerAccess")
public abstract class UiTest { public abstract class UiTest {
protected static final String USERNAME = "Alice"; protected final String USERNAME =
getTargetContext().getString(R.string.screenshot_alice);
protected static final String PASSWORD = "123456"; protected static final String PASSWORD = "123456";
@Inject @Inject
......
...@@ -5,7 +5,6 @@ import org.briarproject.bramble.BrambleCoreModule; ...@@ -5,7 +5,6 @@ import org.briarproject.bramble.BrambleCoreModule;
import org.briarproject.bramble.account.BriarAccountModule; import org.briarproject.bramble.account.BriarAccountModule;
import org.briarproject.briar.BriarCoreModule; import org.briarproject.briar.BriarCoreModule;
import org.briarproject.briar.android.contact.ConversationActivityScreenshotTest; import org.briarproject.briar.android.contact.ConversationActivityScreenshotTest;
import org.briarproject.briar.android.login.SetupActivityScreenshotTest;
import org.briarproject.briar.android.settings.SettingsActivityScreenshotTest; import org.briarproject.briar.android.settings.SettingsActivityScreenshotTest;
import javax.inject.Singleton; import javax.inject.Singleton;
...@@ -22,8 +21,9 @@ import dagger.Component; ...@@ -22,8 +21,9 @@ import dagger.Component;
}) })
public interface BriarUiTestComponent extends AndroidComponent { public interface BriarUiTestComponent extends AndroidComponent {
void inject(SetupDataTest test);
void inject(ConversationActivityScreenshotTest test); void inject(ConversationActivityScreenshotTest test);
void inject(SetupActivityScreenshotTest test);
void inject(SettingsActivityScreenshotTest test); void inject(SettingsActivityScreenshotTest test);
} }
package org.briarproject.briar.android; package org.briarproject.briar.android;
import android.app.Activity;
import android.util.Log; import android.util.Log;
import org.briarproject.bramble.api.plugin.ConnectionRegistry; import org.briarproject.bramble.api.plugin.ConnectionRegistry;
...@@ -9,12 +10,10 @@ import org.junit.ClassRule; ...@@ -9,12 +10,10 @@ import org.junit.ClassRule;
import javax.inject.Inject; import javax.inject.Inject;
import tools.fastlane.screengrab.FalconScreenshotStrategy;
import tools.fastlane.screengrab.Screengrab; import tools.fastlane.screengrab.Screengrab;
import tools.fastlane.screengrab.UiAutomatorScreenshotStrategy;
import tools.fastlane.screengrab.locale.LocaleTestRule; import tools.fastlane.screengrab.locale.LocaleTestRule;
import static tools.fastlane.screengrab.Screengrab.setDefaultScreenshotStrategy;
public abstract class ScreenshotTest extends UiTest { public abstract class ScreenshotTest extends UiTest {
@ClassRule @ClassRule
...@@ -27,14 +26,9 @@ public abstract class ScreenshotTest extends UiTest { ...@@ -27,14 +26,9 @@ public abstract class ScreenshotTest extends UiTest {
@Inject @Inject
protected Clock clock; protected Clock clock;
public ScreenshotTest() { protected void screenshot(String name, Activity activity) {
super();
setDefaultScreenshotStrategy(new UiAutomatorScreenshotStrategy());
}
protected void screenshot(String name) {
try { try {
Screengrab.screenshot(name); Screengrab.screenshot(name, new FalconScreenshotStrategy(activity));
} catch (RuntimeException e) { } catch (RuntimeException e) {
if (!e.getMessage().equals("Unable to capture screenshot.")) if (!e.getMessage().equals("Unable to capture screenshot."))
throw e; throw e;
......
package org.briarproject.briar.android.login; package org.briarproject.briar.android;
import android.support.test.espresso.intent.rule.IntentsTestRule; import android.support.test.espresso.intent.rule.IntentsTestRule;
import android.support.test.runner.AndroidJUnit4; import android.support.test.runner.AndroidJUnit4;
...@@ -6,9 +6,12 @@ import android.support.test.uiautomator.UiDevice; ...@@ -6,9 +6,12 @@ import android.support.test.uiautomator.UiDevice;
import android.support.test.uiautomator.UiObject; import android.support.test.uiautomator.UiObject;
import android.support.test.uiautomator.UiSelector; import android.support.test.uiautomator.UiSelector;
import org.briarproject.bramble.api.FormatException;
import org.briarproject.bramble.api.contact.Contact;
import org.briarproject.bramble.api.db.DbException;
import org.briarproject.briar.R; import org.briarproject.briar.R;
import org.briarproject.briar.android.BriarUiTestComponent; import org.briarproject.briar.android.login.OpenDatabaseActivity;
import org.briarproject.briar.android.ScreenshotTest; import org.briarproject.briar.android.login.SetupActivity;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -26,14 +29,14 @@ import static android.support.test.espresso.matcher.ViewMatchers.isRoot; ...@@ -26,14 +29,14 @@ import static android.support.test.espresso.matcher.ViewMatchers.isRoot;
import static android.support.test.espresso.matcher.ViewMatchers.withId; import static android.support.test.espresso.matcher.ViewMatchers.withId;
import static android.support.test.espresso.matcher.ViewMatchers.withText; import static android.support.test.espresso.matcher.ViewMatchers.withText;
import static android.support.test.runner.lifecycle.Stage.PAUSED; import static android.support.test.runner.lifecycle.Stage.PAUSED;
import static junit.framework.Assert.assertTrue; import static org.briarproject.bramble.api.plugin.LanTcpConstants.ID;
import static org.briarproject.briar.android.ViewActions.waitForActivity; import static org.briarproject.briar.android.ViewActions.waitForActivity;
import static org.briarproject.briar.android.ViewActions.waitUntilMatches; import static org.briarproject.briar.android.ViewActions.waitUntilMatches;
import static org.briarproject.briar.android.util.UiUtils.needsDozeWhitelisting; import static org.briarproject.briar.android.util.UiUtils.needsDozeWhitelisting;
import static org.junit.Assert.assertTrue;
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
public class SetupActivityScreenshotTest extends ScreenshotTest { public class SetupDataTest extends ScreenshotTest {
@Rule @Rule
public IntentsTestRule<SetupActivity> testRule = public IntentsTestRule<SetupActivity> testRule =
...@@ -61,7 +64,7 @@ public class SetupActivityScreenshotTest extends ScreenshotTest { ...@@ -61,7 +64,7 @@ public class SetupActivityScreenshotTest extends ScreenshotTest {
onView(withId(R.id.nickname_entry)) onView(withId(R.id.nickname_entry))
.perform(waitUntilMatches(withText(USERNAME))); .perform(waitUntilMatches(withText(USERNAME)));
screenshot("manual_create_account"); screenshot("manual_create_account", testRule.getActivity());
onView(withId(R.id.next)) onView(withId(R.id.next))
.check(matches(isDisplayed())) .check(matches(isDisplayed()))
...@@ -94,13 +97,54 @@ public class SetupActivityScreenshotTest extends ScreenshotTest { ...@@ -94,13 +97,54 @@ public class SetupActivityScreenshotTest extends ScreenshotTest {
} }
// wait for OpenDatabaseActivity to show up // wait for OpenDatabaseActivity to show up
onView(withId(R.id.progress))
.check(matches(isDisplayed()));
onView(isRoot()) onView(isRoot())
.perform(waitForActivity(testRule.getActivity(), PAUSED)); .perform(waitForActivity(testRule.getActivity(), PAUSED));
intended(hasComponent(OpenDatabaseActivity.class.getName())); intended(hasComponent(OpenDatabaseActivity.class.getName()));
assertTrue(accountManager.hasDatabaseKey()); assertTrue(accountManager.hasDatabaseKey());
lifecycleManager.waitForStartup();
createTestData();
// close expiry warning
onView(withId(R.id.expiryWarning))
.perform(waitUntilMatches(isDisplayed()));
onView(withId(R.id.expiryWarningClose))
.check(matches(isDisplayed()));
onView(withId(R.id.expiryWarningClose))
.perform(click());
}
private void createTestData() {
try {
createTestDataExceptions();
} catch (DbException | FormatException e) {
throw new AssertionError(e);
}
}
private void createTestDataExceptions()
throws DbException, FormatException {
String bobName =
getTargetContext().getString(R.string.screenshot_bob);
Contact bob = testDataCreator.addContact(bobName);
String bobHi = getTargetContext()
.getString(R.string.screenshot_message_1);
long bobTime = getMinutesAgo(2);
testDataCreator.addPrivateMessage(bob, bobHi, bobTime, true);
String aliceHi = getTargetContext()
.getString(R.string.screenshot_message_2);
long aliceTime = getMinutesAgo(1);
testDataCreator.addPrivateMessage(bob, aliceHi, aliceTime, false);
String bobHi2 = getTargetContext()
.getString(R.string.screenshot_message_3);
long bobTime2 = getMinutesAgo(0);
testDataCreator.addPrivateMessage(bob, bobHi2, bobTime2, true);
connectionRegistry.registerConnection(bob.getId(), ID, true);
} }
} }
...@@ -2,11 +2,9 @@ package org.briarproject.briar.android.contact; ...@@ -2,11 +2,9 @@ package org.briarproject.briar.android.contact;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4; import android.support.test.runner.AndroidJUnit4;
import org.briarproject.bramble.api.FormatException;
import org.briarproject.bramble.api.contact.Contact;
import org.briarproject.bramble.api.db.DbException;
import org.briarproject.briar.R; import org.briarproject.briar.R;
import org.briarproject.briar.android.BriarUiTestComponent; import org.briarproject.briar.android.BriarUiTestComponent;
import org.briarproject.briar.android.ScreenshotTest; import org.briarproject.briar.android.ScreenshotTest;
...@@ -15,23 +13,20 @@ import org.junit.Test; ...@@ -15,23 +13,20 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import static android.support.test.InstrumentationRegistry.getInstrumentation; import static android.support.test.InstrumentationRegistry.getInstrumentation;
import static android.support.test.InstrumentationRegistry.getTargetContext;
import static android.support.test.espresso.Espresso.onView; import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; import static android.support.test.espresso.matcher.ViewMatchers.isCompletelyDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.withId; import static android.support.test.espresso.matcher.ViewMatchers.withId;
import static android.support.test.espresso.matcher.ViewMatchers.withText; import static android.support.test.espresso.matcher.ViewMatchers.withText;
import static org.briarproject.bramble.api.plugin.LanTcpConstants.ID;
import static org.briarproject.briar.android.contact.ConversationActivity.CONTACT_ID;
import static org.briarproject.briar.android.ViewActions.waitUntilMatches; import static org.briarproject.briar.android.ViewActions.waitUntilMatches;
import static org.briarproject.briar.android.contact.ConversationActivity.CONTACT_ID;
import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.allOf;
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
public class ConversationActivityScreenshotTest extends ScreenshotTest { public class ConversationActivityScreenshotTest extends ScreenshotTest {
@Rule @Rule
public CleanAccountTestRule<ConversationActivity> testRule = public ActivityTestRule<ConversationActivity> testRule =
new CleanAccountTestRule<>(ConversationActivity.class, new ActivityTestRule<>(ConversationActivity.class, false, false);
this::createTestData);
@Override @Override
protected void inject(BriarUiTestComponent component) { protected void inject(BriarUiTestComponent component) {
...@@ -39,48 +34,19 @@ public class ConversationActivityScreenshotTest extends ScreenshotTest { ...@@ -39,48 +34,19 @@ public class ConversationActivityScreenshotTest extends ScreenshotTest {
} }
@Test @Test
public void messaging() { public void messaging() throws Exception {
Context targetContext = getInstrumentation().getTargetContext(); Context targetContext = getInstrumentation().getTargetContext();
Intent intent = new Intent(targetContext, ConversationActivity.class); Intent intent = new Intent(targetContext, ConversationActivity.class);
intent.putExtra(CONTACT_ID, 1); intent.putExtra(CONTACT_ID, 1);
testRule.launchActivity(intent); testRule.launchActivity(intent);
onView(withId(R.id.conversationView)).perform(waitUntilMatches( onView(withId(R.id.conversationView))
allOf(withText(R.string.screenshot_message_3), isDisplayed()))); .perform(waitUntilMatches(allOf(
withText(R.string.screenshot_message_3),
screenshot("manual_messaging"); isCompletelyDisplayed())
} ));
private void createTestData() {
try {
createTestDataExceptions();
} catch (DbException | FormatException e) {
throw new AssertionError(e);
}
}
private void createTestDataExceptions()
throws DbException, FormatException {
String bobName =
getTargetContext().getString(R.string.screenshot_bob);
Contact bob = testDataCreator.addContact(bobName);
String bobHi = getTargetContext()
.getString(R.string.screenshot_message_1);
long bobTime = getMinutesAgo(2);
testDataCreator.addPrivateMessage(bob, bobHi, bobTime, true);
String aliceHi = getTargetContext()
.getString(R.string.screenshot_message_2);
long aliceTime = getMinutesAgo(1);
testDataCreator.addPrivateMessage(bob, aliceHi, aliceTime, false);
String bobHi2 = getTargetContext()
.getString(R.string.screenshot_message_3);
long bobTime2 = getMinutesAgo(0);
testDataCreator.addPrivateMessage(bob, bobHi2, bobTime2, true);
connectionRegistry.registerConnection(bob.getId(), ID, true); screenshot("manual_messaging", testRule.getActivity());
} }
} }
...@@ -2,14 +2,15 @@ package org.briarproject.briar.android.settings; ...@@ -2,14 +2,15 @@ package org.briarproject.briar.android.settings;
import android.content.Intent; import android.content.Intent;
import android.support.test.espresso.contrib.DrawerActions; import android.support.test.espresso.contrib.DrawerActions;
import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4; import android.support.test.runner.AndroidJUnit4;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.view.Gravity; import android.view.Gravity;
import org.briarproject.briar.R; import org.briarproject.briar.R;
import org.briarproject.briar.android.BriarUiTestComponent; import org.briarproject.briar.android.BriarUiTestComponent;
import org.briarproject.briar.android.navdrawer.NavDrawerActivity;
import org.briarproject.briar.android.ScreenshotTest; import org.briarproject.briar.android.ScreenshotTest;
import org.briarproject.briar.android.navdrawer.NavDrawerActivity;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -33,8 +34,8 @@ import static org.hamcrest.CoreMatchers.is; ...@@ -33,8 +34,8 @@ import static org.hamcrest.CoreMatchers.is;
public class SettingsActivityScreenshotTest extends ScreenshotTest { public class SettingsActivityScreenshotTest extends ScreenshotTest {
@Rule @Rule
public CleanAccountTestRule<SettingsActivity> testRule = public ActivityTestRule<SettingsActivity> testRule =
new CleanAccountTestRule<>(SettingsActivity.class); new ActivityTestRule<>(SettingsActivity.class);
@Override @Override
protected void inject(BriarUiTestComponent component) { protected void inject(BriarUiTestComponent component) {
...@@ -46,7 +47,7 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest { ...@@ -46,7 +47,7 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
onView(withText(R.string.settings_button)) onView(withText(R.string.settings_button))
.check(matches(isDisplayed())); .check(matches(isDisplayed()));
screenshot("manual_dark_theme_settings"); screenshot("manual_dark_theme_settings", testRule.getActivity());
// switch to dark theme // switch to dark theme
onView(withText(R.string.pref_theme_title)) onView(withText(R.string.pref_theme_title))
...@@ -56,10 +57,20 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest { ...@@ -56,10 +57,20 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
.check(matches(isDisplayed())) .check(matches(isDisplayed()))
.perform(click()); .perform(click());
// open nav drawer and remove expiry warning openNavDrawer();
openNavDrawer(true);
screenshot("manual_dark_theme_nav_drawer", testRule.getActivity());
screenshot("manual_dark_theme_nav_drawer"); // switch to back to light theme
onView(withText(R.string.settings_button))
.check(matches(isDisplayed()))
.perform(click());
onView(withText(R.string.pref_theme_title))
.check(matches(isDisplayed()))
.perform(click());
onView(withText(R.string.pref_theme_light))
.check(matches(isDisplayed()))
.perform(click());
} }
@Test @Test
...@@ -83,12 +94,11 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest { ...@@ -83,12 +94,11 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
.check(matches(isDisplayed())) .check(matches(isDisplayed()))
.check(matches(isEnabled())); .check(matches(isEnabled()));
screenshot("manual_app_lock"); screenshot("manual_app_lock", testRule.getActivity());
// no more expiry warning to remove, because sharedprefs cached? openNavDrawer();
openNavDrawer(false);
screenshot("manual_app_lock_nav_drawer"); screenshot("manual_app_lock_nav_drawer", testRule.getActivity());
} }
@Test @Test
...@@ -104,23 +114,15 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest { ...@@ -104,23 +114,15 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
.check(matches(isDisplayed())) .check(matches(isDisplayed()))
.perform(waitUntilMatches(isEnabled())); .perform(waitUntilMatches(isEnabled()));
screenshot("manual_tor_settings"); screenshot("manual_tor_settings", testRule.getActivity());
} }
private void openNavDrawer(boolean expiry) { private void openNavDrawer() {
// start main activity // start main activity
Intent i = Intent i =
new Intent(testRule.getActivity(), NavDrawerActivity.class); new Intent(testRule.getActivity(), NavDrawerActivity.class);
testRule.getActivity().startActivity(i); testRule.getActivity().startActivity(i);
// close expiry warning
if (expiry) {
onView(withId(R.id.expiryWarningClose))
.check(matches(isDisplayed()));
onView(withId(R.id.expiryWarningClose))
.perform(click());
}
// open navigation drawer // open navigation drawer
onView(withId(R.id.drawer_layout)) onView(withId(R.id.drawer_layout))
.check(matches(isClosed(Gravity.START))) .check(matches(isClosed(Gravity.START)))
......
...@@ -82,6 +82,7 @@ dependencyVerification { ...@@ -82,6 +82,7 @@ dependencyVerification {
'com.google.zxing:core:3.3.0:core-3.3.0.jar:bba7724e02a997cec38213af77133ee8e24b0d5cf5fa7ecbc16a4fa93f11ee0d', 'com.google.zxing:core:3.3.0:core-3.3.0.jar:bba7724e02a997cec38213af77133ee8e24b0d5cf5fa7ecbc16a4fa93f11ee0d',
'com.googlecode.json-simple:json-simple:1.1:json-simple-1.1.jar:2d9484f4c649f708f47f9a479465fc729770ee65617dca3011836602264f6439', 'com.googlecode.json-simple:json-simple:1.1:json-simple-1.1.jar:2d9484f4c649f708f47f9a479465fc729770ee65617dca3011836602264f6439',
'com.ibm.icu:icu4j:53.1:icu4j-53.1.jar:e37a4467bac5cdeb02c5c4b8e5063d2f4e67b69e3c7df6d6b610f13185572bab', 'com.ibm.icu:icu4j:53.1:icu4j-53.1.jar:e37a4467bac5cdeb02c5c4b8e5063d2f4e67b69e3c7df6d6b610f13185572bab',
'com.jraska:falcon:1.0.4:falcon-1.0.4.aar:6114a48d8b3814f75fc69b5e84dc087c1254883874eae8a36bd778979800630a',
'com.squareup:javawriter:2.1.1:javawriter-2.1.1.jar:f699823d0081f69cbb676c1845ea222e0ada79bc88a53e5d22d8bd02d328f57e', 'com.squareup:javawriter:2.1.1:javawriter-2.1.1.jar:f699823d0081f69cbb676c1845ea222e0ada79bc88a53e5d22d8bd02d328f57e',
'com.squareup:javawriter:2.5.0:javawriter-2.5.0.jar:fcfb09fb0ea0aa97d3cfe7ea792398081348e468f126b3603cb3803f240197f0', 'com.squareup:javawriter:2.5.0:javawriter-2.5.0.jar:fcfb09fb0ea0aa97d3cfe7ea792398081348e468f126b3603cb3803f240197f0',
'com.sun.activation:javax.activation:1.2.0:javax.activation-1.2.0.jar:993302b16cd7056f21e779cc577d175a810bb4900ef73cd8fbf2b50f928ba9ce', 'com.sun.activation:javax.activation:1.2.0:javax.activation-1.2.0.jar:993302b16cd7056f21e779cc577d175a810bb4900ef73cd8fbf2b50f928ba9ce',
...@@ -171,7 +172,7 @@ dependencyVerification { ...@@ -171,7 +172,7 @@ dependencyVerification {
'org.robolectric:shadows-framework:3.8:shadows-framework-3.8.jar:83548db7249edf1af87e1a1f4d8f4eec3e85d6220161da601e6f6398476911b2', 'org.robolectric:shadows-framework:3.8:shadows-framework-3.8.jar:83548db7249edf1af87e1a1f4d8f4eec3e85d6220161da601e6f6398476911b2',
'org.robolectric:shadows-support-v4:3.3.2:shadows-support-v4-3.3.2.jar:6f689264738266e70fe08db7c04b7b5a75155994f4e3f7f311960d90486bf005', 'org.robolectric:shadows-support-v4:3.3.2:shadows-support-v4-3.3.2.jar:6f689264738266e70fe08db7c04b7b5a75155994f4e3f7f311960d90486bf005',
'org.robolectric:utils:3.8:utils-3.8.jar:e945d04d40e37554e02d4be1bc3abf9bede45375c843aa36d10ccb6b63edbf34', 'org.robolectric:utils:3.8:utils-3.8.jar:e945d04d40e37554e02d4be1bc3abf9bede45375c843aa36d10ccb6b63edbf34',
'tools.fastlane:screengrab:1.1.0:screengrab-1.1.0.aar:03ce3868ee8a0082d14e7a1de0999f91531c0cc794392688beb08ee9bc4495fd', 'tools.fastlane:screengrab:1.2.0:screengrab-1.2.0.aar:af4ee23bb06f94404d3ab18e2ea69db8265539fc8da29f9ee45b7e472684ba83',
'uk.co.samuelwall:material-tap-target-prompt:2.8.0:material-tap-target-prompt-2.8.0.aar:ac70770c05bbc4675a1d5712c0e53d46ee4fa961b74947589fce50d8003065ec', 'uk.co.samuelwall:material-tap-target-prompt:2.8.0:material-tap-target-prompt-2.8.0.aar:ac70770c05bbc4675a1d5712c0e53d46ee4fa961b74947589fce50d8003065ec',
'xmlpull:xmlpull:1.1.3.1:xmlpull-1.1.3.1.jar:34e08ee62116071cbb69c0ed70d15a7a5b208d62798c59f2120bb8929324cb63', 'xmlpull:xmlpull:1.1.3.1:xmlpull-1.1.3.1.jar:34e08ee62116071cbb69c0ed70d15a7a5b208d62798c59f2120bb8929324cb63',
'xpp3:xpp3_min:1.1.4c:xpp3_min-1.1.4c.jar:bfc90e9e32d0eab1f397fb974b5f150a815188382ac41f372a7149d5bc178008', 'xpp3:xpp3_min:1.1.4c:xpp3_min-1.1.4c.jar:bfc90e9e32d0eab1f397fb974b5f150a815188382ac41f372a7149d5bc178008',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment