diff --git a/.travis.yml b/.travis.yml index 4848ed2..965f0e4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,9 +14,9 @@ android: # "tools" always refers to the latest build tools version. Remove this # when travis is able to parse "build-tools-23.0.3" correctly. # See https://github.com/travis-ci/travis-ci/issues/5036 - - tools + # - tools # needed build tools - - build-tools-26.0.2 + - build-tools-27.0.3 # The SDK version used to compile your project - android-26 @@ -27,4 +27,4 @@ android: before_script: script: - - ./gradlew lintFullRelease testFullDebugUnitTest assembleFullRelease + - ./gradlew assembleRelease lintRelease testDebugUnitTest diff --git a/app/build.gradle b/app/build.gradle index 6a800d3..60f7a80 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,7 +12,7 @@ def getVersionName = { -> android { compileSdkVersion 26 - buildToolsVersion "26.0.2" + buildToolsVersion "27.0.3" defaultConfig { applicationId "org.xbmc.kore" @@ -20,6 +20,8 @@ android { targetSdkVersion 26 versionCode 19 versionName = getVersionName() + vectorDrawables.useSupportLibrary = true + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } File keystoreFile = file('keystore.properties') @@ -38,38 +40,22 @@ android { } } - sourceSets { - fullDebug { - assets.srcDirs += 'src/testUtils/assets' - } - test { - java.srcDirs += 'src/testUtils/java' - } - androidTest { - java.srcDirs += 'src/testUtils/java' - } - instrumentationTest { - assets.srcDirs += 'src/testUtils/assets' - } - } +// sourceSets { +// test { +// java.srcDirs += 'src/testUtils/java' +// assets.srcDirs += 'src/testUtils/assets' +// } +// androidTest { +// java.srcDirs += 'src/testUtils/java' +// assets.srcDirs += 'src/testUtils/assets' +// } +// } - productFlavors { - full { - } - - instrumentationTest { - applicationId "org.xbmc.kore.instrumentationtest" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - proguardFiles 'proguardTest-rules.pro' - } + testOptions { + execution 'ANDROID_TEST_ORCHESTRATOR' } buildTypes { -// debug { -// minifyEnabled true -// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' -// } - release { if (keystoreFile.exists()) { signingConfig signingConfigs.release @@ -86,7 +72,7 @@ android { //The xml launcher icon introduced in API 26 causes lint to generate //an error that the icon is not a PNG format //This reduces the error to a warning - warning 'IconLauncherFormat' +// warning 'IconLauncherFormat' } // allprojects { @@ -111,66 +97,56 @@ ext { } dependencies { - compile "com.android.support:support-v4:${supportLibVersion}" - compile "com.android.support:appcompat-v7:${supportLibVersion}" - compile "com.android.support:cardview-v7:${supportLibVersion}" - compile "com.android.support:preference-v14:${supportLibVersion}" - compile "com.android.support:support-v13:${supportLibVersion}" - compile "com.android.support:design:${supportLibVersion}" + implementation "com.android.support:support-v4:${supportLibVersion}" + implementation "com.android.support:appcompat-v7:${supportLibVersion}" + implementation "com.android.support:cardview-v7:${supportLibVersion}" + implementation "com.android.support:preference-v14:${supportLibVersion}" + implementation "com.android.support:support-v13:${supportLibVersion}" + implementation "com.android.support:design:${supportLibVersion}" - compile 'com.fasterxml.jackson.core:jackson-databind:2.5.2' - compile 'com.jakewharton:butterknife:8.8.1' + implementation 'com.fasterxml.jackson.core:jackson-databind:2.5.2' + implementation 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' - compile 'com.squareup.okhttp:okhttp:2.3.0' - compile 'com.squareup.picasso:picasso:2.5.2' - compile 'de.greenrobot:eventbus:2.4.0' - compile 'org.jmdns:jmdns:3.5.1' - compile 'com.astuetz:pagerslidingtabstrip:1.0.1' - compile 'at.blogc:expandabletextview:1.0.3' - compile 'com.sothree.slidinguppanel:library:3.3.1' + implementation 'com.squareup.okhttp:okhttp:2.3.0' + implementation 'com.squareup.picasso:picasso:2.5.2' + implementation 'de.greenrobot:eventbus:2.4.0' + implementation 'org.jmdns:jmdns:3.5.1' + implementation 'at.blogc:expandabletextview:1.0.3' + implementation 'com.sothree.slidinguppanel:library:3.3.1' - androidTestCompile 'com.android.support.test:runner:1.0.1' - androidTestCompile 'com.android.support.test:rules:1.0.1' - androidTestCompile 'org.hamcrest:hamcrest-library:1.3' - androidTestCompile 'com.android.support.test.espresso:espresso-core:3.0.1' - androidTestCompile "com.android.support:support-v13:${supportLibVersion}" - instrumentationTestCompile 'junit:junit:4.12' + androidTestImplementation 'com.android.support.test:runner:1.0.1' + androidTestImplementation 'com.android.support.test:rules:1.0.1' + androidTestUtil 'com.android.support.test:orchestrator:1.0.1' + androidTestImplementation 'org.hamcrest:hamcrest-library:1.3' + androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' + androidTestImplementation "com.android.support:support-v13:${supportLibVersion}" + androidTestImplementation 'junit:junit:4.12' - testCompile 'org.robolectric:robolectric:3.1.1' - testCompile 'junit:junit:4.12' - - compile fileTree(dir: 'libs', include: ['*.jar']) + testImplementation 'org.robolectric:robolectric:3.1.1' + debugImplementation 'junit:junit:4.12' + implementation fileTree(dir: 'libs', include: ['*.jar']) } -// Get the path to ADB. Required when running tests directly from Android Studio. -// Source: http://stackoverflow.com/a/26771087/112705 -def adb = android.getAdbExe().toString() - -// Source: http://stackoverflow.com/q/29908110/112705 +def adb = android.getAdbExecutable().toString() afterEvaluate { - task grantAnimationPermissionDev(type: Exec, dependsOn: 'installInstrumentationTestDebug') { + task grantAnimationPermissionDev(type: Exec, dependsOn: installDebug) { doFirst { - println("Executing: $adb shell pm grant $android.productFlavors.instrumentationTest.applicationId android.permission.SET_ANIMATION_SCALE") - commandLine "$adb shell pm grant $android.productFlavors.instrumentationTest.applicationId android.permission.SET_ANIMATION_SCALE".split(' ') + println("Executing: $adb shell pm grant $android.defaultConfig.applicationId android.permission.SET_ANIMATION_SCALE") + commandLine "$adb shell pm grant $android.defaultConfig.applicationId android.permission.SET_ANIMATION_SCALE".split(' ') } } - - // When launching individual tests from Android Studio, it seems that only the assemble tasks - // get called directly, not the install* versions tasks.each { task -> - if (task.name.startsWith('assembleInstrumentationTestDebugAndroidTest')) { + if (task.name.startsWith('connectedDebugAndroidTest')) { task.dependsOn grantAnimationPermissionDev } } } /** - * Android gradle plugin 2.3.x contains a bug where the assets for fullDebug - * are not copied. The task assembleFullDebug does copy the required assets, - * so this dependency fixes the issue. + * Makes sure assets are copied before running the unit tests */ tasks.whenTaskAdded { task -> - if (task.name.contains("compileFullDebugUnitTestSources")) { - task.dependsOn assembleFullDebug + if (task.name.contains("testDebugUnitTest")) { + task.dependsOn assembleDebug } } \ No newline at end of file diff --git a/app/proguardTest-rules.pro b/app/proguardTest-rules.pro deleted file mode 100644 index 2d97617..0000000 --- a/app/proguardTest-rules.pro +++ /dev/null @@ -1,8 +0,0 @@ --keep class org.junit.** { *; } --dontwarn org.junit.** - --keep class junit.** { *; } --dontwarn junit.** - --keep class sun.misc.** { *; } --dontwarn sun.misc.** \ No newline at end of file diff --git a/app/src/androidTest/java/org/xbmc/kore/testhelpers/EspressoTestUtils.java b/app/src/androidTest/java/org/xbmc/kore/testhelpers/EspressoTestUtils.java index c744d6d..37cd756 100644 --- a/app/src/androidTest/java/org/xbmc/kore/testhelpers/EspressoTestUtils.java +++ b/app/src/androidTest/java/org/xbmc/kore/testhelpers/EspressoTestUtils.java @@ -39,8 +39,6 @@ import static android.support.test.espresso.Espresso.openActionBarOverflowOrOpti import static android.support.test.espresso.Espresso.pressBack; import static android.support.test.espresso.action.ViewActions.clearText; import static android.support.test.espresso.action.ViewActions.click; -import static android.support.test.espresso.action.ViewActions.swipeLeft; -import static android.support.test.espresso.action.ViewActions.swipeRight; import static android.support.test.espresso.action.ViewActions.typeText; import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist; import static android.support.test.espresso.assertion.ViewAssertions.matches; @@ -209,24 +207,10 @@ public class EspressoTestUtils { /** * Clicks on tab that contains the text given by stringResourceId. - * If the click fails tries again after a swipe left. If the click fails - * after that try once more after swiping right two times. The first swipe right - * is performed to negate the previous swipe left. * @param stringResourceId text displayed in Tab that should be clicked */ public static void clickTab(int stringResourceId) { - try { - onView(withText(stringResourceId)).perform(click()); - } catch (Exception e1) { - try { - onView(withId(R.id.pager_tab_strip)).perform(swipeLeft()); - onView(withText(stringResourceId)).perform(click()); - } catch (Exception e2) { - onView(withId(R.id.pager_tab_strip)).perform(swipeRight()); - onView(withId(R.id.pager_tab_strip)).perform(swipeRight()); - onView(withText(stringResourceId)).perform(click()); - } - } + onView(withId(R.id.pager)).perform(ViewActions.setCurrentViewPagerItem(stringResourceId)); } /** diff --git a/app/src/androidTest/java/org/xbmc/kore/testhelpers/Utils.java b/app/src/androidTest/java/org/xbmc/kore/testhelpers/Utils.java index df49507..42f18e3 100644 --- a/app/src/androidTest/java/org/xbmc/kore/testhelpers/Utils.java +++ b/app/src/androidTest/java/org/xbmc/kore/testhelpers/Utils.java @@ -117,6 +117,8 @@ public class Utils { int permStatus = context.checkCallingOrSelfPermission(ANIMATION_PERMISSION); if (permStatus == PackageManager.PERMISSION_GRANTED) { setSystemAnimationsScale(DEFAULT); + } else { + LogUtils.LOGD(TAG, "disableAnimations: permission " + ANIMATION_PERMISSION + " not granted"); } } diff --git a/app/src/androidTest/java/org/xbmc/kore/testhelpers/action/ViewActions.java b/app/src/androidTest/java/org/xbmc/kore/testhelpers/action/ViewActions.java index 1bda9f9..5aca193 100644 --- a/app/src/androidTest/java/org/xbmc/kore/testhelpers/action/ViewActions.java +++ b/app/src/androidTest/java/org/xbmc/kore/testhelpers/action/ViewActions.java @@ -25,6 +25,8 @@ import android.support.test.espresso.action.Press; import android.support.test.espresso.action.ScrollToAction; import android.support.test.espresso.util.HumanReadables; import android.support.test.espresso.util.TreeIterables; +import android.support.v4.view.PagerAdapter; +import android.support.v4.view.ViewPager; import android.view.View; import android.widget.SeekBar; @@ -157,4 +159,42 @@ public final class ViewActions { } }; } + + public static ViewAction setCurrentViewPagerItem(final int pageTitleResourceId) { + return new ViewAction() { + + @Override + public Matcher getConstraints() { + return new TypeSafeMatcher() { + @Override + protected boolean matchesSafely(View item) { + return item instanceof ViewPager; + } + + @Override + public void describeTo(Description description) { + description.appendText("is a SeekBar."); + } + }; + } + + @Override + public String getDescription() { + return null; + } + + @Override + public void perform(UiController uiController, View view) { + ViewPager viewPager = (ViewPager) view; + String expectedTitle = view.getResources().getString(pageTitleResourceId); + PagerAdapter pagerAdapter = viewPager.getAdapter(); + for(int i = 0; i < pagerAdapter.getCount(); i++) { + if (expectedTitle.contentEquals(pagerAdapter.getPageTitle(i))) { + viewPager.setCurrentItem(i); + return; + } + } + } + }; + } } diff --git a/app/src/instrumentationTest/AndroidManifest.xml b/app/src/debug/AndroidManifest.xml similarity index 100% rename from app/src/instrumentationTest/AndroidManifest.xml rename to app/src/debug/AndroidManifest.xml diff --git a/app/src/testUtils/README.md b/app/src/debug/README.md similarity index 100% rename from app/src/testUtils/README.md rename to app/src/debug/README.md diff --git a/app/src/testUtils/assets/Addons.GetAddons.json b/app/src/debug/assets/Addons.GetAddons.json similarity index 100% rename from app/src/testUtils/assets/Addons.GetAddons.json rename to app/src/debug/assets/Addons.GetAddons.json diff --git a/app/src/testUtils/assets/AudioLibrary.GetAlbums.json b/app/src/debug/assets/AudioLibrary.GetAlbums.json similarity index 100% rename from app/src/testUtils/assets/AudioLibrary.GetAlbums.json rename to app/src/debug/assets/AudioLibrary.GetAlbums.json diff --git a/app/src/testUtils/assets/AudioLibrary.GetArtists.json b/app/src/debug/assets/AudioLibrary.GetArtists.json similarity index 100% rename from app/src/testUtils/assets/AudioLibrary.GetArtists.json rename to app/src/debug/assets/AudioLibrary.GetArtists.json diff --git a/app/src/testUtils/assets/AudioLibrary.GetGenres.json b/app/src/debug/assets/AudioLibrary.GetGenres.json similarity index 100% rename from app/src/testUtils/assets/AudioLibrary.GetGenres.json rename to app/src/debug/assets/AudioLibrary.GetGenres.json diff --git a/app/src/testUtils/assets/AudioLibrary.GetSongs.json b/app/src/debug/assets/AudioLibrary.GetSongs.json similarity index 100% rename from app/src/testUtils/assets/AudioLibrary.GetSongs.json rename to app/src/debug/assets/AudioLibrary.GetSongs.json diff --git a/app/src/testUtils/assets/Video.Details.Movie.json b/app/src/debug/assets/Video.Details.Movie.json similarity index 100% rename from app/src/testUtils/assets/Video.Details.Movie.json rename to app/src/debug/assets/Video.Details.Movie.json diff --git a/app/src/testUtils/assets/VideoLibrary.GetEpisodes.json b/app/src/debug/assets/VideoLibrary.GetEpisodes.json similarity index 100% rename from app/src/testUtils/assets/VideoLibrary.GetEpisodes.json rename to app/src/debug/assets/VideoLibrary.GetEpisodes.json diff --git a/app/src/testUtils/assets/VideoLibrary.GetMusicVideos.json b/app/src/debug/assets/VideoLibrary.GetMusicVideos.json similarity index 100% rename from app/src/testUtils/assets/VideoLibrary.GetMusicVideos.json rename to app/src/debug/assets/VideoLibrary.GetMusicVideos.json diff --git a/app/src/testUtils/assets/VideoLibrary.GetSeasons.json b/app/src/debug/assets/VideoLibrary.GetSeasons.json similarity index 100% rename from app/src/testUtils/assets/VideoLibrary.GetSeasons.json rename to app/src/debug/assets/VideoLibrary.GetSeasons.json diff --git a/app/src/testUtils/assets/VideoLibrary.GetTVShows.json b/app/src/debug/assets/VideoLibrary.GetTVShows.json similarity index 100% rename from app/src/testUtils/assets/VideoLibrary.GetTVShows.json rename to app/src/debug/assets/VideoLibrary.GetTVShows.json diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/CursorUtils.java b/app/src/debug/java/org/xbmc/kore/testutils/CursorUtils.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/CursorUtils.java rename to app/src/debug/java/org/xbmc/kore/testutils/CursorUtils.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/Database.java b/app/src/debug/java/org/xbmc/kore/testutils/Database.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/Database.java rename to app/src/debug/java/org/xbmc/kore/testutils/Database.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/FileUtils.java b/app/src/debug/java/org/xbmc/kore/testutils/FileUtils.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/FileUtils.java rename to app/src/debug/java/org/xbmc/kore/testutils/FileUtils.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/TestUtils.java b/app/src/debug/java/org/xbmc/kore/testutils/TestUtils.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/TestUtils.java rename to app/src/debug/java/org/xbmc/kore/testutils/TestUtils.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/eventserver/EventPacket.java b/app/src/debug/java/org/xbmc/kore/testutils/eventserver/EventPacket.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/eventserver/EventPacket.java rename to app/src/debug/java/org/xbmc/kore/testutils/eventserver/EventPacket.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/eventserver/EventPacketBUTTON.java b/app/src/debug/java/org/xbmc/kore/testutils/eventserver/EventPacketBUTTON.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/eventserver/EventPacketBUTTON.java rename to app/src/debug/java/org/xbmc/kore/testutils/eventserver/EventPacketBUTTON.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/eventserver/MockEventServer.java b/app/src/debug/java/org/xbmc/kore/testutils/eventserver/MockEventServer.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/eventserver/MockEventServer.java rename to app/src/debug/java/org/xbmc/kore/testutils/eventserver/MockEventServer.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/MockTcpServer.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/MockTcpServer.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/MockTcpServer.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/MockTcpServer.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/AddonsHandler.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/AddonsHandler.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/AddonsHandler.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/AddonsHandler.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/ApplicationHandler.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/ApplicationHandler.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/ApplicationHandler.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/ApplicationHandler.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/InputHandler.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/InputHandler.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/InputHandler.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/InputHandler.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/JSONConnectionHandlerManager.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/JSONConnectionHandlerManager.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/JSONConnectionHandlerManager.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/JSONConnectionHandlerManager.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/JSONRPCHandler.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/JSONRPCHandler.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/JSONRPCHandler.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/JSONRPCHandler.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/PlayerHandler.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/PlayerHandler.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/PlayerHandler.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/PlayerHandler.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/JsonResponse.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/JsonResponse.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/JsonResponse.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/JsonResponse.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/JsonUtils.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/JsonUtils.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/JsonUtils.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/JsonUtils.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/AudioDetailsNode.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/AudioDetailsNode.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/AudioDetailsNode.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/AudioDetailsNode.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/SubtitleDetailsNode.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/SubtitleDetailsNode.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/SubtitleDetailsNode.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/SubtitleDetailsNode.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/VideoDetailsNode.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/VideoDetailsNode.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/VideoDetailsNode.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/nodes/VideoDetailsNode.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Addons.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Addons.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Addons.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Addons.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Application.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Application.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Application.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Application.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/JSONRPC.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/JSONRPC.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/JSONRPC.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/JSONRPC.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Player.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Player.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Player.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/methods/Player.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Application.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Application.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Application.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Application.java diff --git a/app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Player.java b/app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Player.java similarity index 100% rename from app/src/testUtils/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Player.java rename to app/src/debug/java/org/xbmc/kore/testutils/tcpserver/handlers/jsonrpc/response/notifications/Player.java diff --git a/app/src/instrumentationTest/README.md b/app/src/instrumentationTest/README.md deleted file mode 100644 index e98b7f8..0000000 --- a/app/src/instrumentationTest/README.md +++ /dev/null @@ -1,5 +0,0 @@ -Resources required for the instrumentation tests in [androidTest](../androidTest) - -**Note**: do not put any tests here! Put local tests -that DO NOT need to be executed on an android device in [test](../test). -Put tests that DO need to run on an android device in [androidTest](../androidTest). diff --git a/app/src/main/java/org/xbmc/kore/ui/AbstractTabsFragment.java b/app/src/main/java/org/xbmc/kore/ui/AbstractTabsFragment.java index acc1f5f..58a1390 100644 --- a/app/src/main/java/org/xbmc/kore/ui/AbstractTabsFragment.java +++ b/app/src/main/java/org/xbmc/kore/ui/AbstractTabsFragment.java @@ -23,8 +23,6 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import com.astuetz.PagerSlidingTabStrip; - import org.xbmc.kore.R; import org.xbmc.kore.utils.LogUtils; import org.xbmc.kore.utils.SharedElementTransition; @@ -39,7 +37,6 @@ abstract public class AbstractTabsFragment extends AbstractFragment implements SharedElementTransition.SharedElement { private static final String TAG = LogUtils.makeLogTag(AbstractTabsFragment.class); - @BindView(R.id.pager_tab_strip) PagerSlidingTabStrip pagerTabStrip; @BindView(R.id.pager) ViewPager viewPager; private Unbinder unbinder; @@ -64,8 +61,6 @@ abstract public class AbstractTabsFragment extends AbstractFragment unbinder = ButterKnife.bind(this, root); viewPager.setAdapter(createTabsAdapter(getDataHolder())); - pagerTabStrip.setViewPager(viewPager); - return root; } diff --git a/app/src/main/java/org/xbmc/kore/ui/sections/audio/MusicListFragment.java b/app/src/main/java/org/xbmc/kore/ui/sections/audio/MusicListFragment.java index ce45ccf..9c2744a 100644 --- a/app/src/main/java/org/xbmc/kore/ui/sections/audio/MusicListFragment.java +++ b/app/src/main/java/org/xbmc/kore/ui/sections/audio/MusicListFragment.java @@ -16,24 +16,17 @@ package org.xbmc.kore.ui.sections.audio; import android.os.Bundle; -import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import com.astuetz.PagerSlidingTabStrip; - import org.xbmc.kore.R; import org.xbmc.kore.ui.AbstractCursorListFragment; -import org.xbmc.kore.ui.AbstractFragment; import org.xbmc.kore.ui.AbstractTabsFragment; import org.xbmc.kore.utils.LogUtils; import org.xbmc.kore.utils.TabsAdapter; -import butterknife.ButterKnife; -import butterknife.BindView; - /** * Container for the various music lists */ diff --git a/app/src/main/res/drawable/ic_sunny_white_24dp.xml b/app/src/main/res/drawable/ic_sunny_white_24dp.xml index 40b768f..bdd8ba8 100644 --- a/app/src/main/res/drawable/ic_sunny_white_24dp.xml +++ b/app/src/main/res/drawable/ic_sunny_white_24dp.xml @@ -2,5 +2,5 @@ - + diff --git a/app/src/main/res/layout/fragment_default_view_pager.xml b/app/src/main/res/layout/fragment_default_view_pager.xml index 46b7f73..098fc4b 100644 --- a/app/src/main/res/layout/fragment_default_view_pager.xml +++ b/app/src/main/res/layout/fragment_default_view_pager.xml @@ -21,15 +21,17 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - + android:layout_height="match_parent"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/now_playing_panel.xml b/app/src/main/res/layout/now_playing_panel.xml index 7eef5b4..004e82f 100644 --- a/app/src/main/res/layout/now_playing_panel.xml +++ b/app/src/main/res/layout/now_playing_panel.xml @@ -52,7 +52,7 @@ android:paddingLeft="@dimen/small_padding" android:paddingRight="@dimen/small_padding" android:textAppearance="@style/TextAppearance.Notification.Title" - android:maxLines="1" + android:singleLine="true" android:ellipsize="marquee" android:fadingEdge="horizontal" android:gravity="center_vertical"/> @@ -64,7 +64,7 @@ android:paddingLeft="@dimen/small_padding" android:paddingRight="@dimen/small_padding" android:textAppearance="@style/TextAppearance.Notification.Details" - android:maxLines="1" + android:singleLine="true" android:ellipsize="marquee" android:fadingEdge="horizontal" android:gravity="center_vertical"/> diff --git a/app/src/main/res/transition-v21/media_details.xml b/app/src/main/res/transition-v21/media_details.xml index a6cb737..89fa2e5 100644 --- a/app/src/main/res/transition-v21/media_details.xml +++ b/app/src/main/res/transition-v21/media_details.xml @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index f49b25c..0f16a12 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -101,15 +101,6 @@ @style/TextAppearance.AppCompat.Subhead ?attr/colorPrimary @color/white - @android:color/transparent - @color/white - - - @color/white_dim_50pct - 0dp - 2dp - false - true