diff --git a/.travis.yml b/.travis.yml index e61b0b3f3..a293cd469 100644 --- a/.travis.yml +++ b/.travis.yml @@ -58,7 +58,7 @@ after_success: - | if [[ "$TRAVIS_TAG" ]]; then ./gradlew publishRegularRelease - ./gradlew -PFirebaseServiceAccountFilePath=$PWD/app/src/main/google-services.json :app:firebaseUploadRegularReleaseProguardMapping + ./gradlew -PFirebaseServiceAccountFilePath=$PWD/app/src/release/google-services.json :app:firebaseUploadRegularReleaseProguardMapping ./dropbox_uploader.sh upload app/build/outputs/apk/app-regular-release.apk /Release/$TRAVIS_TAG/MyTargets.apk ./dropbox_uploader.sh upload app/build/outputs/mapping/regular/release/mapping.txt /Release/$TRAVIS_TAG/mapping.txt fi diff --git a/Screengrabfile b/Screengrabfile index d03b4778d..c778328ad 100644 --- a/Screengrabfile +++ b/Screengrabfile @@ -1,12 +1,12 @@ -app_package_name 'de.dreier.mytargets' +app_package_name 'de.dreier.mytargets.debug' use_tests_in_packages ['de.dreier.mytargets.screengrab'] -output_directory 'build' +output_directory 'build/screengrab' app_apk_path 'app/build/outputs/apk/app-screengrab-debug.apk' -tests_apk_path 'app/build/outputs/apk/app-screengrab-debug-androidTest-unaligned.apk' +tests_apk_path 'app/build/outputs/apk/app-screengrab-debug-androidTest.apk' -locales ['ca-ES', 'cs-CZ', 'de-DE', 'en-US', 'es-ES', 'fr-FR', 'hu-HU', 'it-IT', 'iw-IL', 'ja-JP', 'nl-NL', 'no-NO', 'pl-PL', 'pt-BR', 'pt-PT', 'ru-RU', 'sk-SK', 'sl-SI', 'sv-SE', 'tr-TR', 'zh-CN', 'zh-TW'] +locales ['ca-ES', 'cs-CZ', 'da-DK', 'de-DE', 'en-US', 'es-ES', 'fr-FR', 'hu-HU', 'id-ID', 'it-IT', 'iw-IL', 'ja-JP', 'nl-NL', 'no-NO', 'pl-PL', 'pt-BR', 'pt-PT', 'ru-RU', 'sk-SK', 'sl-SI', 'sv-SE', 'tr-TR', 'zh-CN', 'zh-TW'] -clear_previous_screenshots true -skip_open_summary true \ No newline at end of file +# clear_previous_screenshots true +skip_open_summary true diff --git a/app/build.gradle b/app/build.gradle index 08e6f8808..74cf01755 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -88,8 +88,7 @@ if (CROWDIN_API_KEY != null && !CROWDIN_API_KEY.isEmpty()) { } task generateLocalizedScreenshots(type: Exec, group: 'play store', dependsOn: [':crowdinDownload', 'assembleScreengrabDebugAndroidTest', 'assembleScreengrabDebug']) { - workingDir '..' - commandLine './make_screenshots.sh' + commandLine '../make_screenshots.sh' } if (new File('googlePlayAndroidDeveloper.json').exists()) { @@ -191,4 +190,4 @@ dependencies { } // Must be at the bottom -apply plugin: 'com.google.gms.google-services' \ No newline at end of file +apply plugin: 'com.google.gms.google-services' diff --git a/app/src/androidTest/java/de/dreier/mytargets/features/arrow/ArrowSelectorTest.java b/app/src/androidTest/java/de/dreier/mytargets/features/arrow/ArrowSelectorTest.java index bde66c574..a1382023f 100644 --- a/app/src/androidTest/java/de/dreier/mytargets/features/arrow/ArrowSelectorTest.java +++ b/app/src/androidTest/java/de/dreier/mytargets/features/arrow/ArrowSelectorTest.java @@ -72,7 +72,7 @@ private void arrowSelectionTest(String type) { Intent intent = new Intent(); intent.setAction(type); activityTestRule.launchActivity(intent); - allowPermissionsIfNeeded(activityTestRule.getActivity(), ACCESS_FINE_LOCATION); + //allowPermissionsIfNeeded(activityTestRule.getActivity(), ACCESS_FINE_LOCATION); onView(withText(R.string.add_arrow)).perform(nestedScrollTo(), click()); intended(hasComponent(EditArrowActivity.class.getName())); diff --git a/app/src/androidTest/java/de/dreier/mytargets/features/bow/BowSelectorTest.java b/app/src/androidTest/java/de/dreier/mytargets/features/bow/BowSelectorTest.java index bc4db5233..5600b7df9 100644 --- a/app/src/androidTest/java/de/dreier/mytargets/features/bow/BowSelectorTest.java +++ b/app/src/androidTest/java/de/dreier/mytargets/features/bow/BowSelectorTest.java @@ -72,7 +72,7 @@ private void bowSelectionTest(String type) { Intent intent = new Intent(); intent.setAction(type); activityTestRule.launchActivity(intent); - allowPermissionsIfNeeded(activityTestRule.getActivity(), ACCESS_FINE_LOCATION); + //allowPermissionsIfNeeded(activityTestRule.getActivity(), ACCESS_FINE_LOCATION); onView(withText(R.string.add_bow)).perform(nestedScrollTo(), click()); intended(hasComponent(EditBowActivity.class.getName())); diff --git a/app/src/androidTest/java/de/dreier/mytargets/features/main/IntroActivityTest.java b/app/src/androidTest/java/de/dreier/mytargets/features/main/IntroActivityTest.java index 039cfaebe..986bee471 100644 --- a/app/src/androidTest/java/de/dreier/mytargets/features/main/IntroActivityTest.java +++ b/app/src/androidTest/java/de/dreier/mytargets/features/main/IntroActivityTest.java @@ -68,6 +68,6 @@ public void introActivityTest() { onView(withId(R.id.toolbar)).check(matches(hasDescendant(withText(R.string.my_targets)))); onView(matchFabMenu()).perform(click()); - allowPermissionsIfNeeded(activityTestRule.getActivity(), ACCESS_FINE_LOCATION); + //allowPermissionsIfNeeded(activityTestRule.getActivity(), ACCESS_FINE_LOCATION); } } diff --git a/app/src/androidTest/java/de/dreier/mytargets/features/settings/SettingsManagerTest.java b/app/src/androidTest/java/de/dreier/mytargets/features/settings/SettingsManagerTest.java index e56092768..f2dc609e6 100644 --- a/app/src/androidTest/java/de/dreier/mytargets/features/settings/SettingsManagerTest.java +++ b/app/src/androidTest/java/de/dreier/mytargets/features/settings/SettingsManagerTest.java @@ -129,12 +129,6 @@ public void setEndCount() { assertThat(SettingsManager.getEndCount()).isEqualTo(10); } - @Test - public void setTranslationDialogWasShown() { - SettingsManager.setTranslationDialogShown(true); - assertThat(SettingsManager.isTranslationDialogShown()).isEqualTo(true); - } - @Test public void setInputMethod() { SettingsManager.setInputMethod(KEYBOARD); @@ -300,4 +294,4 @@ public void setScoreConfiguration() { SettingsManager.setScoreConfiguration(config); assertThat(SettingsManager.getScoreConfiguration()).isEqualTo(config); } -} \ No newline at end of file +} diff --git a/app/src/androidTest/java/de/dreier/mytargets/features/training/EditTrainingActivityTest.java b/app/src/androidTest/java/de/dreier/mytargets/features/training/EditTrainingActivityTest.java index 86d4c01a0..f68e4f32c 100644 --- a/app/src/androidTest/java/de/dreier/mytargets/features/training/EditTrainingActivityTest.java +++ b/app/src/androidTest/java/de/dreier/mytargets/features/training/EditTrainingActivityTest.java @@ -88,7 +88,7 @@ public void createFreeTraining() { intent.setAction(CREATE_FREE_TRAINING_ACTION); activityTestRule.launchActivity(intent); - allowPermissionsIfNeeded(activityTestRule.getActivity(), ACCESS_FINE_LOCATION); + //allowPermissionsIfNeeded(activityTestRule.getActivity(), ACCESS_FINE_LOCATION); // Select distance 20m onView(withId(R.id.distance)).perform(nestedScrollTo(), click()); @@ -150,7 +150,7 @@ public void createTrainingWithStandardRound() { intent.setAction(CREATE_TRAINING_WITH_STANDARD_ROUND_ACTION); activityTestRule.launchActivity(intent); - allowPermissionsIfNeeded(activityTestRule.getActivity(), ACCESS_FINE_LOCATION); + //allowPermissionsIfNeeded(activityTestRule.getActivity(), ACCESS_FINE_LOCATION); // Has last used standard round been restored onView(withId(R.id.standardRound)) diff --git a/app/src/androidTest/java/de/dreier/mytargets/features/training/standardround/EditStandardRoundActivityTest.java b/app/src/androidTest/java/de/dreier/mytargets/features/training/standardround/EditStandardRoundActivityTest.java index 37bfeabd2..978184760 100644 --- a/app/src/androidTest/java/de/dreier/mytargets/features/training/standardround/EditStandardRoundActivityTest.java +++ b/app/src/androidTest/java/de/dreier/mytargets/features/training/standardround/EditStandardRoundActivityTest.java @@ -79,7 +79,7 @@ public void editStandardRoundActivity() { intent.setAction(CREATE_TRAINING_WITH_STANDARD_ROUND_ACTION); activityTestRule.launchActivity(intent); - allowPermissionsIfNeeded(activityTestRule.getActivity(), ACCESS_FINE_LOCATION); + //allowPermissionsIfNeeded(activityTestRule.getActivity(), ACCESS_FINE_LOCATION); onView(withId(R.id.standardRound)).perform(scrollTo(), click()); diff --git a/app/src/androidTest/java/de/dreier/mytargets/test/utils/actions/TargetViewActions.java b/app/src/androidTest/java/de/dreier/mytargets/test/utils/actions/TargetViewActions.java index 5083a1887..671414dc5 100644 --- a/app/src/androidTest/java/de/dreier/mytargets/test/utils/actions/TargetViewActions.java +++ b/app/src/androidTest/java/de/dreier/mytargets/test/utils/actions/TargetViewActions.java @@ -21,18 +21,18 @@ import android.support.test.espresso.action.Tap; public class TargetViewActions { - protected static ViewAction clickTarget(final float x, final float y) { + public static ViewAction clickTarget(final float x, final float y) { return new GeneralClickAction( Tap.SINGLE, view -> LowLevelActions.getTargetCoordinates(view, new float[]{x, y}), Press.FINGER); } - protected static ViewAction holdTapTarget(final float x, final float y) { + public static ViewAction holdTapTarget(final float x, final float y) { return LowLevelActions.pressAndHold(new float[]{x, y}); } - protected static ViewAction releaseTapTarget(final float x, final float y) { + public static ViewAction releaseTapTarget(final float x, final float y) { return LowLevelActions.release(new float[]{x, y}); } } diff --git a/app/src/androidTestScreengrab/java/de/dreier/mytargets/screengrab/ScreenshotTest.java b/app/src/androidTestScreengrab/java/de/dreier/mytargets/screengrab/ScreenshotTest.java index 3049e90b1..35a8b9332 100644 --- a/app/src/androidTestScreengrab/java/de/dreier/mytargets/screengrab/ScreenshotTest.java +++ b/app/src/androidTestScreengrab/java/de/dreier/mytargets/screengrab/ScreenshotTest.java @@ -7,7 +7,6 @@ import android.support.test.rule.ActivityTestRule; import android.support.test.runner.AndroidJUnit4; -import org.hamcrest.CoreMatchers; import org.hamcrest.Matchers; import org.junit.Before; import org.junit.ClassRule; @@ -18,28 +17,29 @@ import org.junit.runner.RunWith; import de.dreier.mytargets.R; -import de.dreier.mytargets.UITestBase; -import de.dreier.mytargets.base.activities.MainActivity; -import de.dreier.mytargets.managers.SettingsManager; +import de.dreier.mytargets.features.main.MainActivity; +import de.dreier.mytargets.features.settings.SettingsManager; import de.dreier.mytargets.shared.models.Dimension; import de.dreier.mytargets.shared.models.Target; -import de.dreier.mytargets.shared.targets.models.WAField; -import de.dreier.mytargets.utils.rules.SimpleDbTestRule; +import de.dreier.mytargets.shared.targets.models.WAFull; +import de.dreier.mytargets.test.base.UITestBase; +import de.dreier.mytargets.test.utils.rules.SimpleDbTestRule; import tools.fastlane.screengrab.Screengrab; import tools.fastlane.screengrab.UiAutomatorScreenshotStrategy; import tools.fastlane.screengrab.locale.LocaleTestRule; -import static android.Manifest.permission.ACCESS_FINE_LOCATION; import static android.support.test.espresso.Espresso.onView; import static android.support.test.espresso.Espresso.pressBack; import static android.support.test.espresso.action.ViewActions.click; import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; import static android.support.test.espresso.matcher.ViewMatchers.isRoot; -import static android.support.test.espresso.matcher.ViewMatchers.withContentDescription; import static android.support.test.espresso.matcher.ViewMatchers.withId; import static android.support.test.espresso.matcher.ViewMatchers.withParent; import static android.support.test.espresso.matcher.ViewMatchers.withText; -import static de.dreier.mytargets.PermissionGranter.allowPermissionsIfNeeded; +import static de.dreier.mytargets.test.utils.actions.TargetViewActions.clickTarget; +import static de.dreier.mytargets.test.utils.actions.TargetViewActions.holdTapTarget; +import static de.dreier.mytargets.test.utils.actions.TargetViewActions.releaseTapTarget; +import static de.dreier.mytargets.test.utils.matchers.ViewMatcher.matchFabMenu; import static org.hamcrest.core.AllOf.allOf; @SdkSuppress(minSdkVersion = 18) @@ -60,7 +60,7 @@ public void setUp() { Screengrab.setDefaultScreenshotStrategy(new UiAutomatorScreenshotStrategy()); SettingsManager.setArrowNumbersEnabled(false); SettingsManager.setShotsPerEnd(6); - SettingsManager.setTarget(new Target(WAField.ID, 1, + SettingsManager.setTarget(new Target(WAFull.ID, 2, new Dimension(60, Dimension.Unit.CENTIMETER))); SettingsManager.setTimerEnabled(true); } @@ -86,22 +86,20 @@ public void takeScreenshots() { Screengrab.screenshot("6_statistics"); navigateUp(); navigateUp(); - onView(matchFab()).perform(click()); - onView(CoreMatchers.allOf(withId(R.id.fab1), withParent(withId(R.id.fab)))) - .perform(click()); - allowPermissionsIfNeeded(activityTestRule.getActivity(), ACCESS_FINE_LOCATION); + onView(matchFabMenu()).perform(click()); + onView(withId(R.id.fab1)).perform(click()); Screengrab.screenshot("2_enter_training"); - onView(withContentDescription(R.string.save)).perform(click()); + save(); onView(isRoot()).perform(click()); onView(isRoot()).perform(click()); Screengrab.screenshot("8_timer"); pressBack(); onView(withId(R.id.targetViewContainer)).perform( clickTarget(0.1f, 0.05f), - clickTarget(-0.45f, 0.5f), - clickTarget(-0.5f, -0.6f), - holdTapTarget(0.5f, 0.4f)); + clickTarget(-0.15f, 0.3f), + clickTarget(-0.24f, -0.06f), + holdTapTarget(0.0f, 0.0f)); Screengrab.screenshot("1_enter_end"); - onView(withId(R.id.targetViewContainer)).perform(releaseTapTarget(0.5f, 0.4f)); + onView(withId(R.id.targetViewContainer)).perform(releaseTapTarget(0.0f, 0.0f)); } -} \ No newline at end of file +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5e3bfb6e9..7e594d004 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -37,6 +37,9 @@ + @@ -46,6 +49,12 @@ + + + diff --git a/app/src/main/java/de/dreier/mytargets/features/main/MainActivity.java b/app/src/main/java/de/dreier/mytargets/features/main/MainActivity.java index 86b221ad4..ceb281e71 100644 --- a/app/src/main/java/de/dreier/mytargets/features/main/MainActivity.java +++ b/app/src/main/java/de/dreier/mytargets/features/main/MainActivity.java @@ -22,7 +22,6 @@ import de.dreier.mytargets.R; import de.dreier.mytargets.base.activities.SimpleFragmentActivityBase; import de.dreier.mytargets.features.settings.SettingsManager; -import de.dreier.mytargets.utils.TranslationUtils; /** * Shows an overview over all training days @@ -37,8 +36,6 @@ public void onCreate(Bundle savedInstanceState) { SettingsManager.setShouldShowIntroActivity(false); Intent intent = new Intent(this, IntroActivity.class); startActivity(intent); - } else { - TranslationUtils.askForHelpTranslating(this); } } @@ -47,4 +44,4 @@ public Fragment instantiateFragment() { return new MainFragment(); } -} \ No newline at end of file +} diff --git a/app/src/main/java/de/dreier/mytargets/features/settings/SettingsManager.java b/app/src/main/java/de/dreier/mytargets/features/settings/SettingsManager.java index f318b4fb1..0029c3cdc 100644 --- a/app/src/main/java/de/dreier/mytargets/features/settings/SettingsManager.java +++ b/app/src/main/java/de/dreier/mytargets/features/settings/SettingsManager.java @@ -77,7 +77,6 @@ public class SettingsManager { private static final String KEY_NUMBERING_ENABLED = "numbering"; private static final String KEY_INDOOR = "indoor"; private static final String KEY_END_COUNT = "rounds"; - private static final String KEY_TRANSLATION_DIALOG_SHOWN = "translation_dialog_shown"; private static final String KEY_INPUT_MODE = "target_mode"; private static final String KEY_SHOW_MODE = "show_mode"; private static final SharedPreferences lastUsed = ApplicationInstance @@ -210,17 +209,6 @@ public static void setEndCount(int endCount) { .apply(); } - public static boolean isTranslationDialogShown() { - return preferences.getBoolean(KEY_TRANSLATION_DIALOG_SHOWN, false); - } - - public static void setTranslationDialogShown(boolean shown) { - preferences - .edit() - .putBoolean(KEY_TRANSLATION_DIALOG_SHOWN, shown) - .apply(); - } - public static TargetViewBase.EInputMethod getInputMethod() { return preferences .getBoolean(KEY_INPUT_MODE, false) diff --git a/app/src/main/java/de/dreier/mytargets/features/training/input/InputActivity.java b/app/src/main/java/de/dreier/mytargets/features/training/input/InputActivity.java index 91d853c93..046565ca5 100644 --- a/app/src/main/java/de/dreier/mytargets/features/training/input/InputActivity.java +++ b/app/src/main/java/de/dreier/mytargets/features/training/input/InputActivity.java @@ -401,7 +401,7 @@ private void updateEnd() { updateWearNotification(); } - private void startWearNotification() { + private void updateWearNotification() { NotificationInfo info = buildInfo(); if (manager == null) { manager = new WearMessageManager(this, info); @@ -442,11 +442,6 @@ private void updateNavigationButtons() { updateNextButton(); } - private void updateWearNotification() { - // Send message to wearable app, that we are starting an end - new Thread(InputActivity.this::startWearNotification).start(); - } - private void updatePreviousButton() { final boolean isFirstEnd = data.endIndex == 0; final boolean isFirstRound = data.roundIndex == 0; diff --git a/app/src/main/java/de/dreier/mytargets/utils/TranslationUtils.java b/app/src/main/java/de/dreier/mytargets/utils/TranslationUtils.java deleted file mode 100644 index 1d932412e..000000000 --- a/app/src/main/java/de/dreier/mytargets/utils/TranslationUtils.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2017 Florian Dreier - * - * This file is part of MyTargets. - * - * MyTargets is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 - * as published by the Free Software Foundation. - * - * MyTargets is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -package de.dreier.mytargets.utils; - -import android.app.AlertDialog; -import android.content.Context; -import android.text.SpannableString; -import android.text.method.LinkMovementMethod; -import android.text.util.Linkify; -import android.widget.TextView; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Locale; - -import de.dreier.mytargets.features.settings.SettingsManager; - -public class TranslationUtils { - private static boolean shownThisTime = false; - - public static void askForHelpTranslating(Context context) { - ArrayList supportedLanguages = new ArrayList<>(); - Collections.addAll(supportedLanguages, "ca", "cs", "de", "en", "es", "fr", "hu", "it", "iw", - "ja", "nl", "no", "pl", "pt", "ru", "sk", "sl", "sv", "tr", "zh"); - boolean shown = SettingsManager.isTranslationDialogShown(); - String longLang = Locale.getDefault().getDisplayLanguage(); - String shortLocale = Locale.getDefault().getLanguage(); - if (!supportedLanguages.contains(shortLocale) && !shown && !shownThisTime) { - // Link the e-mail address in the message - final SpannableString s = new SpannableString(Utils.fromHtml("If you would like " + - "to help make MyTargets even better by translating the app to " + - longLang + - " visit crowdin!

" + - "Thanks in advance :)")); - Linkify.addLinks(s, Linkify.WEB_URLS); - AlertDialog d = new AlertDialog.Builder(context) - .setTitle("App translation") - .setMessage(s) - .setPositiveButton("OK", (dialog, which) -> { - SettingsManager.setTranslationDialogShown(true); - dialog.dismiss(); - }) - .setNegativeButton("Remind me later", (dialog, which) -> { - shownThisTime = true; - dialog.dismiss(); - }).create(); - d.show(); - ((TextView) d.findViewById(android.R.id.message)) - .setMovementMethod(LinkMovementMethod.getInstance()); - } - } -} diff --git a/app/src/main/java/de/dreier/mytargets/utils/WearMessageManager.java b/app/src/main/java/de/dreier/mytargets/utils/WearMessageManager.java index cfd51d3ec..0f7bbc473 100644 --- a/app/src/main/java/de/dreier/mytargets/utils/WearMessageManager.java +++ b/app/src/main/java/de/dreier/mytargets/utils/WearMessageManager.java @@ -18,6 +18,7 @@ import android.content.Context; import android.os.Bundle; import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import android.util.Log; import com.google.android.gms.common.ConnectionResult; @@ -41,39 +42,39 @@ import de.dreier.mytargets.shared.views.TargetViewBase; public class WearMessageManager - implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, - MessageApi.MessageListener { + implements GoogleApiClient.OnConnectionFailedListener,MessageApi.MessageListener { private static final String TAG = "wearMessageManager"; private final TargetViewBase.OnEndFinishedListener mListener; - private final NotificationInfo info; private final GoogleApiClient mGoogleApiClient; public WearMessageManager(Context context, NotificationInfo info) { - this.info = info; - mGoogleApiClient = new GoogleApiClient.Builder(context) - .addApi(Wearable.API) - .addConnectionCallbacks(this) - .addOnConnectionFailedListener(this) - .build(); - mGoogleApiClient.connect(); - if (!(context instanceof TargetViewBase.OnEndFinishedListener)) { throw new ClassCastException(); } - mListener = (TargetViewBase.OnEndFinishedListener) context; - } - @Override - public void onConnected(Bundle connectionHint) { - if (Log.isLoggable(TAG, Log.DEBUG)) { - Log.d(TAG, "Connected to Google Api Service"); - } - Wearable.MessageApi.addListener(mGoogleApiClient, this); - sendMessage(info, WearableUtils.STARTED_ROUND); + mGoogleApiClient = new GoogleApiClient.Builder(context) + .addApi(Wearable.API) + .addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() { + @Override + public void onConnected(@Nullable Bundle bundle) { + if (Log.isLoggable(TAG, Log.DEBUG)) { + Log.d(TAG, "Connected to Google Api Service"); + } + Wearable.MessageApi.addListener(mGoogleApiClient, WearMessageManager.this); + sendMessage(info, WearableUtils.STARTED_ROUND); + } + + @Override + public void onConnectionSuspended(int i) { + } + }) + .addOnConnectionFailedListener(this) + .build(); + mGoogleApiClient.connect(); } private Collection getNodes() { @@ -130,11 +131,6 @@ public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { } - @Override - public void onConnectionSuspended(int i) { - - } - public void close() { if (mGoogleApiClient.isConnected()) { sendMessageStopped(); diff --git a/app/src/main/java/de/dreier/mytargets/views/selector/EnvironmentSelector.java b/app/src/main/java/de/dreier/mytargets/views/selector/EnvironmentSelector.java index 605147d26..0d3c01040 100644 --- a/app/src/main/java/de/dreier/mytargets/views/selector/EnvironmentSelector.java +++ b/app/src/main/java/de/dreier/mytargets/views/selector/EnvironmentSelector.java @@ -60,7 +60,22 @@ protected void bindView() { setTitle(R.string.environment); } + private static boolean isTestMode() { + boolean result; + try { + Class.forName("de.dreier.mytargets.test.base.InstrumentedTestBase"); + result = true; + } catch (final Exception e) { + result = false; + } + return result; + } + public void queryWeather(Fragment fragment, int request_code) { + if (isTestMode()) { + setDefaultWeather(); + return; + } if (ContextCompat.checkSelfPermission(fragment.getContext(), ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { setDefaultWeather(); diff --git a/app/src/androidTestScreengrab/AndroidManifest.xml b/app/src/screengrabDebug/AndroidManifest.xml similarity index 100% rename from app/src/androidTestScreengrab/AndroidManifest.xml rename to app/src/screengrabDebug/AndroidManifest.xml diff --git a/app/src/screengrab/res/drawable-nodpi/arrows.jpg b/app/src/screengrabDebug/res/drawable-nodpi/arrows.jpg similarity index 100% rename from app/src/screengrab/res/drawable-nodpi/arrows.jpg rename to app/src/screengrabDebug/res/drawable-nodpi/arrows.jpg diff --git a/app/src/screengrab/res/drawable-nodpi/recurve_bow.jpg b/app/src/screengrabDebug/res/drawable-nodpi/recurve_bow.jpg similarity index 100% rename from app/src/screengrab/res/drawable-nodpi/recurve_bow.jpg rename to app/src/screengrabDebug/res/drawable-nodpi/recurve_bow.jpg diff --git a/app/src/screengrabDebug/res/values/constants.xml b/app/src/screengrabDebug/res/values/constants.xml new file mode 100644 index 000000000..3b13fc7dd --- /dev/null +++ b/app/src/screengrabDebug/res/values/constants.xml @@ -0,0 +1,19 @@ + + + + + MyTargets + diff --git a/make_screenshots.sh b/make_screenshots.sh index 3b604d788..3d95139f3 100755 --- a/make_screenshots.sh +++ b/make_screenshots.sh @@ -6,6 +6,9 @@ #echo no | android create avd -f -n "Nexus_7_API_23" -t android-23 --abi armeabi-v7a -s 1200x1920 #echo no | android create avd -f -n "Nexus_10_API_23" -t android-23 --abi armeabi-v7a -s 2560x1600 +# Workaround for https://code.google.com/p/android/issues/detail?id=235461 +function emulator { cd "$(dirname "$(which emulator)")" && ./emulator "$@"; } + # Disable emulator authentication touch '~/.emulator_console_auth_token' echo '' > '~/.emulator_console_auth_token' diff --git a/shared/src/main/res/values-fr/target_faces.xml b/shared/src/main/res/values-fr/target_faces.xml index 7dd205386..9cfbabfad 100644 --- a/shared/src/main/res/values-fr/target_faces.xml +++ b/shared/src/main/res/values-fr/target_faces.xml @@ -16,8 +16,8 @@ --> - Regular - Field + Normal + Campagne 3D WA complet @@ -59,5 +59,5 @@ Style classique (10-6) Style classique (X-8) Style classique (10-8) - Compound style + Style poulies