diff --git a/.gitignore b/.gitignore index b4cda33271..757c2848e2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ dist analytics.xml keys.xml +*.keystore ### Android ########### @@ -20,6 +21,7 @@ gen/ # Local configuration file (sdk path, etc) local.properties +gradle.properties ### Linux ######### @@ -42,4 +44,9 @@ $RECYCLE.BIN/ *.iml *.ipr *.iws -.idea/ \ No newline at end of file +.idea/ + +### Gradle +.gradle/ +build/ +out/ \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b9e56c2751..10f47ec0c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,45 @@ Changelog All dates are in the European Central timezone. +Version 8 *(in beta)* +----------------- + +* SeriesGuide X users, time to migrate your shows to the free version! Use the migration assistants, keep X installed to unlock all features in the free version. +* Revamped filter and sort options for shows. Apply sort order twice to reverse it. +* YouTube and web search button for shows and episodes. +* Reduced minimum size of list widget, removed legacy one row widget on Android 3.0 and up. +* Bug and crash fixes. + +### Detailed changes: + +#### 8 *(2013-10-07)* + +* FEATURE Support Hebrew and Japanese TVDb content languages. +* FEATURE 'Web search' button for shows and episodes. Thanks Andrew Neal (@adneal)! +* TWEAK Correct air times for Australian shows using information from trakt.tv. + +#### 8-beta2 *(2013-10-04)* + +* FEATURE New filter and sort options for shows. Apply sort order twice to reverse it. Removed old categories. +* FIX Some reported crashes. +* NOTICE Latest translations from crowdin. + +#### 7.2-beta1 *(2013-10-01)* + +* NOTICE SeriesGuide X users, time to migrate your shows to the free version! Keep X installed to unlock all features in the free version. +* FEATURE YouTube search link on show and episode pages. Thanks Andrew Neal (@adneal)! +* FEATURE Migration assistant. Helps export shows and install SeriesGuide in X, import shows within SeriesGuide. +* TWEAK Refined first run info card, now a less distracting dismiss button. +* TWEAK Some layout tweaks for larger screens (7-inch, 10-inch). +* TWEAK Refreshed icons. Search inside show action now shown with any tab in show overview. +* TWEAK List widget can be resized down to about one row in height and three columns in width. Removed legacy one row widget. +* TWEAK Display subscription button right in the top menu for better discovery. +* FIX Day headers on activity screen blacked out. +* FIX Going back from X subscription screen dropped you out of the app. +* FIX Layout animations in season list caused wierd overlaps. +* NOTICE Switched to Gradle build system. +* NOTICE Latest translations from crowdin. + Version 7.1 *(2013-08-10)* ----------------- diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6b45d5f370..0d273f4a41 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,9 +16,9 @@ The repository is made up of two main branches: master (stable) and beta (develo Setup ----- -This project is built with [Android Developer Tools (ADT)][3] using the Android library concept for dependency management. Clone this repository inside your working folder. Add all projects inside the root and the libraries folder. (You can also have a look at the project.properties files on how the projects depend on another.) +This project is built with Gradle and the [Android Gradle plugin][3] using the Android library concept for dependency management. Clone this repository inside your working folder. Import the build.gradle file in the root folder into Android Studio. (You can also have a look at the build.gradle files on how the projects depend on another.) -To successfully build with ADT, you should also create a keys.xml file in the SeriesGuide/res/values folder and add the string values +To successfully build with ADT, you should also create a keys.xml file in the `SeriesGuide/src/main/res/values` folder and add the string values @@ -30,9 +30,10 @@ To successfully build with ADT, you should also create a keys.xml file in the Se to it. These are not shared with the public mainly for security reasons. -To build any of the free, X or beta version use the appropiate flavor project. They all use the SeriesGuide project as an Android library project and just change the package names and icons as well as the Content Provider URI. +Now build any of the free, X or beta debug build variants (flavor + debug build type, see [instructions about product flavors][5]) defined in `SeriesGuide/build.gradle`. Each flavor just changes the package names and icons as well as the Content Provider URI and some additional properties. [1]: https://play.google.com/store/apps/details?id=com.battlelancer.seriesguide [2]: https://github.com/UweTrottmann/SeriesGuide/wiki/Beta - [3]: http://developer.android.com/tools/help/adt.html - [4]: http://crowdin.net/project/seriesguide-translations \ No newline at end of file + [3]: http://tools.android.com/tech-docs/new-build-system/user-guide + [4]: http://crowdin.net/project/seriesguide-translations + [5]: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Product-flavors \ No newline at end of file diff --git a/CREDITS.txt b/CREDITS.txt index b0d93825cb..de9b0f50f8 100644 --- a/CREDITS.txt +++ b/CREDITS.txt @@ -152,4 +152,11 @@ 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. \ No newline at end of file +limitations under the License. + + +Androidicons Developer set (http://www.androidicons.com/) +------------------------------------------------------------------- + +They do not require crediting, but I'll do it anyways because you +absolutely have to check their icons out! \ No newline at end of file diff --git a/RELEASE-PROCESS.md b/RELEASE-PROCESS.md index 9ce20b9ca0..75d9e1b1e9 100644 --- a/RELEASE-PROCESS.md +++ b/RELEASE-PROCESS.md @@ -4,9 +4,8 @@ Release procedure 1. Get latest translations from crowdin and check for errors. 2. Update change log. 3. Bump version code and number. -4. Create release tag. 5. Build APK. -6. Create Google Play change log (for stable only). -7. Upload to Google Play. -8. Modify website (changes, new APKs). +6. Create Google Play change log, prepare screenshots (for stable only). +7. Create new release on GitHub. +8. Upload to Google Play. 9. Post on social networks. \ No newline at end of file diff --git a/SeriesGuide/.classpath b/SeriesGuide/.classpath deleted file mode 100644 index 7bc01d9a9c..0000000000 --- a/SeriesGuide/.classpath +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/SeriesGuide/.project b/SeriesGuide/.project deleted file mode 100644 index f7dfec3a68..0000000000 --- a/SeriesGuide/.project +++ /dev/null @@ -1,39 +0,0 @@ - - - SeriesGuide - - - - - - com.android.ide.eclipse.adt.ResourceManagerBuilder - - - - - com.android.ide.eclipse.adt.PreCompilerBuilder - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.android.ide.eclipse.adt.ApkBuilder - - - - - net.rim.ajde.internal.verifier - - - - - - com.android.ide.eclipse.adt.AndroidNature - org.eclipse.jdt.core.javanature - net.rim.ajde.BlackBerryAndroidNature - - diff --git a/SeriesGuide/.settings/org.eclipse.jdt.core.prefs b/SeriesGuide/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 43b4a3d325..0000000000 --- a/SeriesGuide/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -#Tue Jun 28 17:37:44 CEST 2011 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/SeriesGuide/AndroidManifest.xml b/SeriesGuide/AndroidManifest.xml deleted file mode 100644 index b26a704acb..0000000000 --- a/SeriesGuide/AndroidManifest.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/SeriesGuide/build.gradle b/SeriesGuide/build.gradle index 2d0e754f2a..26af444e4c 100644 --- a/SeriesGuide/build.gradle +++ b/SeriesGuide/build.gradle @@ -1,36 +1,63 @@ -buildscript { - repositories { - mavenCentral() +apply plugin: 'android' + +android { + compileSdkVersion 18 + buildToolsVersion "18.1" + compileOptions.encoding = "UTF-8" + + defaultConfig { + minSdkVersion 8 + targetSdkVersion 18 + } + + productFlavors { + free { + packageName "com.battlelancer.seriesguide" + versionCode 176 + versionName "8" + } + beta { + packageName "com.battlelancer.seriesguide.beta" + versionCode 215 + versionName "8-internal" + } + x { + packageName "com.battlelancer.seriesguide.x" + versionCode 160 + versionName "8x" + } } - dependencies { - classpath 'com.android.tools.build:gradle:0.4' + + signingConfigs { + release { + storeFile file('release.keystore') + } + } + + buildTypes { + release { + signingConfig signingConfigs.release + } } } -apply plugin: 'android-library' dependencies { + compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' + compile project(':libraries:android-menudrawer') + compile project(':libraries:androidutils') + compile project(':libraries:pagerslidingtabstrip') + compile project(':libraries:stickygridheaders') compile fileTree(dir: 'libs', include: '*.jar') - compile project(':AndroidUtils:library') - compile project(':ActionBarSherlock:actionbarsherlock') - compile project(':Android-ViewPagerIndicator:library') - compile project(':android-menudrawer:library') + compile 'com.android.support:support-v4:18.0.+' } -android { - compileSdkVersion 17 - buildToolsVersion "17.0.0" - - sourceSets { - main { - manifest.srcFile 'AndroidManifest.xml' - java.srcDirs = ['src'] - resources.srcDirs = ['src'] - aidl.srcDirs = ['src'] - renderscript.srcDirs = ['src'] - res.srcDirs = ['res'] - assets.srcDirs = ['assets'] - } - - instrumentTest.setRoot('tests') - } -} +// get signing config from gradle.properties file +if (project.hasProperty('storePassword') + && project.hasProperty('keyAlias') + && project.hasProperty('keyPassword')) { + android.signingConfigs.release.storePassword = storePassword + android.signingConfigs.release.keyAlias = keyAlias + android.signingConfigs.release.keyPassword = keyPassword +} else { + android.buildTypes.release.signingConfig = null +} \ No newline at end of file diff --git a/SeriesGuide/libs/android-support-v4.jar b/SeriesGuide/libs/android-support-v4.jar deleted file mode 100644 index cf12d2839d..0000000000 Binary files a/SeriesGuide/libs/android-support-v4.jar and /dev/null differ diff --git a/SeriesGuide/libs/stickygridheaders-1.0.1.jar b/SeriesGuide/libs/stickygridheaders-1.0.1.jar deleted file mode 100644 index 721c7c0fbe..0000000000 Binary files a/SeriesGuide/libs/stickygridheaders-1.0.1.jar and /dev/null differ diff --git a/SeriesGuide/market_description.txt b/SeriesGuide/market_description.txt deleted file mode 100644 index c725309646..0000000000 --- a/SeriesGuide/market_description.txt +++ /dev/null @@ -1,31 +0,0 @@ -** NEW ENGLISH ** - -Manage the progress of (re-)watching your favorite TV shows. Keep track which episodes you still have to watch or which ones are upcoming. Get more information about a show and each episode (description, actors, episode image, ...) and share what you are watching with trakt.tv, GetGlue or any supported Android app like Google+, Twitter and Facebook. - -- No sign-in. -- Everything is available offline. (Internet connection required for adding/updating shows and downloading episode images) -- Backup and restore your shows (see 'Backup/Restore' in Settings). -- App widget displays upcoming episodes -- trakt.tv support (Check In, Rate, Friends activity, Sync...) -- GetGlue Check In support -- Share episodes via Android apps (Email, Facebook, Twitter, ...) - -NOTE: Airtimes and Network info are those in the United States Pacific Time due to limitations of the data source (thetvdb.com). - -Visit the developers web page for more info and some hints. - -** NEW GERMAN ** - -Verwalten Sie den Fortschritt, wenn Sie Ihre Lieblings-TV-Serien (erneut) ansehen. Behalten Sie den Überblick welche Folgen Sie noch sehen müssen oder welche demnächst in den USA auf Sendung gehen. Zusätzlich können Sie mehr über eine Serie oder eine spezielle Folge erfahren (Beschreibung, Schauspieler, Bild aus der Folge, ...) und anderen über trakt.tv, GetGlue oder jede unterstütze Android App wie Google+, Twitter und Facebook mitteilen, was Sie sich ansehen. - -- Keine Anmeldung. -- Alles offline verfügbar. (Internet-Verbindung zum Hinzufügen/Aktualisieren von Serien und zum Laden von Bildern erforderlich) -- Sichern oder Wiederherstellen Ihrer Serien (siehe 'Sichern/Wiederherstellung' in den Einstellungen) -- App-Widget zeigt künftige Folgen -- trakt.tv Unterstützung (Check In, Bewerten, Aktivität von Freunden, Sync, ...) -- GetGlue Check-In Unterstützung -- Empfehlen Sie Folgen via Android Apps (Email, Facebook, Twitter, ...) - -HINWEIS: Ausstrahlungs- und Senderdaten sind die in den USA Pazifik-Zeit auf Grund von Limitierungen in thetvdb.com. Helft mit thetvdb.com zu überzeugen, dass zu ändern! - -Besuchen Sie die Entwickler-Website um ein paar Tipps zu erfahren oder Hilfe zu erhalten. diff --git a/SeriesGuide/project.properties b/SeriesGuide/project.properties deleted file mode 100644 index a8579d3054..0000000000 --- a/SeriesGuide/project.properties +++ /dev/null @@ -1,19 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system edit -# "ant.properties", and override values to adapt the script to your -# project structure. -# -# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): -#proguard.config=${sdk.dir}\tools\proguard\proguard-android.txt:proguard-project.txt - -# Project target. -target=android-18 -android.library.reference.1=../libraries/actionbarsherlock-i18n -android.library.reference.2=../libraries/android-menudrawer -android.library.reference.3=../libraries/androidutils -android.library.reference.4=../libraries/pagerslidingtabstrip -android.library=true diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_add.png b/SeriesGuide/res/drawable-hdpi/ic_action_add.png deleted file mode 100644 index ad8ada6bdf..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_add.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_add_inverse.png b/SeriesGuide/res/drawable-hdpi/ic_action_add_inverse.png deleted file mode 100644 index 5741995cbe..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_add_inverse.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_bargraph.png b/SeriesGuide/res/drawable-hdpi/ic_action_bargraph.png deleted file mode 100644 index b1637af1b2..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_bargraph.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_calendar.png b/SeriesGuide/res/drawable-hdpi/ic_action_calendar.png deleted file mode 100644 index 35fe6b1e95..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_calendar.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_calendar_inverse.png b/SeriesGuide/res/drawable-hdpi/ic_action_calendar_inverse.png deleted file mode 100644 index 3b5f92c358..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_calendar_inverse.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_cancel.png b/SeriesGuide/res/drawable-hdpi/ic_action_cancel.png deleted file mode 100644 index 284a5c85b3..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_cancel.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_cancel_inverse.png b/SeriesGuide/res/drawable-hdpi/ic_action_cancel_inverse.png deleted file mode 100644 index f4b035e40e..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_cancel_inverse.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_checkin.png b/SeriesGuide/res/drawable-hdpi/ic_action_checkin.png deleted file mode 100644 index a1db63f385..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_checkin.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_checkin_inverse.png b/SeriesGuide/res/drawable-hdpi/ic_action_checkin_inverse.png deleted file mode 100644 index 25341f1491..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_checkin_inverse.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_collect.png b/SeriesGuide/res/drawable-hdpi/ic_action_collect.png deleted file mode 100644 index fdfc449592..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_collect.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_help.png b/SeriesGuide/res/drawable-hdpi/ic_action_help.png deleted file mode 100644 index 3e3bc4ec7f..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_help.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_list.png b/SeriesGuide/res/drawable-hdpi/ic_action_list.png deleted file mode 100644 index e45ea1fd95..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_list.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_menu.png b/SeriesGuide/res/drawable-hdpi/ic_action_menu.png deleted file mode 100644 index 92d2fdbc30..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_menu.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_movie.png b/SeriesGuide/res/drawable-hdpi/ic_action_movie.png deleted file mode 100644 index 0561265080..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_movie.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_search.png b/SeriesGuide/res/drawable-hdpi/ic_action_search.png deleted file mode 100644 index f12e005ebe..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_search.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_settings.png b/SeriesGuide/res/drawable-hdpi/ic_action_settings.png deleted file mode 100644 index 3ac83c7494..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_settings.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_share.png b/SeriesGuide/res/drawable-hdpi/ic_action_share.png deleted file mode 100644 index c329f58daa..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_share.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_sort.png b/SeriesGuide/res/drawable-hdpi/ic_action_sort.png deleted file mode 100644 index cbb5f4513d..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_sort.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_tick.png b/SeriesGuide/res/drawable-hdpi/ic_action_tick.png deleted file mode 100644 index 3511bc6ad1..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_tick.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_upcoming.png b/SeriesGuide/res/drawable-hdpi/ic_action_upcoming.png deleted file mode 100644 index 314ec9319a..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_upcoming.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_watched.png b/SeriesGuide/res/drawable-hdpi/ic_action_watched.png deleted file mode 100644 index 210b46b8c6..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_action_watched.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_collected.png b/SeriesGuide/res/drawable-hdpi/ic_collected.png deleted file mode 100644 index d445123bef..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_collected.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_watched.png b/SeriesGuide/res/drawable-hdpi/ic_watched.png deleted file mode 100644 index 114eeca63f..0000000000 Binary files a/SeriesGuide/res/drawable-hdpi/ic_watched.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_add.png b/SeriesGuide/res/drawable-mdpi/ic_action_add.png deleted file mode 100644 index 4d5d484b39..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_add.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_add_inverse.png b/SeriesGuide/res/drawable-mdpi/ic_action_add_inverse.png deleted file mode 100644 index 884c9d2703..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_add_inverse.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_bargraph.png b/SeriesGuide/res/drawable-mdpi/ic_action_bargraph.png deleted file mode 100644 index 1eb154c66b..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_bargraph.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_calendar.png b/SeriesGuide/res/drawable-mdpi/ic_action_calendar.png deleted file mode 100644 index afd82e9ca5..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_calendar.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_calendar_inverse.png b/SeriesGuide/res/drawable-mdpi/ic_action_calendar_inverse.png deleted file mode 100644 index 1bb6a071ca..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_calendar_inverse.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_cancel.png b/SeriesGuide/res/drawable-mdpi/ic_action_cancel.png deleted file mode 100644 index 3ebbb284e3..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_cancel.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_cancel_inverse.png b/SeriesGuide/res/drawable-mdpi/ic_action_cancel_inverse.png deleted file mode 100644 index f4466c8a43..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_cancel_inverse.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_movie.png b/SeriesGuide/res/drawable-mdpi/ic_action_movie.png deleted file mode 100644 index 4468af476f..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_movie.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_refresh.png b/SeriesGuide/res/drawable-mdpi/ic_action_refresh.png deleted file mode 100644 index bd611e8e24..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_refresh.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_search.png b/SeriesGuide/res/drawable-mdpi/ic_action_search.png deleted file mode 100644 index 587d9e0bf3..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_search.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_send.png b/SeriesGuide/res/drawable-mdpi/ic_action_send.png deleted file mode 100644 index 382fdd4849..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_send.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_settings.png b/SeriesGuide/res/drawable-mdpi/ic_action_settings.png deleted file mode 100644 index 550603059c..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_settings.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_share.png b/SeriesGuide/res/drawable-mdpi/ic_action_share.png deleted file mode 100644 index 056deb57b9..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_share.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_sort.png b/SeriesGuide/res/drawable-mdpi/ic_action_sort.png deleted file mode 100644 index aa921e76b6..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_sort.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_watched.png b/SeriesGuide/res/drawable-mdpi/ic_action_watched.png deleted file mode 100644 index 75cc31db7e..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_action_watched.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_collected.png b/SeriesGuide/res/drawable-mdpi/ic_collected.png deleted file mode 100644 index db2bc80ee3..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_collected.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_watched.png b/SeriesGuide/res/drawable-mdpi/ic_watched.png deleted file mode 100644 index 14585d363c..0000000000 Binary files a/SeriesGuide/res/drawable-mdpi/ic_watched.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_add.png b/SeriesGuide/res/drawable-xhdpi/ic_action_add.png deleted file mode 100644 index 23b9a1c185..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_add.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_add_inverse.png b/SeriesGuide/res/drawable-xhdpi/ic_action_add_inverse.png deleted file mode 100644 index 9b48a63dad..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_add_inverse.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_bargraph.png b/SeriesGuide/res/drawable-xhdpi/ic_action_bargraph.png deleted file mode 100644 index c3ff04147f..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_bargraph.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_calendar.png b/SeriesGuide/res/drawable-xhdpi/ic_action_calendar.png deleted file mode 100644 index 132ecbd769..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_calendar.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_calendar_inverse.png b/SeriesGuide/res/drawable-xhdpi/ic_action_calendar_inverse.png deleted file mode 100644 index 5fd726a77b..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_calendar_inverse.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_cancel.png b/SeriesGuide/res/drawable-xhdpi/ic_action_cancel.png deleted file mode 100644 index fa97bdaf92..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_cancel.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_cancel_inverse.png b/SeriesGuide/res/drawable-xhdpi/ic_action_cancel_inverse.png deleted file mode 100644 index 6611eb01f8..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_cancel_inverse.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_checkin.png b/SeriesGuide/res/drawable-xhdpi/ic_action_checkin.png deleted file mode 100644 index 6066f10fc5..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_checkin.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_checkin_inverse.png b/SeriesGuide/res/drawable-xhdpi/ic_action_checkin_inverse.png deleted file mode 100644 index 5ac6a3b3a6..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_checkin_inverse.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_collect.png b/SeriesGuide/res/drawable-xhdpi/ic_action_collect.png deleted file mode 100644 index 51f76c3de3..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_collect.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_help.png b/SeriesGuide/res/drawable-xhdpi/ic_action_help.png deleted file mode 100644 index 31b9b15856..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_help.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_list.png b/SeriesGuide/res/drawable-xhdpi/ic_action_list.png deleted file mode 100644 index 95708234a4..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_list.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_menu.png b/SeriesGuide/res/drawable-xhdpi/ic_action_menu.png deleted file mode 100644 index 9e4bf517ec..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_menu.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_movie.png b/SeriesGuide/res/drawable-xhdpi/ic_action_movie.png deleted file mode 100644 index 166a31be78..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_movie.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_search.png b/SeriesGuide/res/drawable-xhdpi/ic_action_search.png deleted file mode 100644 index 3549f84dd8..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_search.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_settings.png b/SeriesGuide/res/drawable-xhdpi/ic_action_settings.png deleted file mode 100644 index 09b0148345..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_settings.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_share.png b/SeriesGuide/res/drawable-xhdpi/ic_action_share.png deleted file mode 100644 index 15549b04ef..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_share.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_sort.png b/SeriesGuide/res/drawable-xhdpi/ic_action_sort.png deleted file mode 100644 index cb2dff32b8..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_sort.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_tick.png b/SeriesGuide/res/drawable-xhdpi/ic_action_tick.png deleted file mode 100644 index c86b376953..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_tick.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_upcoming.png b/SeriesGuide/res/drawable-xhdpi/ic_action_upcoming.png deleted file mode 100644 index c8771db971..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_upcoming.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_watched.png b/SeriesGuide/res/drawable-xhdpi/ic_action_watched.png deleted file mode 100644 index 62c527a7ff..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_action_watched.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_collected.png b/SeriesGuide/res/drawable-xhdpi/ic_collected.png deleted file mode 100644 index 91dde2e76d..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_collected.png and /dev/null differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_watched.png b/SeriesGuide/res/drawable-xhdpi/ic_watched.png deleted file mode 100644 index a89accf3c8..0000000000 Binary files a/SeriesGuide/res/drawable-xhdpi/ic_watched.png and /dev/null differ diff --git a/SeriesGuide/res/layout/changes_dialog.xml b/SeriesGuide/res/layout/changes_dialog.xml deleted file mode 100644 index 50778617d4..0000000000 --- a/SeriesGuide/res/layout/changes_dialog.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/SeriesGuide/src/beta/AndroidManifest.xml b/SeriesGuide/src/beta/AndroidManifest.xml new file mode 100644 index 0000000000..3f63cc1c7c --- /dev/null +++ b/SeriesGuide/src/beta/AndroidManifest.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SeriesGuideBeta/ic_launcher-web.png b/SeriesGuide/src/beta/ic_launcher-web.png similarity index 100% rename from SeriesGuideBeta/ic_launcher-web.png rename to SeriesGuide/src/beta/ic_launcher-web.png diff --git a/SeriesGuideBeta/proguard-project.txt b/SeriesGuide/src/beta/proguard-project.txt similarity index 100% rename from SeriesGuideBeta/proguard-project.txt rename to SeriesGuide/src/beta/proguard-project.txt diff --git a/SeriesGuideBeta/res/drawable-hdpi/ic_launcher.png b/SeriesGuide/src/beta/res/drawable-hdpi/ic_launcher.png similarity index 100% rename from SeriesGuideBeta/res/drawable-hdpi/ic_launcher.png rename to SeriesGuide/src/beta/res/drawable-hdpi/ic_launcher.png diff --git a/SeriesGuideBeta/res/drawable-mdpi/ic_launcher.png b/SeriesGuide/src/beta/res/drawable-mdpi/ic_launcher.png similarity index 100% rename from SeriesGuideBeta/res/drawable-mdpi/ic_launcher.png rename to SeriesGuide/src/beta/res/drawable-mdpi/ic_launcher.png diff --git a/SeriesGuideBeta/res/drawable-xhdpi/ic_launcher.png b/SeriesGuide/src/beta/res/drawable-xhdpi/ic_launcher.png similarity index 100% rename from SeriesGuideBeta/res/drawable-xhdpi/ic_launcher.png rename to SeriesGuide/src/beta/res/drawable-xhdpi/ic_launcher.png diff --git a/SeriesGuideBeta/res/drawable-xxhdpi/ic_launcher.png b/SeriesGuide/src/beta/res/drawable-xxhdpi/ic_launcher.png similarity index 100% rename from SeriesGuideBeta/res/drawable-xxhdpi/ic_launcher.png rename to SeriesGuide/src/beta/res/drawable-xxhdpi/ic_launcher.png diff --git a/SeriesGuideBeta/res/values/strings.xml b/SeriesGuide/src/beta/res/values/strings.xml similarity index 100% rename from SeriesGuideBeta/res/values/strings.xml rename to SeriesGuide/src/beta/res/values/strings.xml diff --git a/SeriesGuideBeta/res/xml/accountauth.xml b/SeriesGuide/src/beta/res/xml/accountauth.xml similarity index 100% rename from SeriesGuideBeta/res/xml/accountauth.xml rename to SeriesGuide/src/beta/res/xml/accountauth.xml diff --git a/SeriesGuideBeta/res/xml/searchable.xml b/SeriesGuide/src/beta/res/xml/searchable.xml similarity index 100% rename from SeriesGuideBeta/res/xml/searchable.xml rename to SeriesGuide/src/beta/res/xml/searchable.xml diff --git a/SeriesGuideBeta/res/xml/sync_seriesguide.xml b/SeriesGuide/src/beta/res/xml/sync_seriesguide.xml similarity index 100% rename from SeriesGuideBeta/res/xml/sync_seriesguide.xml rename to SeriesGuide/src/beta/res/xml/sync_seriesguide.xml diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/ChangesDialogFragment.java b/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/ChangesDialogFragment.java deleted file mode 100644 index ab229c2129..0000000000 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/ChangesDialogFragment.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright 2012 Uwe Trottmann - * - * 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.battlelancer.seriesguide.ui.dialogs; - -import android.content.Intent; -import android.net.Uri; -import android.os.Bundle; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; -import android.text.method.LinkMovementMethod; -import android.view.LayoutInflater; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.TextView; - -import com.battlelancer.seriesguide.dataliberation.DataLiberationActivity; -import com.battlelancer.seriesguide.ui.SeriesGuidePreferences; -import com.battlelancer.seriesguide.util.Utils; -import com.google.analytics.tracking.android.EasyTracker; -import com.uwetrottmann.seriesguide.R; - -/** - * Shows a warning that SeriesGuide X will be deprecated soon, migration - * tutorial. - */ -public class ChangesDialogFragment extends DialogFragment { - private static final String MARKETLINK_HTTP = "http://play.google.com/store/apps/details?id=com.battlelancer.seriesguide"; - - private static final String MARKETLINK_APP = "market://details?id=com.battlelancer.seriesguide"; - - public static final String TAG = "Deprecation Dialog"; - - public static ChangesDialogFragment show(FragmentManager fm) { - ChangesDialogFragment f = new ChangesDialogFragment(); - FragmentTransaction ft = fm.beginTransaction(); - f.show(ft, TAG); - return f; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - // hide title, use custom theme - if (SeriesGuidePreferences.THEME == R.style.ICSBaseTheme) { - setStyle(STYLE_NO_TITLE, 0); - } else { - setStyle(STYLE_NO_TITLE, R.style.SeriesGuideTheme_Dialog); - } - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - final View layout = inflater.inflate(R.layout.changes_dialog, null); - - // message - TextView message = (TextView) layout.findViewById(R.id.message); - message.setMovementMethod(LinkMovementMethod.getInstance()); - - // buttons - Button buttonNegative = (Button) layout.findViewById(R.id.buttonNegative); - buttonNegative.setText(R.string.backup_tool); - buttonNegative.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - // launch backup activity - startActivity(new Intent(getActivity(), DataLiberationActivity.class)); - } - }); - Button buttonPositive = (Button) layout.findViewById(R.id.buttonPositive); - buttonPositive.setText(R.string.download_stable); - buttonPositive.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - // launch SeriesGuide Play Store page - Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(MARKETLINK_HTTP)); - Utils.tryStartActivity(getActivity(), intent, true); - } - }); - - return layout; - } - - @Override - public void onStart() { - super.onStart(); - EasyTracker.getTracker().sendView(TAG); - } -} diff --git a/SeriesGuide/src/free/AndroidManifest.xml b/SeriesGuide/src/free/AndroidManifest.xml new file mode 100644 index 0000000000..bd593e1122 --- /dev/null +++ b/SeriesGuide/src/free/AndroidManifest.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SeriesGuideFree/ic_launcher-web.png b/SeriesGuide/src/free/ic_launcher-web.png similarity index 100% rename from SeriesGuideFree/ic_launcher-web.png rename to SeriesGuide/src/free/ic_launcher-web.png diff --git a/SeriesGuideBB/proguard-project.txt b/SeriesGuide/src/free/proguard-project.txt similarity index 100% rename from SeriesGuideBB/proguard-project.txt rename to SeriesGuide/src/free/proguard-project.txt diff --git a/SeriesGuideFree/res/drawable-hdpi/ic_launcher.png b/SeriesGuide/src/free/res/drawable-hdpi/ic_launcher.png similarity index 100% rename from SeriesGuideFree/res/drawable-hdpi/ic_launcher.png rename to SeriesGuide/src/free/res/drawable-hdpi/ic_launcher.png diff --git a/SeriesGuideFree/res/drawable-mdpi/ic_launcher.png b/SeriesGuide/src/free/res/drawable-mdpi/ic_launcher.png similarity index 100% rename from SeriesGuideFree/res/drawable-mdpi/ic_launcher.png rename to SeriesGuide/src/free/res/drawable-mdpi/ic_launcher.png diff --git a/SeriesGuideFree/res/drawable-xhdpi/ic_launcher.png b/SeriesGuide/src/free/res/drawable-xhdpi/ic_launcher.png similarity index 100% rename from SeriesGuideFree/res/drawable-xhdpi/ic_launcher.png rename to SeriesGuide/src/free/res/drawable-xhdpi/ic_launcher.png diff --git a/SeriesGuideFree/res/drawable-xxhdpi/ic_launcher.png b/SeriesGuide/src/free/res/drawable-xxhdpi/ic_launcher.png similarity index 100% rename from SeriesGuideFree/res/drawable-xxhdpi/ic_launcher.png rename to SeriesGuide/src/free/res/drawable-xxhdpi/ic_launcher.png diff --git a/SeriesGuideBB/res/values/strings.xml b/SeriesGuide/src/free/res/values/strings.xml similarity index 100% rename from SeriesGuideBB/res/values/strings.xml rename to SeriesGuide/src/free/res/values/strings.xml diff --git a/SeriesGuideFree/res/xml/accountauth.xml b/SeriesGuide/src/free/res/xml/accountauth.xml similarity index 100% rename from SeriesGuideFree/res/xml/accountauth.xml rename to SeriesGuide/src/free/res/xml/accountauth.xml diff --git a/SeriesGuide/res/xml/searchable.xml b/SeriesGuide/src/free/res/xml/searchable.xml similarity index 100% rename from SeriesGuide/res/xml/searchable.xml rename to SeriesGuide/src/free/res/xml/searchable.xml diff --git a/SeriesGuideFree/res/xml/sync_seriesguide.xml b/SeriesGuide/src/free/res/xml/sync_seriesguide.xml similarity index 100% rename from SeriesGuideFree/res/xml/sync_seriesguide.xml rename to SeriesGuide/src/free/res/xml/sync_seriesguide.xml diff --git a/SeriesGuideFree/AndroidManifest.xml b/SeriesGuide/src/main/AndroidManifest.xml similarity index 77% rename from SeriesGuideFree/AndroidManifest.xml rename to SeriesGuide/src/main/AndroidManifest.xml index b383caa5a5..5155780f02 100644 --- a/SeriesGuideFree/AndroidManifest.xml +++ b/SeriesGuide/src/main/AndroidManifest.xml @@ -1,12 +1,10 @@ + + package="com.uwetrottmann.seriesguide"> + android:targetSdkVersion="18" /> @@ -36,26 +34,13 @@ - - - - - - - + android:name="com.battlelancer.seriesguide.SeriesGuideApplication" + android:allowBackup="true" + android:backupAgent="com.battlelancer.seriesguide.PrefBackupHelper" + android:hardwareAccelerated="true" + android:icon="@drawable/ic_launcher" + android:label="@string/app_name" + android:theme="@style/SeriesGuideTheme"> @@ -69,40 +54,37 @@ android:name="android.app.default_searchable" android:value="com.battlelancer.seriesguide.ui.SearchActivity" /> + + + + + + + + android:name="com.battlelancer.seriesguide.ui.AddActivity" + android:label="@string/action_shows_add" + android:launchMode="singleTop" > - + + + - - - - - - - + android:name="com.battlelancer.seriesguide.ui.OverviewActivity" + android:exported="true" > - - + android:name="android.app.default_searchable" + android:value="com.battlelancer.seriesguide.ui.SearchActivity" /> @@ -112,62 +94,60 @@ android:name="android.app.default_searchable" android:value="com.battlelancer.seriesguide.ui.SearchActivity" /> - + - - + - + + android:value="com.battlelancer.seriesguide.ui.ShowsActivity" /> - + + + + + + + + + + android:name="com.battlelancer.seriesguide.ui.SeriesGuidePreferences" + android:label="@string/preferences" > - + - - - - - + + - - - - - + android:name="com.battlelancer.seriesguide.ui.BackupDeleteActivity" + android:label="@string/backup" /> + + + + @@ -177,40 +157,38 @@ android:name="android.support.PARENT_ACTIVITY" android:value="com.battlelancer.seriesguide.ui.ShowsActivity" /> - - - - - - - - - - - + + + + + - + + + + + + + + + + - - - - + + android:value="com.battlelancer.seriesguide.ui.ShowsActivity" /> - - - - - - - - - - - - - - - - @@ -277,6 +231,7 @@ @@ -286,13 +241,14 @@ android:name="android.appwidget.provider" android:resource="@xml/appwidget_info" /> - - + @@ -302,15 +258,14 @@ android:name="android.appwidget.provider" android:resource="@xml/appwidget_big_info" /> - + android:enabled="@bool/isGingerbreadOrLower" > @@ -323,7 +278,7 @@ + android:enabled="@bool/isGingerbreadOrLower" > diff --git a/SeriesGuide/src/com/android/vending/billing/IInAppBillingService.aidl b/SeriesGuide/src/main/aidl/com/android/vending/billing/IInAppBillingService.aidl similarity index 100% rename from SeriesGuide/src/com/android/vending/billing/IInAppBillingService.aidl rename to SeriesGuide/src/main/aidl/com/android/vending/billing/IInAppBillingService.aidl diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/CheckableFrameLayout.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/CheckableFrameLayout.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/CheckableFrameLayout.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/CheckableFrameLayout.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/Constants.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/Constants.java similarity index 71% rename from SeriesGuide/src/com/battlelancer/seriesguide/Constants.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/Constants.java index 9675909024..3e770a549f 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/Constants.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/Constants.java @@ -136,57 +136,5 @@ public static SeasonSorting fromValue(String value) { } } - public static enum ShowSorting { - ALPHABETIC(0, "alphabetic", Shows.TITLE + " COLLATE NOCASE ASC"), - UPCOMING(1, "upcoming", Shows.NEXTAIRDATEMS + " ASC," + Shows.AIRSTIME + " ASC," - + Shows.TITLE + " COLLATE NOCASE ASC"), - - FAVORITES_FIRST(2, "favorites", Shows.FAVORITE + " DESC," + Shows.TITLE - + " COLLATE NOCASE ASC"), - - FAVORITES_UPCOMING(3, "favoritesupcoming", Shows.FAVORITE + " DESC," + Shows.NEXTAIRDATEMS - + " ASC," + Shows.AIRSTIME + " ASC," + Shows.TITLE + " COLLATE NOCASE ASC"); - - private final int index; - - private final String value; - - private final String query; - - ShowSorting(int index, String value, String query) { - this.index = index; - this.value = value; - this.query = query; - } - - public int index() { - return index; - } - - public String value() { - return value; - } - - public String query() { - return query; - } - - @Override - public String toString() { - return this.value; - } - - private static final Map STRING_MAPPING = new HashMap(); - - static { - for (ShowSorting via : ShowSorting.values()) { - STRING_MAPPING.put(via.toString().toUpperCase(), via); - } - } - - public static ShowSorting fromValue(String value) { - return STRING_MAPPING.get(value.toUpperCase()); - } - } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/PrefBackupHelper.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/PrefBackupHelper.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/PrefBackupHelper.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/PrefBackupHelper.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/SeriesGuideApplication.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/SeriesGuideApplication.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/SeriesGuideApplication.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/SeriesGuideApplication.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/WatchedBox.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/WatchedBox.java similarity index 78% rename from SeriesGuide/src/com/battlelancer/seriesguide/WatchedBox.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/WatchedBox.java index c142cd0d1c..6b6e74a60b 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/WatchedBox.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/WatchedBox.java @@ -21,16 +21,20 @@ import android.util.AttributeSet; import android.widget.ImageView; +import com.battlelancer.seriesguide.util.Utils; import com.uwetrottmann.seriesguide.R; public class WatchedBox extends ImageView { + private final int mResIdWatchDrawable; private boolean checked; public WatchedBox(Context context, AttributeSet attrs) { super(context, attrs); this.checked = false; - this.setImageResource(R.drawable.ic_action_watched); + mResIdWatchDrawable = Utils.resolveAttributeToResourceId(context.getTheme(), + R.attr.drawableWatch); + this.setImageResource(mResIdWatchDrawable); } public boolean isChecked() { @@ -49,9 +53,9 @@ public void toggle() { private void updateStateImage() { if (checked) { - this.setImageResource(R.drawable.ic_watched); + this.setImageResource(R.drawable.ic_ticked); } else { - this.setImageResource(R.drawable.ic_action_watched); + this.setImageResource(mResIdWatchDrawable); } } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/adapters/EpisodesAdapter.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/EpisodesAdapter.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/adapters/EpisodesAdapter.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/EpisodesAdapter.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/adapters/GetGlueObjectAdapter.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/GetGlueObjectAdapter.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/adapters/GetGlueObjectAdapter.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/GetGlueObjectAdapter.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/adapters/ListsPagerAdapter.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/ListsPagerAdapter.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/adapters/ListsPagerAdapter.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/ListsPagerAdapter.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/adapters/MoviesAdapter.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/MoviesAdapter.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/adapters/MoviesAdapter.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/MoviesAdapter.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/adapters/MoviesWatchListAdapter.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/MoviesWatchListAdapter.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/adapters/MoviesWatchListAdapter.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/MoviesWatchListAdapter.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/adapters/MultiPagerAdapter.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/MultiPagerAdapter.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/adapters/MultiPagerAdapter.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/MultiPagerAdapter.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/adapters/SearchResultsAdapter.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/SearchResultsAdapter.java similarity index 96% rename from SeriesGuide/src/com/battlelancer/seriesguide/adapters/SearchResultsAdapter.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/SearchResultsAdapter.java index 6bfa0e83af..e487c42ba4 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/adapters/SearchResultsAdapter.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/SearchResultsAdapter.java @@ -68,8 +68,8 @@ public View getView(int position, View convertView, ViewGroup parent) { viewHolder.showTitle.setText(mCursor.getString(SearchQuery.SHOW_TITLE)); viewHolder.watchedStatus.setImageResource(mCursor .getInt(SearchQuery.WATCHED) == 1 - ? R.drawable.ic_watched - : R.drawable.ic_action_watched); + ? R.drawable.ic_ticked + : Utils.resolveAttributeToResourceId(mContext.getTheme(), R.attr.drawableWatch)); // ensure matched term is bold viewHolder.searchSnippet.setText(Html.fromHtml(mCursor.getString(SearchQuery.OVERVIEW))); diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/adapters/SeasonsAdapter.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/SeasonsAdapter.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/adapters/SeasonsAdapter.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/SeasonsAdapter.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/adapters/TabStripAdapter.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/TabStripAdapter.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/adapters/TabStripAdapter.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/TabStripAdapter.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/adapters/TraktCommentsAdapter.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/TraktCommentsAdapter.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/adapters/TraktCommentsAdapter.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/adapters/TraktCommentsAdapter.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/appwidget/AppWidget.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/AppWidget.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/appwidget/AppWidget.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/AppWidget.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/appwidget/AppWidgetBig.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/AppWidgetBig.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/appwidget/AppWidgetBig.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/AppWidgetBig.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/appwidget/AppWidgetLarge.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/AppWidgetLarge.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/appwidget/AppWidgetLarge.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/AppWidgetLarge.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/appwidget/ListWidgetConfigure.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/ListWidgetConfigure.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/appwidget/ListWidgetConfigure.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/ListWidgetConfigure.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/appwidget/ListWidgetPreferenceFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/ListWidgetPreferenceFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/appwidget/ListWidgetPreferenceFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/ListWidgetPreferenceFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/appwidget/ListWidgetProvider.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/ListWidgetProvider.java similarity index 98% rename from SeriesGuide/src/com/battlelancer/seriesguide/appwidget/ListWidgetProvider.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/ListWidgetProvider.java index 695a11c6f0..51851d6fb3 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/appwidget/ListWidgetProvider.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/ListWidgetProvider.java @@ -127,7 +127,8 @@ public static RemoteViews buildRemoteViews(Context context, int appWidgetId) { activityTab = 1; rv.setTextViewText(R.id.widgetTitle, context.getString(R.string.recent)); } else if (typeIndex == WidgetSettings.Type.FAVORITES) { - rv.setTextViewText(R.id.widgetTitle, context.getString(R.string.favorites)); + rv.setTextViewText(R.id.widgetTitle, + context.getString(R.string.action_shows_filter_favorites)); } else { activityTab = 0; rv.setTextViewText(R.id.widgetTitle, context.getString(R.string.upcoming)); diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/appwidget/ListWidgetService.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/ListWidgetService.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/appwidget/ListWidgetService.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/appwidget/ListWidgetService.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/billing/Base64.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/Base64.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/billing/Base64.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/Base64.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/billing/Base64DecoderException.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/Base64DecoderException.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/billing/Base64DecoderException.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/Base64DecoderException.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/billing/BillingActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/BillingActivity.java similarity index 98% rename from SeriesGuide/src/com/battlelancer/seriesguide/billing/BillingActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/BillingActivity.java index 0b7a41af69..1e8f24007f 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/billing/BillingActivity.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/BillingActivity.java @@ -17,6 +17,7 @@ import android.widget.Toast; import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.view.MenuItem; import com.battlelancer.seriesguide.settings.AdvancedSettings; import com.battlelancer.seriesguide.ui.BaseActivity; import com.battlelancer.seriesguide.ui.SeriesGuidePreferences; @@ -112,6 +113,15 @@ public void onClick(View v) { mContentContainer = findViewById(R.id.containerBilling); } + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == android.R.id.home) { + super.onBackPressed(); + return true; + } + return false; + } + @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Log.d(TAG, "onActivityResult(" + requestCode + "," + resultCode + "," + data); diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/billing/IabException.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/IabException.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/billing/IabException.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/IabException.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/billing/IabHelper.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/IabHelper.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/billing/IabHelper.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/IabHelper.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/billing/IabResult.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/IabResult.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/billing/IabResult.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/IabResult.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/billing/Inventory.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/Inventory.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/billing/Inventory.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/Inventory.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/billing/Purchase.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/Purchase.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/billing/Purchase.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/Purchase.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/billing/Security.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/Security.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/billing/Security.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/Security.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/billing/SkuDetails.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/SkuDetails.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/billing/SkuDetails.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/billing/SkuDetails.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/dashclock/UpcomingEpisodeExtension.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dashclock/UpcomingEpisodeExtension.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/dashclock/UpcomingEpisodeExtension.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/dashclock/UpcomingEpisodeExtension.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/dashclock/UpcomingEpisodeSettingsActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dashclock/UpcomingEpisodeSettingsActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/dashclock/UpcomingEpisodeSettingsActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/dashclock/UpcomingEpisodeSettingsActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/DataLiberationActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/DataLiberationActivity.java similarity index 83% rename from SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/DataLiberationActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/DataLiberationActivity.java index f189f168b6..d77624db4b 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/DataLiberationActivity.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/DataLiberationActivity.java @@ -20,6 +20,7 @@ import android.os.Bundle; import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.view.MenuItem; import com.battlelancer.seriesguide.ui.BaseActivity; public class DataLiberationActivity extends BaseActivity { @@ -41,4 +42,13 @@ private void setupActionBar() { actionBar.setDisplayHomeAsUpEnabled(true); } + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == android.R.id.home) { + super.onBackPressed(); + return true; + } + return false; + } + } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/DataLiberationFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/DataLiberationFragment.java similarity index 80% rename from SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/DataLiberationFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/DataLiberationFragment.java index 660f68a44c..a57655a4e4 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/DataLiberationFragment.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/DataLiberationFragment.java @@ -20,6 +20,7 @@ import android.content.Context; import android.os.AsyncTask; import android.os.Bundle; +import android.text.format.DateUtils; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -34,6 +35,7 @@ import com.actionbarsherlock.app.SherlockFragment; import com.battlelancer.seriesguide.dataliberation.JsonExportTask.OnTaskProgressListener; import com.battlelancer.seriesguide.provider.SeriesGuideDatabase; +import com.battlelancer.seriesguide.settings.AdvancedSettings; import com.uwetrottmann.seriesguide.R; /** @@ -45,6 +47,7 @@ public class DataLiberationFragment extends SherlockFragment implements OnTaskFi private Button mButtonExport; private Button mButtonImport; + private Button mButtonImportAutoBackup; private ProgressBar mProgressBar; private CheckBox mCheckBoxFullDump; private CheckBox mCheckBoxImportWarning; @@ -65,20 +68,32 @@ public void onCreate(Bundle savedInstanceState) { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.data_liberation_fragment, container, false); + mProgressBar = (ProgressBar) v.findViewById(R.id.progressBarDataLiberation); mButtonExport = (Button) v.findViewById(R.id.buttonExport); mButtonImport = (Button) v.findViewById(R.id.buttonImport); - mProgressBar = (ProgressBar) v.findViewById(R.id.progressBarDataLiberation); + mButtonImportAutoBackup = (Button) v.findViewById(R.id.buttonBackupRestoreAutoBackup); mCheckBoxFullDump = (CheckBox) v.findViewById(R.id.checkBoxFullDump); mCheckBoxImportWarning = (CheckBox) v.findViewById(R.id.checkBoxImportWarning); + // display backup path TextView backuppath = (TextView) v.findViewById(R.id.textViewBackupPath); String path = JsonExportTask.getExportPath(false).toString(); backuppath.setText(getString(R.string.backup_path) + ": " + path); + // display current db version TextView dbVersion = (TextView) v.findViewById(R.id.textViewBackupDatabaseVersion); dbVersion.setText(getString(R.string.backup_version) + ": " + SeriesGuideDatabase.DATABASE_VERSION); + // display last auto-backup date + TextView lastAutoBackup = (TextView) v.findViewById(R.id.textViewBackupLastAutoBackup); + long lastAutoBackupTime = AdvancedSettings.getLastAutoBackupTime(getActivity()); + lastAutoBackup + .setText(getString(R.string.last_auto_backup, + DateUtils.getRelativeDateTimeString(getActivity(), + lastAutoBackupTime, DateUtils.SECOND_IN_MILLIS, + DateUtils.DAY_IN_MILLIS, 0))); + return v; } @@ -102,6 +117,7 @@ public void onClick(View v) { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { mButtonImport.setEnabled(isChecked); + mButtonImportAutoBackup.setEnabled(isChecked); } }); mButtonImport.setOnClickListener(new OnClickListener() { @@ -109,7 +125,16 @@ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { public void onClick(View v) { setProgressLock(true); - mTask = new JsonImportTask(context, DataLiberationFragment.this); + mTask = new JsonImportTask(context, DataLiberationFragment.this, false); + mTask.execute(); + } + }); + mButtonImportAutoBackup.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + setProgressLock(true); + + mTask = new JsonImportTask(context, DataLiberationFragment.this, true); mTask.execute(); } }); @@ -148,8 +173,10 @@ public void onTaskFinished() { private void setProgressLock(boolean isLocked) { if (isLocked) { mButtonImport.setEnabled(false); + mButtonImportAutoBackup.setEnabled(false); } else { mButtonImport.setEnabled(mCheckBoxImportWarning.isChecked()); + mButtonImportAutoBackup.setEnabled(mCheckBoxImportWarning.isChecked()); } mButtonExport.setEnabled(!isLocked); mProgressBar.setVisibility(isLocked ? View.VISIBLE : View.GONE); diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/JsonExportTask.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/JsonExportTask.java similarity index 98% rename from SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/JsonExportTask.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/JsonExportTask.java index 73193c547a..fd2f334dcb 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/JsonExportTask.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/JsonExportTask.java @@ -151,11 +151,11 @@ protected Integer doInBackground(Void... params) { } catch (JsonIOException e) { // Only catch IO exception as we want to know if exporting fails due // to a JsonSyntaxException - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return ERROR; } catch (IOException e) { // Backup failed - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return ERROR; } finally { shows.close(); @@ -189,10 +189,10 @@ protected Integer doInBackground(Void... params) { } catch (JsonIOException e) { // Only catch IO exception as we want to know if exporting fails due // to a JsonSyntaxException - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return ERROR; } catch (IOException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return ERROR; } finally { lists.close(); diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/JsonImportTask.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/JsonImportTask.java similarity index 96% rename from SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/JsonImportTask.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/JsonImportTask.java index 0c4a4eba21..dbb1109d71 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/JsonImportTask.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/JsonImportTask.java @@ -69,10 +69,12 @@ public class JsonImportTask extends AsyncTask { private static final int ERROR_FILE_ACCESS = -3; private Context mContext; private OnTaskFinishedListener mListener; + private boolean mIsAutoBackupMode; - public JsonImportTask(Context context, OnTaskFinishedListener listener) { + public JsonImportTask(Context context, OnTaskFinishedListener listener, boolean isAutoBackupMode) { mContext = context.getApplicationContext(); mListener = listener; + mIsAutoBackupMode = isAutoBackupMode; } @Override @@ -89,7 +91,7 @@ protected Integer doInBackground(Void... params) { } // Ensure JSON file is available - File path = JsonExportTask.getExportPath(false); + File path = JsonExportTask.getExportPath(mIsAutoBackupMode); File backup = new File(path, JsonExportTask.EXPORT_JSON_FILE_SHOWS); if (!backup.exists() || !backup.canRead()) { return ERROR_FILE_ACCESS; @@ -121,10 +123,10 @@ protected Integer doInBackground(Void... params) { } catch (JsonParseException e) { // the given Json might not be valid or unreadable - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return ERROR; } catch (IOException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return ERROR; } @@ -156,10 +158,10 @@ protected Integer doInBackground(Void... params) { } catch (JsonParseException e) { // the given Json might not be valid or unreadable - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return ERROR; } catch (IOException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return ERROR; } @@ -253,7 +255,7 @@ private void addShowToDatabase(Show show) { * {@link ContentValues} packages put into arrays. The first array returned * includes all seasons, the second array all episodes. */ - private ContentValues[][] buildSeasonAndEpisodeBatches(Show show) { + private static ContentValues[][] buildSeasonAndEpisodeBatches(Show show) { // Initialize arrays ContentValues[] seasonBatch = new ContentValues[show.seasons.size()]; int episodesSize = 0; diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/OnTaskFinishedListener.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/OnTaskFinishedListener.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/OnTaskFinishedListener.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/OnTaskFinishedListener.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/model/Episode.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/model/Episode.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/model/Episode.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/model/Episode.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/model/List.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/model/List.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/model/List.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/model/List.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/model/ListItem.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/model/ListItem.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/model/ListItem.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/model/ListItem.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/model/Season.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/model/Season.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/model/Season.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/model/Season.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/model/Show.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/model/Show.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/dataliberation/model/Show.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/dataliberation/model/Show.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/enums/TraktAction.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/enums/TraktAction.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/enums/TraktAction.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/enums/TraktAction.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/enums/TraktStatus.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/enums/TraktStatus.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/enums/TraktStatus.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/enums/TraktStatus.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/getglueapi/GetGlue.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/getglueapi/GetGlue.java similarity index 93% rename from SeriesGuide/src/com/battlelancer/seriesguide/getglueapi/GetGlue.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/getglueapi/GetGlue.java index 4376f9a4be..b6e901a8d0 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/getglueapi/GetGlue.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/getglueapi/GetGlue.java @@ -160,20 +160,20 @@ protected Integer doInBackground(Void... params) { } } } catch (ClientProtocolException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (IOException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (IllegalStateException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (XmlPullParserException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); } finally { if (responseIn != null) { try { responseIn.close(); } catch (IOException e) { Log.w(TAG, e); - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); } } } @@ -221,15 +221,15 @@ public static HttpURLConnection buildGetGlueRequest(String url, Context context) consumer.sign(request); return request; } catch (OAuthMessageSignerException e) { - Utils.trackExceptionAndLog(context, TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (OAuthExpectationFailedException e) { - Utils.trackExceptionAndLog(context, TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (OAuthCommunicationException e) { - Utils.trackExceptionAndLog(context, TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (IOException e) { - Utils.trackExceptionAndLog(context, TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (IllegalArgumentException e) { - Utils.trackExceptionAndLog(context, TAG, e); + Utils.trackExceptionAndLog(TAG, e); } return null; } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/getglueapi/GetGlueAuthActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/getglueapi/GetGlueAuthActivity.java similarity index 93% rename from SeriesGuide/src/com/battlelancer/seriesguide/getglueapi/GetGlueAuthActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/getglueapi/GetGlueAuthActivity.java index 6bdb80b7f5..5d910a3c7b 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/getglueapi/GetGlueAuthActivity.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/getglueapi/GetGlueAuthActivity.java @@ -160,13 +160,13 @@ protected Integer doInBackground(Uri... params) { Log.i(TAG, "OAuth - Access Token Retrieved"); return AUTH_SUCCESS; } catch (OAuthMessageSignerException e) { - Utils.trackExceptionAndLog(getApplicationContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (OAuthNotAuthorizedException e) { - Utils.trackExceptionAndLog(getApplicationContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (OAuthExpectationFailedException e) { - Utils.trackExceptionAndLog(getApplicationContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (OAuthCommunicationException e) { - Utils.trackExceptionAndLog(getApplicationContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); } return AUTH_FAILED; @@ -218,16 +218,16 @@ protected String doInBackground(Void... params) { Log.i(TAG, "Popping a browser with the authorize URL"); publishProgress(authUrl); } catch (OAuthMessageSignerException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return e.getMessage(); } catch (OAuthNotAuthorizedException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return e.getMessage(); } catch (OAuthExpectationFailedException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return e.getMessage(); } catch (OAuthCommunicationException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return e.getMessage(); } return null; diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/getglueapi/GetGlueXmlParser.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/getglueapi/GetGlueXmlParser.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/getglueapi/GetGlueXmlParser.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/getglueapi/GetGlueXmlParser.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/interfaces/OnListsChangedListener.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/interfaces/OnListsChangedListener.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/interfaces/OnListsChangedListener.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/interfaces/OnListsChangedListener.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/items/Episode.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/items/Episode.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/items/Episode.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/items/Episode.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/items/SearchResult.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/items/SearchResult.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/items/SearchResult.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/items/SearchResult.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/items/Series.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/items/Series.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/items/Series.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/items/Series.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/loaders/GetGlueObjectLoader.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/GetGlueObjectLoader.java similarity index 89% rename from SeriesGuide/src/com/battlelancer/seriesguide/loaders/GetGlueObjectLoader.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/GetGlueObjectLoader.java index 9a867ca652..eb3ad192ac 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/loaders/GetGlueObjectLoader.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/GetGlueObjectLoader.java @@ -65,19 +65,19 @@ public List loadInBackground() { // getGlueXmlParser.parseError(responseIn); } } catch (ClientProtocolException e) { - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (IOException e) { - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (IllegalStateException e) { - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (XmlPullParserException e) { - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); } finally { if (responseIn != null) { try { responseIn.close(); } catch (IOException e) { - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); } } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/loaders/ShowLoader.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/ShowLoader.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/loaders/ShowLoader.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/ShowLoader.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/loaders/TmdbMovieDetailsLoader.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/TmdbMovieDetailsLoader.java similarity index 96% rename from SeriesGuide/src/com/battlelancer/seriesguide/loaders/TmdbMovieDetailsLoader.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/TmdbMovieDetailsLoader.java index 7f932d810a..ba9e82ce73 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/loaders/TmdbMovieDetailsLoader.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/TmdbMovieDetailsLoader.java @@ -57,10 +57,10 @@ public MovieDetails loadInBackground() { details.casts(manager.moviesService().casts(mTmdbId).fire()); return details; } catch (TmdbException e) { - Utils.trackException(getContext(), TAG, e); + Utils.trackException(TAG, e); Log.w(TAG, e); } catch (ApiException e) { - Utils.trackException(getContext(), TAG, e); + Utils.trackException(TAG, e); Log.w(TAG, e); } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/loaders/TmdbMoviesLoader.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/TmdbMoviesLoader.java similarity index 95% rename from SeriesGuide/src/com/battlelancer/seriesguide/loaders/TmdbMoviesLoader.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/TmdbMoviesLoader.java index a36cf0b2cd..19e831a25f 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/loaders/TmdbMoviesLoader.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/TmdbMoviesLoader.java @@ -61,10 +61,10 @@ public List loadInBackground() { return page.results; } } catch (TmdbException e) { - Utils.trackException(getContext(), TAG, e); + Utils.trackException(TAG, e); Log.w(TAG, e); } catch (ApiException e) { - Utils.trackException(getContext(), TAG, e); + Utils.trackException(TAG, e); Log.w(TAG, e); } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/loaders/TraktCommentsLoader.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/TraktCommentsLoader.java similarity index 95% rename from SeriesGuide/src/com/battlelancer/seriesguide/loaders/TraktCommentsLoader.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/TraktCommentsLoader.java index f87304cb23..9585d170fd 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/loaders/TraktCommentsLoader.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/TraktCommentsLoader.java @@ -70,10 +70,10 @@ public List loadInBackground() { } } catch (TraktException e) { - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); return null; } catch (ApiException e) { - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); return null; } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/loaders/TraktMoviesWatchlistLoader.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/TraktMoviesWatchlistLoader.java similarity index 90% rename from SeriesGuide/src/com/battlelancer/seriesguide/loaders/TraktMoviesWatchlistLoader.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/TraktMoviesWatchlistLoader.java index b98ae6b47f..2cd7e96445 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/loaders/TraktMoviesWatchlistLoader.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/loaders/TraktMoviesWatchlistLoader.java @@ -33,9 +33,9 @@ public List loadInBackground() { .watchlistMovies(ServiceUtils.getTraktUsername(getContext())) .fire(); } catch (TraktException e) { - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (ApiException e) { - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); } return null; diff --git a/SeriesGuide/src/main/java/com/battlelancer/seriesguide/migration/MigrationActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/migration/MigrationActivity.java new file mode 100644 index 0000000000..7be2f9337e --- /dev/null +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/migration/MigrationActivity.java @@ -0,0 +1,225 @@ +package com.battlelancer.seriesguide.migration; + +import android.content.Context; +import android.content.Intent; +import android.net.Uri; +import android.os.AsyncTask; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.support.v4.app.NavUtils; +import android.text.format.DateUtils; +import android.view.View; +import android.widget.Button; +import android.widget.ProgressBar; +import android.widget.TextView; + +import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.view.MenuItem; +import com.battlelancer.seriesguide.dataliberation.JsonExportTask; +import com.battlelancer.seriesguide.dataliberation.JsonImportTask; +import com.battlelancer.seriesguide.dataliberation.OnTaskFinishedListener; +import com.battlelancer.seriesguide.sync.SgSyncAdapter; +import com.battlelancer.seriesguide.ui.BaseActivity; +import com.battlelancer.seriesguide.util.TaskManager; +import com.battlelancer.seriesguide.util.Utils; +import com.uwetrottmann.androidutils.AndroidUtils; +import com.uwetrottmann.seriesguide.R; + +import java.io.File; + +/** + * Helps users migrate their show database to the free version of SeriesGuide. When using + * SeriesGuide X a backup assistant and install+launch the free version assistant is shown. + * When using any other version an import assistant is shown. + */ +public class MigrationActivity extends BaseActivity implements JsonExportTask.OnTaskProgressListener, OnTaskFinishedListener { + + private static final String KEY_MIGRATION_OPT_OUT = "com.battlelancer.seriesguide.migration.optout"; + private static final String MARKETLINK_HTTP = "http://play.google.com/store/apps/details?id=com.battlelancer.seriesguide"; + private static final String PACKAGE_SERIESGUIDE = "com.battlelancer.seriesguide"; + private boolean mIsX; + private ProgressBar mProgressBar; + private Button mButtonBackup; + private Button mButtonLaunch; + private TextView mTextViewLaunchInstructions; + private AsyncTask mTask; + private Intent mLaunchIntentForPackage; + private View.OnClickListener mSeriesGuideLaunchListener = new View.OnClickListener() { + @Override + public void onClick(View view) { + if (mLaunchIntentForPackage != null) { + startActivity(mLaunchIntentForPackage); + } + } + }; + private View.OnClickListener mSeriesGuideInstallListener = new View.OnClickListener() { + @Override + public void onClick(View view) { + // launch SeriesGuide Play Store page + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(MARKETLINK_HTTP)); + Utils.tryStartActivity(MigrationActivity.this, intent, true); + } + }; + + public static boolean isQualifiedForMigration(Context context) { + if (Utils.getChannel(context) != Utils.SGChannel.X) { + return false; + } + return !PreferenceManager.getDefaultSharedPreferences(context).getBoolean(KEY_MIGRATION_OPT_OUT, + false); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(R.layout.activity_migration); + + mIsX = Utils.getChannel(this) == Utils.SGChannel.X; + + setupActionBar(); + setupViews(); + + // do not show the migration activity by force again + PreferenceManager.getDefaultSharedPreferences(this).edit() + .putBoolean(KEY_MIGRATION_OPT_OUT, true) + .commit(); + } + + private void setupActionBar() { + final ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayShowTitleEnabled(true); + actionBar.setDisplayHomeAsUpEnabled(true); + } + + private void setupViews() { + mProgressBar = (ProgressBar) findViewById(R.id.progressBarMigration); + + /** + * Change from backup to import tool whether we use X or any other version (internal beta, + * free). + */ + ((TextView) findViewById(R.id.textViewMigrationBackupInstructions)) + .setText(mIsX ? R.string.migration_backup : R.string.migration_import); + + mButtonBackup = (Button) findViewById(R.id.buttonMigrationExport); + mButtonBackup.setText(mIsX ? R.string.migration_action_backup + : R.string.migration_action_import); + mButtonBackup.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if (mIsX) { + // backup shows + mTask = new JsonExportTask(MigrationActivity.this, MigrationActivity.this, + MigrationActivity.this, + true, false); + } else { + // import shows + mTask = new JsonImportTask(MigrationActivity.this, MigrationActivity.this, + false); + } + mTask.execute(); + + mProgressBar.setVisibility(View.VISIBLE); + + preventUserInput(true); + } + }); + + mTextViewLaunchInstructions = (TextView) findViewById(R.id.textViewMigrationLaunchInstructions); + mButtonLaunch = (Button) findViewById(R.id.buttonMigrationLaunch); + } + + @Override + protected void onStart() { + super.onStart(); + validateLaunchStep(); + } + + @Override + protected void onDestroy() { + // clean up backup task + if (mTask != null && mTask.getStatus() != AsyncTask.Status.FINISHED) { + mTask.cancel(true); + } + mTask = null; + + super.onDestroy(); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int itemId = item.getItemId(); + if (itemId == android.R.id.home) { + NavUtils.navigateUpFromSameTask(this); + return true; + } + return super.onOptionsItemSelected(item); + } + + private void validateLaunchStep() { + if (!mIsX) { + // don't show launcher if importing + setLauncherVisibility(false); + return; + } + + // check if SeriesGuide is already installed + mLaunchIntentForPackage = getPackageManager().getLaunchIntentForPackage(PACKAGE_SERIESGUIDE); + boolean isSeriesGuideInstalled = mLaunchIntentForPackage != null; + + // prepare next step + mTextViewLaunchInstructions.setText(isSeriesGuideInstalled ? R.string.migration_launch : R.string.migration_install); + mButtonLaunch.setText(isSeriesGuideInstalled ? R.string.migration_action_launch : R.string.migration_action_install); + mButtonLaunch.setOnClickListener(isSeriesGuideInstalled ? mSeriesGuideLaunchListener : mSeriesGuideInstallListener); + + // decide whether to show next step + setLauncherVisibility(hasRecentBackup()); + } + + private void preventUserInput(boolean isLockdown) { + // toggle buttons enabled state + mButtonBackup.setEnabled(!isLockdown); + mButtonLaunch.setEnabled(!isLockdown); + } + + private void setLauncherVisibility(boolean isVisible) { + mTextViewLaunchInstructions.setVisibility(isVisible ? View.VISIBLE : View.GONE); + mButtonLaunch.setVisibility(isVisible ? View.VISIBLE : View.GONE); + } + + @Override + public void onProgressUpdate(Integer... values) { + if (mProgressBar == null) { + return; + } + mProgressBar.setIndeterminate(values[0] == values[1]); + mProgressBar.setMax(values[0]); + mProgressBar.setProgress(values[1]); + } + + @Override + public void onTaskFinished() { + mProgressBar.setVisibility(View.GONE); + preventUserInput(false); + validateLaunchStep(); + } + + private boolean hasRecentBackup() { + if (AndroidUtils.isExtStorageAvailable()) { + // ensure at least show JSON is available + File path = JsonExportTask.getExportPath(false); + File backup = new File(path, JsonExportTask.EXPORT_JSON_FILE_SHOWS); + if (backup.exists() && backup.canRead()) { + // not older than 24 hours? + long lastModified = backup.lastModified(); + long now = System.currentTimeMillis(); + if (lastModified - now < 24 * DateUtils.HOUR_IN_MILLIS) { + return true; + } + } + } + + return false; + } +} diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/provider/SeriesContract.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/provider/SeriesContract.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/provider/SeriesContract.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/provider/SeriesContract.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/provider/SeriesGuideDatabase.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/provider/SeriesGuideDatabase.java similarity index 96% rename from SeriesGuide/src/com/battlelancer/seriesguide/provider/SeriesGuideDatabase.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/provider/SeriesGuideDatabase.java index 2f5b077234..c83a27dc86 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/provider/SeriesGuideDatabase.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/provider/SeriesGuideDatabase.java @@ -465,7 +465,7 @@ private void onResetDatabase(SQLiteDatabase db) { * Add {@link Shows} column to store the last watched episode id for better * prediction of next episode. */ - private void upgradeToThirtyOne(SQLiteDatabase db) { + private static void upgradeToThirtyOne(SQLiteDatabase db) { db.execSQL("ALTER TABLE " + Tables.SHOWS + " ADD COLUMN " + ShowsColumns.LASTWATCHEDID + " INTEGER DEFAULT 0;"); @@ -512,7 +512,7 @@ private void upgradeToThirtyOne(SQLiteDatabase db) { /** * Add {@link Episodes} column to store absolute episode number. */ - private void upgradeToThirty(SQLiteDatabase db) { + private static void upgradeToThirty(SQLiteDatabase db) { db.execSQL("ALTER TABLE " + Tables.EPISODES + " ADD COLUMN " + EpisodesColumns.ABSOLUTE_NUMBER + " INTEGER;"); } @@ -520,7 +520,7 @@ private void upgradeToThirty(SQLiteDatabase db) { /** * Add {@link Shows} column to store a GetGlue object id. */ - private void upgradeToTwentyNine(SQLiteDatabase db) { + private static void upgradeToTwentyNine(SQLiteDatabase db) { db.execSQL("ALTER TABLE " + Tables.SHOWS + " ADD COLUMN " + ShowsColumns.GETGLUEID + " TEXT DEFAULT '';"); } @@ -528,7 +528,7 @@ private void upgradeToTwentyNine(SQLiteDatabase db) { /** * Add tables to store lists and list items. */ - private void upgradeToTwentyEight(SQLiteDatabase db) { + private static void upgradeToTwentyEight(SQLiteDatabase db) { db.execSQL(CREATE_LISTS_TABLE); db.execSQL(CREATE_LIST_ITEMS_TABLE); @@ -541,7 +541,7 @@ private void upgradeToTwentyEight(SQLiteDatabase db) { * * @param db */ - private void upgradeToTwentySeven(SQLiteDatabase db) { + private static void upgradeToTwentySeven(SQLiteDatabase db) { db.execSQL("ALTER TABLE " + Tables.SHOWS + " ADD COLUMN " + ShowsColumns.LASTEDIT + " INTEGER DEFAULT 0;"); db.execSQL("ALTER TABLE " + Tables.EPISODES + " ADD COLUMN " + EpisodesColumns.IMDBID @@ -556,7 +556,7 @@ private void upgradeToTwentySeven(SQLiteDatabase db) { * * @param db */ - private void upgradeToTwentySix(SQLiteDatabase db) { + private static void upgradeToTwentySix(SQLiteDatabase db) { db.execSQL("ALTER TABLE " + Tables.EPISODES + " ADD COLUMN " + EpisodesColumns.COLLECTED + " INTEGER DEFAULT 0;"); } @@ -567,7 +567,7 @@ private void upgradeToTwentySix(SQLiteDatabase db) { * * @param db */ - private void upgradeToTwentyFive(SQLiteDatabase db) { + private static void upgradeToTwentyFive(SQLiteDatabase db) { db.execSQL("ALTER TABLE " + Tables.SHOWS + " ADD COLUMN " + ShowsColumns.NEXTAIRDATEMS + " INTEGER DEFAULT 0;"); } @@ -578,7 +578,7 @@ private void upgradeToTwentyFive(SQLiteDatabase db) { * * @param db */ - private void upgradeToTwentyFour(SQLiteDatabase db) { + private static void upgradeToTwentyFour(SQLiteDatabase db) { db.execSQL("ALTER TABLE " + Tables.EPISODES + " ADD COLUMN " + EpisodesColumns.FIRSTAIREDMS + " INTEGER DEFAULT -1;"); @@ -627,7 +627,7 @@ private void upgradeToTwentyFour(SQLiteDatabase db) { * * @param db */ - private void upgradeToTwentyThree(SQLiteDatabase db) { + private static void upgradeToTwentyThree(SQLiteDatabase db) { db.execSQL("ALTER TABLE " + Tables.SHOWS + " ADD COLUMN " + ShowsColumns.HIDDEN + " INTEGER DEFAULT 0;"); } @@ -640,17 +640,17 @@ private void upgradeToTwentyThree(SQLiteDatabase db) { * * @param db */ - private void upgradeToTwentyTwo(SQLiteDatabase db) { + private static void upgradeToTwentyTwo(SQLiteDatabase db) { db.execSQL("ALTER TABLE " + Tables.SHOWS + " ADD COLUMN " + ShowsColumns.LASTUPDATED + " INTEGER DEFAULT 0;"); } - private void upgradeToTwentyOne(SQLiteDatabase db) { + private static void upgradeToTwentyOne(SQLiteDatabase db) { db.execSQL("ALTER TABLE " + Tables.SHOWS + " ADD COLUMN " + ShowsColumns.AIRTIME + " TEXT DEFAULT '';"); } - private void upgradeToTwenty(SQLiteDatabase db) { + private static void upgradeToTwenty(SQLiteDatabase db) { db.execSQL("ALTER TABLE " + Tables.SHOWS + " ADD COLUMN " + ShowsColumns.SYNCENABLED + " INTEGER DEFAULT 1;"); } @@ -660,7 +660,7 @@ private void upgradeToTwenty(SQLiteDatabase db) { * * @param db */ - private void upgradeToNineteen(SQLiteDatabase db) { + private static void upgradeToNineteen(SQLiteDatabase db) { db.execSQL("ALTER TABLE " + Tables.SEASONS + " ADD COLUMN " + SeasonsColumns.TOTALCOUNT + " INTEGER DEFAULT 0;"); } @@ -670,7 +670,7 @@ private void upgradeToNineteen(SQLiteDatabase db) { * * @param db */ - private void upgradeToEighteen(SQLiteDatabase db) { + private static void upgradeToEighteen(SQLiteDatabase db) { db.execSQL("ALTER TABLE " + Tables.SHOWS + " ADD COLUMN " + ShowsColumns.NEXTAIRDATETEXT + " TEXT DEFAULT '';"); @@ -711,7 +711,7 @@ private void upgradeToEighteen(SQLiteDatabase db) { * * @param db */ - private void upgradeToSeventeen(SQLiteDatabase db) { + private static void upgradeToSeventeen(SQLiteDatabase db) { db.execSQL("ALTER TABLE " + Tables.SHOWS + " ADD COLUMN " + ShowsColumns.FAVORITE + " INTEGER DEFAULT 0;"); } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/provider/SeriesGuideProvider.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/provider/SeriesGuideProvider.java similarity index 99% rename from SeriesGuide/src/com/battlelancer/seriesguide/provider/SeriesGuideProvider.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/provider/SeriesGuideProvider.java index f5c37a543f..7ba180f3d6 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/provider/SeriesGuideProvider.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/provider/SeriesGuideProvider.java @@ -420,7 +420,7 @@ private int bulkInsertHelper(String table, ContentValues[] values) { * {@link Uri}. This is usually enough to support {@link #insert}, * {@link #update}, and {@link #delete} operations. */ - private SelectionBuilder buildSimpleSelection(Uri uri) { + private static SelectionBuilder buildSimpleSelection(Uri uri) { final SelectionBuilder builder = new SelectionBuilder(); final int match = sUriMatcher.match(uri); switch (match) { @@ -488,7 +488,7 @@ private SelectionBuilder buildSimpleSelection(Uri uri) { * {@link Uri}. This is usually only used by {@link #query}, since it * performs table joins useful for {@link Cursor} data. */ - private SelectionBuilder buildExpandedSelection(Uri uri, int match) { + private static SelectionBuilder buildExpandedSelection(Uri uri, int match) { final SelectionBuilder builder = new SelectionBuilder(); switch (match) { case SHOWS: { diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/service/NotificationService.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/service/NotificationService.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/service/NotificationService.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/service/NotificationService.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/service/OnAlarmReceiver.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/service/OnAlarmReceiver.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/service/OnAlarmReceiver.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/service/OnAlarmReceiver.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/service/OnTapeRestartReceiver.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/service/OnTapeRestartReceiver.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/service/OnTapeRestartReceiver.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/service/OnTapeRestartReceiver.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/service/TraktFlagService.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/service/TraktFlagService.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/service/TraktFlagService.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/service/TraktFlagService.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/settings/ActivitySettings.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/ActivitySettings.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/settings/ActivitySettings.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/ActivitySettings.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/settings/AdvancedSettings.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/AdvancedSettings.java similarity index 79% rename from SeriesGuide/src/com/battlelancer/seriesguide/settings/AdvancedSettings.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/AdvancedSettings.java index 90cedd19f5..832e782413 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/settings/AdvancedSettings.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/AdvancedSettings.java @@ -18,6 +18,8 @@ public class AdvancedSettings { public static final String KEY_LAST_UPGRADE_STATE = "com.battlelancer.seriesguide.lastupgradestate"; + public static final String KEY_UPCOMING_LIMIT = "com.battlelancer.seriesguide.upcominglimit"; + public static long getLastAutoUpdateTime(Context context) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); @@ -64,4 +66,20 @@ public static void setSubscriptionState(Context context, boolean isSubscribedToX PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean( KEY_LAST_UPGRADE_STATE, isSubscribedToX).commit(); } + + /** + * Returns the maximum number of days from today on an episode can air for its show to be + * considered as upcoming. + */ + public static int getUpcomingLimitInDays(Context context) { + int upcomingLimit = 3; + try { + upcomingLimit = Integer.parseInt(PreferenceManager + .getDefaultSharedPreferences(context).getString( + KEY_UPCOMING_LIMIT, "3")); + } catch (NumberFormatException ignored) { + } + + return upcomingLimit; + } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/settings/AppSettings.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/AppSettings.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/settings/AppSettings.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/AppSettings.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/settings/DashClockSettings.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/DashClockSettings.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/settings/DashClockSettings.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/DashClockSettings.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/settings/NotificationSettings.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/NotificationSettings.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/settings/NotificationSettings.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/NotificationSettings.java diff --git a/SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/ShowsDistillationSettings.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/ShowsDistillationSettings.java new file mode 100644 index 0000000000..3d503065b2 --- /dev/null +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/ShowsDistillationSettings.java @@ -0,0 +1,120 @@ +/* + * Copyright 2013 Uwe Trottmann + * + * 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.battlelancer.seriesguide.settings; + +import android.content.Context; +import android.preference.PreferenceManager; + +import com.battlelancer.seriesguide.Constants; + +import static com.battlelancer.seriesguide.provider.SeriesContract.Shows; + +/** + * Provides settings used to filter and sort displayed shows in + * {@link com.battlelancer.seriesguide.ui.ShowsFragment}. + */ +public class ShowsDistillationSettings { + + public static String KEY_SORT_ORDER = "com.battlelancer.seriesguide.sort.order"; + public static String KEY_SORT_FAVORITES_FIRST = "com.battlelancer.seriesguide.sort.favoritesfirst"; + public static String KEY_FILTER_FAVORITES = "com.battlelancer.seriesguide.filter.favorites"; + public static String KEY_FILTER_UNWATCHED = "com.battlelancer.seriesguide.filter.unwatched"; + public static String KEY_FILTER_UPCOMING = "com.battlelancer.seriesguide.filter.upcoming"; + public static String KEY_FILTER_HIDDEN = "com.battlelancer.seriesguide.filter.hidden"; + + /** + * Builds an appropriate SQL sort statement for sorting shows. + */ + public static String getSortQuery(int sortOrderId, boolean isSortFavoritesFirst) { + StringBuilder query = new StringBuilder(); + + if (isSortFavoritesFirst) { + query.append(ShowsSortOrder.FAVORITES_FIRST_PREFIX); + } + + if (sortOrderId == ShowsSortOrder.TITLE_REVERSE_ID) { + query.append(ShowsSortOrder.TITLE_REVERSE); + } else if (sortOrderId == ShowsSortOrder.EPISODE_ID) { + query.append(ShowsSortOrder.EPISODE); + } else if (sortOrderId == ShowsSortOrder.EPISODE_REVERSE_ID) { + query.append(ShowsSortOrder.EPISODE_REVERSE); + } else { + query.append(ShowsSortOrder.TITLE); + } + + return query.toString(); + } + + /** + * Returns the id as of + * {@link com.battlelancer.seriesguide.settings.ShowsDistillationSettings.ShowsSortOrder} + * of the current show sort order. + */ + public static int getSortOrderId(Context context) { + return PreferenceManager.getDefaultSharedPreferences(context).getInt(KEY_SORT_ORDER, 0); + } + + public static boolean isSortFavoritesFirst(Context context) { + return PreferenceManager.getDefaultSharedPreferences(context) + .getBoolean(KEY_SORT_FAVORITES_FIRST, true); + } + + public static boolean isFilteringFavorites(Context context) { + return PreferenceManager.getDefaultSharedPreferences(context) + .getBoolean(KEY_FILTER_FAVORITES, false); + } + + public static boolean isFilteringUnwatched(Context context) { + return PreferenceManager.getDefaultSharedPreferences(context) + .getBoolean(KEY_FILTER_UNWATCHED, false); + } + + public static boolean isFilteringUpcoming(Context context) { + return PreferenceManager.getDefaultSharedPreferences(context) + .getBoolean(KEY_FILTER_UPCOMING, false); + } + + public static boolean isFilteringHidden(Context context) { + return PreferenceManager.getDefaultSharedPreferences(context) + .getBoolean(KEY_FILTER_HIDDEN, false); + } + + /** + * Used by {@link com.battlelancer.seriesguide.ui.ShowsFragment} loader to sort the list of + * shows. + */ + public interface ShowsSortOrder { + // alphabetical by title + String TITLE = Shows.TITLE + " COLLATE NOCASE ASC"; + // reverse alphabetical by title + String TITLE_REVERSE = Shows.TITLE + " COLLATE NOCASE DESC"; + // by next episode air time, oldest first + String EPISODE = Shows.NEXTAIRDATEMS + " ASC," + Shows.AIRSTIME + " ASC," + + Shows.TITLE + " COLLATE NOCASE ASC"; + // by next episode air time, newest first + String EPISODE_REVERSE = Shows.NEXTAIRDATEMS + " DESC," + Shows.AIRSTIME + " ASC," + + Shows.TITLE + " COLLATE NOCASE ASC"; + // add as prefix to sort favorites first + String FAVORITES_FIRST_PREFIX = Shows.FAVORITE + " DESC,"; + // ids used for storing in preferences + int TITLE_ID = 0; + int TITLE_REVERSE_ID = 1; + int EPISODE_ID = 2; + int EPISODE_REVERSE_ID = 3; + } +} diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/settings/WidgetSettings.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/WidgetSettings.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/settings/WidgetSettings.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/settings/WidgetSettings.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/sync/SgAccountAuthenticator.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/sync/SgAccountAuthenticator.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/sync/SgAccountAuthenticator.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/sync/SgAccountAuthenticator.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/sync/SgAuthenticationService.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/sync/SgAuthenticationService.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/sync/SgAuthenticationService.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/sync/SgAuthenticationService.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/sync/SgSyncAdapter.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/sync/SgSyncAdapter.java similarity index 97% rename from SeriesGuide/src/com/battlelancer/seriesguide/sync/SgSyncAdapter.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/sync/SgSyncAdapter.java index 4ea5993a8c..868246f7af 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/sync/SgSyncAdapter.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/sync/SgSyncAdapter.java @@ -151,11 +151,11 @@ public static boolean isSyncAutomatically(Context context) { * Returns true if there is currently a sync operation for the given account * or authority in the pending list, or actively being processed. */ - public static boolean isSyncActive(Context context, boolean displayWarning) { + public static boolean isSyncActive(Context context, boolean isDisplayWarning) { boolean isSyncActive = ContentResolver.isSyncActive( SyncUtils.getSyncAccount(context), SeriesGuideApplication.CONTENT_AUTHORITY); - if (isSyncActive) { + if (isSyncActive && isDisplayWarning) { Toast.makeText(context, R.string.update_inprogress, Toast.LENGTH_LONG).show(); } return isSyncActive; @@ -231,7 +231,7 @@ public void onPerformSync(Account account, Bundle extras, String authority, if (itry == 1) { // failed twice, report error resultCode = UpdateResult.INCOMPLETE; - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); } } } @@ -267,9 +267,9 @@ public void onPerformSync(Account account, Bundle extras, String authority, config.images.base_url).commit(); } } catch (TmdbException e) { - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (ApiException e) { - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); } // validate trakt credentials @@ -389,10 +389,10 @@ private UpdateResult getTraktActivity(long currentTime) { .minimal() .timestamp(startTimeTrakt).fire(); } catch (TraktException e) { - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); return UpdateResult.INCOMPLETE; } catch (ApiException e) { - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); return UpdateResult.INCOMPLETE; } @@ -484,12 +484,12 @@ private UpdateResult getTraktActivity(long currentTime) { .applyBatch(SeriesGuideApplication.CONTENT_AUTHORITY, batch); } catch (RemoteException e) { // Failed binder transactions aren't recoverable - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); throw new RuntimeException("Problem applying batch operation", e); } catch (OperationApplicationException e) { // Failures like constraint violation aren't // recoverable - Utils.trackExceptionAndLog(getContext(), TAG, e); + Utils.trackExceptionAndLog(TAG, e); throw new RuntimeException("Problem applying batch operation", e); } @@ -527,7 +527,7 @@ private static void addEpisodeCollectedUpdateOp(ArrayList batch, int season, int number, String showTvdbId) { // query for the episode id final Cursor episode = resolver.query( diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/sync/SgSyncService.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/sync/SgSyncService.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/sync/SgSyncService.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/sync/SgSyncService.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/sync/SyncUtils.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/sync/SyncUtils.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/sync/SyncUtils.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/sync/SyncUtils.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/AddActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/AddActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/AddActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/AddActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/AddFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/AddFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/AddFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/AddFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/BackupDeleteActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/BackupDeleteActivity.java similarity index 97% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/BackupDeleteActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/BackupDeleteActivity.java index a5b59cbc0c..fb67e7d60f 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/BackupDeleteActivity.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/BackupDeleteActivity.java @@ -34,6 +34,7 @@ import android.widget.Toast; import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.view.MenuItem; import com.battlelancer.seriesguide.provider.SeriesContract.Shows; import com.battlelancer.seriesguide.provider.SeriesGuideDatabase; import com.battlelancer.seriesguide.sync.SgSyncAdapter; @@ -123,6 +124,15 @@ protected void onDestroy() { onCancelTasks(); } + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == android.R.id.home) { + super.onBackPressed(); + return true; + } + return false; + } + private void onCancelTasks() { if (mImportTask != null && mImportTask.getStatus() == AsyncTask.Status.RUNNING) { mImportTask.cancel(true); diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/BaseActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/BaseActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/BaseActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/BaseActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/BaseNavDrawerActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/BaseNavDrawerActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/BaseNavDrawerActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/BaseNavDrawerActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/BaseTopActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/BaseTopActivity.java similarity index 87% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/BaseTopActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/BaseTopActivity.java index f78ef40b78..196c947c38 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/BaseTopActivity.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/BaseTopActivity.java @@ -12,6 +12,7 @@ import com.battlelancer.seriesguide.billing.IabHelper; import com.battlelancer.seriesguide.billing.IabResult; import com.battlelancer.seriesguide.billing.Inventory; +import com.battlelancer.seriesguide.migration.MigrationActivity; import com.battlelancer.seriesguide.util.Utils; import com.uwetrottmann.seriesguide.R; @@ -83,6 +84,15 @@ public boolean onCreateOptionsMenu(Menu menu) { return super.onCreateOptionsMenu(menu); } + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + + // show subscribe button if not subscribed, yet + menu.findItem(R.id.menu_subscribe).setVisible(!Utils.hasAccessToX(this)); + + return super.onPrepareOptionsMenu(menu); + } + @Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); @@ -90,18 +100,27 @@ public boolean onOptionsItemSelected(MenuItem item) { toggleMenu(); return true; } - else if (itemId == R.id.menu_preferences) { - fireTrackerEvent("Settings"); + else if (itemId == R.id.menu_subscribe) { + startActivity(new Intent(this, BillingActivity.class)); + fireTrackerEvent("Subscribe"); + return true; + } + else if (itemId == R.id.menu_migrate) { + startActivity(new Intent(this, MigrationActivity.class)); + return true; + } + else if (itemId == R.id.menu_preferences) { startActivity(new Intent(this, SeriesGuidePreferences.class)); - overridePendingTransition(R.anim.fade_in, R.anim.fade_out); + + fireTrackerEvent("Settings"); return true; } else if (itemId == R.id.menu_help) { - fireTrackerEvent("Help"); - startActivity(new Intent(this, HelpActivity.class)); overridePendingTransition(R.anim.fade_in, R.anim.fade_out); + + fireTrackerEvent("Help"); return true; } return super.onOptionsItemSelected(item); diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/BaseTopShowsActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/BaseTopShowsActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/BaseTopShowsActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/BaseTopShowsActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/CheckinActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/CheckinActivity.java similarity index 98% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/CheckinActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/CheckinActivity.java index 47a172c50e..68691b6494 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/CheckinActivity.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/CheckinActivity.java @@ -43,8 +43,8 @@ import android.widget.TextView; import com.actionbarsherlock.app.ActionBar; -import com.battlelancer.seriesguide.Constants.ShowSorting; import com.battlelancer.seriesguide.provider.SeriesContract.Shows; +import com.battlelancer.seriesguide.settings.ShowsDistillationSettings; import com.battlelancer.seriesguide.ui.ShowsFragment.ViewHolder; import com.battlelancer.seriesguide.ui.dialogs.CheckInDialogFragment; import com.battlelancer.seriesguide.util.ImageProvider; @@ -159,7 +159,7 @@ public Loader onCreateLoader(int id, Bundle args) { return new CursorLoader(this, baseUri, CheckinQuery.PROJECTION, CheckinQuery.SELECTION, new String[] { fakeInAnHour - }, ShowSorting.UPCOMING.query()); + }, ShowsDistillationSettings.ShowsSortOrder.EPISODE_REVERSE); } @Override diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/ConnectTraktActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ConnectTraktActivity.java similarity index 85% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/ConnectTraktActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ConnectTraktActivity.java index ab9901d1a5..db6998180e 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/ConnectTraktActivity.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ConnectTraktActivity.java @@ -5,6 +5,7 @@ import android.support.v4.app.FragmentTransaction; import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.view.MenuItem; import com.battlelancer.seriesguide.util.ServiceUtils; import com.uwetrottmann.seriesguide.R; @@ -36,10 +37,19 @@ protected void onCreate(Bundle savedInstanceState) { } } } - + private void setupActionBar() { final ActionBar actionBar = getSupportActionBar(); actionBar.setTitle(R.string.connect_trakt); actionBar.setDisplayHomeAsUpEnabled(true); } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == android.R.id.home) { + super.onBackPressed(); + return true; + } + return false; + } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/ConnectTraktCredentialsFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ConnectTraktCredentialsFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/ConnectTraktCredentialsFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ConnectTraktCredentialsFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/ConnectTraktFinishedFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ConnectTraktFinishedFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/ConnectTraktFinishedFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ConnectTraktFinishedFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/ConnectTraktFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ConnectTraktFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/ConnectTraktFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ConnectTraktFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/EpisodeDetailsActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/EpisodeDetailsActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/EpisodeDetailsActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/EpisodeDetailsActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/EpisodeDetailsFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/EpisodeDetailsFragment.java similarity index 97% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/EpisodeDetailsFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/EpisodeDetailsFragment.java index 08cc0d5795..87f3b17ef8 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/EpisodeDetailsFragment.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/EpisodeDetailsFragment.java @@ -433,8 +433,8 @@ public void onClick(View v) { // Watched button mWatched = cursor.getInt(DetailsQuery.WATCHED) == 1 ? true : false; ImageButton seenButton = (ImageButton) view.findViewById(R.id.watchedButton); - seenButton.setImageResource(mWatched ? R.drawable.ic_watched - : R.drawable.ic_action_watched); + seenButton.setImageResource(mWatched ? R.drawable.ic_ticked + : Utils.resolveAttributeToResourceId(getActivity().getTheme(), R.attr.drawableWatch)); seenButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { @@ -449,7 +449,7 @@ public void onClick(View v) { mCollected = cursor.getInt(DetailsQuery.COLLECTED) == 1 ? true : false; ImageButton collectedButton = (ImageButton) view.findViewById(R.id.collectedButton); collectedButton.setImageResource(mCollected ? R.drawable.ic_collected - : R.drawable.ic_action_collect); + : Utils.resolveAttributeToResourceId(getActivity().getTheme(), R.attr.drawableCollect)); collectedButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { @@ -502,6 +502,10 @@ public void onClick(View v) { View amazonButton = view.findViewById(R.id.buttonAmazon); ServiceUtils.setUpAmazonButton(showTitle + " " + episodeTitle, amazonButton, TAG); + // YouTube button + View youtubeButton = view.findViewById(R.id.buttonYouTube); + ServiceUtils.setUpYouTubeButton(showTitle + " " + episodeTitle, youtubeButton, TAG); + // IMDb button String imdbId = cursor.getString(DetailsQuery.IMDBID); if (TextUtils.isEmpty(imdbId)) { @@ -520,6 +524,10 @@ public void onClick(View v) { ServiceUtils.setUpTraktButton(mShowTvdbId, mSeasonNumber, mEpisodeNumber, view.findViewById(R.id.buttonTrakt), TAG); + // Web search button + View webSearch = view.findViewById(R.id.buttonWebSearch); + ServiceUtils.setUpWebSearchButton(showTitle + " " + episodeTitle, webSearch, TAG); + // trakt shouts button view.findViewById(R.id.buttonShouts).setOnClickListener(new OnClickListener() { @Override @@ -608,15 +616,18 @@ interface DetailsQuery { int ABSOLUTE_NUMBER = 22; } + @Override public Loader onCreateLoader(int arg0, Bundle arg1) { return new CursorLoader(getActivity(), Episodes.buildEpisodeWithShowUri(String .valueOf(getEpisodeTvdbId())), DetailsQuery.PROJECTION, null, null, null); } + @Override public void onLoadFinished(Loader loader, Cursor data) { mAdapter.swapCursor(data); } + @Override public void onLoaderReset(Loader loader) { mAdapter.swapCursor(null); } @@ -627,7 +638,7 @@ public void onEvent(TraktActionCompleteEvent event) { } } - private void fireTrackerEvent(String label) { + private static void fireTrackerEvent(String label) { EasyTracker.getTracker().sendEvent(TAG, "Action Item", label, (long) 0); } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/EpisodesActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/EpisodesActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/EpisodesActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/EpisodesActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/EpisodesFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/EpisodesFragment.java similarity index 99% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/EpisodesFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/EpisodesFragment.java index 4f39ae7a5a..3deb25e02a 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/EpisodesFragment.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/EpisodesFragment.java @@ -437,11 +437,11 @@ public void onClick(View v) { getActivity().openContextMenu(v); } - private void fireTrackerEvent(String label) { + private static void fireTrackerEvent(String label) { EasyTracker.getTracker().sendEvent(TAG, "Action Item", label, (long) 0); } - private void fireTrackerEventContextMenu(String label) { + private static void fireTrackerEventContextMenu(String label) { EasyTracker.getTracker().sendEvent(TAG, "Context Item", label, (long) 0); } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/FirstRunFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/FirstRunFragment.java similarity index 87% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/FirstRunFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/FirstRunFragment.java index a6b12533a3..de3ebab782 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/FirstRunFragment.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/FirstRunFragment.java @@ -33,13 +33,15 @@ import android.widget.Spinner; import com.actionbarsherlock.app.SherlockFragment; +import com.battlelancer.seriesguide.migration.MigrationActivity; import com.google.analytics.tracking.android.EasyTracker; +import com.uwetrottmann.androidutils.CheatSheet; import com.uwetrottmann.seriesguide.R; /** * Helps the user to get familiar with the basic functions of SeriesGuide. Shown * only on first start up. - * + * * @author Uwe Trottmann */ public class FirstRunFragment extends SherlockFragment { @@ -86,7 +88,7 @@ public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); // add button - getView().findViewById(R.id.addbutton).setOnClickListener(new OnClickListener() { + getView().findViewById(R.id.buttonFirstRunAddShow).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { fireTrackerEvent("Add show"); @@ -95,6 +97,15 @@ public void onClick(View v) { } }); + // migrate button + getView().findViewById(R.id.buttonFirstRunMigrate).setOnClickListener(new OnClickListener() { + @Override + public void onClick(View view) { + startActivity(new Intent(getActivity(), MigrationActivity.class)); + setFirstRunDismissed(); + } + }); + // language chooser Spinner spinner = (Spinner) getView().findViewById(R.id.welcome_setuplanguage); ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), @@ -115,7 +126,9 @@ public void onClick(View v) { }); // dismiss button - getView().findViewById(R.id.dismissButton).setOnClickListener(new OnClickListener() { + View buttonDismiss = getView().findViewById(R.id.buttonFirstRunDismiss); + CheatSheet.setup(buttonDismiss); + buttonDismiss.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { fireTrackerEvent("Dismiss"); @@ -156,7 +169,7 @@ public void onNothingSelected(AdapterView parent) { } } - private void fireTrackerEvent(String label) { + private static void fireTrackerEvent(String label) { EasyTracker.getTracker().sendEvent(TAG, "Click", label, (long) 0); } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/FixGetGlueCheckInActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/FixGetGlueCheckInActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/FixGetGlueCheckInActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/FixGetGlueCheckInActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/FullscreenImageActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/FullscreenImageActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/FullscreenImageActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/FullscreenImageActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/HelpActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/HelpActivity.java similarity index 98% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/HelpActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/HelpActivity.java index e9ed5d1614..1bca119c33 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/HelpActivity.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/HelpActivity.java @@ -79,7 +79,7 @@ public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) { return super.onOptionsItemSelected(item); }; - private void fireTrackerEvent(String label) { + private static void fireTrackerEvent(String label) { EasyTracker.getTracker().sendEvent(TAG, "Action Item", label, (long) 0); } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/ListsActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ListsActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/ListsActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ListsActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/ListsFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ListsFragment.java similarity index 99% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/ListsFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ListsFragment.java index e62fae1ca7..5e9111bd0f 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/ListsFragment.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ListsFragment.java @@ -388,7 +388,7 @@ interface ListItemsQuery { } - private void fireTrackerEvent(String label) { + private static void fireTrackerEvent(String label) { EasyTracker.getTracker().sendEvent(TAG, "Context Item", label, (long) 0); } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/MovieDetailsActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/MovieDetailsActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/MovieDetailsActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/MovieDetailsActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/MovieDetailsFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/MovieDetailsFragment.java similarity index 99% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/MovieDetailsFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/MovieDetailsFragment.java index 5d9a832a0b..75c5aad4ce 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/MovieDetailsFragment.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/MovieDetailsFragment.java @@ -265,7 +265,7 @@ public void onClick(View v) { } } - private void fireTrackerEvent(String label) { + private static void fireTrackerEvent(String label) { EasyTracker.getTracker().sendEvent(TAG, "Action Item", label, (long) 0); } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/MovieSearchFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/MovieSearchFragment.java similarity index 99% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/MovieSearchFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/MovieSearchFragment.java index d3dd73d44c..8798d02c68 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/MovieSearchFragment.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/MovieSearchFragment.java @@ -208,7 +208,7 @@ public void onItemClick(AdapterView parent, View view, int position, long id) startActivity(i); } - private void fireTrackerEvent(String label) { + private static void fireTrackerEvent(String label) { EasyTracker.getTracker().sendEvent(TAG, "Action Item", label, (long) 0); } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/MoviesActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/MoviesActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/MoviesActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/MoviesActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/MoviesWatchListFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/MoviesWatchListFragment.java similarity index 99% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/MoviesWatchListFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/MoviesWatchListFragment.java index 7076a98e97..4e8d305d19 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/MoviesWatchListFragment.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/MoviesWatchListFragment.java @@ -174,7 +174,7 @@ public void onEvent(TraktActionCompleteEvent event) { } } - private void fireTrackerEvent(String label) { + private static void fireTrackerEvent(String label) { EasyTracker.getTracker().sendEvent(TAG, "Action Item", label, (long) 0); } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/OverviewActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/OverviewActivity.java similarity index 88% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/OverviewActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/OverviewActivity.java index 7dce0d5660..6f38badd98 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/OverviewActivity.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/OverviewActivity.java @@ -34,12 +34,15 @@ import android.view.View; import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; import com.astuetz.viewpager.extensions.PagerSlidingTabStrip; import com.battlelancer.seriesguide.adapters.TabStripAdapter; import com.battlelancer.seriesguide.items.Series; import com.battlelancer.seriesguide.sync.SgSyncAdapter; import com.battlelancer.seriesguide.util.DBUtils; +import com.battlelancer.seriesguide.util.ShortcutUtils; +import com.battlelancer.seriesguide.util.Utils; import com.battlelancer.thetvdbapi.TheTVDB; import com.google.analytics.tracking.android.EasyTracker; import com.uwetrottmann.androidutils.AndroidUtils; @@ -55,6 +58,8 @@ */ public class OverviewActivity extends BaseNavDrawerActivity { + private static final String TAG = "Overview"; + private int mShowId; private NfcAdapter mNfcAdapter; @@ -241,6 +246,20 @@ public void onBackPressed() { overridePendingTransition(R.anim.shrink_enter, R.anim.shrink_exit); } + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + // If the nav drawer is open, hide action items related to the content + // view + menu.findItem(R.id.menu_overview_search).setVisible(!isMenuDrawerOpen()); + return super.onPrepareOptionsMenu(menu); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getSupportMenuInflater().inflate(R.menu.overview_activity_menu, menu); + return super.onCreateOptionsMenu(menu); + } + @Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); @@ -253,6 +272,21 @@ public boolean onOptionsItemSelected(MenuItem item) { } else if (itemId == R.id.menu_overview_search) { onSearchRequested(); return true; + } else if (itemId == R.id.menu_overview_add_to_homescreen) { + if (!Utils.hasAccessToX(this)) { + Utils.advertiseSubscription(this); + return true; + } + + // Create the shortcut + final Series show = DBUtils.getShow(this, mShowId); + String title = show.getTitle(); + String poster = show.getPoster(); + ShortcutUtils.createShortcut(this, title, poster, mShowId); + + // Analytics + fireTrackerEvent("Add to Homescreen"); + return true; } return super.onOptionsItemSelected(item); } @@ -287,4 +321,8 @@ public boolean onSearchRequested() { return true; } + private static void fireTrackerEvent(String label) { + EasyTracker.getTracker().sendEvent(TAG, "Action Item", label, (long) 0); + } + } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/OverviewFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/OverviewFragment.java similarity index 95% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/OverviewFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/OverviewFragment.java index c5ac9add74..a67cf703bf 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/OverviewFragment.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/OverviewFragment.java @@ -32,7 +32,6 @@ import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; import android.text.TextUtils; -import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -63,7 +62,6 @@ import com.battlelancer.seriesguide.util.ShareUtils; import com.battlelancer.seriesguide.util.ShareUtils.ShareItems; import com.battlelancer.seriesguide.util.ShareUtils.ShareMethod; -import com.battlelancer.seriesguide.util.ShortcutUtils; import com.battlelancer.seriesguide.util.TraktSummaryTask; import com.battlelancer.seriesguide.util.TraktTask; import com.battlelancer.seriesguide.util.TraktTask.TraktActionCompleteEvent; @@ -191,7 +189,7 @@ public void onDestroy() { @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); - inflater.inflate(R.menu.overview_menu, menu); + inflater.inflate(R.menu.overview_fragment_menu, menu); } @Override @@ -231,22 +229,6 @@ public boolean onOptionsItemSelected(MenuItem item) { ListItemTypes.EPISODE, getFragmentManager()); } return true; - } else if (itemId == R.id.menu_overview_add_to_homescreen) { - if (!Utils.hasAccessToX(getActivity())) { - Utils.advertiseSubscription(getActivity()); - return true; - } - - if (mShowCursor != null && mShowCursor.moveToFirst()) { - // Create the shortcut - String title = mShowCursor.getString(ShowQuery.SHOW_TITLE); - String poster = mShowCursor.getString(ShowQuery.SHOW_POSTER); - ShortcutUtils.createShortcut(getActivity(), title, poster, getShowId()); - - // Analytics - fireTrackerEvent("Add to Homescreen"); - } - return true; } return super.onOptionsItemSelected(item); } @@ -505,7 +487,7 @@ public void onEvent(TraktActionCompleteEvent event) { } } - private void fireTrackerEvent(String label) { + private static void fireTrackerEvent(String label) { EasyTracker.getTracker().sendEvent(TAG, "Action Item", label, (long) 0); } @@ -595,7 +577,7 @@ public void onClick(View v) { ImageButton collectedButton = (ImageButton) buttons .findViewById(R.id.collectedButton); collectedButton.setImageResource(isCollected ? R.drawable.ic_collected - : R.drawable.ic_action_collect); + : Utils.resolveAttributeToResourceId(getActivity().getTheme(), R.attr.drawableCollect)); collectedButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { @@ -696,6 +678,10 @@ private void onLoadEpisodeDetails(final Cursor episode) { View amazonButton = getView().findViewById(R.id.buttonAmazon); ServiceUtils.setUpAmazonButton(mShowTitle + " " + episodeTitle, amazonButton, TAG); + // YouTube button + View youtubeButton = getView().findViewById(R.id.buttonYouTube); + ServiceUtils.setUpYouTubeButton(mShowTitle + " " + episodeTitle, youtubeButton, TAG); + // IMDb button String imdbId = episode.getString(EpisodeQuery.IMDBID); if (TextUtils.isEmpty(imdbId) && mShowCursor != null) { @@ -715,6 +701,10 @@ private void onLoadEpisodeDetails(final Cursor episode) { ServiceUtils.setUpTraktButton(getShowId(), seasonNumber, episodeNumber, getView() .findViewById(R.id.buttonTrakt), TAG); + // Web search button + View webSearch = getView().findViewById(R.id.buttonWebSearch); + ServiceUtils.setUpWebSearchButton(mShowTitle + " " + episodeTitle, webSearch, TAG); + // trakt shouts button getView().findViewById(R.id.buttonShouts).setOnClickListener(new OnClickListener() { @Override @@ -776,10 +766,8 @@ private void onPopulateShowData(Cursor show) { final TextView statusText = (TextView) getView().findViewById(R.id.showStatus); int status = show.getInt(ShowQuery.SHOW_STATUS); if (status == 1) { - TypedValue outValue = new TypedValue(); - getActivity().getTheme().resolveAttribute(R.attr.textColorSgGreen, - outValue, true); - statusText.setTextColor(getResources().getColor(outValue.resourceId)); + statusText.setTextColor(getResources().getColor(Utils.resolveAttributeToResourceId( + getActivity().getTheme(), R.attr.textColorSgGreen))); statusText.setText(getString(R.string.show_isalive)); } else if (status == 0) { statusText.setTextColor(Color.GRAY); @@ -789,13 +777,12 @@ private void onPopulateShowData(Cursor show) { // favorite final ImageView favorited = (ImageView) getView().findViewById(R.id.imageViewFavorite); boolean isFavorited = show.getInt(ShowQuery.SHOW_FAVORITE) == 1; - TypedValue outValue = new TypedValue(); if (isFavorited) { - getSherlockActivity().getTheme().resolveAttribute(R.attr.drawableStar, outValue, true); - favorited.setImageResource(outValue.resourceId); + favorited.setImageResource(Utils.resolveAttributeToResourceId(getActivity().getTheme(), + R.attr.drawableStar)); } else { - getSherlockActivity().getTheme().resolveAttribute(R.attr.drawableStar0, outValue, true); - favorited.setImageResource(outValue.resourceId); + favorited.setImageResource(Utils.resolveAttributeToResourceId(getActivity().getTheme(), + R.attr.drawableStar0)); } CheatSheet.setup(favorited, isFavorited ? R.string.context_unfavorite : R.string.context_favorite); diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/QuickCheckInActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/QuickCheckInActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/QuickCheckInActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/QuickCheckInActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/SearchActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/SearchActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/SearchActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/SearchActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/SearchFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/SearchFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/SearchFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/SearchFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/SeasonsFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/SeasonsFragment.java similarity index 98% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/SeasonsFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/SeasonsFragment.java index 9548a0be9f..148429fc89 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/SeasonsFragment.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/SeasonsFragment.java @@ -58,6 +58,7 @@ import com.battlelancer.seriesguide.util.FlagTask; import com.battlelancer.seriesguide.util.FlagTask.FlagTaskCompletedEvent; import com.battlelancer.seriesguide.util.FlagTask.SeasonWatchedType; +import com.battlelancer.seriesguide.util.Utils; import com.google.analytics.tracking.android.EasyTracker; import com.uwetrottmann.androidutils.AndroidUtils; import com.uwetrottmann.androidutils.CheatSheet; @@ -156,8 +157,8 @@ public void onClick(View v) { }; private void setWatchedToggleState(Integer result) { - mButtonWatchedAll.setImageResource(result == 0 ? R.drawable.ic_watched - : R.drawable.ic_action_watched); + mButtonWatchedAll.setImageResource(result == 0 ? R.drawable.ic_ticked + : Utils.resolveAttributeToResourceId(getActivity().getTheme(), R.attr.drawableWatch)); mButtonWatchedAll .setOnClickListener(result == 0 ? mListenerFlagAllUnwatched : mListenerFlagAllWatched); @@ -167,7 +168,7 @@ private void setWatchedToggleState(Integer result) { private void setCollectedToggleState(Integer result) { mButtonCollectedAll.setImageResource(result == 0 ? R.drawable.ic_collected - : R.drawable.ic_action_collect); + : Utils.resolveAttributeToResourceId(getActivity().getTheme(), R.attr.drawableCollect)); mButtonCollectedAll .setOnClickListener(result == 0 ? mListenerFlagAllUncollected : mListenerFlagAllCollected); @@ -569,11 +570,11 @@ public void onClick(View v) { getActivity().openContextMenu(v); } - private void fireTrackerEvent(String label) { + private static void fireTrackerEvent(String label) { EasyTracker.getTracker().sendEvent(TAG, "Action Item", label, (long) 0); } - private void fireTrackerEventContextMenu(String label) { + private static void fireTrackerEventContextMenu(String label) { EasyTracker.getTracker().sendEvent(TAG, "Context Item", label, (long) 0); } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/SeriesGuidePreferences.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/SeriesGuidePreferences.java similarity index 97% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/SeriesGuidePreferences.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/SeriesGuidePreferences.java index 9df2c40beb..127430a499 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/SeriesGuidePreferences.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/SeriesGuidePreferences.java @@ -45,6 +45,7 @@ import com.battlelancer.seriesguide.provider.SeriesGuideDatabase; import com.battlelancer.seriesguide.service.NotificationService; import com.battlelancer.seriesguide.settings.ActivitySettings; +import com.battlelancer.seriesguide.settings.AdvancedSettings; import com.battlelancer.seriesguide.settings.NotificationSettings; import com.battlelancer.seriesguide.sync.SgSyncAdapter; import com.battlelancer.seriesguide.util.ImageProvider; @@ -94,8 +95,6 @@ public class SeriesGuidePreferences extends SherlockPreferenceActivity implement public static final String KEY_DATABASEIMPORTED = "com.battlelancer.seriesguide.dbimported"; - public static final String KEY_SHOW_SORT_ORDER = "showSorting"; - public static final String KEY_SEASON_SORT_ORDER = "seasonSorting"; public static final String KEY_EPISODE_SORT_ORDER = "episodeSorting"; @@ -118,8 +117,6 @@ public class SeriesGuidePreferences extends SherlockPreferenceActivity implement public static final String KEY_NOWATCHED = "com.battlelancer.seriesguide.activity.nowatched"; - public static final String KEY_UPCOMING_LIMIT = "com.battlelancer.seriesguide.upcominglimit"; - public static final String KEY_LANGUAGE = "language"; public static final String KEY_SHAREWITHTRAKT = "com.battlelancer.seriesguide.sharewithtrakt"; @@ -181,7 +178,7 @@ protected void onCreate(Bundle savedInstanceState) { setupAdvancedSettings(this, getIntent(), findPreference(KEY_THEME), - findPreference(KEY_UPCOMING_LIMIT), + findPreference(AdvancedSettings.KEY_UPCOMING_LIMIT), findPreference(KEY_NUMBERFORMAT), findPreference(KEY_OFFSET), findPreference(KEY_GOOGLEANALYTICS), @@ -393,6 +390,7 @@ public boolean onKeyLongPress(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { NavUtils.navigateUpTo(this, new Intent(Intent.ACTION_MAIN).setClass(this, ShowsActivity.class)); + overridePendingTransition(R.anim.shrink_enter, R.anim.shrink_exit); return true; } return false; @@ -402,8 +400,7 @@ public boolean onKeyLongPress(int keyCode, KeyEvent event) { public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: - NavUtils.navigateUpFromSameTask(this); - overridePendingTransition(R.anim.fade_in, R.anim.fade_out); + super.onBackPressed(); return true; } return super.onOptionsItemSelected(item); @@ -418,7 +415,7 @@ public boolean onOptionsItemSelected(MenuItem item) { @SuppressWarnings("deprecation") @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { - if (key.equals(KEY_UPCOMING_LIMIT) || key.equals(KEY_LANGUAGE) + if (key.equals(AdvancedSettings.KEY_UPCOMING_LIMIT) || key.equals(KEY_LANGUAGE) || key.equals(KEY_NUMBERFORMAT) || key.equals(KEY_THEME) || key.equals(NotificationSettings.KEY_THRESHOLD)) { Preference pref = findPreference(key); @@ -512,7 +509,7 @@ public void onCreate(Bundle savedInstanceState) { setupAdvancedSettings(getActivity(), getActivity().getIntent(), findPreference(KEY_THEME), - findPreference(KEY_UPCOMING_LIMIT), + findPreference(AdvancedSettings.KEY_UPCOMING_LIMIT), findPreference(KEY_NUMBERFORMAT), findPreference(KEY_OFFSET), findPreference(KEY_GOOGLEANALYTICS), @@ -542,7 +539,7 @@ public void onStop() { @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { - if (key.equals(KEY_UPCOMING_LIMIT) || key.equals(KEY_LANGUAGE) + if (key.equals(AdvancedSettings.KEY_UPCOMING_LIMIT) || key.equals(KEY_LANGUAGE) || key.equals(KEY_NUMBERFORMAT) || key.equals(KEY_THEME) || key.equals(NotificationSettings.KEY_THRESHOLD)) { Preference pref = findPreference(key); diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/ShowInfoFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ShowInfoFragment.java similarity index 94% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/ShowInfoFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ShowInfoFragment.java index 419966ef2a..cec42427de 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/ShowInfoFragment.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ShowInfoFragment.java @@ -182,10 +182,8 @@ private void onPopulateShowData() { // Running state if (mShow.getStatus() == 1) { - TypedValue outValue = new TypedValue(); - getActivity().getTheme().resolveAttribute(R.attr.textColorSgGreen, - outValue, true); - status.setTextColor(getResources().getColor(outValue.resourceId)); + status.setTextColor(getResources().getColor(Utils.resolveAttributeToResourceId( + getActivity().getTheme(), R.attr.textColorSgGreen))); status.setText(getString(R.string.show_isalive)); } else if (mShow.getStatus() == 0) { status.setTextColor(Color.GRAY); @@ -242,19 +240,27 @@ public void onClick(View v) { View amazonButton = getView().findViewById(R.id.buttonAmazon); ServiceUtils.setUpAmazonButton(mShow.getTitle(), amazonButton, TAG); + // YouTube button + View youtubeButton = getView().findViewById(R.id.buttonYouTube); + ServiceUtils.setUpYouTubeButton(mShow.getTitle(), youtubeButton, TAG); + // IMDb button - View imdbButton = (View) getView().findViewById(R.id.buttonShowInfoIMDB); + View imdbButton = getView().findViewById(R.id.buttonShowInfoIMDB); final String imdbId = mShow.getImdbId(); ServiceUtils.setUpImdbButton(imdbId, imdbButton, TAG, getActivity()); // TVDb button - View tvdbButton = (View) getView().findViewById(R.id.buttonTVDB); + View tvdbButton = getView().findViewById(R.id.buttonTVDB); ServiceUtils.setUpTvdbButton(getShowTvdbId(), tvdbButton, TAG); // trakt button ServiceUtils.setUpTraktButton(getShowTvdbId(), getView().findViewById(R.id.buttonTrakt), TAG); + // Web search button + View webSearch = getView().findViewById(R.id.buttonWebSearch); + ServiceUtils.setUpWebSearchButton(mShow.getTitle(), webSearch, TAG); + // Shout button getView().findViewById(R.id.buttonShouts).setOnClickListener(new OnClickListener() { @Override @@ -287,7 +293,7 @@ public void onClick(View v) { onLoadTraktRatings(true); } - private void fireTrackerEvent(String label) { + private static void fireTrackerEvent(String label) { EasyTracker.getTracker().sendEvent(TAG, "Action Item", label, (long) 0); } @@ -308,7 +314,7 @@ private void onLoadTraktRatings(boolean isUseCachedValues) { && (mTraktTask == null || mTraktTask.getStatus() != AsyncTask.Status.RUNNING)) { mTraktTask = new TraktSummaryTask(getActivity(), getView().findViewById( R.id.ratingbar), isUseCachedValues).show(getShowTvdbId()); - AndroidUtils.executeAsyncTask(mTraktTask, new Void[] {}); + AndroidUtils.executeAsyncTask(mTraktTask, new Void[]{}); } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/ShowsActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ShowsActivity.java similarity index 79% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/ShowsActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ShowsActivity.java index ee912981e7..c7f9aa1a21 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/ShowsActivity.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ShowsActivity.java @@ -17,10 +17,13 @@ package com.battlelancer.seriesguide.ui; +import android.accounts.Account; +import android.content.ContentResolver; import android.content.ContentValues; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; +import android.content.SyncStatusObserver; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.database.Cursor; @@ -32,7 +35,6 @@ import android.view.View; import android.view.ViewStub; import android.view.animation.AnimationUtils; -import android.widget.ArrayAdapter; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; @@ -40,15 +42,14 @@ import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; -import com.battlelancer.seriesguide.Constants.ShowSorting; +import com.actionbarsherlock.view.Window; +import com.battlelancer.seriesguide.SeriesGuideApplication; +import com.battlelancer.seriesguide.migration.MigrationActivity; import com.battlelancer.seriesguide.provider.SeriesContract.Shows; import com.battlelancer.seriesguide.settings.AppSettings; import com.battlelancer.seriesguide.sync.SgSyncAdapter; import com.battlelancer.seriesguide.sync.SyncUtils; import com.battlelancer.seriesguide.ui.FirstRunFragment.OnFirstRunDismissedListener; -import com.battlelancer.seriesguide.ui.dialogs.ChangesDialogFragment; -import com.battlelancer.seriesguide.util.CompatActionBarNavHandler; -import com.battlelancer.seriesguide.util.CompatActionBarNavListener; import com.battlelancer.seriesguide.util.ImageProvider; import com.battlelancer.seriesguide.util.Utils; import com.battlelancer.thetvdbapi.TheTVDB; @@ -64,8 +65,7 @@ * Provides the apps main screen, displaying a list of shows and their next * episodes. */ -public class ShowsActivity extends BaseTopShowsActivity implements CompatActionBarNavListener, - OnFirstRunDismissedListener { +public class ShowsActivity extends BaseTopShowsActivity implements OnFirstRunDismissedListener { protected static final String TAG = "Shows"; @@ -84,15 +84,23 @@ public class ShowsActivity extends BaseTopShowsActivity implements CompatActionB private FetchPosterTask mArtTask; - private boolean mIsLoaderStartAllowed; - private Fragment mFragment; + private Object mSyncObserverHandle; + @Override protected void onCreate(Bundle savedInstanceState) { + // need progress bar to display update progress + requestWindowFeature(Window.FEATURE_PROGRESS); + super.onCreate(savedInstanceState); getMenu().setContentView(R.layout.shows); - + + // Set up a sync account if needed + SyncUtils.createSyncAccount(this); + + setSupportProgressBarIndeterminate(true); + // Set up a sync account if needed SyncUtils.createSyncAccount(this); @@ -112,58 +120,23 @@ protected void onCreate(Bundle savedInstanceState) { mFragment = getSupportFragmentManager().findFragmentById(R.id.shows_fragment); } - // set up action bar - setUpActionBar(prefs); + setUpActionBar(); + // show migration helper + if (MigrationActivity.isQualifiedForMigration(this)) { + startActivity(new Intent(this, MigrationActivity.class)); + } } - private void setUpActionBar(SharedPreferences prefs) { - mIsLoaderStartAllowed = false; - + private void setUpActionBar() { final ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayShowTitleEnabled(false); - - /* setup navigation */ - CompatActionBarNavHandler handler = new CompatActionBarNavHandler(this); - if (getResources().getBoolean(R.bool.isLargeTablet)) { - /* use tabs */ - actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); - final String[] categories = getResources().getStringArray(R.array.showfilter_list); - for (String category : categories) { - actionBar.addTab(actionBar.newTab().setText(category).setTabListener(handler)); - } - } else { - /* use list (spinner) (! use different layouts for ABS) */ - actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); - ArrayAdapter mActionBarList = ArrayAdapter.createFromResource(this, - R.array.showfilter_list, R.layout.actionbar_spinner_item); - mActionBarList.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item); - actionBar.setListNavigationCallbacks(mActionBarList, handler); - } - - // try to restore previously set show filter - int navSelection = prefs.getInt(SeriesGuidePreferences.KEY_SHOWFILTER, 0); - if (navSelection < 0 || navSelection > 3) { - navSelection = 0; - } - if (getSupportActionBar().getSelectedNavigationIndex() != navSelection) { - getSupportActionBar().setSelectedNavigationItem(navSelection); - } - - // prevent the onNavigationItemSelected listener from reacting - mIsLoaderStartAllowed = true; } @Override protected void onStart() { super.onStart(); - // display a warning dialog about SeriesGuide X deprecation - if (getPackageName().contains("x") - && getSupportFragmentManager().findFragmentByTag(ChangesDialogFragment.TAG) == null) { - ChangesDialogFragment.show(getSupportFragmentManager()); - } - EasyTracker.getInstance().activityStart(this); } @@ -174,6 +147,22 @@ protected void onResume() { if (mSavedState != null) { restoreLocalState(mSavedState); } + + mSyncStatusObserver.onStatusChanged(0); + + // Watch for sync state changes + final int mask = ContentResolver.SYNC_OBSERVER_TYPE_PENDING | + ContentResolver.SYNC_OBSERVER_TYPE_ACTIVE; + mSyncObserverHandle = ContentResolver.addStatusChangeListener(mask, mSyncStatusObserver); + } + + @Override + protected void onPause() { + super.onPause(); + if (mSyncObserverHandle != null) { + ContentResolver.removeStatusChangeListener(mSyncObserverHandle); + mSyncObserverHandle = null; + } } @Override @@ -240,17 +229,6 @@ public boolean onCreateOptionsMenu(Menu menu) { public boolean onPrepareOptionsMenu(Menu menu) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); - MenuItem sortMenu = menu.findItem(R.id.menu_showsortby); - if (android.os.Build.VERSION.SDK_INT >= 11) { - final CharSequence[] items = getResources().getStringArray(R.array.shsorting); - ShowSorting sorting = ShowSorting - .fromValue(prefs.getString( - SeriesGuidePreferences.KEY_SHOW_SORT_ORDER, - ShowSorting.FAVORITES_FIRST.value())); - sortMenu.setTitle( - getString(R.string.sort) + ": " + items[sorting.index()]); - } - // If the nav drawer is open, hide action items related to the content // view boolean isDrawerOpen = isMenuDrawerOpen(); @@ -292,22 +270,11 @@ else if (itemId == R.id.menu_update) { mArtTask = (FetchPosterTask) new FetchPosterTask().execute(); } return true; - } else if (itemId == R.id.menu_showsortby) { - fireTrackerEvent("Sort shows"); - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); - ShowSorting sorting = ShowSorting - .fromValue(prefs.getString( - SeriesGuidePreferences.KEY_SHOW_SORT_ORDER, - ShowSorting.FAVORITES_FIRST.value())); - ShowsFragment.showSortDialog(getSupportFragmentManager(), sorting); - return true; - } - else if (itemId == R.id.menu_search) { + } else if (itemId == R.id.menu_search) { fireTrackerEvent("Search"); onSearchRequested(); return true; - } - else { + } else { return super.onOptionsItemSelected(item); } } @@ -533,29 +500,6 @@ private void scheduleAllShowsUpdate() { getContentResolver().update(Shows.CONTENT_URI, values, null, null); } - @Override - public void onCategorySelected(int itemPosition) { - // only react if everything is set up - if (!mIsLoaderStartAllowed) { - return; - } else { - // pass filter to show fragment - ShowsFragment fragment; - try { - fragment = (ShowsFragment) mFragment; - if (fragment != null) { - fragment.onFilterChanged(itemPosition); - } - } catch (ClassCastException e) { - } - - // save the selected filter back to settings - Editor editor = PreferenceManager.getDefaultSharedPreferences(this).edit(); - editor.putInt(SeriesGuidePreferences.KEY_SHOWFILTER, itemPosition); - editor.commit(); - } - } - @Override public void onFirstRunDismissed() { onShowShowsFragment(); @@ -570,4 +514,41 @@ private void onShowShowsFragment() { getSupportFragmentManager().beginTransaction().replace(R.id.shows_fragment, mFragment) .commit(); } + + /** + * Create a new anonymous SyncStatusObserver. It's attached to the app's + * ContentResolver in onResume(), and removed in onPause(). If a sync is + * active or pending, a progress bar is shown. + */ + private SyncStatusObserver mSyncStatusObserver = new SyncStatusObserver() { + /** Callback invoked with the sync adapter status changes. */ + @Override + public void onStatusChanged(int which) { + runOnUiThread(new Runnable() { + /** + * The SyncAdapter runs on a background thread. To update the + * UI, onStatusChanged() runs on the UI thread. + */ + @Override + public void run() { + Account account = SyncUtils.getSyncAccount(ShowsActivity.this); + if (account == null) { + // GetAccount() returned an invalid value. This + // shouldn't happen. + setProgressBarVisibility(false); + return; + } + + // Test the ContentResolver to see if the sync adapter is + // active or pending. + // Set the state of the refresh button accordingly. + boolean syncActive = ContentResolver.isSyncActive( + account, SeriesGuideApplication.CONTENT_AUTHORITY); + boolean syncPending = ContentResolver.isSyncPending( + account, SeriesGuideApplication.CONTENT_AUTHORITY); + setProgressBarVisibility(syncActive || syncPending); + } + }); + } + }; } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/ShowsFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ShowsFragment.java similarity index 60% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/ShowsFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ShowsFragment.java index 036a50bf0d..2f3f9eeedb 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/ShowsFragment.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/ShowsFragment.java @@ -33,7 +33,6 @@ import android.support.v4.content.Loader; import android.support.v4.widget.CursorAdapter; import android.text.format.DateUtils; -import android.util.TypedValue; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.LayoutInflater; @@ -49,14 +48,17 @@ import android.widget.Toast; import com.actionbarsherlock.app.SherlockFragment; -import com.battlelancer.seriesguide.Constants.ShowSorting; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; import com.battlelancer.seriesguide.provider.SeriesContract.ListItemTypes; import com.battlelancer.seriesguide.provider.SeriesContract.Shows; +import com.battlelancer.seriesguide.settings.AdvancedSettings; +import com.battlelancer.seriesguide.settings.ShowsDistillationSettings; import com.battlelancer.seriesguide.sync.SgSyncAdapter; import com.battlelancer.seriesguide.ui.dialogs.CheckInDialogFragment; import com.battlelancer.seriesguide.ui.dialogs.ConfirmDeleteDialogFragment; import com.battlelancer.seriesguide.ui.dialogs.ListsDialogFragment; -import com.battlelancer.seriesguide.ui.dialogs.SortDialogFragment; import com.battlelancer.seriesguide.util.DBUtils; import com.battlelancer.seriesguide.util.FlagTask.FlagTaskCompletedEvent; import com.battlelancer.seriesguide.util.ImageProvider; @@ -67,9 +69,8 @@ import de.greenrobot.event.EventBus; /** - * Displays the list of shows in a users local library. - * - * @author Uwe Trottmann + * Displays the list of shows in a users local library with sorting and filtering abilities. The + * main view of the app. */ public class ShowsFragment extends SherlockFragment implements LoaderManager.LoaderCallbacks, OnItemClickListener, OnClickListener { @@ -78,8 +79,6 @@ public class ShowsFragment extends SherlockFragment implements public static final int LOADER_ID = R.layout.shows_fragment; - public static final String FILTER_ID = "filterid"; - // context menu items private static final int CONTEXT_DELETE_ID = 200; @@ -99,20 +98,17 @@ public class ShowsFragment extends SherlockFragment implements private static final int CONTEXT_CHECKIN_ID = 208; - // Show Filter Ids - private static final int SHOWFILTER_ALL = 0; - - private static final int SHOWFILTER_FAVORITES = 1; - - private static final int SHOWFILTER_UNSEENEPISODES = 2; - - private static final int SHOWFILTER_HIDDEN = 3; - private SlowAdapter mAdapter; private GridView mGrid; - private ShowSorting mSorting; + private int mSortOrderId; + private boolean mIsSortFavoritesFirst; + + private boolean mIsFilterFavorites; + private boolean mIsFilterUnwatched; + private boolean mIsFilterUpcoming; + private boolean mIsFilterHidden; public static ShowsFragment newInstance() { ShowsFragment f = new ShowsFragment(); @@ -121,66 +117,96 @@ public static ShowsFragment newInstance() { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - return inflater.inflate(R.layout.shows_fragment, container, false); + View v = inflater.inflate(R.layout.shows_fragment, container, false); + + v.findViewById(R.id.emptyViewShows).setOnClickListener(new OnClickListener() { + @Override + public void onClick(View view) { + startActivity(new Intent(getActivity(), AddActivity.class)); + } + }); + v.findViewById(R.id.emptyViewShowsFilter).setOnClickListener(new OnClickListener() { + @Override + public void onClick(View view) { + mIsFilterFavorites = mIsFilterUnwatched = mIsFilterUpcoming = mIsFilterHidden + = false; + + // already start loading, do not need to wait on saving prefs + getLoaderManager().restartLoader(ShowsFragment.LOADER_ID, null, ShowsFragment.this); + + PreferenceManager.getDefaultSharedPreferences(getActivity()).edit() + .putBoolean(ShowsDistillationSettings.KEY_FILTER_FAVORITES, false) + .putBoolean(ShowsDistillationSettings.KEY_FILTER_UNWATCHED, false) + .putBoolean(ShowsDistillationSettings.KEY_FILTER_UPCOMING, false) + .putBoolean(ShowsDistillationSettings.KEY_FILTER_HIDDEN, false) + .commit(); + + // refresh filter menu check box states + getActivity().supportInvalidateOptionsMenu(); + } + }); + + return v; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); - final SharedPreferences prefs = PreferenceManager - .getDefaultSharedPreferences(getActivity()); - // get settings - updateSorting(prefs); - int showfilter = prefs.getInt(SeriesGuidePreferences.KEY_SHOWFILTER, 0); + getSortAndFilterSettings(); - TypedValue outValueStar = new TypedValue(); - getSherlockActivity().getTheme().resolveAttribute(R.attr.drawableStar, outValueStar, true); - TypedValue outValueStarZero = new TypedValue(); - getSherlockActivity().getTheme().resolveAttribute(R.attr.drawableStar0, outValueStarZero, - true); - mAdapter = new SlowAdapter(getActivity(), null, 0, outValueStar.resourceId, - outValueStarZero.resourceId, this); + // prepare view adapter + int resIdStar = Utils.resolveAttributeToResourceId(getSherlockActivity().getTheme(), + R.attr.drawableStar); + int resIdStarZero = Utils.resolveAttributeToResourceId(getSherlockActivity().getTheme(), + R.attr.drawableStar0); + mAdapter = new SlowAdapter(getActivity(), null, 0, resIdStar, resIdStarZero, this); // setup grid view - mGrid = (GridView) getView().findViewById(R.id.showlist); + mGrid = (GridView) getView().findViewById(R.id.gridViewShows); mGrid.setAdapter(mAdapter); mGrid.setOnItemClickListener(this); - setEmptyView(showfilter); registerForContextMenu(mGrid); - // start loading data, use saved show filter - Bundle args = new Bundle(); - args.putInt(FILTER_ID, showfilter); - getLoaderManager().initLoader(LOADER_ID, args, this); + // start loading data + getLoaderManager().initLoader(LOADER_ID, null, this); // listen for some settings changes - prefs.registerOnSharedPreferenceChangeListener(mPrefsListener); + PreferenceManager + .getDefaultSharedPreferences(getActivity()) + .registerOnSharedPreferenceChangeListener(mPrefsListener); + + setHasOptionsMenu(true); + } + + private void getSortAndFilterSettings() { + mIsFilterFavorites = ShowsDistillationSettings.isFilteringFavorites(getActivity()); + mIsFilterUnwatched = ShowsDistillationSettings.isFilteringUnwatched(getActivity()); + mIsFilterUpcoming = ShowsDistillationSettings.isFilteringUpcoming(getActivity()); + mIsFilterHidden = ShowsDistillationSettings.isFilteringHidden(getActivity()); + + mSortOrderId = ShowsDistillationSettings.getSortOrderId(getActivity()); + mIsSortFavoritesFirst = ShowsDistillationSettings.isSortFavoritesFirst(getActivity()); } - private void setEmptyView(int showfilter) { + private void updateEmptyView() { View oldEmptyView = mGrid.getEmptyView(); View emptyView = null; - switch (showfilter) { - case SHOWFILTER_FAVORITES: - emptyView = getView().findViewById(R.id.emptyFavorites); - break; - case SHOWFILTER_HIDDEN: - emptyView = getView().findViewById(R.id.emptyHidden); - break; - default: - emptyView = getView().findViewById(R.id.empty); - break; - } - if (emptyView != null) { - mGrid.setEmptyView(emptyView); + if (mIsFilterFavorites || mIsFilterUnwatched || mIsFilterUpcoming || mIsFilterHidden) { + emptyView = getView().findViewById(R.id.emptyViewShowsFilter); + } else { + emptyView = getView().findViewById(R.id.emptyViewShows); } if (oldEmptyView != null) { oldEmptyView.setVisibility(View.GONE); } + + if (emptyView != null) { + mGrid.setEmptyView(emptyView); + } } @Override @@ -238,7 +264,7 @@ public boolean onContextItemSelected(android.view.MenuItem item) { switch (item.getItemId()) { case CONTEXT_CHECKIN_ID: { - fireTrackerEvent("Check in"); + fireTrackerEventContext("Check in"); Cursor show = (Cursor) mAdapter.getItem(info.position); int episodeTvdbId = show.getInt(ShowsQuery.NEXTEPISODE); @@ -262,7 +288,7 @@ public boolean onContextItemSelected(android.view.MenuItem item) { return true; } case CONTEXT_HIDE_ID: { - fireTrackerEvent("Hide show"); + fireTrackerEventContext("Hide show"); ContentValues values = new ContentValues(); values.put(Shows.HIDDEN, true); @@ -273,7 +299,7 @@ public boolean onContextItemSelected(android.view.MenuItem item) { return true; } case CONTEXT_UNHIDE_ID: { - fireTrackerEvent("Unhide show"); + fireTrackerEventContext("Unhide show"); ContentValues values = new ContentValues(); values.put(Shows.HIDDEN, false); @@ -288,15 +314,15 @@ public boolean onContextItemSelected(android.view.MenuItem item) { showDeleteDialog(info.id); } - fireTrackerEvent("Delete show"); + fireTrackerEventContext("Delete show"); return true; case CONTEXT_UPDATE_ID: SgSyncAdapter.requestSync(getActivity(), (int) info.id); - fireTrackerEvent("Update show"); + fireTrackerEventContext("Update show"); return true; case CONTEXT_FLAG_NEXT_ID: - fireTrackerEvent("Mark next episode"); + fireTrackerEventContext("Mark next episode"); Cursor show = (Cursor) mAdapter.getItem(info.position); DBUtils.markNextEpisode(getActivity(), (int) info.id, @@ -304,7 +330,7 @@ public boolean onContextItemSelected(android.view.MenuItem item) { return true; case CONTEXT_MANAGE_LISTS_ID: { - fireTrackerEvent("Manage lists"); + fireTrackerEventContext("Manage lists"); ListsDialogFragment.showListsDialog(String.valueOf(info.id), ListItemTypes.SHOW, getFragmentManager()); @@ -314,6 +340,118 @@ public boolean onContextItemSelected(android.view.MenuItem item) { return super.onContextItemSelected(item); } + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + inflater.inflate(R.menu.shows_menu, menu); + + // set filter check box states + menu.findItem(R.id.menu_action_shows_filter_favorites) + .setChecked(mIsFilterFavorites); + menu.findItem(R.id.menu_action_shows_filter_unwatched) + .setChecked(mIsFilterUnwatched); + menu.findItem(R.id.menu_action_shows_filter_upcoming) + .setChecked(mIsFilterUpcoming); + menu.findItem(R.id.menu_action_shows_filter_hidden) + .setChecked(mIsFilterHidden); + + // set sort check box state + menu.findItem(R.id.menu_action_shows_sort_favorites) + .setChecked(mIsSortFavoritesFirst); + } + + @Override + public void onPrepareOptionsMenu(Menu menu) { + // If the nav drawer is open, hide action items related to the content view + boolean isDrawerOpen = ((BaseNavDrawerActivity) getActivity()).isMenuDrawerOpen(); + menu.findItem(R.id.menu_action_shows_filter).setVisible(!isDrawerOpen); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int itemId = item.getItemId(); + if (itemId == R.id.menu_action_shows_filter) { + fireTrackerEventAction("Filter shows"); + // did not handle here + return super.onOptionsItemSelected(item); + } else if (itemId == R.id.menu_action_shows_sort) { + fireTrackerEventAction("Sort shows"); + // did not handle here + return super.onOptionsItemSelected(item); + } else if (itemId == R.id.menu_action_shows_filter_favorites) { + mIsFilterFavorites = !mIsFilterFavorites; + changeSortOrFilter(ShowsDistillationSettings.KEY_FILTER_FAVORITES, mIsFilterFavorites, item); + + fireTrackerEventAction("Filter Favorites"); + return true; + } else if (itemId == R.id.menu_action_shows_filter_unwatched) { + mIsFilterUnwatched = !mIsFilterUnwatched; + changeSortOrFilter(ShowsDistillationSettings.KEY_FILTER_UNWATCHED, mIsFilterUnwatched, item); + + fireTrackerEventAction("Filter Unwatched"); + return true; + } else if (itemId == R.id.menu_action_shows_filter_upcoming) { + mIsFilterUpcoming = !mIsFilterUpcoming; + changeSortOrFilter(ShowsDistillationSettings.KEY_FILTER_UPCOMING, mIsFilterUpcoming, item); + + fireTrackerEventAction("Filter Upcoming"); + return true; + } else if (itemId == R.id.menu_action_shows_filter_hidden) { + mIsFilterHidden = !mIsFilterHidden; + changeSortOrFilter(ShowsDistillationSettings.KEY_FILTER_HIDDEN, mIsFilterHidden, item); + + fireTrackerEventAction("Filter Hidden"); + return true; + } else if (itemId == R.id.menu_action_shows_sort_title) { + if (mSortOrderId == ShowsDistillationSettings.ShowsSortOrder.TITLE_ID) { + mSortOrderId = ShowsDistillationSettings.ShowsSortOrder.TITLE_REVERSE_ID; + } else { + mSortOrderId = ShowsDistillationSettings.ShowsSortOrder.TITLE_ID; + } + changeSort(); + + fireTrackerEventAction("Sort Title"); + return true; + } else if (itemId == R.id.menu_action_shows_sort_episode) { + if (mSortOrderId == ShowsDistillationSettings.ShowsSortOrder.EPISODE_ID) { + mSortOrderId = ShowsDistillationSettings.ShowsSortOrder.EPISODE_REVERSE_ID; + } else { + mSortOrderId = ShowsDistillationSettings.ShowsSortOrder.EPISODE_ID; + } + changeSort(); + + fireTrackerEventAction("Sort Episode"); + return true; + } else if (itemId == R.id.menu_action_shows_sort_favorites) { + mIsSortFavoritesFirst = !mIsSortFavoritesFirst; + changeSortOrFilter(ShowsDistillationSettings.KEY_SORT_FAVORITES_FIRST, + mIsSortFavoritesFirst, item); + + fireTrackerEventAction("Sort Favorites"); + return true; + } else { + return super.onOptionsItemSelected(item); + } + } + + private void changeSortOrFilter(String key, boolean state, MenuItem item) { + // already start loading, do not need to wait on saving prefs + getLoaderManager().restartLoader(ShowsFragment.LOADER_ID, null, this); + + // update menu item state, then save at last + item.setChecked(state); + PreferenceManager.getDefaultSharedPreferences(getActivity()).edit() + .putBoolean(key, state).commit(); + } + + private void changeSort() { + // already start loading, do not need to wait on saving prefs + getLoaderManager().restartLoader(ShowsFragment.LOADER_ID, null, this); + + // save new sort order to preferences + PreferenceManager.getDefaultSharedPreferences(getActivity()).edit() + .putInt(ShowsDistillationSettings.KEY_SORT_ORDER, mSortOrderId).commit(); + } + @Override public void onClick(View v) { getActivity().openContextMenu(v); @@ -330,57 +468,79 @@ public void onItemClick(AdapterView parent, View view, int position, long id) getActivity().overridePendingTransition(R.anim.blow_up_enter, R.anim.blow_up_exit); } + @Override public Loader onCreateLoader(int id, Bundle args) { - String selection = null; - String[] selectionArgs = null; - - int filterId = args.getInt(FILTER_ID); - switch (filterId) { - case SHOWFILTER_ALL: - selection = Shows.HIDDEN + "=?"; - selectionArgs = new String[] { - "0" - }; - break; - case SHOWFILTER_FAVORITES: - selection = Shows.FAVORITE + "=? AND " + Shows.HIDDEN + "=?"; - selectionArgs = new String[] { - "1", "0" - }; - break; - case SHOWFILTER_UNSEENEPISODES: - SharedPreferences prefs = PreferenceManager - .getDefaultSharedPreferences(getActivity()); - int upcomingLimit = Integer.valueOf(prefs.getString( - SeriesGuidePreferences.KEY_UPCOMING_LIMIT, "1")); - - selection = Shows.NEXTAIRDATEMS + "!=? AND " + Shows.NEXTAIRDATEMS + " <=? AND " - + Shows.HIDDEN + "=?"; - // Display shows upcoming within x amount of days + 1 hour - String inTheFuture = String.valueOf(System.currentTimeMillis() + upcomingLimit - * DateUtils.DAY_IN_MILLIS + DateUtils.HOUR_IN_MILLIS); - selectionArgs = new String[] { - DBUtils.UNKNOWN_NEXT_AIR_DATE, inTheFuture, "0" - }; - break; - case SHOWFILTER_HIDDEN: - selection = Shows.HIDDEN + "=?"; - selectionArgs = new String[] { - "1" - }; - break; + StringBuilder selection = new StringBuilder(); + + // create temporary copies + final boolean isFilterFavorites = mIsFilterFavorites; + final boolean isFilterUnwatched = mIsFilterUnwatched; + final boolean isFilterUpcoming = mIsFilterUpcoming; + final boolean isFilterHidden = mIsFilterHidden; + + // restrict to favorites? + if (isFilterFavorites) { + selection.append(Shows.FAVORITE).append("=1"); + } + + final long timeInAnHour = System.currentTimeMillis() + DateUtils.HOUR_IN_MILLIS; + + // restrict to shows with a next episode? + if (isFilterUnwatched) { + if (selection.length() != 0) { + selection.append(" AND "); + } + selection.append(Shows.NEXTAIRDATEMS).append("!=").append(DBUtils.UNKNOWN_NEXT_AIR_DATE); + + // exclude shows with upcoming next episode + if (!isFilterUpcoming) { + selection.append(" AND ") + .append(Shows.NEXTAIRDATEMS).append("<=") + .append(timeInAnHour); + } + } + // restrict to shows with an upcoming (yet to air) next episode? + if (isFilterUpcoming) { + if (selection.length() != 0) { + selection.append(" AND "); + } + // Display shows upcoming within days + 1 hour + int upcomingLimitInDays = AdvancedSettings.getUpcomingLimitInDays(getActivity()); + long latestAirtime = timeInAnHour + + upcomingLimitInDays * DateUtils.DAY_IN_MILLIS; + + selection.append(Shows.NEXTAIRDATEMS).append("<=").append(latestAirtime); + + // exclude shows with no upcoming next episode if not filtered for unwatched, too + if (!isFilterUnwatched) { + selection.append(" AND ") + .append(Shows.NEXTAIRDATEMS).append(">=") + .append(timeInAnHour); + } } - return new CursorLoader(getActivity(), Shows.CONTENT_URI, ShowsQuery.PROJECTION, selection, - selectionArgs, mSorting.query()); + // special: if hidden filter is disabled, exclude hidden shows + if (selection.length() != 0) { + selection.append(" AND "); + } + selection.append(Shows.HIDDEN).append(isFilterHidden ? "=1" : "=0"); + + return new CursorLoader(getActivity(), Shows.CONTENT_URI, ShowsQuery.PROJECTION, + selection.toString(), null, + ShowsDistillationSettings.getSortQuery(mSortOrderId, mIsSortFavoritesFirst)); } + @Override public void onLoadFinished(Loader loader, Cursor data) { // Swap the new cursor in. (The framework will take care of closing the // old cursor once we return.) mAdapter.swapCursor(data); + + // prepare an updated empty view + updateEmptyView(); } + @Override public void onLoaderReset(Loader arg0) { // This is called when the last Cursor provided to onLoadFinished() // above is about to be closed. We need to make sure we are no @@ -577,7 +737,7 @@ private void onFavoriteShow(String showId, boolean isFavorite) { Toast.LENGTH_SHORT) .show(); - fireTrackerEvent(isFavorite ? "Favorite show" : "Unfavorite show"); + fireTrackerEventContext(isFavorite ? "Favorite show" : "Unfavorite show"); } private void showDeleteDialog(long showId) { @@ -587,47 +747,12 @@ private void showDeleteDialog(long showId) { deleteDialog.show(fm, "fragment_delete"); } - public static void showSortDialog(FragmentManager fm, ShowSorting currentSorting) { - SortDialogFragment sortDialog = SortDialogFragment.newInstance(R.array.shsorting, - R.array.shsortingData, currentSorting.index(), - SeriesGuidePreferences.KEY_SHOW_SORT_ORDER, R.string.pref_showsorting); - sortDialog.show(fm, "fragment_sort"); - } - - /** - * Fetches the sorting preference and stores it in {@code mSorting}. - * - * @param prefs - * @return Returns true if the value changed, false otherwise. - */ - private boolean updateSorting(SharedPreferences prefs) { - final ShowSorting oldSorting = mSorting; - - mSorting = ShowSorting.fromValue(prefs.getString( - SeriesGuidePreferences.KEY_SHOW_SORT_ORDER, ShowSorting.FAVORITES_FIRST.value())); - - if (oldSorting != mSorting) { - return true; - } else { - return false; - } - } - private final OnSharedPreferenceChangeListener mPrefsListener = new OnSharedPreferenceChangeListener() { + @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { - boolean isAffectingChange = false; - - if (key.equals(SeriesGuidePreferences.KEY_SHOW_SORT_ORDER)) { - updateSorting(sharedPreferences); - isAffectingChange = true; - } else if (key.equals(SeriesGuidePreferences.KEY_UPCOMING_LIMIT)) { - isAffectingChange = true; - } - - if (isAffectingChange) { - onFilterChanged(getSherlockActivity().getSupportActionBar() - .getSelectedNavigationIndex()); + if (key.equals(AdvancedSettings.KEY_UPCOMING_LIMIT)) { + getLoaderManager().restartLoader(ShowsFragment.LOADER_ID, null, ShowsFragment.this); } } }; @@ -638,17 +763,11 @@ public void onEvent(FlagTaskCompletedEvent event) { } } - public void onFilterChanged(int itemPosition) { - // requery with the new filter - Bundle args = new Bundle(); - args.putInt(ShowsFragment.FILTER_ID, itemPosition); - getLoaderManager().restartLoader(ShowsFragment.LOADER_ID, args, this); - - // update the empty view - setEmptyView(itemPosition); + private static void fireTrackerEventAction(String label) { + EasyTracker.getTracker().sendEvent(TAG, "Action Item", label, (long) 0); } - private void fireTrackerEvent(String label) { + private static void fireTrackerEventContext(String label) { EasyTracker.getTracker().sendEvent(TAG, "Context Item", label, (long) 0); } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/SlidingMenuFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/SlidingMenuFragment.java similarity index 99% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/SlidingMenuFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/SlidingMenuFragment.java index 1d27026e2c..00545cba09 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/SlidingMenuFragment.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/SlidingMenuFragment.java @@ -70,7 +70,7 @@ public void onActivityCreated(Bundle savedInstanceState) { // main views mAdapter = new MenuAdapter(getActivity()); - mAdapter.add(new MenuItem(getString(R.string.shows), R.drawable.ic_action_menu, + mAdapter.add(new MenuItem(getString(R.string.shows), R.drawable.ic_action_tv, MENU_ITEM_SHOWS_ID)); mAdapter.add(new MenuItem(getString(R.string.lists), R.drawable.ic_action_list, MENU_ITEM_LISTS_ID)); @@ -234,7 +234,7 @@ public void attach(View v) { } } - private void fireTrackerEvent(String label) { + private static void fireTrackerEvent(String label) { EasyTracker.getTracker().sendEvent(TAG, "Action Item", label, (long) 0); } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/StatsActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/StatsActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/StatsActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/StatsActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/StatsFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/StatsFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/StatsFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/StatsFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/TraktAddFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/TraktAddFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/TraktAddFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/TraktAddFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/TraktFriendsFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/TraktFriendsFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/TraktFriendsFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/TraktFriendsFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/TraktShoutsActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/TraktShoutsActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/TraktShoutsActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/TraktShoutsActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/TraktShoutsFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/TraktShoutsFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/TraktShoutsFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/TraktShoutsFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/TraktSyncActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/TraktSyncActivity.java similarity index 95% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/TraktSyncActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/TraktSyncActivity.java index 84f940f602..ce0ba6b57b 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/TraktSyncActivity.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/TraktSyncActivity.java @@ -33,6 +33,7 @@ import android.widget.CheckBox; import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.view.MenuItem; import com.battlelancer.seriesguide.provider.SeriesContract.Shows; import com.battlelancer.seriesguide.util.TraktSync; import com.google.analytics.tracking.android.EasyTracker; @@ -137,6 +138,15 @@ protected void onDestroy() { } } + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == android.R.id.home) { + super.onBackPressed(); + return true; + } + return false; + } + @Override protected Dialog onCreateDialog(int id) { switch (id) { @@ -190,7 +200,7 @@ public void onClick(DialogInterface dialog, int which) { return null; } - private void fireTrackerEvent(String label) { + private static void fireTrackerEvent(String label) { EasyTracker.getTracker().sendEvent(TAG, "Click", label, (long) 0); } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/TvdbAddFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/TvdbAddFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/TvdbAddFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/TvdbAddFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/UpcomingFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/UpcomingFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/UpcomingFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/UpcomingFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/UpcomingRecentActivity.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/UpcomingRecentActivity.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/UpcomingRecentActivity.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/UpcomingRecentActivity.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/AddDialogFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/AddDialogFragment.java similarity index 98% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/AddDialogFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/AddDialogFragment.java index bacbbbaac3..8e4bcbeb48 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/AddDialogFragment.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/AddDialogFragment.java @@ -104,7 +104,7 @@ public void onClick(View v) { } }); Button addButton = (Button) layout.findViewById(R.id.buttonPositive); - addButton.setText(R.string.add_show); + addButton.setText(R.string.action_shows_add); addButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/AddListDialogFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/AddListDialogFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/AddListDialogFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/AddListDialogFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/CheckInDialogFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/CheckInDialogFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/CheckInDialogFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/CheckInDialogFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/ConfirmDeleteDialogFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/ConfirmDeleteDialogFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/ConfirmDeleteDialogFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/ConfirmDeleteDialogFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/GenericCheckInDialogFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/GenericCheckInDialogFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/GenericCheckInDialogFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/GenericCheckInDialogFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/ListManageDialogFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/ListManageDialogFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/ListManageDialogFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/ListManageDialogFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/ListsDialogFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/ListsDialogFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/ListsDialogFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/ListsDialogFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/MovieCheckInDialogFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/MovieCheckInDialogFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/MovieCheckInDialogFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/MovieCheckInDialogFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/SortDialogFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/SortDialogFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/SortDialogFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/SortDialogFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/TraktCancelCheckinDialogFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/TraktCancelCheckinDialogFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/TraktCancelCheckinDialogFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/TraktCancelCheckinDialogFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/TraktRateDialogFragment.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/TraktRateDialogFragment.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/ui/dialogs/TraktRateDialogFragment.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/ui/dialogs/TraktRateDialogFragment.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/AddShowTask.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/AddShowTask.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/AddShowTask.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/AddShowTask.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/CompatActionBarNavHandler.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/CompatActionBarNavHandler.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/CompatActionBarNavHandler.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/CompatActionBarNavHandler.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/CompatActionBarNavListener.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/CompatActionBarNavListener.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/CompatActionBarNavListener.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/CompatActionBarNavListener.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/DBUtils.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/DBUtils.java similarity index 99% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/DBUtils.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/DBUtils.java index 8d72c5fa21..3a3204cf92 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/util/DBUtils.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/DBUtils.java @@ -28,6 +28,7 @@ import android.net.Uri; import android.os.RemoteException; import android.preference.PreferenceManager; +import android.text.TextUtils; import android.text.format.DateUtils; import com.battlelancer.seriesguide.SeriesGuideApplication; @@ -493,7 +494,10 @@ public static void deleteShow(Context context, String showId, ProgressDialog pro episodes.moveToFirst(); while (!episodes.isAfterLast()) { episodeIDs[counter++] = episodes.getString(0); - imageProvider.removeImage(episodes.getString(1)); + String imageUrl = episodes.getString(1); + if (!TextUtils.isEmpty(imageUrl)) { + imageProvider.removeImage(imageUrl); + } episodes.moveToNext(); } episodes.close(); diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/FetchArtTask.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/FetchArtTask.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/FetchArtTask.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/FetchArtTask.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/FlagTapeEntry.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/FlagTapeEntry.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/FlagTapeEntry.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/FlagTapeEntry.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/FlagTapeEntryQueue.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/FlagTapeEntryQueue.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/FlagTapeEntryQueue.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/FlagTapeEntryQueue.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/FlagTapedTask.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/FlagTapedTask.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/FlagTapedTask.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/FlagTapedTask.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/FlagTask.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/FlagTask.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/FlagTask.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/FlagTask.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/GsonConverter.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/GsonConverter.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/GsonConverter.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/GsonConverter.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/ImageDownloader.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/ImageDownloader.java similarity index 98% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/ImageDownloader.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/ImageDownloader.java index e19cec6dae..9036145e5f 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/util/ImageDownloader.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/ImageDownloader.java @@ -167,7 +167,7 @@ private static BitmapDownloaderTask getBitmapDownloaderTask(ImageView imageView) return null; } - private Bitmap getBitmapFromDisk(String urlString, File imageFile) { + private static Bitmap getBitmapFromDisk(String urlString, File imageFile) { if (AndroidUtils.isExtStorageAvailable()) { if (imageFile.exists()) { // disk cache hit @@ -180,7 +180,7 @@ private Bitmap getBitmapFromDisk(String urlString, File imageFile) { return null; } - private Bitmap downloadBitmap(String urlString, boolean isDiskCaching, File imageFile) { + private static Bitmap downloadBitmap(String urlString, boolean isDiskCaching, File imageFile) { try { InputStream inputStream = AndroidUtils.downloadUrl(urlString); diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/ImageProvider.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/ImageProvider.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/ImageProvider.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/ImageProvider.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/LruCache.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/LruCache.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/LruCache.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/LruCache.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/ParserUtils.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/ParserUtils.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/ParserUtils.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/ParserUtils.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/SelectionBuilder.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/SelectionBuilder.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/SelectionBuilder.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/SelectionBuilder.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/ServiceUtils.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/ServiceUtils.java similarity index 81% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/ServiceUtils.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/ServiceUtils.java index e19785a9b1..42d023a7a4 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/util/ServiceUtils.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/ServiceUtils.java @@ -17,16 +17,19 @@ package com.battlelancer.seriesguide.util; +import android.app.SearchManager; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; +import android.content.pm.PackageManager; import android.net.Uri; import android.preference.PreferenceManager; import android.text.TextUtils; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; +import android.widget.Button; import com.battlelancer.seriesguide.enums.TraktStatus; import com.battlelancer.seriesguide.ui.ConnectTraktActivity; @@ -75,6 +78,10 @@ public final class ServiceUtils { private static final String YOUTUBE_BASE_URL = "http://www.youtube.com/watch?v="; + private static final String YOUTUBE_SEARCH = "http://www.youtube.com/results?search_query=%s"; + + private static final String YOUTUBE_PACKAGE = "com.google.android.youtube"; + private static ServiceManager sTraktServiceManagerInstance; private static ServiceManager sTraktServiceManagerWithAuthInstance; @@ -233,6 +240,9 @@ public static void checkTraktCredentials(Context context) { } ServiceManager manager = getTraktServiceManagerWithAuth(context, false); + if (manager == null) { + return; + } try { Response r = manager.accountService().test().fire(); if (r != null && TraktStatus.FAILURE.equals(r.status)) { @@ -284,6 +294,7 @@ public static void setUpImdbButton(final String imdbId, View imdbButton, final S if (!TextUtils.isEmpty(imdbId)) { imdbButton.setEnabled(true); imdbButton.setOnClickListener(new OnClickListener() { + @Override public void onClick(View v) { openImdb(imdbId, logTag, context); } @@ -496,4 +507,107 @@ public static void openYoutube(String videoId, String logTag, Context context) { EasyTracker.getTracker().sendEvent(logTag, "Action Item", "YouTube", (long) 0); } + + /** + * Used to open the YouTube app and search for query + * + * @param query The search query for the YouTube app + * @param button The {@link Button} used to invoke the + * {@link android.view.View.OnClickListener} + * @param logTag The log tag to use, for Analytics + */ + public static void setUpYouTubeButton(final String query, View button, final String logTag) { + if (button == null) { + // Return if the button isn't initialized + return; + } else if (TextUtils.isEmpty(query)) { + // Disable the button if there's nothing to search for + button.setEnabled(false); + return; + } + + button.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + searchYoutube(v.getContext(), query, logTag); + } + }); + } + + /** + * Attempts to open the YouTube application to search for query + * . If the app is unavailable, a web search if performed instead + * + * @param context The {@link Context} to use + * @param query The search query + * @param logTag The log tag to use, for Analytics + */ + public static void searchYoutube(Context context, String query, String logTag) { + PackageManager pm = context.getPackageManager(); + boolean hasYouTube = false; + try { + pm.getPackageInfo(YOUTUBE_PACKAGE, PackageManager.GET_ACTIVITIES); + hasYouTube = true; + } catch (PackageManager.NameNotFoundException notInstalled) { + hasYouTube = false; + } + + Intent intent; + if (hasYouTube) { + // Directly search the YouTube app + intent = new Intent(Intent.ACTION_SEARCH); + intent.setPackage(YOUTUBE_PACKAGE); + intent.putExtra("query", query); + } else { + // Launch a web search + intent = new Intent(Intent.ACTION_VIEW); + intent.setData(Uri.parse(String.format(YOUTUBE_SEARCH, Uri.encode(query)))); + } + + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); + Utils.tryStartActivity(context, intent, true); + EasyTracker.getTracker().sendEvent(logTag, "Action Item", "YouTube search", (long) 0); + } + + /** + * Used to search the web for query + * + * @param query The search query for the YouTube app + * @param button The {@link Button} used to invoke the + * {@link android.view.View.OnClickListener} + * @param logTag The log tag to use, for Analytics + */ + public static void setUpWebSearchButton(final String query, View button, final String logTag) { + if (button == null) { + // Return if the button isn't initialized + return; + } else if (TextUtils.isEmpty(query)) { + // Disable the button if there's nothing to search for + button.setEnabled(false); + return; + } + + button.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + performWebSearch(v.getContext(), query, logTag); + } + }); + } + + /** + * Attempts to search the web for query + * + * @param context The {@link Context} to use + * @param query The search query + * @param logTag The log tag to use, for Analytics + */ + public static void performWebSearch(Context context, String query, String logTag) { + Intent intent = new Intent(Intent.ACTION_WEB_SEARCH); + intent.putExtra(SearchManager.QUERY, query); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); + Utils.tryStartActivity(context, intent, true); + EasyTracker.getTracker().sendEvent(logTag, "Action Item", "Web search", (long) 0); + } + } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/ShareUtils.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/ShareUtils.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/ShareUtils.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/ShareUtils.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/ShortcutUtils.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/ShortcutUtils.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/ShortcutUtils.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/ShortcutUtils.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/SimpleCrypto.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/SimpleCrypto.java similarity index 95% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/SimpleCrypto.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/SimpleCrypto.java index 8ce7e0cdbf..932808217a 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/util/SimpleCrypto.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/SimpleCrypto.java @@ -59,9 +59,9 @@ public static String encrypt(String cleartext, Context context) { byte[] result = encrypt(key, cleartext.getBytes()); return toHex(result); } catch (GeneralSecurityException e) { - Utils.trackExceptionAndLog(context, TAG + ".encrypt()", e); + Utils.trackExceptionAndLog(TAG + ".encrypt()", e); } catch (IOException e) { - Utils.trackExceptionAndLog(context, TAG + ".encrypt()", e); + Utils.trackExceptionAndLog(TAG + ".encrypt()", e); } return null; } @@ -77,9 +77,9 @@ public static String decrypt(String encrypted, Context context) { byte[] result = decrypt(key, enc); return new String(result); } catch (GeneralSecurityException e) { - Utils.trackExceptionAndLog(context, TAG + ".decrypt()", e); + Utils.trackExceptionAndLog(TAG + ".decrypt()", e); } catch (IOException e) { - Utils.trackExceptionAndLog(context, TAG + ".decrypt()", e); + Utils.trackExceptionAndLog(TAG + ".decrypt()", e); } return null; } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/SystemUiHider.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/SystemUiHider.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/SystemUiHider.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/SystemUiHider.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/SystemUiHiderBase.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/SystemUiHiderBase.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/SystemUiHiderBase.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/SystemUiHiderBase.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/SystemUiHiderHoneycomb.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/SystemUiHiderHoneycomb.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/SystemUiHiderHoneycomb.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/SystemUiHiderHoneycomb.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/TaskManager.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/TaskManager.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/TaskManager.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/TaskManager.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/TraktSummaryTask.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/TraktSummaryTask.java similarity index 100% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/TraktSummaryTask.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/TraktSummaryTask.java diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/TraktSync.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/TraktSync.java similarity index 97% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/TraktSync.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/TraktSync.java index 701f0c1341..31d408a27a 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/util/TraktSync.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/TraktSync.java @@ -114,10 +114,10 @@ private Integer syncToSeriesGuide(ServiceManager manager, String username) { shows = manager.userService().libraryShowsWatched(username).extended(ExtendedParam.Min) .fire(); } catch (TraktException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return FAILED_API; } catch (ApiException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return FAILED_API; } @@ -186,12 +186,12 @@ private Integer syncToSeriesGuide(ServiceManager manager, String username) { batch); } catch (RemoteException e) { // Failed binder transactions aren't recoverable - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); throw new RuntimeException("Problem applying batch operation", e); } catch (OperationApplicationException e) { // Failures like constraint violation aren't // recoverable - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); throw new RuntimeException("Problem applying batch operation", e); } @@ -281,10 +281,10 @@ private Integer syncToTrakt(ServiceManager manager) { builderUnseen.fire(); } } catch (TraktException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return FAILED_API; } catch (ApiException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); return FAILED_API; } } diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/TraktTask.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/TraktTask.java similarity index 99% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/TraktTask.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/TraktTask.java index d62adf619c..ff4aaf9b16 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/util/TraktTask.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/TraktTask.java @@ -344,13 +344,13 @@ protected Response doInBackground(Void... params) { return r; } catch (TraktException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); Response r = new Response(); r.status = TraktStatus.FAILURE; r.error = mContext.getString(R.string.trakt_error_general); return r; } catch (ApiException e) { - Utils.trackExceptionAndLog(mContext, TAG, e); + Utils.trackExceptionAndLog(TAG, e); Response r = new Response(); r.status = TraktStatus.FAILURE; r.error = mContext.getString(R.string.trakt_error_general); diff --git a/SeriesGuide/src/com/battlelancer/seriesguide/util/Utils.java b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/Utils.java similarity index 94% rename from SeriesGuide/src/com/battlelancer/seriesguide/util/Utils.java rename to SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/Utils.java index 783ed0ca1d..3ea8eef5c2 100644 --- a/SeriesGuide/src/com/battlelancer/seriesguide/util/Utils.java +++ b/SeriesGuide/src/main/java/com/battlelancer/seriesguide/util/Utils.java @@ -27,14 +27,14 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; +import android.content.res.Resources; import android.database.Cursor; import android.preference.PreferenceManager; -import android.support.v4.app.TaskStackBuilder; -import android.support.v4.view.ViewPager; import android.text.TextUtils; import android.text.format.DateFormat; import android.text.format.DateUtils; import android.util.Log; +import android.util.TypedValue; import android.view.View; import android.widget.ImageView; import android.widget.TextView; @@ -100,9 +100,6 @@ public class Utils { /** * Parse a shows TVDb air time value to a ms value in Pacific Standard Time * (always without daylight saving). - * - * @param tvdbTimeString - * @return */ public static long parseTimeToMilliseconds(String tvdbTimeString) { Date time = null; @@ -148,11 +145,6 @@ public static long parseTimeToMilliseconds(String tvdbTimeString) { * Parse a shows airtime ms value to an actual time. If given a TVDb day * string the day will get determined, too, all respecting user settings * like time zone and time offset. - * - * @param milliseconds - * @param dayofweek - * @param context - * @return */ public static String[] parseMillisecondsToTime(long milliseconds, String dayofweek, Context context) { @@ -223,8 +215,7 @@ public static String[] parseMillisecondsToTime(long milliseconds, String dayofwe * given TVDb airday string (Monday through Sunday and Daily). If no match * is found -1 will be returned. * - * @param TVDb day string - * @return + * @param day TVDb day string */ private static int getDayOfWeek(String day) { // catch Daily @@ -310,10 +301,6 @@ public static String formatToDayAndTimeWithoutOffsets(Context context, long airt /** * Return date string of the given time, prefixed with the actual day of the * week (e.g. 'Mon, ') or 'today, ' if applicable. - * - * @param airtime - * @param context - * @return */ public static String formatToDate(long airtime, Context context) { final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); @@ -340,10 +327,6 @@ public static String formatToDate(long airtime, Context context) { /** * Create a calendar set to the given airtime, time is adjusted according to * 'Use my time zone', 'Time Offset' settings and user time zone. - * - * @param airtime - * @param prefs - * @return */ public static Calendar getAirtimeCalendar(long airtime, final SharedPreferences prefs) { Calendar cal = Calendar.getInstance(); @@ -356,9 +339,6 @@ public static Calendar getAirtimeCalendar(long airtime, final SharedPreferences /** * Add user set manual offset and auto-offset for US time zones. - * - * @param prefs - * @param cal */ private static void setOffsets(SharedPreferences prefs, Calendar cal, long airtime) { boolean pacificInDaylight = TimeZone.getTimeZone(TIMEZONE_US_PACIFIC).inDaylightTime( @@ -401,9 +381,6 @@ private static void setOffsets(SharedPreferences prefs, Calendar cal, long airti /** * To correctly display and calculate upcoming episodes we need to modify * the current time to be later/earlier. Also respecting user-set offsets. - * - * @param prefs - * @return */ public static long getFakeCurrentTime(SharedPreferences prefs) { return convertToFakeTime(System.currentTimeMillis(), prefs, true); @@ -412,10 +389,6 @@ public static long getFakeCurrentTime(SharedPreferences prefs) { /** * Modify a time to be earlier/later respecting user-set offsets and * automatic offsets based on time zone. - * - * @param prefs - * @param isCurrentTime - * @return */ public static long convertToFakeTime(long time, SharedPreferences prefs, boolean isCurrentTime) { boolean pacificInDaylight = TimeZone.getTimeZone(TIMEZONE_US_PACIFIC).inDaylightTime( @@ -484,8 +457,7 @@ public static long buildEpisodeAirtime(String tvdbDateString, long airtime) { dayCal.set(Calendar.MILLISECOND, 0); } - long episodeAirtime = dayCal.getTimeInMillis(); - return episodeAirtime; + return dayCal.getTimeInMillis(); } catch (ParseException e) { // we just return -1 then @@ -543,9 +515,6 @@ public static String getEpisodeNumber(SharedPreferences prefs, int season, /** * Splits the string and reassembles it, separating the items with commas. * The given object is returned with the new string. - * - * @param tvdbstring - * @return */ public static String splitAndKitTVDBStrings(String tvdbstring) { if (tvdbstring == null) { @@ -565,7 +534,6 @@ public static String splitAndKitTVDBStrings(String tvdbstring) { /** * Get the currently set episode sorting from settings. * - * @param context * @return a EpisodeSorting enum set to the current sorting */ public static EpisodeSorting getEpisodeSorting(Context context) { @@ -658,10 +626,6 @@ public static String getVersion(Context context) { /** * Put the TVDb season number in, get a full 'Season X' or 'Special * Episodes' string out. - * - * @param context - * @param seasonNumber - * @return */ public static String getSeasonString(Context context, int seasonNumber) { if (seasonNumber == 0) { @@ -705,9 +669,9 @@ public static String toSHA1(Context context, String message) { return result; } catch (NoSuchAlgorithmException e) { - Utils.trackExceptionAndLog(context, TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (UnsupportedEncodingException e) { - Utils.trackExceptionAndLog(context, TAG, e); + Utils.trackExceptionAndLog(TAG, e); } return null; } @@ -835,11 +799,9 @@ public static void setPosterBackground(ImageView background, String posterPath, /** * Sets the global app theme variable. Applied by all activities once they * are created. - * - * @param themeIndex */ public static synchronized void updateTheme(String themeIndex) { - int theme = Integer.valueOf((String) themeIndex); + int theme = Integer.valueOf(themeIndex); switch (theme) { case 1: SeriesGuidePreferences.THEME = R.style.ICSBaseTheme; @@ -856,7 +818,7 @@ public static synchronized void updateTheme(String themeIndex) { /** * Tracks an exception using the Google Analytics {@link EasyTracker}. */ - public static void trackException(Context context, String tag, Exception e) { + public static void trackException(String tag, Exception e) { EasyTracker.getTracker().sendException(tag + ": " + e.getMessage(), false); } @@ -864,17 +826,14 @@ public static void trackException(Context context, String tag, Exception e) { * Tracks an exception using the Google Analytics {@link EasyTracker} and * the local log. */ - public static void trackExceptionAndLog(Context context, String tag, Exception e) { - trackException(context, tag, e); + public static void trackExceptionAndLog(String tag, Exception e) { + trackException(tag, e); Log.w(tag, e); } /** * Returns true if we are on a user-permitted and connected internet * connection. - * - * @param context - * @return */ public static boolean isAllowedConnection(Context context) { final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); @@ -887,27 +846,13 @@ public static boolean isAllowedConnection(Context context) { } } - /** - * Creates the tag of a {@link ViewPager} fragment. - * - * @param viewId of the {@link ViewPager} - * @param id of the fragment, often the position - */ - public static String makeViewPagerFragmentName(int viewId, long id) { - return "android:switcher:" + viewId + ":" + id; - } - /** * Launches {@link BillingActivity} and notifies that something is only * available with the X subscription. */ public static void advertiseSubscription(Context context) { Toast.makeText(context, R.string.onlyx, Toast.LENGTH_SHORT).show(); - TaskStackBuilder - .create(context) - .addNextIntent(new Intent(context, SeriesGuidePreferences.class)) - .addNextIntent(new Intent(context, BillingActivity.class)) - .startActivities(); + context.startActivity(new Intent(context, BillingActivity.class)); } /** @@ -931,4 +876,13 @@ public static boolean tryStartActivity(Context context, Intent intent, boolean d return false; } + /** + * Resolves the given attribute to the resource id for the given theme. + */ + public static int resolveAttributeToResourceId(Resources.Theme theme, int attributeResId) { + TypedValue outValue = new TypedValue(); + theme.resolveAttribute(attributeResId, outValue, true); + return outValue.resourceId; + } + } diff --git a/SeriesGuide/src/com/battlelancer/thetvdbapi/TheTVDB.java b/SeriesGuide/src/main/java/com/battlelancer/thetvdbapi/TheTVDB.java similarity index 97% rename from SeriesGuide/src/com/battlelancer/thetvdbapi/TheTVDB.java rename to SeriesGuide/src/main/java/com/battlelancer/thetvdbapi/TheTVDB.java index 97aa216ba4..3d5d2d1b34 100644 --- a/SeriesGuide/src/com/battlelancer/thetvdbapi/TheTVDB.java +++ b/SeriesGuide/src/main/java/com/battlelancer/thetvdbapi/TheTVDB.java @@ -101,19 +101,17 @@ public static boolean isUpdateShow(String showId, long currentTime, Context cont new String[] { Shows._ID, Shows.LASTUPDATED }, null, null, null); - + boolean isUpdate = false; if (show != null) { if (show.moveToFirst()) { long lastUpdateTime = show.getLong(1); if (currentTime - lastUpdateTime > DateUtils.HOUR_IN_MILLIS * 12) { - return true; + isUpdate = true; } } - show.close(); } - - return false; + return isUpdate; } /** @@ -364,9 +362,9 @@ private static Show fetchShow(String showTvdbId, String language, Context contex try { traktShow = manager.showService().summary(showTvdbId).fire(); } catch (TraktException e) { - Utils.trackExceptionAndLog(context, TAG, e); + Utils.trackExceptionAndLog(TAG, e); } catch (ApiException e) { - Utils.trackExceptionAndLog(context, TAG, e); + Utils.trackExceptionAndLog(TAG, e); } } @@ -387,6 +385,10 @@ private static Show fetchShow(String showTvdbId, String language, Context contex // Correct to EST // Sample: heute-show show.airtime -= 9 * DateUtils.HOUR_IN_MILLIS; + } else if ("Australia".equals(traktShow.country)) { + // Correct to Australian EST + // Sample: Offspring + show.airtime -= 18 * DateUtils.HOUR_IN_MILLIS; } } @@ -793,20 +795,20 @@ private static Bitmap downloadBitmap(String url, Context context) { } } catch (IOException e) { Log.w(TAG, "I/O error retrieving bitmap from " + url, e); - Utils.trackException(context, TAG + " I/O error retrieving bitmap from " + url, e); + Utils.trackException(TAG + " I/O error retrieving bitmap from " + url, e); } catch (IllegalStateException e) { Log.w(TAG, "Incorrect URL: " + url); - Utils.trackException(context, TAG + " Incorrect URL " + url, e); + Utils.trackException(TAG + " Incorrect URL " + url, e); } catch (Exception e) { Log.w(TAG, "Error while retrieving bitmap from " + url, e); - Utils.trackException(context, TAG + " Error while retrieving bitmap from " + url, e); + Utils.trackException(TAG + " Error while retrieving bitmap from " + url, e); } finally { if (inputStream != null) { try { inputStream.close(); } catch (IOException e) { Log.w(TAG, "I/O error while retrieving bitmap from " + url, e); - Utils.trackException(context, TAG + " I/O error retrieving bitmap from " + url, + Utils.trackException(TAG + " I/O error retrieving bitmap from " + url, e); } } diff --git a/SeriesGuide/lint.xml b/SeriesGuide/src/main/lint.xml similarity index 100% rename from SeriesGuide/lint.xml rename to SeriesGuide/src/main/lint.xml diff --git a/SeriesGuide/proguard-project.txt b/SeriesGuide/src/main/proguard-project.txt similarity index 100% rename from SeriesGuide/proguard-project.txt rename to SeriesGuide/src/main/proguard-project.txt diff --git a/SeriesGuide/res/anim/blow_up_enter.xml b/SeriesGuide/src/main/res/anim/blow_up_enter.xml similarity index 100% rename from SeriesGuide/res/anim/blow_up_enter.xml rename to SeriesGuide/src/main/res/anim/blow_up_enter.xml diff --git a/SeriesGuide/res/anim/blow_up_exit.xml b/SeriesGuide/src/main/res/anim/blow_up_exit.xml similarity index 100% rename from SeriesGuide/res/anim/blow_up_exit.xml rename to SeriesGuide/src/main/res/anim/blow_up_exit.xml diff --git a/SeriesGuide/res/anim/checkin_dialog_exit.xml b/SeriesGuide/src/main/res/anim/checkin_dialog_exit.xml similarity index 100% rename from SeriesGuide/res/anim/checkin_dialog_exit.xml rename to SeriesGuide/src/main/res/anim/checkin_dialog_exit.xml diff --git a/SeriesGuide/res/anim/fade_in.xml b/SeriesGuide/src/main/res/anim/fade_in.xml similarity index 100% rename from SeriesGuide/res/anim/fade_in.xml rename to SeriesGuide/src/main/res/anim/fade_in.xml diff --git a/SeriesGuide/res/anim/fade_out.xml b/SeriesGuide/src/main/res/anim/fade_out.xml similarity index 100% rename from SeriesGuide/res/anim/fade_out.xml rename to SeriesGuide/src/main/res/anim/fade_out.xml diff --git a/SeriesGuide/res/anim/fragment_slide_left_enter.xml b/SeriesGuide/src/main/res/anim/fragment_slide_left_enter.xml similarity index 100% rename from SeriesGuide/res/anim/fragment_slide_left_enter.xml rename to SeriesGuide/src/main/res/anim/fragment_slide_left_enter.xml diff --git a/SeriesGuide/res/anim/fragment_slide_left_exit.xml b/SeriesGuide/src/main/res/anim/fragment_slide_left_exit.xml similarity index 100% rename from SeriesGuide/res/anim/fragment_slide_left_exit.xml rename to SeriesGuide/src/main/res/anim/fragment_slide_left_exit.xml diff --git a/SeriesGuide/res/anim/fragment_slide_right_enter.xml b/SeriesGuide/src/main/res/anim/fragment_slide_right_enter.xml similarity index 100% rename from SeriesGuide/res/anim/fragment_slide_right_enter.xml rename to SeriesGuide/src/main/res/anim/fragment_slide_right_enter.xml diff --git a/SeriesGuide/res/anim/fragment_slide_right_exit.xml b/SeriesGuide/src/main/res/anim/fragment_slide_right_exit.xml similarity index 100% rename from SeriesGuide/res/anim/fragment_slide_right_exit.xml rename to SeriesGuide/src/main/res/anim/fragment_slide_right_exit.xml diff --git a/SeriesGuide/res/anim/shrink_enter.xml b/SeriesGuide/src/main/res/anim/shrink_enter.xml similarity index 100% rename from SeriesGuide/res/anim/shrink_enter.xml rename to SeriesGuide/src/main/res/anim/shrink_enter.xml diff --git a/SeriesGuide/res/anim/shrink_exit.xml b/SeriesGuide/src/main/res/anim/shrink_exit.xml similarity index 100% rename from SeriesGuide/res/anim/shrink_exit.xml rename to SeriesGuide/src/main/res/anim/shrink_exit.xml diff --git a/SeriesGuide/res/color/text_primary_light_sg.xml b/SeriesGuide/src/main/res/color/text_primary_light_sg.xml similarity index 100% rename from SeriesGuide/res/color/text_primary_light_sg.xml rename to SeriesGuide/src/main/res/color/text_primary_light_sg.xml diff --git a/SeriesGuide/res/color/text_primary_sg.xml b/SeriesGuide/src/main/res/color/text_primary_sg.xml similarity index 100% rename from SeriesGuide/res/color/text_primary_sg.xml rename to SeriesGuide/src/main/res/color/text_primary_sg.xml diff --git a/SeriesGuide/res/drawable-hdpi-v11/fastscroll_thumb_default.png b/SeriesGuide/src/main/res/drawable-hdpi-v11/fastscroll_thumb_default.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v11/fastscroll_thumb_default.png rename to SeriesGuide/src/main/res/drawable-hdpi-v11/fastscroll_thumb_default.png diff --git a/SeriesGuide/res/drawable-hdpi-v11/fastscroll_thumb_pressed.png b/SeriesGuide/src/main/res/drawable-hdpi-v11/fastscroll_thumb_pressed.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v11/fastscroll_thumb_pressed.png rename to SeriesGuide/src/main/res/drawable-hdpi-v11/fastscroll_thumb_pressed.png diff --git a/SeriesGuide/res/drawable-hdpi-v11/ic_notification.png b/SeriesGuide/src/main/res/drawable-hdpi-v11/ic_notification.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v11/ic_notification.png rename to SeriesGuide/src/main/res/drawable-hdpi-v11/ic_notification.png diff --git a/SeriesGuide/res/drawable-hdpi-v11/stat_sys_download_anim0.png b/SeriesGuide/src/main/res/drawable-hdpi-v11/stat_sys_download_anim0.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v11/stat_sys_download_anim0.png rename to SeriesGuide/src/main/res/drawable-hdpi-v11/stat_sys_download_anim0.png diff --git a/SeriesGuide/res/drawable-hdpi-v11/stat_sys_download_anim1.png b/SeriesGuide/src/main/res/drawable-hdpi-v11/stat_sys_download_anim1.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v11/stat_sys_download_anim1.png rename to SeriesGuide/src/main/res/drawable-hdpi-v11/stat_sys_download_anim1.png diff --git a/SeriesGuide/res/drawable-hdpi-v11/stat_sys_download_anim2.png b/SeriesGuide/src/main/res/drawable-hdpi-v11/stat_sys_download_anim2.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v11/stat_sys_download_anim2.png rename to SeriesGuide/src/main/res/drawable-hdpi-v11/stat_sys_download_anim2.png diff --git a/SeriesGuide/res/drawable-hdpi-v11/stat_sys_download_anim3.png b/SeriesGuide/src/main/res/drawable-hdpi-v11/stat_sys_download_anim3.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v11/stat_sys_download_anim3.png rename to SeriesGuide/src/main/res/drawable-hdpi-v11/stat_sys_download_anim3.png diff --git a/SeriesGuide/res/drawable-hdpi-v11/stat_sys_download_anim4.png b/SeriesGuide/src/main/res/drawable-hdpi-v11/stat_sys_download_anim4.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v11/stat_sys_download_anim4.png rename to SeriesGuide/src/main/res/drawable-hdpi-v11/stat_sys_download_anim4.png diff --git a/SeriesGuide/res/drawable-hdpi-v11/stat_sys_download_anim5.png b/SeriesGuide/src/main/res/drawable-hdpi-v11/stat_sys_download_anim5.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v11/stat_sys_download_anim5.png rename to SeriesGuide/src/main/res/drawable-hdpi-v11/stat_sys_download_anim5.png diff --git a/SeriesGuide/res/drawable-hdpi-v9/ic_notification.png b/SeriesGuide/src/main/res/drawable-hdpi-v9/ic_notification.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v9/ic_notification.png rename to SeriesGuide/src/main/res/drawable-hdpi-v9/ic_notification.png diff --git a/SeriesGuide/res/drawable-hdpi-v9/stat_sys_download_anim0.png b/SeriesGuide/src/main/res/drawable-hdpi-v9/stat_sys_download_anim0.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v9/stat_sys_download_anim0.png rename to SeriesGuide/src/main/res/drawable-hdpi-v9/stat_sys_download_anim0.png diff --git a/SeriesGuide/res/drawable-hdpi-v9/stat_sys_download_anim1.png b/SeriesGuide/src/main/res/drawable-hdpi-v9/stat_sys_download_anim1.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v9/stat_sys_download_anim1.png rename to SeriesGuide/src/main/res/drawable-hdpi-v9/stat_sys_download_anim1.png diff --git a/SeriesGuide/res/drawable-hdpi-v9/stat_sys_download_anim2.png b/SeriesGuide/src/main/res/drawable-hdpi-v9/stat_sys_download_anim2.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v9/stat_sys_download_anim2.png rename to SeriesGuide/src/main/res/drawable-hdpi-v9/stat_sys_download_anim2.png diff --git a/SeriesGuide/res/drawable-hdpi-v9/stat_sys_download_anim3.png b/SeriesGuide/src/main/res/drawable-hdpi-v9/stat_sys_download_anim3.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v9/stat_sys_download_anim3.png rename to SeriesGuide/src/main/res/drawable-hdpi-v9/stat_sys_download_anim3.png diff --git a/SeriesGuide/res/drawable-hdpi-v9/stat_sys_download_anim4.png b/SeriesGuide/src/main/res/drawable-hdpi-v9/stat_sys_download_anim4.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v9/stat_sys_download_anim4.png rename to SeriesGuide/src/main/res/drawable-hdpi-v9/stat_sys_download_anim4.png diff --git a/SeriesGuide/res/drawable-hdpi-v9/stat_sys_download_anim5.png b/SeriesGuide/src/main/res/drawable-hdpi-v9/stat_sys_download_anim5.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi-v9/stat_sys_download_anim5.png rename to SeriesGuide/src/main/res/drawable-hdpi-v9/stat_sys_download_anim5.png diff --git a/SeriesGuide/res/drawable-hdpi/appwidget_bg.9.png b/SeriesGuide/src/main/res/drawable-hdpi/appwidget_bg.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/appwidget_bg.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/appwidget_bg.9.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_off_disabled_focused_holo_light.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_disabled_focused_holo_light.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_off_disabled_focused_holo_light.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_disabled_focused_holo_light.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_off_disabled_focused_sg.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_disabled_focused_sg.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_off_disabled_focused_sg.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_disabled_focused_sg.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_off_disabled_holo_light.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_disabled_holo_light.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_off_disabled_holo_light.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_disabled_holo_light.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_off_disabled_sg.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_disabled_sg.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_off_disabled_sg.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_disabled_sg.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_off_focused_holo_light.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_focused_holo_light.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_off_focused_holo_light.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_focused_holo_light.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_off_focused_sg.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_focused_sg.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_off_focused_sg.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_focused_sg.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_off_holo_light.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_holo_light.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_off_holo_light.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_holo_light.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_off_pressed_holo_light.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_pressed_holo_light.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_off_pressed_holo_light.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_pressed_holo_light.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_off_pressed_sg.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_pressed_sg.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_off_pressed_sg.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_pressed_sg.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_off_sg.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_sg.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_off_sg.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_off_sg.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_on_disabled_focused_holo_light.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_disabled_focused_holo_light.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_on_disabled_focused_holo_light.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_disabled_focused_holo_light.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_on_disabled_focused_sg.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_disabled_focused_sg.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_on_disabled_focused_sg.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_disabled_focused_sg.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_on_disabled_holo_light.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_disabled_holo_light.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_on_disabled_holo_light.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_disabled_holo_light.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_on_disabled_sg.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_disabled_sg.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_on_disabled_sg.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_disabled_sg.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_on_focused_holo_light.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_focused_holo_light.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_on_focused_holo_light.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_focused_holo_light.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_on_focused_sg.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_focused_sg.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_on_focused_sg.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_focused_sg.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_on_holo_light.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_holo_light.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_on_holo_light.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_holo_light.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_on_pressed_holo_light.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_pressed_holo_light.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_on_pressed_holo_light.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_pressed_holo_light.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_on_pressed_sg.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_pressed_sg.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_on_pressed_sg.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_pressed_sg.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_check_on_sg.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_sg.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_check_on_sg.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_check_on_sg.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_default_disabled_focused_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_default_disabled_focused_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_default_disabled_focused_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_default_disabled_focused_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_default_disabled_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_default_disabled_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_default_disabled_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_default_disabled_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_default_focused_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_default_focused_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_default_focused_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_default_focused_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_default_normal_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_default_normal_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_default_normal_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_default_normal_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-hdpi/btn_default_pressed_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-hdpi/btn_default_pressed_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/btn_default_pressed_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/btn_default_pressed_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-hdpi/divider.9.png b/SeriesGuide/src/main/res/drawable-hdpi/divider.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/divider.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/divider.9.png diff --git a/SeriesGuide/res/drawable-hdpi/divider_light.9.png b/SeriesGuide/src/main/res/drawable-hdpi/divider_light.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/divider_light.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/divider_light.9.png diff --git a/SeriesGuide/res/drawable-hdpi/firstrun_background.9.png b/SeriesGuide/src/main/res/drawable-hdpi/firstrun_background.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/firstrun_background.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/firstrun_background.9.png diff --git a/SeriesGuide/res/drawable-hdpi/fringe_test.jpg b/SeriesGuide/src/main/res/drawable-hdpi/fringe_test.jpg similarity index 100% rename from SeriesGuide/res/drawable-hdpi/fringe_test.jpg rename to SeriesGuide/src/main/res/drawable-hdpi/fringe_test.jpg diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_add.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_add.png new file mode 100644 index 0000000000..fd4c54c136 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_add.png differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_add_all.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_add_all.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_action_add_all.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_action_add_all.png diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_add_inverse.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_add_inverse.png new file mode 100644 index 0000000000..e43120b681 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_add_inverse.png differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_arrow_top.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_arrow_top.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_action_arrow_top.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_action_arrow_top.png diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_arrow_top_inverse.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_arrow_top_inverse.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_action_arrow_top_inverse.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_action_arrow_top_inverse.png diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_bargraph.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_bargraph.png new file mode 100644 index 0000000000..5cc1c39b9d Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_bargraph.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_calendar.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_calendar.png new file mode 100644 index 0000000000..7568ebc831 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_calendar.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_calendar_inverse.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_calendar_inverse.png new file mode 100644 index 0000000000..f0e3557b07 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_calendar_inverse.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_cancel.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_cancel.png new file mode 100644 index 0000000000..ff3101886b Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_cancel.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_cancel_inverse.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_cancel_inverse.png new file mode 100644 index 0000000000..eafbaceb4c Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_cancel_inverse.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_checkin.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_checkin.png new file mode 100644 index 0000000000..85456e99cf Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_checkin.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_checkin_inverse.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_checkin_inverse.png new file mode 100644 index 0000000000..051f985acd Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_checkin_inverse.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_collect.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_collect.png new file mode 100644 index 0000000000..1fc980351b Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_collect.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_collect_inverse.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_collect_inverse.png new file mode 100644 index 0000000000..4ffdf77788 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_collect_inverse.png differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_contextmenu.9.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_contextmenu.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_action_contextmenu.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_action_contextmenu.9.png diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_contextmenu_light.9.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_contextmenu_light.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_action_contextmenu_light.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_action_contextmenu_light.9.png diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_filter.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_filter.png new file mode 100644 index 0000000000..64e365b983 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_filter.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_filter_inverse.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_filter_inverse.png new file mode 100644 index 0000000000..fa16746318 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_filter_inverse.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_help.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_help.png new file mode 100644 index 0000000000..7d6766201f Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_help.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_list.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_list.png new file mode 100644 index 0000000000..385940a5b7 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_list.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_movie.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_movie.png new file mode 100644 index 0000000000..fbabad86fa Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_movie.png differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_refresh.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_refresh.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_action_refresh.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_action_refresh.png diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_search.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_search.png new file mode 100644 index 0000000000..06ed75b7ab Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_search.png differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_send.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_send.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_action_send.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_action_send.png diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_settings.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_settings.png new file mode 100644 index 0000000000..600edf94f2 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_settings.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_share.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_share.png new file mode 100644 index 0000000000..02dccf57bd Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_share.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_sort.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_sort.png new file mode 100644 index 0000000000..909553071e Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_sort.png differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_star_0.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_star_0.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_action_star_0.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_action_star_0.png diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_star_0_inverse.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_star_0_inverse.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_action_star_0_inverse.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_action_star_0_inverse.png diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_star_10.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_star_10.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_action_star_10.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_action_star_10.png diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_star_10_inverse.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_star_10_inverse.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_action_star_10_inverse.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_action_star_10_inverse.png diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_tick.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_tick.png new file mode 100644 index 0000000000..cadf116bdf Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_tick.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_tick_inverse.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_tick_inverse.png new file mode 100644 index 0000000000..95ee27457c Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_tick_inverse.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_tv.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_tv.png new file mode 100644 index 0000000000..e9dfa1c2f9 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_tv.png differ diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_action_upcoming.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_upcoming.png new file mode 100644 index 0000000000..4ff8837b64 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_upcoming.png differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_action_youtube.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_action_youtube.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_action_youtube.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_action_youtube.png diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_collected.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_collected.png new file mode 100644 index 0000000000..43b223b6e5 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_collected.png differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_drawer.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_drawer.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_drawer.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_drawer.png diff --git a/SeriesGuide/res/drawable-hdpi/ic_getglue.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_getglue.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_getglue.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_getglue.png diff --git a/SeriesGuide/res/drawable-hdpi/ic_notification.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_notification.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_notification.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_notification.png diff --git a/SeriesGuide/src/main/res/drawable-hdpi/ic_ticked.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_ticked.png new file mode 100644 index 0000000000..f18b10c870 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-hdpi/ic_ticked.png differ diff --git a/SeriesGuide/res/drawable-hdpi/ic_trakt.png b/SeriesGuide/src/main/res/drawable-hdpi/ic_trakt.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/ic_trakt.png rename to SeriesGuide/src/main/res/drawable-hdpi/ic_trakt.png diff --git a/SeriesGuide/res/drawable-hdpi/list_focused_holo.9.png b/SeriesGuide/src/main/res/drawable-hdpi/list_focused_holo.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/list_focused_holo.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/list_focused_holo.9.png diff --git a/SeriesGuide/res/drawable-hdpi/list_longpressed_holo.9.png b/SeriesGuide/src/main/res/drawable-hdpi/list_longpressed_holo.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/list_longpressed_holo.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/list_longpressed_holo.9.png diff --git a/SeriesGuide/res/drawable-hdpi/list_pressed_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-hdpi/list_pressed_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/list_pressed_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/list_pressed_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-hdpi/list_selector_disabled_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-hdpi/list_selector_disabled_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/list_selector_disabled_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/list_selector_disabled_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-hdpi/listwidget_ori_portrait.png b/SeriesGuide/src/main/res/drawable-hdpi/listwidget_ori_portrait.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/listwidget_ori_portrait.png rename to SeriesGuide/src/main/res/drawable-hdpi/listwidget_ori_portrait.png diff --git a/SeriesGuide/res/drawable-hdpi/next_episodes__large__ori_portrait.png b/SeriesGuide/src/main/res/drawable-hdpi/next_episodes__large__ori_portrait.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/next_episodes__large__ori_portrait.png rename to SeriesGuide/src/main/res/drawable-hdpi/next_episodes__large__ori_portrait.png diff --git a/SeriesGuide/res/drawable-hdpi/next_episodes__middle__ori_portrait.png b/SeriesGuide/src/main/res/drawable-hdpi/next_episodes__middle__ori_portrait.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/next_episodes__middle__ori_portrait.png rename to SeriesGuide/src/main/res/drawable-hdpi/next_episodes__middle__ori_portrait.png diff --git a/SeriesGuide/res/drawable-hdpi/next_episodes__small__ori_portrait.png b/SeriesGuide/src/main/res/drawable-hdpi/next_episodes__small__ori_portrait.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/next_episodes__small__ori_portrait.png rename to SeriesGuide/src/main/res/drawable-hdpi/next_episodes__small__ori_portrait.png diff --git a/SeriesGuide/res/drawable-hdpi/progress_bg_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-hdpi/progress_bg_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/progress_bg_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/progress_bg_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-hdpi/progress_bg_holo_light.9.png b/SeriesGuide/src/main/res/drawable-hdpi/progress_bg_holo_light.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/progress_bg_holo_light.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/progress_bg_holo_light.9.png diff --git a/SeriesGuide/res/drawable-hdpi/progress_primary_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-hdpi/progress_primary_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/progress_primary_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/progress_primary_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-hdpi/progress_primary_holo_light.9.png b/SeriesGuide/src/main/res/drawable-hdpi/progress_primary_holo_light.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/progress_primary_holo_light.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/progress_primary_holo_light.9.png diff --git a/SeriesGuide/res/drawable-hdpi/progress_secondary_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-hdpi/progress_secondary_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/progress_secondary_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/progress_secondary_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-hdpi/progress_secondary_holo_light.9.png b/SeriesGuide/src/main/res/drawable-hdpi/progress_secondary_holo_light.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/progress_secondary_holo_light.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/progress_secondary_holo_light.9.png diff --git a/SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo1.png b/SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo1.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo1.png rename to SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo1.png diff --git a/SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo2.png b/SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo2.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo2.png rename to SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo2.png diff --git a/SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo3.png b/SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo3.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo3.png rename to SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo3.png diff --git a/SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo4.png b/SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo4.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo4.png rename to SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo4.png diff --git a/SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo5.png b/SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo5.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo5.png rename to SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo5.png diff --git a/SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo6.png b/SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo6.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo6.png rename to SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo6.png diff --git a/SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo7.png b/SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo7.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo7.png rename to SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo7.png diff --git a/SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo8.png b/SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo8.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/progressbar_indeterminate_holo8.png rename to SeriesGuide/src/main/res/drawable-hdpi/progressbar_indeterminate_holo8.png diff --git a/SeriesGuide/res/drawable-hdpi/sg_actionbar_background.9.png b/SeriesGuide/src/main/res/drawable-hdpi/sg_actionbar_background.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/sg_actionbar_background.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/sg_actionbar_background.9.png diff --git a/SeriesGuide/res/drawable-hdpi/show_generic.png b/SeriesGuide/src/main/res/drawable-hdpi/show_generic.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/show_generic.png rename to SeriesGuide/src/main/res/drawable-hdpi/show_generic.png diff --git a/SeriesGuide/res/drawable-hdpi/spinner_ab_default_sg.9.png b/SeriesGuide/src/main/res/drawable-hdpi/spinner_ab_default_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/spinner_ab_default_sg.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/spinner_ab_default_sg.9.png diff --git a/SeriesGuide/res/drawable-hdpi/spinner_ab_disabled_sg.9.png b/SeriesGuide/src/main/res/drawable-hdpi/spinner_ab_disabled_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/spinner_ab_disabled_sg.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/spinner_ab_disabled_sg.9.png diff --git a/SeriesGuide/res/drawable-hdpi/spinner_ab_focused_sg.9.png b/SeriesGuide/src/main/res/drawable-hdpi/spinner_ab_focused_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/spinner_ab_focused_sg.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/spinner_ab_focused_sg.9.png diff --git a/SeriesGuide/res/drawable-hdpi/spinner_ab_pressed_sg.9.png b/SeriesGuide/src/main/res/drawable-hdpi/spinner_ab_pressed_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/spinner_ab_pressed_sg.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/spinner_ab_pressed_sg.9.png diff --git a/SeriesGuide/res/drawable-hdpi/stat_sys_download_anim0.png b/SeriesGuide/src/main/res/drawable-hdpi/stat_sys_download_anim0.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/stat_sys_download_anim0.png rename to SeriesGuide/src/main/res/drawable-hdpi/stat_sys_download_anim0.png diff --git a/SeriesGuide/res/drawable-hdpi/stat_sys_download_anim1.png b/SeriesGuide/src/main/res/drawable-hdpi/stat_sys_download_anim1.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/stat_sys_download_anim1.png rename to SeriesGuide/src/main/res/drawable-hdpi/stat_sys_download_anim1.png diff --git a/SeriesGuide/res/drawable-hdpi/stat_sys_download_anim2.png b/SeriesGuide/src/main/res/drawable-hdpi/stat_sys_download_anim2.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/stat_sys_download_anim2.png rename to SeriesGuide/src/main/res/drawable-hdpi/stat_sys_download_anim2.png diff --git a/SeriesGuide/res/drawable-hdpi/stat_sys_download_anim3.png b/SeriesGuide/src/main/res/drawable-hdpi/stat_sys_download_anim3.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/stat_sys_download_anim3.png rename to SeriesGuide/src/main/res/drawable-hdpi/stat_sys_download_anim3.png diff --git a/SeriesGuide/res/drawable-hdpi/stat_sys_download_anim4.png b/SeriesGuide/src/main/res/drawable-hdpi/stat_sys_download_anim4.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/stat_sys_download_anim4.png rename to SeriesGuide/src/main/res/drawable-hdpi/stat_sys_download_anim4.png diff --git a/SeriesGuide/res/drawable-hdpi/stat_sys_download_anim5.png b/SeriesGuide/src/main/res/drawable-hdpi/stat_sys_download_anim5.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/stat_sys_download_anim5.png rename to SeriesGuide/src/main/res/drawable-hdpi/stat_sys_download_anim5.png diff --git a/SeriesGuide/res/drawable-hdpi/tab_selected_focused_holo.9.png b/SeriesGuide/src/main/res/drawable-hdpi/tab_selected_focused_holo.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/tab_selected_focused_holo.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/tab_selected_focused_holo.9.png diff --git a/SeriesGuide/res/drawable-hdpi/tab_selected_holo.9.png b/SeriesGuide/src/main/res/drawable-hdpi/tab_selected_holo.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/tab_selected_holo.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/tab_selected_holo.9.png diff --git a/SeriesGuide/res/drawable-hdpi/tab_selected_pressed_holo.9.png b/SeriesGuide/src/main/res/drawable-hdpi/tab_selected_pressed_holo.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/tab_selected_pressed_holo.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/tab_selected_pressed_holo.9.png diff --git a/SeriesGuide/res/drawable-hdpi/tab_unselected_focused_holo.9.png b/SeriesGuide/src/main/res/drawable-hdpi/tab_unselected_focused_holo.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/tab_unselected_focused_holo.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/tab_unselected_focused_holo.9.png diff --git a/SeriesGuide/res/drawable-hdpi/tab_unselected_holo.9.png b/SeriesGuide/src/main/res/drawable-hdpi/tab_unselected_holo.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/tab_unselected_holo.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/tab_unselected_holo.9.png diff --git a/SeriesGuide/res/drawable-hdpi/tab_unselected_pressed_holo.9.png b/SeriesGuide/src/main/res/drawable-hdpi/tab_unselected_pressed_holo.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/tab_unselected_pressed_holo.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/tab_unselected_pressed_holo.9.png diff --git a/SeriesGuide/res/drawable-hdpi/textfield_activated_sg.9.png b/SeriesGuide/src/main/res/drawable-hdpi/textfield_activated_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/textfield_activated_sg.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/textfield_activated_sg.9.png diff --git a/SeriesGuide/res/drawable-hdpi/textfield_default_holo_light.9.png b/SeriesGuide/src/main/res/drawable-hdpi/textfield_default_holo_light.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/textfield_default_holo_light.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/textfield_default_holo_light.9.png diff --git a/SeriesGuide/res/drawable-hdpi/textfield_default_sg.9.png b/SeriesGuide/src/main/res/drawable-hdpi/textfield_default_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/textfield_default_sg.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/textfield_default_sg.9.png diff --git a/SeriesGuide/res/drawable-hdpi/textfield_disabled_focused_holo_light.9.png b/SeriesGuide/src/main/res/drawable-hdpi/textfield_disabled_focused_holo_light.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/textfield_disabled_focused_holo_light.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/textfield_disabled_focused_holo_light.9.png diff --git a/SeriesGuide/res/drawable-hdpi/textfield_disabled_focused_sg.9.png b/SeriesGuide/src/main/res/drawable-hdpi/textfield_disabled_focused_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/textfield_disabled_focused_sg.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/textfield_disabled_focused_sg.9.png diff --git a/SeriesGuide/res/drawable-hdpi/textfield_disabled_holo_light.9.png b/SeriesGuide/src/main/res/drawable-hdpi/textfield_disabled_holo_light.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/textfield_disabled_holo_light.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/textfield_disabled_holo_light.9.png diff --git a/SeriesGuide/res/drawable-hdpi/textfield_disabled_sg.9.png b/SeriesGuide/src/main/res/drawable-hdpi/textfield_disabled_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/textfield_disabled_sg.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/textfield_disabled_sg.9.png diff --git a/SeriesGuide/res/drawable-hdpi/textfield_focused_sg.9.png b/SeriesGuide/src/main/res/drawable-hdpi/textfield_focused_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/textfield_focused_sg.9.png rename to SeriesGuide/src/main/res/drawable-hdpi/textfield_focused_sg.9.png diff --git a/SeriesGuide/res/drawable-hdpi/trakt_heart.png b/SeriesGuide/src/main/res/drawable-hdpi/trakt_heart.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/trakt_heart.png rename to SeriesGuide/src/main/res/drawable-hdpi/trakt_heart.png diff --git a/SeriesGuide/res/drawable-hdpi/trakt_love_large.png b/SeriesGuide/src/main/res/drawable-hdpi/trakt_love_large.png similarity index 100% rename from SeriesGuide/res/drawable-hdpi/trakt_love_large.png rename to SeriesGuide/src/main/res/drawable-hdpi/trakt_love_large.png diff --git a/SeriesGuide/res/drawable-mdpi-v11/fastscroll_thumb_default.png b/SeriesGuide/src/main/res/drawable-mdpi-v11/fastscroll_thumb_default.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi-v11/fastscroll_thumb_default.png rename to SeriesGuide/src/main/res/drawable-mdpi-v11/fastscroll_thumb_default.png diff --git a/SeriesGuide/res/drawable-mdpi-v11/fastscroll_thumb_pressed.png b/SeriesGuide/src/main/res/drawable-mdpi-v11/fastscroll_thumb_pressed.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi-v11/fastscroll_thumb_pressed.png rename to SeriesGuide/src/main/res/drawable-mdpi-v11/fastscroll_thumb_pressed.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_check_off_disabled_focused_sg.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_check_off_disabled_focused_sg.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_check_off_disabled_focused_sg.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_check_off_disabled_focused_sg.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_check_off_disabled_sg.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_check_off_disabled_sg.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_check_off_disabled_sg.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_check_off_disabled_sg.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_check_off_focused_sg.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_check_off_focused_sg.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_check_off_focused_sg.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_check_off_focused_sg.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_check_off_pressed_sg.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_check_off_pressed_sg.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_check_off_pressed_sg.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_check_off_pressed_sg.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_check_off_sg.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_check_off_sg.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_check_off_sg.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_check_off_sg.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_check_on_disabled_focused_sg.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_check_on_disabled_focused_sg.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_check_on_disabled_focused_sg.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_check_on_disabled_focused_sg.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_check_on_disabled_sg.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_check_on_disabled_sg.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_check_on_disabled_sg.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_check_on_disabled_sg.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_check_on_focused_sg.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_check_on_focused_sg.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_check_on_focused_sg.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_check_on_focused_sg.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_check_on_pressed_sg.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_check_on_pressed_sg.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_check_on_pressed_sg.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_check_on_pressed_sg.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_check_on_sg.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_check_on_sg.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_check_on_sg.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_check_on_sg.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_default_disabled_focused_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_default_disabled_focused_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_default_disabled_focused_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_default_disabled_focused_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_default_disabled_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_default_disabled_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_default_disabled_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_default_disabled_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_default_focused_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_default_focused_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_default_focused_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_default_focused_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_default_normal_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_default_normal_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_default_normal_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_default_normal_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-mdpi/btn_default_pressed_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-mdpi/btn_default_pressed_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/btn_default_pressed_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/btn_default_pressed_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-mdpi/firstrun_background.9.png b/SeriesGuide/src/main/res/drawable-mdpi/firstrun_background.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/firstrun_background.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/firstrun_background.9.png diff --git a/SeriesGuide/res/drawable-mdpi/ic_action_add_all.png b/SeriesGuide/src/main/res/drawable-mdpi/ic_action_add_all.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/ic_action_add_all.png rename to SeriesGuide/src/main/res/drawable-mdpi/ic_action_add_all.png diff --git a/SeriesGuide/src/main/res/drawable-mdpi/ic_action_filter.png b/SeriesGuide/src/main/res/drawable-mdpi/ic_action_filter.png new file mode 100644 index 0000000000..fdd8b44178 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-mdpi/ic_action_filter.png differ diff --git a/SeriesGuide/src/main/res/drawable-mdpi/ic_action_filter_inverse.png b/SeriesGuide/src/main/res/drawable-mdpi/ic_action_filter_inverse.png new file mode 100644 index 0000000000..9ab51d2e55 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-mdpi/ic_action_filter_inverse.png differ diff --git a/SeriesGuide/res/drawable-mdpi/ic_drawer.png b/SeriesGuide/src/main/res/drawable-mdpi/ic_drawer.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/ic_drawer.png rename to SeriesGuide/src/main/res/drawable-mdpi/ic_drawer.png diff --git a/SeriesGuide/res/drawable-mdpi/list_focused_holo.9.png b/SeriesGuide/src/main/res/drawable-mdpi/list_focused_holo.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/list_focused_holo.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/list_focused_holo.9.png diff --git a/SeriesGuide/res/drawable-mdpi/list_selector_disabled_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-mdpi/list_selector_disabled_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/list_selector_disabled_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/list_selector_disabled_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-mdpi/progress_bg_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-mdpi/progress_bg_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/progress_bg_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/progress_bg_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-mdpi/progress_primary_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-mdpi/progress_primary_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/progress_primary_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/progress_primary_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-mdpi/progress_secondary_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-mdpi/progress_secondary_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/progress_secondary_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/progress_secondary_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo1.png b/SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo1.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo1.png rename to SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo1.png diff --git a/SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo2.png b/SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo2.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo2.png rename to SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo2.png diff --git a/SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo3.png b/SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo3.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo3.png rename to SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo3.png diff --git a/SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo4.png b/SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo4.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo4.png rename to SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo4.png diff --git a/SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo5.png b/SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo5.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo5.png rename to SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo5.png diff --git a/SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo6.png b/SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo6.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo6.png rename to SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo6.png diff --git a/SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo7.png b/SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo7.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo7.png rename to SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo7.png diff --git a/SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo8.png b/SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo8.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/progressbar_indeterminate_holo8.png rename to SeriesGuide/src/main/res/drawable-mdpi/progressbar_indeterminate_holo8.png diff --git a/SeriesGuide/res/drawable-mdpi/show_generic.png b/SeriesGuide/src/main/res/drawable-mdpi/show_generic.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/show_generic.png rename to SeriesGuide/src/main/res/drawable-mdpi/show_generic.png diff --git a/SeriesGuide/res/drawable-mdpi/spinner_ab_default_sg.9.png b/SeriesGuide/src/main/res/drawable-mdpi/spinner_ab_default_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/spinner_ab_default_sg.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/spinner_ab_default_sg.9.png diff --git a/SeriesGuide/res/drawable-mdpi/spinner_ab_disabled_sg.9.png b/SeriesGuide/src/main/res/drawable-mdpi/spinner_ab_disabled_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/spinner_ab_disabled_sg.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/spinner_ab_disabled_sg.9.png diff --git a/SeriesGuide/res/drawable-mdpi/spinner_ab_focused_sg.9.png b/SeriesGuide/src/main/res/drawable-mdpi/spinner_ab_focused_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/spinner_ab_focused_sg.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/spinner_ab_focused_sg.9.png diff --git a/SeriesGuide/res/drawable-mdpi/spinner_ab_pressed_sg.9.png b/SeriesGuide/src/main/res/drawable-mdpi/spinner_ab_pressed_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-mdpi/spinner_ab_pressed_sg.9.png rename to SeriesGuide/src/main/res/drawable-mdpi/spinner_ab_pressed_sg.9.png diff --git a/SeriesGuide/res/drawable-v11/fastscroll_thumb.xml b/SeriesGuide/src/main/res/drawable-v11/fastscroll_thumb.xml similarity index 100% rename from SeriesGuide/res/drawable-v11/fastscroll_thumb.xml rename to SeriesGuide/src/main/res/drawable-v11/fastscroll_thumb.xml diff --git a/SeriesGuide/res/drawable-xhdpi-v11/fastscroll_thumb_default.png b/SeriesGuide/src/main/res/drawable-xhdpi-v11/fastscroll_thumb_default.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi-v11/fastscroll_thumb_default.png rename to SeriesGuide/src/main/res/drawable-xhdpi-v11/fastscroll_thumb_default.png diff --git a/SeriesGuide/res/drawable-xhdpi-v11/fastscroll_thumb_pressed.png b/SeriesGuide/src/main/res/drawable-xhdpi-v11/fastscroll_thumb_pressed.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi-v11/fastscroll_thumb_pressed.png rename to SeriesGuide/src/main/res/drawable-xhdpi-v11/fastscroll_thumb_pressed.png diff --git a/SeriesGuide/res/drawable-xhdpi-v11/ic_notification.png b/SeriesGuide/src/main/res/drawable-xhdpi-v11/ic_notification.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi-v11/ic_notification.png rename to SeriesGuide/src/main/res/drawable-xhdpi-v11/ic_notification.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_check_off_disabled_focused_sg.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_check_off_disabled_focused_sg.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_check_off_disabled_focused_sg.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_check_off_disabled_focused_sg.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_check_off_disabled_sg.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_check_off_disabled_sg.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_check_off_disabled_sg.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_check_off_disabled_sg.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_check_off_focused_sg.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_check_off_focused_sg.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_check_off_focused_sg.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_check_off_focused_sg.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_check_off_pressed_sg.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_check_off_pressed_sg.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_check_off_pressed_sg.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_check_off_pressed_sg.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_check_off_sg.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_check_off_sg.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_check_off_sg.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_check_off_sg.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_check_on_disabled_focused_sg.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_check_on_disabled_focused_sg.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_check_on_disabled_focused_sg.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_check_on_disabled_focused_sg.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_check_on_disabled_sg.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_check_on_disabled_sg.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_check_on_disabled_sg.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_check_on_disabled_sg.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_check_on_focused_sg.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_check_on_focused_sg.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_check_on_focused_sg.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_check_on_focused_sg.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_check_on_pressed_sg.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_check_on_pressed_sg.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_check_on_pressed_sg.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_check_on_pressed_sg.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_check_on_sg.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_check_on_sg.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_check_on_sg.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_check_on_sg.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_default_disabled_focused_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_default_disabled_focused_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_default_disabled_focused_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_default_disabled_focused_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_default_disabled_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_default_disabled_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_default_disabled_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_default_disabled_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_default_focused_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_default_focused_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_default_focused_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_default_focused_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_default_normal_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_default_normal_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_default_normal_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_default_normal_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-xhdpi/btn_default_pressed_holo_dark.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/btn_default_pressed_holo_dark.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/btn_default_pressed_holo_dark.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/btn_default_pressed_holo_dark.9.png diff --git a/SeriesGuide/res/drawable-xhdpi/divider.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/divider.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/divider.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/divider.9.png diff --git a/SeriesGuide/res/drawable-xhdpi/divider_light.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/divider_light.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/divider_light.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/divider_light.9.png diff --git a/SeriesGuide/res/drawable-xhdpi/firstrun_background.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/firstrun_background.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/firstrun_background.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/firstrun_background.9.png diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_add.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_add.png new file mode 100644 index 0000000000..b1badb1fe4 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_add.png differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_add_all.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_add_all.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/ic_action_add_all.png rename to SeriesGuide/src/main/res/drawable-xhdpi/ic_action_add_all.png diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_add_inverse.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_add_inverse.png new file mode 100644 index 0000000000..122ad5d9a0 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_add_inverse.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_bargraph.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_bargraph.png new file mode 100644 index 0000000000..e8c03b553e Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_bargraph.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_calendar.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_calendar.png new file mode 100644 index 0000000000..41f962d749 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_calendar.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_calendar_inverse.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_calendar_inverse.png new file mode 100644 index 0000000000..e6f2d4d580 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_calendar_inverse.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_cancel.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_cancel.png new file mode 100644 index 0000000000..bb349a0d3b Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_cancel.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_cancel_inverse.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_cancel_inverse.png new file mode 100644 index 0000000000..c091f9f08b Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_cancel_inverse.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_checkin.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_checkin.png new file mode 100644 index 0000000000..f8f183fb4c Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_checkin.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_checkin_inverse.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_checkin_inverse.png new file mode 100644 index 0000000000..944fbc619d Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_checkin_inverse.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_collect.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_collect.png new file mode 100644 index 0000000000..ec0057a249 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_collect.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_collect_inverse.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_collect_inverse.png new file mode 100644 index 0000000000..4909c670d6 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_collect_inverse.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_filter.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_filter.png new file mode 100644 index 0000000000..1554527e8f Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_filter.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_filter_inverse.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_filter_inverse.png new file mode 100644 index 0000000000..948f7a5b05 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_filter_inverse.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_help.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_help.png new file mode 100644 index 0000000000..d2fa20c568 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_help.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_list.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_list.png new file mode 100644 index 0000000000..be258b4081 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_list.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_movie.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_movie.png new file mode 100644 index 0000000000..10ec8bb3b4 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_movie.png differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_refresh.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_refresh.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/ic_action_refresh.png rename to SeriesGuide/src/main/res/drawable-xhdpi/ic_action_refresh.png diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_search.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_search.png new file mode 100644 index 0000000000..92408a0715 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_search.png differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_send.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_send.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/ic_action_send.png rename to SeriesGuide/src/main/res/drawable-xhdpi/ic_action_send.png diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_settings.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_settings.png new file mode 100644 index 0000000000..a32ac19970 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_settings.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_share.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_share.png new file mode 100644 index 0000000000..3cf9fe2004 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_share.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_sort.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_sort.png new file mode 100644 index 0000000000..389fe1d718 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_sort.png differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_star_0.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_star_0.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/ic_action_star_0.png rename to SeriesGuide/src/main/res/drawable-xhdpi/ic_action_star_0.png diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_star_0_inverse.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_star_0_inverse.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/ic_action_star_0_inverse.png rename to SeriesGuide/src/main/res/drawable-xhdpi/ic_action_star_0_inverse.png diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_star_10.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_star_10.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/ic_action_star_10.png rename to SeriesGuide/src/main/res/drawable-xhdpi/ic_action_star_10.png diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_star_10_inverse.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_star_10_inverse.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/ic_action_star_10_inverse.png rename to SeriesGuide/src/main/res/drawable-xhdpi/ic_action_star_10_inverse.png diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_tick.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_tick.png new file mode 100644 index 0000000000..143b40878b Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_tick.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_tick_inverse.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_tick_inverse.png new file mode 100644 index 0000000000..d11962c5c6 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_tick_inverse.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_tv.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_tv.png new file mode 100644 index 0000000000..663abfc8c4 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_tv.png differ diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_upcoming.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_upcoming.png new file mode 100644 index 0000000000..5ceb004f02 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_upcoming.png differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_action_youtube.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_action_youtube.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/ic_action_youtube.png rename to SeriesGuide/src/main/res/drawable-xhdpi/ic_action_youtube.png diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_collected.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_collected.png new file mode 100644 index 0000000000..934eb53f09 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_collected.png differ diff --git a/SeriesGuide/res/drawable-xhdpi/ic_drawer.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_drawer.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/ic_drawer.png rename to SeriesGuide/src/main/res/drawable-xhdpi/ic_drawer.png diff --git a/SeriesGuide/res/drawable-xhdpi/ic_launcher.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_launcher.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/ic_launcher.png rename to SeriesGuide/src/main/res/drawable-xhdpi/ic_launcher.png diff --git a/SeriesGuide/src/main/res/drawable-xhdpi/ic_ticked.png b/SeriesGuide/src/main/res/drawable-xhdpi/ic_ticked.png new file mode 100644 index 0000000000..696a927c81 Binary files /dev/null and b/SeriesGuide/src/main/res/drawable-xhdpi/ic_ticked.png differ diff --git a/SeriesGuide/res/drawable-xhdpi/list_focused_holo.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/list_focused_holo.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/list_focused_holo.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/list_focused_holo.9.png diff --git a/SeriesGuide/res/drawable-xhdpi/progress_bg_holo_light.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/progress_bg_holo_light.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/progress_bg_holo_light.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/progress_bg_holo_light.9.png diff --git a/SeriesGuide/res/drawable-xhdpi/progress_primary_holo_light.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/progress_primary_holo_light.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/progress_primary_holo_light.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/progress_primary_holo_light.9.png diff --git a/SeriesGuide/res/drawable-xhdpi/progress_secondary_holo_light.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/progress_secondary_holo_light.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/progress_secondary_holo_light.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/progress_secondary_holo_light.9.png diff --git a/SeriesGuide/res/drawable-xhdpi/spinner_ab_default_sg.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/spinner_ab_default_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/spinner_ab_default_sg.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/spinner_ab_default_sg.9.png diff --git a/SeriesGuide/res/drawable-xhdpi/spinner_ab_disabled_sg.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/spinner_ab_disabled_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/spinner_ab_disabled_sg.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/spinner_ab_disabled_sg.9.png diff --git a/SeriesGuide/res/drawable-xhdpi/spinner_ab_focused_sg.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/spinner_ab_focused_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/spinner_ab_focused_sg.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/spinner_ab_focused_sg.9.png diff --git a/SeriesGuide/res/drawable-xhdpi/spinner_ab_pressed_sg.9.png b/SeriesGuide/src/main/res/drawable-xhdpi/spinner_ab_pressed_sg.9.png similarity index 100% rename from SeriesGuide/res/drawable-xhdpi/spinner_ab_pressed_sg.9.png rename to SeriesGuide/src/main/res/drawable-xhdpi/spinner_ab_pressed_sg.9.png diff --git a/SeriesGuide/res/drawable/activated_background_sg.xml b/SeriesGuide/src/main/res/drawable/activated_background_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/activated_background_sg.xml rename to SeriesGuide/src/main/res/drawable/activated_background_sg.xml diff --git a/SeriesGuide/res/drawable/appwidget_button_center.xml b/SeriesGuide/src/main/res/drawable/appwidget_button_center.xml similarity index 100% rename from SeriesGuide/res/drawable/appwidget_button_center.xml rename to SeriesGuide/src/main/res/drawable/appwidget_button_center.xml diff --git a/SeriesGuide/res/drawable/btn_check_holo_light.xml b/SeriesGuide/src/main/res/drawable/btn_check_holo_light.xml similarity index 100% rename from SeriesGuide/res/drawable/btn_check_holo_light.xml rename to SeriesGuide/src/main/res/drawable/btn_check_holo_light.xml diff --git a/SeriesGuide/res/drawable/btn_check_sg.xml b/SeriesGuide/src/main/res/drawable/btn_check_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/btn_check_sg.xml rename to SeriesGuide/src/main/res/drawable/btn_check_sg.xml diff --git a/SeriesGuide/res/drawable/btn_default_holo_dark.xml b/SeriesGuide/src/main/res/drawable/btn_default_holo_dark.xml similarity index 100% rename from SeriesGuide/res/drawable/btn_default_holo_dark.xml rename to SeriesGuide/src/main/res/drawable/btn_default_holo_dark.xml diff --git a/SeriesGuide/res/drawable/btn_default_sg.xml b/SeriesGuide/src/main/res/drawable/btn_default_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/btn_default_sg.xml rename to SeriesGuide/src/main/res/drawable/btn_default_sg.xml diff --git a/SeriesGuide/res/drawable/btn_disabled_focused_sg.xml b/SeriesGuide/src/main/res/drawable/btn_disabled_focused_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/btn_disabled_focused_sg.xml rename to SeriesGuide/src/main/res/drawable/btn_disabled_focused_sg.xml diff --git a/SeriesGuide/res/drawable/btn_disabled_sg.xml b/SeriesGuide/src/main/res/drawable/btn_disabled_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/btn_disabled_sg.xml rename to SeriesGuide/src/main/res/drawable/btn_disabled_sg.xml diff --git a/SeriesGuide/res/drawable/btn_focused_sg.xml b/SeriesGuide/src/main/res/drawable/btn_focused_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/btn_focused_sg.xml rename to SeriesGuide/src/main/res/drawable/btn_focused_sg.xml diff --git a/SeriesGuide/res/drawable/btn_longpressed_sg.xml b/SeriesGuide/src/main/res/drawable/btn_longpressed_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/btn_longpressed_sg.xml rename to SeriesGuide/src/main/res/drawable/btn_longpressed_sg.xml diff --git a/SeriesGuide/res/drawable/btn_pressed_sg.xml b/SeriesGuide/src/main/res/drawable/btn_pressed_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/btn_pressed_sg.xml rename to SeriesGuide/src/main/res/drawable/btn_pressed_sg.xml diff --git a/SeriesGuide/res/drawable/edit_text_holo_light.xml b/SeriesGuide/src/main/res/drawable/edit_text_holo_light.xml similarity index 100% rename from SeriesGuide/res/drawable/edit_text_holo_light.xml rename to SeriesGuide/src/main/res/drawable/edit_text_holo_light.xml diff --git a/SeriesGuide/res/drawable/edit_text_sg.xml b/SeriesGuide/src/main/res/drawable/edit_text_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/edit_text_sg.xml rename to SeriesGuide/src/main/res/drawable/edit_text_sg.xml diff --git a/SeriesGuide/res/drawable/list_focused_sg.xml b/SeriesGuide/src/main/res/drawable/list_focused_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/list_focused_sg.xml rename to SeriesGuide/src/main/res/drawable/list_focused_sg.xml diff --git a/SeriesGuide/res/drawable/list_longpressed_sg.xml b/SeriesGuide/src/main/res/drawable/list_longpressed_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/list_longpressed_sg.xml rename to SeriesGuide/src/main/res/drawable/list_longpressed_sg.xml diff --git a/SeriesGuide/res/drawable/list_pressed_sg.xml b/SeriesGuide/src/main/res/drawable/list_pressed_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/list_pressed_sg.xml rename to SeriesGuide/src/main/res/drawable/list_pressed_sg.xml diff --git a/SeriesGuide/res/drawable/list_selector_background_transition_holo_dark.xml b/SeriesGuide/src/main/res/drawable/list_selector_background_transition_holo_dark.xml similarity index 100% rename from SeriesGuide/res/drawable/list_selector_background_transition_holo_dark.xml rename to SeriesGuide/src/main/res/drawable/list_selector_background_transition_holo_dark.xml diff --git a/SeriesGuide/res/drawable/list_selector_background_transition_sg.xml b/SeriesGuide/src/main/res/drawable/list_selector_background_transition_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/list_selector_background_transition_sg.xml rename to SeriesGuide/src/main/res/drawable/list_selector_background_transition_sg.xml diff --git a/SeriesGuide/res/drawable/list_selector_holo_dark.xml b/SeriesGuide/src/main/res/drawable/list_selector_holo_dark.xml similarity index 100% rename from SeriesGuide/res/drawable/list_selector_holo_dark.xml rename to SeriesGuide/src/main/res/drawable/list_selector_holo_dark.xml diff --git a/SeriesGuide/res/drawable/list_selector_sg.xml b/SeriesGuide/src/main/res/drawable/list_selector_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/list_selector_sg.xml rename to SeriesGuide/src/main/res/drawable/list_selector_sg.xml diff --git a/SeriesGuide/res/drawable/progress_horizontal_sg.xml b/SeriesGuide/src/main/res/drawable/progress_horizontal_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/progress_horizontal_sg.xml rename to SeriesGuide/src/main/res/drawable/progress_horizontal_sg.xml diff --git a/SeriesGuide/res/drawable/progress_horizontal_sg_light.xml b/SeriesGuide/src/main/res/drawable/progress_horizontal_sg_light.xml similarity index 100% rename from SeriesGuide/res/drawable/progress_horizontal_sg_light.xml rename to SeriesGuide/src/main/res/drawable/progress_horizontal_sg_light.xml diff --git a/SeriesGuide/res/drawable/progress_indeterminate_horizontal_sg.xml b/SeriesGuide/src/main/res/drawable/progress_indeterminate_horizontal_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/progress_indeterminate_horizontal_sg.xml rename to SeriesGuide/src/main/res/drawable/progress_indeterminate_horizontal_sg.xml diff --git a/SeriesGuide/res/drawable/spinner_background_ab_sg.xml b/SeriesGuide/src/main/res/drawable/spinner_background_ab_sg.xml similarity index 100% rename from SeriesGuide/res/drawable/spinner_background_ab_sg.xml rename to SeriesGuide/src/main/res/drawable/spinner_background_ab_sg.xml diff --git a/SeriesGuide/res/drawable/stat_sys_download.xml b/SeriesGuide/src/main/res/drawable/stat_sys_download.xml similarity index 100% rename from SeriesGuide/res/drawable/stat_sys_download.xml rename to SeriesGuide/src/main/res/drawable/stat_sys_download.xml diff --git a/SeriesGuide/res/drawable/tab_indicator.xml b/SeriesGuide/src/main/res/drawable/tab_indicator.xml similarity index 100% rename from SeriesGuide/res/drawable/tab_indicator.xml rename to SeriesGuide/src/main/res/drawable/tab_indicator.xml diff --git a/SeriesGuide/res/interpolator/decelerate_quint.xml b/SeriesGuide/src/main/res/interpolator/decelerate_quint.xml similarity index 100% rename from SeriesGuide/res/interpolator/decelerate_quint.xml rename to SeriesGuide/src/main/res/interpolator/decelerate_quint.xml diff --git a/SeriesGuide/res/layout-v11/appwidget_v11.xml b/SeriesGuide/src/main/res/layout-v11/appwidget_v11.xml similarity index 100% rename from SeriesGuide/res/layout-v11/appwidget_v11.xml rename to SeriesGuide/src/main/res/layout-v11/appwidget_v11.xml diff --git a/SeriesGuide/res/layout/actionbar_spinner_item.xml b/SeriesGuide/src/main/res/layout/actionbar_spinner_item.xml similarity index 100% rename from SeriesGuide/res/layout/actionbar_spinner_item.xml rename to SeriesGuide/src/main/res/layout/actionbar_spinner_item.xml diff --git a/SeriesGuide/res/layout/activity_fix_get_glue.xml b/SeriesGuide/src/main/res/layout/activity_fix_get_glue.xml similarity index 100% rename from SeriesGuide/res/layout/activity_fix_get_glue.xml rename to SeriesGuide/src/main/res/layout/activity_fix_get_glue.xml diff --git a/SeriesGuide/src/main/res/layout/activity_migration.xml b/SeriesGuide/src/main/res/layout/activity_migration.xml new file mode 100644 index 0000000000..5bcb665b3f --- /dev/null +++ b/SeriesGuide/src/main/res/layout/activity_migration.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + android:text="@string/trakt_download" /> - + android:text="@string/trakt_upload_hint" /> + android:text="@string/trakt_upload" /> - + android:text="@string/trakt_syncunwatched" /> - + android:visibility="gone" /> - + android:visibility="gone" /> \ No newline at end of file diff --git a/SeriesGuide/res/layout/traktaddfragment.xml b/SeriesGuide/src/main/res/layout/traktaddfragment.xml similarity index 100% rename from SeriesGuide/res/layout/traktaddfragment.xml rename to SeriesGuide/src/main/res/layout/traktaddfragment.xml diff --git a/SeriesGuide/res/layout/tvdbaddfragment.xml b/SeriesGuide/src/main/res/layout/tvdbaddfragment.xml similarity index 97% rename from SeriesGuide/res/layout/tvdbaddfragment.xml rename to SeriesGuide/src/main/res/layout/tvdbaddfragment.xml index 027d818f6d..be0f21106e 100644 --- a/SeriesGuide/res/layout/tvdbaddfragment.xml +++ b/SeriesGuide/src/main/res/layout/tvdbaddfragment.xml @@ -33,7 +33,7 @@ android:layout_height="48dp" android:background="?attr/custom_list_selector" android:contentDescription="@string/search_button" - android:src="@android:drawable/ic_menu_close_clear_cancel" /> + android:src="?attr/drawableCancel" /> + + + + + + + + \ No newline at end of file diff --git a/SeriesGuide/res/menu/overview_menu.xml b/SeriesGuide/src/main/res/menu/overview_fragment_menu.xml similarity index 58% rename from SeriesGuide/res/menu/overview_menu.xml rename to SeriesGuide/src/main/res/menu/overview_fragment_menu.xml index d8d9933033..4a4427402f 100644 --- a/SeriesGuide/res/menu/overview_menu.xml +++ b/SeriesGuide/src/main/res/menu/overview_fragment_menu.xml @@ -13,16 +13,5 @@ android:orderInCategory="1" android:showAsAction="ifRoom" android:title="@string/share_episode"/> - - \ No newline at end of file diff --git a/SeriesGuide/res/menu/search_menu.xml b/SeriesGuide/src/main/res/menu/search_menu.xml similarity index 100% rename from SeriesGuide/res/menu/search_menu.xml rename to SeriesGuide/src/main/res/menu/search_menu.xml diff --git a/SeriesGuide/res/menu/seasonlist_menu.xml b/SeriesGuide/src/main/res/menu/seasonlist_menu.xml similarity index 100% rename from SeriesGuide/res/menu/seasonlist_menu.xml rename to SeriesGuide/src/main/res/menu/seasonlist_menu.xml diff --git a/SeriesGuide/res/menu/seriesguide_menu.xml b/SeriesGuide/src/main/res/menu/seriesguide_menu.xml similarity index 62% rename from SeriesGuide/res/menu/seriesguide_menu.xml rename to SeriesGuide/src/main/res/menu/seriesguide_menu.xml index d539c091eb..afd3141b4a 100644 --- a/SeriesGuide/res/menu/seriesguide_menu.xml +++ b/SeriesGuide/src/main/res/menu/seriesguide_menu.xml @@ -1,41 +1,35 @@ - + + android:showAsAction="always" + android:title="@string/action_shows_add" /> - + android:title="@string/search_hint" /> + android:title="@string/menu_updateart" /> + android:title="@string/menu_update_delta" /> + android:title="@string/updateall_yes" /> diff --git a/SeriesGuide/res/menu/showinfo_menu.xml b/SeriesGuide/src/main/res/menu/showinfo_menu.xml similarity index 86% rename from SeriesGuide/res/menu/showinfo_menu.xml rename to SeriesGuide/src/main/res/menu/showinfo_menu.xml index 6567bd6d22..80f5d7eb7f 100644 --- a/SeriesGuide/res/menu/showinfo_menu.xml +++ b/SeriesGuide/src/main/res/menu/showinfo_menu.xml @@ -4,13 +4,13 @@ diff --git a/SeriesGuide/src/main/res/menu/shows_menu.xml b/SeriesGuide/src/main/res/menu/shows_menu.xml new file mode 100644 index 0000000000..5c18e333b3 --- /dev/null +++ b/SeriesGuide/src/main/res/menu/shows_menu.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SeriesGuide/res/menu/trakt_library_menu.xml b/SeriesGuide/src/main/res/menu/trakt_library_menu.xml similarity index 100% rename from SeriesGuide/res/menu/trakt_library_menu.xml rename to SeriesGuide/src/main/res/menu/trakt_library_menu.xml diff --git a/SeriesGuide/res/menu/widget_config_menu.xml b/SeriesGuide/src/main/res/menu/widget_config_menu.xml similarity index 100% rename from SeriesGuide/res/menu/widget_config_menu.xml rename to SeriesGuide/src/main/res/menu/widget_config_menu.xml diff --git a/SeriesGuide/res/values-ar/strings.xml b/SeriesGuide/src/main/res/values-ar/strings.xml similarity index 76% rename from SeriesGuide/res/values-ar/strings.xml rename to SeriesGuide/src/main/res/values-ar/strings.xml index 3cc4dedadf..e6d8aacb84 100644 --- a/SeriesGuide/res/values-ar/strings.xml +++ b/SeriesGuide/src/main/res/values-ar/strings.xml @@ -1,12 +1,12 @@ - Show + العرض الحلقة - Episode %s + الحلقة الحلقات الموسم - Season %s + الموسم المواسم غير معرو٠.تمت مشاهدتها @@ -14,7 +14,7 @@ حلقات خاصة البحث ÙÙŠ الحلقات مشاركة الحلقة - Share show + مشاركة العرض Ùحص الحلقات نظرة عامة @@ -32,39 +32,38 @@ إغلاق Ø­Ùظ التحديد خطأ ÙÙŠ الاتصال. حاول لاحقاً. - No app available to handle this. - Only available with X Subscription + ليس هناك تطبيق متاح للتعامل مع هذا. + متاح Ùقط على النسخة المدÙوعة مسلسلات قوائم النشاط Ø£Ùلام الإحصائيات بحث - إضاÙØ© مسلسل إعدادات مساعدة التعليقات - Comments + التعليقات أكتب تعليق(بالإنجليزي) تعليق تنبيه أكتب أول تعليق تعليقات لـ %s تحديث تلقائي - Watchlist (trakt) - Add to watchlist - Remove from watchlist - Added to watchlist - Removed from watchlist + قائمة المشاهدة (تراكت) + إضاÙØ© لقائمة المشاهدة + إلزالة من قائمة المشاهدة + تمت الإضاÙØ© إلى قائمة المشاهدة + تمت الإزالة من قائمة المشاهدة اكتب عنوان الÙيلم البحث عن Ùيلم أعلاه. - You have no internet connection or not added movies to your trakt watchlist. + لايوجدلديك إتصال بالإنترنت أو لم تقم بإضاÙØ© Ø£Ùلام إلى قائمة المشاهدة على تراكت. مقتطÙات - %s with next episodes - %s continuing - %s watched - Runtime of all watched episodes - Your rating + مع الحلقات القادمة + مستمرة + تمت مشاهدتها + مجموع مشاهدة جميع الحلقات + تقييمك !أعجبني ):لم يعجبني رهيب @@ -75,10 +74,10 @@ جيد ممتاز رائع - ABSOLUTE + مطلق DVD - Release date - Release date unknown + تاريخ الإصدار + تاريخ الإصدار غير معرو٠حلقة دي ÙÙŠ دي الممثلون بثت أول مرة @@ -92,8 +91,8 @@ مستمر انتهى آخر تحرير//TVDb - Watch - More + شاهد + المزيد ترتيب حسب (تحديث (الكل (تحديث (غير المحدثة Ùقط @@ -110,17 +109,15 @@ تم مشاهدة جميع ما بÙØ« سابقاً تجميع الحلقات لم يتم بعد جمع الحلقة - Collected all - Collected none - Submitting to trakt. + جمع الكل + لم يتم جمع شئ + تقديم إلى تراكت. نظر %s. لم ينظر %s. %s تم جمعها. %s لم يتم جمعها. لا يوجد عرض هنا أو جهازك غير متصل بالشبكة - انظر ÙÙŠ اللائحة Ùوق لإضاÙØ© مسلسلات - اضغط مطولا على المسلسل لإضاÙته للمÙضلة - اضغط مطولا على المسلسل لاخÙائه من هنا + Remove all filters هل تريد حقاً إزالة %sØŸ لا يمكن إكمال الطلب، أزل %s من القائمة أولاً. إزالة @@ -134,6 +131,16 @@ إظهار مسلسل مخÙÙŠ مسلسل غير مخÙÙŠ + Add show + Filter shows + المÙضلة + Unwatched + القادم + Hidden + Sort shows + Title + Next episode + Favorites first القادم مؤخراً الأصداقاء @@ -142,16 +149,16 @@ .لا توجد حلقات حالية برامجك المÙضلة Ùقط تبديل المÙشاهدة - Infinite activity - Updating… - To update connect to the internet. + النشاط اللانهائي + جاري التحديث + ليتم التحديث إتصل بالإنترنت. To update connect to WiFi or allow other connections in Settings. التحديث قيد التقدم, حاول مرة أخرى. تحميل الأغلÙØ© .بعض الأغلÙØ© لم تÙحمّل, حاول مرة اخرى لاحقاً تحميل الملصقات... .(تحميل الأغلÙØ© يتطلب تخزين خارجي (بطاقة إس دي - on %s + ÙÙŠ الحلقات لم تÙشاهد تم مشاهدة جميع الحلقات الحلقة لم تÙشاهد @@ -185,8 +192,8 @@ إدارة القوائم إزالة من القائمة يمكنك إضاÙØ© عروض أو المواسم أو الحلقات لهذه القائمة. - traktإنصل ب - trakt!متصل ب + إتصل بالتراكت + متصل بالتراكت! أض٠مسلسلات من مكتبتك إظهار المكتبة الخاصة بك إرÙع قائمة مسلسلاتك الخاصة @@ -225,9 +232,9 @@ شكل التطبيق أخرى تشغيل التحديث التلقائي - Periodically update your shows - Turn on Auto Backup - Weekly backup of your show database into the Download folder + تحديث برامجك بشكل دوري + تÙعيل النسخ الإحتياطي التلقائي + نسخ أسبوعي لقاعدة برامجك ÙÙŠ مجلد التحميل النسخ الاحتياطي / الاستعادة النسخ الاحتياطي أو استعادة مسلسلاتك العروض القادمة خلال ... @@ -241,16 +248,16 @@ إخÙاء الصور (إخÙاء الصور من معرض الصور الخاص بك (يتطلب إعادة التشغيل Backup will export your shows, seasons, episodes and lists to a JSON file into the folder below.\nTo Restore make sure the JSON files created by backup are in the folder below. - Include all meta-data like descriptions, actors and ratings. - Backup folder - Database version + تشمل جميع البيانات الÙوقية مثل الوصÙØŒ والممثلين ودرجات التقييم. + مجلد النسخ الإحتياطي + إصدار قاعدة البيانات .لا يمكن عمل نسخة احتياطية. مجلد النسخة الاحتياطية غير موجود النسخ الاحتياطي لقاعدة البيانات... نجاح عملية النسخ الاحتياطي. Ùشل النسخ الاحتياطي. استعادة قاعدة بيانات... .لا يمكن استعادة النسخة الاحتياطية. مجلد النسخة الاحتياطية غير متاح - There is no readable backup file. + لا يوجد مل٠نسخ إحتياطي للقراءة. .مل٠النسخ الاحتياطي غير قابل للقراءة قد تكون النسخة الاحتياطية قديمة جداً أو Ùارغة. ملاحظة: قم باستعادة ما قبل النسخة2.0 ÙÙŠ النسخة 1.9.0 أولاً .استعادة النسخ الاحتياطي بنجاح @@ -264,6 +271,8 @@ استعادة لا تقم بالإستعادة I understand my current shows and lists will be lost! + Last Auto Backup: %s + Restore Auto Backup إدخال No services enabled, check in once within SeriesGuide. اكتب اسم عرض @@ -280,8 +289,8 @@ Check into اختر واحد أدناه هل تبحث عن شئ آخر؟ - Rate episode - Rate show + تقييم الحلقة + تقييم العرض عبر تطبيقات أخرى تجاهل You are already checked into another episode or movie. Either override the previous check-in or wait %s and try again. @@ -306,8 +315,8 @@ لبدء الاستخدام اضغط %s قادم الحلقات الجديدة القادمة - %s new episodes - %1$s on %2$s + الحلقات الجديدة + على حدد هذا الخيار لعرض المسلسلات القادمة التنبيهات إخطار عن حلقات جديدة @@ -323,30 +332,30 @@ إخÙاء الحلقات المشاهدة خلÙية الودجة نوع القطعة - المÙضلة الحلقة القادمة عرض الحلقة القادمة من دليل المسلسلات الخاص بك - Show episodes in the next - Move to SeriesGuide - Backup tool + عرض الحلقات القادمة حمّل دليل الحلقات - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. - Get X features + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X + احصل على مميزات النسخة المدÙوعة Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. - Get X features - Thanks, you are already subscribed to all X features! - You are now subscribed to X features. - Subscription expired - Your X features subscription has expired. - Add to Home screen - Search within %s - - A-Z - الحلقة القادمة - (A-Z) المÙضلة - (المÙضلة(الحلقة القادمة - + احصل على مميزات النسخة المدÙوعة + شكرا, أنت بالÙعل مشترك ÙÙŠ النسخة المدÙوعة! + أنت الآن مشترك ÙÙŠ النسخة المدÙوعة. + انتهت مدة الإشتراك + انتهت مدة اشتراك ÙÙŠ البرنامج المدÙوع. + إضاÙØ© إلى الشاشة الرئيسية + بحث ÙÙŠ الأحدث أولاً الأقدم أولاً @@ -368,12 +377,6 @@ أسبوعين شهر - - الكل - المÙضلة - الغير Ù…Ùشاهدة/القادمة - مخÙÙŠ - على الهواء قبل 5 دقائق @@ -393,12 +396,12 @@ المÙضلة - hour - 6 hours - 12 hours - 24 hours + ساعة + 6 ساعات + 12 ساعة + 24 ساعة ثلاثة أيام - week + أسبوع أصوات % d @@ -409,27 +412,27 @@ أصوات % d - %d day - %d days - %d days - %d days - %d days - %d days + يوم + أيام + أيام + أيام + أيام + أيام - %d hours - %d hour - %d hours - %d hours - %d hours - %d hours + ساعات + ساعة + ساعات + ساعات + ساعات + ساعات - %d minutes - %d minute - %d minutes - %d minutes - %d minutes - %d minutes + دقائق + دقيقة + دقائق + دقائق + دقائق + دقائق diff --git a/SeriesGuide/res/values-bg/strings.xml b/SeriesGuide/src/main/res/values-bg/strings.xml similarity index 94% rename from SeriesGuide/res/values-bg/strings.xml rename to SeriesGuide/src/main/res/values-bg/strings.xml index d92a787406..9193974786 100644 --- a/SeriesGuide/res/values-bg/strings.xml +++ b/SeriesGuide/src/main/res/values-bg/strings.xml @@ -40,7 +40,6 @@ Филми СтатиÑтика ТърÑене - ДобавÑне на Ñериал ÐаÑтройки Помощ ÐœÐ½ÐµÐ½Ð¸Ñ @@ -118,9 +117,7 @@ %s Ñъбрани. %s не Ñъбрани. ÐÑма никакви Ð¿Ñ€ÐµÐ´Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ уÑтройÑтво е без интернет връзка. - ПотърÑете в менюто отгоре за да добавите предаване. - Продължително натиÑнете върху предаване за да го добавите към Любими. - Продължително натиÑнете върху предаване, за да го Ñкриете тук. + Remove all filters ИÑкаш ли да премахнеш %s? Може\не може да Ñе изпълни, първо премахнете %s от вÑички ÑпиÑъци. Премахване @@ -134,6 +131,16 @@ Показване Скрито предаване Показано предаване + Add show + Filter shows + Любими + Unwatched + ПредÑтоÑщи + Hidden + Sort shows + Title + Next episode + Favorites first ПредÑтоÑщи ПоÑледни ПриÑтели @@ -264,6 +271,8 @@ ВъзÑтановÑване Ðе възÑтановÑвай I understand my current shows and lists will be lost! + Last Auto Backup: %s + Restore Auto Backup Гледано No services enabled, check in once within SeriesGuide. Въведете име на предаването @@ -323,15 +332,21 @@ Скрий гледаните епизоди Фон на уиджета Вид на уиджета - Любими ПредÑтоÑщ епизод Показва Ñледващите епизоди на вашите SeriesGuide Ñериали. Show episodes in the next - Move to SeriesGuide - Backup tool ИзтеглÑне на SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Get X features Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. Get X features @@ -341,12 +356,6 @@ Your X features subscription has expired. Add to Home screen Search within %s - - Ð-Ю - Следващ епизод - Любими (A - Z) - Любичи (Следващ еп.) - Ðай-новите отгоре Ðай-Ñтарите отгоре @@ -355,7 +364,7 @@ Ðай-новите отгоре Ðай-Ñтарите отгоре Ðегледаните най-отгоре - A - Z + Ð-Ю Ðай-виÑоко оценени Ðай-новите отгоре (DVD) Ðай-Ñтарите отгоре (DVD) @@ -368,12 +377,6 @@ две Ñедмици меÑец - - Ð’Ñички - Любими - Ðегледани/ПредÑтоÑщи - Скрити - в момента 5 минути по-рано diff --git a/SeriesGuide/res/values-cs/strings.xml b/SeriesGuide/src/main/res/values-cs/strings.xml similarity index 87% rename from SeriesGuide/res/values-cs/strings.xml rename to SeriesGuide/src/main/res/values-cs/strings.xml index c6d9389ce7..135dc5a8b9 100644 --- a/SeriesGuide/res/values-cs/strings.xml +++ b/SeriesGuide/src/main/res/values-cs/strings.xml @@ -32,15 +32,14 @@ Zavřít Uložit výbÄ›r Bez pÅ™ipojení k síti. Zkuste to pozdÄ›ji. - No app available to handle this. - Only available with X Subscription + Není k dispozici použitelná aplikace. + K dispozici pouze po odemknutí rozšířených funkcí Seriály Seznamy Aktivita Filmy Statistiky Hledat - PÅ™idat poÅ™ad Nastavení NápovÄ›da VýkÅ™iky @@ -118,9 +117,7 @@ %s ve sbírce. %s chybí ve sbírce. Nejsou tu žádné poÅ™ady nebo váš přístroj není pÅ™ipojený k internetu. - Použijte horní nabídku pro pÅ™idání poÅ™adů. - KlepnÄ›te na a podržte poÅ™ad pro pÅ™idání do oblíbených. - KlepnÄ›te na a podržte poÅ™ad pro schování sem. + Remove all filters Opravdu chcete odstranit %s? Nelze provést, odeberte nejdříve %s ze vÅ¡ech seznamů. Odstranit @@ -134,6 +131,16 @@ Obnovit Skytý poÅ™ad Obnovený poÅ™ad + Add show + Filter shows + Oblíbené + Unwatched + Nadcházející + Hidden + Sort shows + Title + Next episode + Favorites first Nadcházející Nedávné Přátelé @@ -263,7 +270,9 @@ Stávající seznam poÅ™adů bude ztracen! UjistÄ›te se, že máte zálohu VaÅ¡ich poÅ™adů. Obnovit Neobnovovat - Chápu, že vÅ¡echny mé souÄasné poÅ™ady a seznamy zmizí! + Jsem si vÄ›dom toho, že vÅ¡echny mé souÄasné poÅ™ady a seznamy zmizí! + Last Auto Backup: %s + Restore Auto Backup Ohlásit se Žádné povolené služby, ohlaste se napÅ™ed z SeriesGuide. NapiÅ¡te název poÅ™adu @@ -297,8 +306,8 @@ Odpojit Chyba v komunikaci s traktem heslo nebylo možné deÅ¡ifrovat - Something went wrong. Please check your credentials and try again. - Could not talk to trakt. Try again later. + Nastala chyba. Prosím zkontrolujte pÅ™ihlaÅ¡ovací údaje a akci opakujte. + Nelze se pÅ™ipojit na trakt.tv. Opakujte akci pozdÄ›ji. VytvoÅ™it nový úÄet Zvolte jazyk Zpřístupnit vaÅ¡i trakt.tv knihovnu a aktivitu přátel @@ -323,30 +332,30 @@ Skrýt zhlédnuté epizody Pozadí widgetu Typ widgetu - Oblíbené Nadcházející epizoda Zobrazuje nadcházející epizodu z poÅ™adů v SeriesGuide. Zobrazovat epizody nadcházející bÄ›hem - Move to SeriesGuide - Backup tool Stáhnout SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. - Get X features - Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. - Get X features - Thanks, you are already subscribed to all X features! - You are now subscribed to X features. - Subscription expired - Your X features subscription has expired. - Add to Home screen - Search within %s - - A - Z - Následujicí epizoda - Oblíbené (A-Z) - Oblíbené (následujicí epizoda) - + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X + Získat rozšířené funkce + Získejte přístup k oznámení, další možnosti widgetu a vÅ¡echny budoucí vlastnosti verze X. PodpoÅ™te budoucí vývoj.\n\nPokud jste již zakoupili SeriesGuide X, proveÄte instalaci k odemknutí tohoto upgradu. + Získat rozšířené funkce + DÄ›kujeme, nyní máte odemknuty vÅ¡echny rozšířené funkce! + Nyní máte zpřístunÄ›ny rozšířené funkce. + VyprÅ¡ela platnost + VaÅ¡e zakoupení rozšířených funkcí vyprÅ¡elo. + PÅ™idat na domovskou obrazovku + Hledat v %s Od nejnovÄ›jší Od nejstarší @@ -368,12 +377,6 @@ dvou týdnů mÄ›síce - - VÅ¡e - Oblíbené - Nezhlédnuté/nadcházející - Skryté - vysílá se 5 minut pÅ™edem diff --git a/SeriesGuide/res/values-da/strings.xml b/SeriesGuide/src/main/res/values-da/strings.xml similarity index 72% rename from SeriesGuide/res/values-da/strings.xml rename to SeriesGuide/src/main/res/values-da/strings.xml index 9d8e2d2cbf..635b1959fc 100644 --- a/SeriesGuide/res/values-da/strings.xml +++ b/SeriesGuide/src/main/res/values-da/strings.xml @@ -32,15 +32,14 @@ Luk Gem markering Ingen netværksforbindelse. Prøv igen senere. - No app available to handle this. - Only available with X Subscription + Ingen app tilgængelig til at hÃ¥ndtere dette. + Kun tilgængelig med X abonnement Serier Lister Aktuelt Film Statistikker Søg - Tilføj tv-serie Indstillinger Hjælp Kommentarer @@ -67,7 +66,7 @@ Din bedømmelse Totalt ninja! Svag sovs :( - Forfærdelige + Forfærdelig DÃ¥rlig Ringe Meh @@ -108,21 +107,19 @@ Set alle Set ingen Markér alle tidligere sendte episoder som set - Valgte episoder - Endnu ikke valgt episode - Valgte alle - Valgte ingen + Episode i samling + Episode ikke i samling endnu + Alle i samling + Ingen i samling Gemmer i trakt. %s set. %s ikke set. %s valgt. %s ikke valgt. Der er ingen serier her eller din enhed har ingen internet forbindelse. - Kig i menuen for at tilføje serier. - Long-press on a show to add it to Favorites. - Long-press on a show to hide it here. + Remove all filters Vil du fjerne %s? - Can\'t comply, remove %s from all lists first. + Kan ikke udføres, fjern %s fra alle lister først. Fjern Fjern ikke ingen næste episode fundet @@ -134,6 +131,16 @@ Vis Skjult tv-serie Ikke-skjult serie + Add show + Filter shows + Favoritter + Unwatched + Kommende + Hidden + Sort shows + Title + Next episode + Favorites first Kommende Nylige Venner @@ -144,8 +151,8 @@ Toggle watched Infinite activity Opdaterer… - To update connect to the internet. - To update connect to WiFi or allow other connections in Settings. + Forbind til internettet for at opdatere. + Forbind til WiFi, eller tillad andre forbindelser under Indstillinger. En opdatering er allerede i gang, prøv igen senere. Hent plakater Ikke alle plakater blev hentet, prøv igen senere. @@ -174,7 +181,7 @@ Trending Anbefalet Bibliotek - Watchlist + OvervÃ¥gningsliste powered by thetvdb.com powered by trakt.tv First list @@ -184,21 +191,21 @@ Administrer liste Administrer lister Fjern fra liste - You can add shows, seasons or episodes to this list. - Connect trakt + Du kan tilføje serier, sæsoner eller episoder til denne liste. + Forbind til trakt Forbundet til trakt! - Add shows from your library: - Show your library - Upload your SeriesGuide show list: - Upload existing shows - trakt helps keep a record of what TV shows and movies you are watching. Learn more - - add shows from your library and watchlist\n\n- see your recommendations and friends activity\n\n- watched and collected flags are synced automatically\n\n- new shows you watched are added automatically - No shows will be added or removed in SeriesGuide, do that from the show list. - Flag all watched episodes on trakt as watched in SeriesGuide: - Flag episodes watched in SeriesGuide as watched on trakt: + Tilføj serier fra dit bibliotek: + Vis dit bibliotek + Upload din SeriesGuide serieliste: + Upload eksisterende serier + trakt hjælper med at holde styr pÃ¥ hvilke TV-serier du ser. Lær mere + - tilføj serier fra dit bibliotek og OvervÃ¥gningsliste\n\n- se dine anbefalinger og venneaktivitet\n\n- set og samling bliver synkroniseret automatisk\n\n- nye serier du ser bliver automatisk tilføjet + Ingen serier vil blive tilføjet eller fjernet i SeriesGuide, gør det fra listen over serier. + Marker alle sete episoder pÃ¥ trakt som sete i SeriesGuide: + Marker episoder set i SeriesGuide som sete pÃ¥ trakt: Download til SeriesGuide Upload til trakt.tv - Remove watched flags for unwatched episodes when syncing + Fjern markering for usete episoder nÃ¥r der synkroniseres Grundlæggende Tjenester Avanceret @@ -215,19 +222,19 @@ Om SeriesGuide Credits Afbryd GetGlue - Check in with GetGlue to reconnect + Check in med GetGlue for at tilslutte Tilføj eller ret trakt.tv login-info Manuel synkronisering med trakt.tv Send feedback Tilføje nye trakt serier - Automatically add shows from your trakt activity stream + Tilføj automatisk serier fra dine trakt aktiviteter Udseende App Tema Andet SlÃ¥ automatisk opdatering til - Periodically update your shows + Opdater dine serier periodisk SlÃ¥ Auto Backup til - Weekly backup of your show database into the Download folder + Ugentlig backup af databasen over dine serier til Download-mappen Sikkerhedskopier/Gendan Sikkerhedskopier eller gendan dine tv-serier Kommende serier indenfor… @@ -240,8 +247,8 @@ Registrerer brugen af funktioner for at hjælpe med at forbedre SeriesGuide Skjul billeder Skjul billeder fra dit fotogalleri (genstart pÃ¥krævet) - Backup will export your shows, seasons, episodes and lists to a JSON file into the folder below.\nTo Restore make sure the JSON files created by backup are in the folder below. - Include all meta-data like descriptions, actors and ratings. + Backup vil eksportere dine serier, sæsoner, episoder og lister to en JSON-fil i nedenstÃ¥ende mappe.\nFor at Gendanne sørg for at JSON-filerne oprettet af backuppen er i nedenstÃ¥ende mappe. + Inkluder alt meta-data sÃ¥som beskrivelser, skuespillere and bedømmelser. Backup mappe Database version Kan ikke oprette backup. Backup-mappen er ikke tilgængelig. @@ -264,18 +271,20 @@ Gendan Gendan ikke Jeg forstÃ¥r mine nuværende serier og lister vil gÃ¥ tabt! + Last Auto Backup: %s + Restore Auto Backup Tjek ind - No services enabled, check in once within SeriesGuide. - Skriv et serie navn + Ingen tjenester aktiveret, tjek ind en gang fra SeriesGuide. + Skriv et serienavn Ingen matchende serier Skriv en besked (valgfrit) Fix GetGlue check-in Indsæt titel - Checked into %s on GetGlue. + Tjekket ind pÃ¥ %s pÃ¥ GetGlue. Tjek ind pÃ¥ GetGlue mislykkedes. Prøv igen senere. - GetGlue authentication failed. Try again later. - Checked into %s on trakt. - Cancelled check-in on trakt. + GetGlue autentificering mislykkedes. Prvøv igen senere. + Tjekket ind pÃ¥ %s pÃ¥ trakt. + Afbrudt indtjekning pÃ¥ trakt. Vælg serie Tjek ind Vælg en nedenfor @@ -284,9 +293,9 @@ Bedøm serie Via andre apps Overskriv - You are already checked into another episode or movie. Either override the previous check-in or wait %s and try again. + Du er allerede tjekket ind pÃ¥ en anden episode eller film. Overskriv den foregÃ¥ende indtjekning eller vent %s og prøv igen. Jeg venter - Authenticating SeriesGuide with GetGlue… + Godkender SeriesGuide med GetGlue… Tilføj til kalender Kan ikke oprette en kalenderbegivenhed. Brugernavn @@ -297,56 +306,56 @@ Afbryd Kommunikation med trakt mislykkedes Adgangskoden kunne ikke dekrypteres - Something went wrong. Please check your credentials and try again. - Could not talk to trakt. Try again later. + Noget gik galt. Kontroller venligt dine legitimationsoplysninger og prøv igen. + Kunne ikke kommunikere med trakt. Prøv igen senere. Opret ny konto Vælg sprog - Access your trakt.tv library and friends activity + TilgÃ¥ dit trakt.tv bibliotek og venneaktivitet Slet For at starte tryk - %s is coming up + %s kommer snart Nye episoder kommer snart %s nye episoder %1$s pÃ¥ %2$s Vælg for at vise kommende serier Meddelelser - Notify about new episodes + Notificer om nye episoder Kun favoritter - Only receive notifications for favorited shows + Modtag kun notifikationer for serier markeret som favorik Ringetone Vibrer - Also vibrate on displaying a notification - When to notify + Vibrer ogsÃ¥ nÃ¥r en notifikation bliver vist + HvornÃ¥r skal der notificeres SeriesGuide (lille) SeriesGuide (mellem) SeriesGuide (stor) Skjul sete episoder Widget baggrund Widget type - Favoritter Kommende episode - Displays the next upcoming episode of your SeriesGuide shows. - Show episodes in the next - Move to SeriesGuide - Backup tool + Viser de kommende episoder af dine SeriesGuide serier. + Vis episoder i de næste Download SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. - Get X features - Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. - Get X features - Thanks, you are already subscribed to all X features! - You are now subscribed to X features. - Subscription expired - Your X features subscription has expired. - Add to Home screen - Search within %s - - A - Z - Næste episode - Favoritter (A-Z) - Favoritter (Kommende episoder) - + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X + FÃ¥ X funktioner + FÃ¥ adgang til notifikationer, flere muligheder til list widgeten og alle fremtidige X funktioner. Støt videre udvikling.\n\nHvis du allerede har købt SeriesGuide X, installer denne for at oplÃ¥se denne opgradering. + FÃ¥ X funktioner + Tak, du abonnerer allerede pÃ¥ alle X funktioner! + Du abonnerer nu pÃ¥ X funktioner. + Abonnement udløbet + Dit abonnement pÃ¥ X funktioner er udløbet. + Tilføj til Hjemmeskærmen + Søg indenfor %s Seneste først Ældste først @@ -355,7 +364,7 @@ Nyeste først Ældste først Usete først - A-Z + A - Z Top bedømte Nyeste først (DVD) Ældste først (DVD) @@ -368,12 +377,6 @@ to uger en mÃ¥ned - - Alle - Favoritter - Uset/Kommende - Skjulte - on air 5 min i forvejen diff --git a/SeriesGuide/res/values-de/strings.xml b/SeriesGuide/src/main/res/values-de/strings.xml similarity index 85% rename from SeriesGuide/res/values-de/strings.xml rename to SeriesGuide/src/main/res/values-de/strings.xml index 18f29d5762..9959849603 100644 --- a/SeriesGuide/res/values-de/strings.xml +++ b/SeriesGuide/src/main/res/values-de/strings.xml @@ -24,7 +24,7 @@ Lädt… Erledigt Löschen - %s mehr + %s weitere Abbrechen Empfehlen Auf neueste Version aktualisiert. @@ -32,15 +32,14 @@ Schließen Auswahl speichern Keine Netzwerkverbindung. Versuchen Sie es später erneut. - No app available to handle this. + Keine App verfügbar um dies zu handhaben. Nur mit X-Abonnement erhältlich Serien Listen Aktivität Filme - Statistiken + Statistik Suche - Serie hinzufügen Einstellungen Hilfe Shouts @@ -112,17 +111,15 @@ Folge noch nicht gesammelt Alle gesammelt Keine gesammelt - Sende zu trakt. + Sende an trakt. %s gesehen. %s nicht gesehen. %s gesammelt. %s nicht gesammelt. Es gibt hier keine Serien oder das Gerät verfügt über keine Internetverbindung. - Suchen Sie im Menü oben um einige Serien hinzufügen. - Halten Sie eine Serie gedrückt um sie zu den Favoriten hinzuzufügen. - Halten Sie eine Serie gedrückt um sie hier zu verstecken. + Alle Filter entfernen Wollen Sie %s wirklich entfernen? - Ausführung nicht möglich, entferne zuerst %s von allen Listen. + Ausführung nicht möglich, entfernen Sie zuerst %s von allen Listen. Löschen Nicht löschen keine weitere Folge gefunden @@ -134,6 +131,16 @@ Einblenden Serie ausgeblendet Serie wieder sichtbar + Serie hinzufügen + Serien filtern + Favoriten + Ungesehen + Demnächst + Ausgeblendet + Serien sortieren + Titel + Nächste Folge + Favoriten zuerst Demnächst Vor kurzem Freunde @@ -179,7 +186,7 @@ ein Dienst von trakt.tv Erste Liste Liste hinzufügen - Liste bennenen + Liste benennen Liste entfernen Liste verwalten Listen verwalten @@ -187,13 +194,13 @@ Sie können Serien, Staffeln oder Folgen zu dieser Liste hinzufügen. Mit Trakt verbinden Mit Trakt verbunden! - Serien aus deiner Bibliothek hinzufügen: - Deine Bibliothek anzeigen - Deine SeriesGuide-Serien-Liste hochladen: + Serien aus Ihrer Bibliothek hinzufügen: + Ihre Bibliothek anzeigen + Ihre SeriesGuide Serien-Liste hochladen: Vorhandene Serien hochladen - Trakt hilft TV-Sendungen und Filme zu speichern, die du angesehen hast. Erfahre mehr - - Serien aus deiner Bibliothek oder Watchliste hinzufügen\n\n- Empfehlungen und Aktivität von Freunden anzeigen\n\n- Gesehen- und Gesammelt-Flaggen werden automatisch synchronisiert\n\n- neue Serien die du angesehen hast werden automatisch hinzugefügt - Es werden keine Serien zu SeriesGuide hinzugefügt oder entfernt, erledige das in der Serienliste. + trakt hilft TV-Sendungen und Filme zu speichern, die Sie angesehen haben. Mehr erfahren + - Serien aus Ihrer Bibliothek oder Watchliste hinzufügen\n\n- Empfehlungen und Aktivität von Freunden anzeigen\n\n- Gesehen- und Gesammelt-Flaggen werden automatisch synchronisiert\n\n- neue Serien die Sie angesehen haben werden automatisch hinzugefügt + Es werden keine Serien zu SeriesGuide hinzugefügt oder entfernt, erledigen Sie das in der Serienliste. Markiere alle auf trakt gesehenen Folgen als gesehen in SeriesGuide: Markiere alle gesehenen Folgen in SeriesGuide als gesehen bei trakt: In SeriesGuide herunterladen @@ -206,12 +213,12 @@ Sortiere Serien nach… Keine gesendeten Folgen Zeige nie bereits ausgestrahlte Folgen an - Verstecke Special Episodes + Special Episodes verstecken Special Episodes verschwinden, außer in der Staffel-Liste Sortiere Staffeln nach… Sortiere Folgen nach… Sprache des Inhalts - Nur über Wi-Fi aktualisieren + Nur über WLAN aktualisieren Ãœber SeriesGuide Credits Von GetGlue abmelden @@ -220,12 +227,12 @@ Manueller Sync mit trakt.tv Feedback senden Neue trakt Serien hinzufügen - Automatisch neue Serien von deinen trakt-Aktivitäten hinzufügen - Darstellung + Automatisch neue Serien aus Ihren trakt-Aktivitäten hinzufügen + Erscheinungsbild App Design - Andere + Anderes Auto-Aktualisierung aktivieren - Aktualisiert regelmäßig Ihre Sendungen + Aktualisiert regelmäßig Ihre Serien Automatische Sicherung aktivieren Wöchentliche Sicherung Ihrer Serien-Datenbank in den Download-Ordner Sichern/Wiederherstellen @@ -240,7 +247,7 @@ Verfolgt die Verwendung von Funktionen zur Verbesserung von SeriesGuide Verstecke Bilder Blenden Sie Bilder aus Ihrer Foto-Galerie aus (Neustart erforderlich) - Sichern exportiert Ihre Serien, Staffeln, Folgen und Listen in eine JSON-Datei in den unten angegebenen Ordner.\nBeim Wiederherstellen ist sicherzustellen, dass die von der Sicherung erstellten JSON-Dateien im Sicherungsordner liegen. + Sichern exportiert Ihre Serien, Staffeln, Folgen und Listen in eine JSON-Datei in den unten angegebenen Ordner.\nBeim Wiederherstellen ist sicherzustellen, dass die von der Sicherung erstellten JSON-Dateien in diesem Ordner liegen. Alle Meta-Daten wie Beschreibungen, Schauspieler und Bewertungen mit einschließen. Sicherungsordner Datenbankversion @@ -250,7 +257,7 @@ Sicherung ist fehlgeschlagen. Wiederherstellen der Datenbank… Wiederherstellen fehlgeschlagen. Der Backup-Ordner ist nicht verfügbar. - Es gibt keine lesbare Sicherungs-Datei. + Keine lesbare Sicherungs-Datei vorhanden. Die Sicherungs-Datei ist nicht lesbar. Das Backup ist möglicherweise zu alt oder leer. Hinweis: Importieren Sie Pre-2.0 Sicherungen zuerst in einer 1.9.x Version. Sicherung erfolgreich wiederhergestellt. @@ -264,6 +271,8 @@ Wiederherstellen Nicht wiederherstellen Mir ist klar, dass alle meine aktuellen Serien und Listen verloren gehen! + Letzte Auto-Sicherung: %s + Auto-Sicherung wiederherstellen Einchecken Keine Dienste aktiviert, checken Sie einmal innerhalb SeriesGuide ein. Serientitel eingeben @@ -297,8 +306,8 @@ Trennen Interaktion mit trakt ist fehlgeschlagen Kennwort konnte nicht entschlüsselt werden - Something went wrong. Please check your credentials and try again. - Could not talk to trakt. Try again later. + Es gab einen Fehler. Bitte prüfen Sie Ihre Anmeldeinformationen und versuchen Sie es erneut. + Konnte nicht mit trakt sprechen. Versuchen Sie es später noch einmal. Neues Konto einrichten Sprache auswählen Zugriff auf Ihre trakt.tv-Bibliothek und Aktivität von Freunden @@ -323,15 +332,21 @@ Verstecke gesehene Folgen Widget-Hintergrund Widget-Typ - Favoriten Nächste Folge Zeigt die nächste kommende Folge deiner Serien aus SeriesGuide. Zeige Folgen im Zeitraum - Move to SeriesGuide - Backup tool SeriesGuide herunterladen - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migration zu SeriesGuide + SeriesGuide X ist jetzt X Life-Time Pass, Sie sollten ihre Serien in die kostenlose Version von SeriesGuide migrieren. Lassen Sie X installiert um alle Funktionen in der kostenlosen Version zu entsperren. + Tippen Sie unten um eine frische Sicherung Ihrer Serien zu erstellen. + Serien Sichern + Tippen Sie unten um die kostenlose Version von SeriesGuide zu installieren. + SeriesGuide Installieren + Tippen Sie unten und nachdem SeriesGuide geöffnet ist tippen Sie auf Menü, dann Migration. + SeriesGuide Öffnen, dann Migration + Tippen Sie unten um die in SeriesGuide X erstellte Sicherung zu importieren. + Importieren und vorhandene Serien ersetzen + Migration von X X-Funktionen erhalten Erhalten Sie Zugriff auf Benachrichtigungen, weitere Optionen für das Listen-Widget und alle zukünftigen X-Funkionen. Unterstützen Sie die Weiterentwicklung.\n\nFalls Sie bereits SeriesGuide X erworben haben, installieren Sie es um dieses Upgrade zu aktivieren. X-Funktionen erhalten @@ -340,13 +355,7 @@ Abonnement abgelaufen Ihr X-Funktionen-Abonnement ist abgelaufen. Zum Startbildschirm hinzufügen - Search within %s - - A - Z - Nächste Folge - Favoriten (A - Z) - Favoriten (nächste Fo.) - + Durchsuche %s Aktuellste zuerst Älteste zuerst @@ -368,12 +377,6 @@ zweier Wochen eines Monats - - Alle - Favoriten - Ungesehene/Zukünftige - Ausgeblendete - auf Sendung 5 min zuvor diff --git a/SeriesGuide/res/values-el/strings.xml b/SeriesGuide/src/main/res/values-el/strings.xml similarity index 94% rename from SeriesGuide/res/values-el/strings.xml rename to SeriesGuide/src/main/res/values-el/strings.xml index 97c8de2f7b..96cdf141a8 100644 --- a/SeriesGuide/res/values-el/strings.xml +++ b/SeriesGuide/src/main/res/values-el/strings.xml @@ -40,7 +40,6 @@ Movies Statistics Αναζήτηση - ΠÏοσθήκη σειÏάς Ρυθμίσεις Βοήθεια Shouts @@ -118,9 +117,7 @@ %s εντός συλλογής. %s εκτός συλλογής. There are no shows here or your device has no internet connection. - Look in the menu above to add some shows. - Long-press on a show to add it to Favorites. - Long-press on a show to hide it here. + Remove all filters Θέλετε Ï€Ïάγματι να αφαιÏέσετε %s? Can\'t comply, remove %s from all lists first. ΑφαίÏεση @@ -134,6 +131,16 @@ Εμφάνιση ΚÏυφή σειÏα μη-κÏυφή σειÏά + Add show + Filter shows + Αγαπημένα + Unwatched + ΕπεÏχόμενα + Hidden + Sort shows + Title + Next episode + Favorites first ΕπεÏχόμενα ΠÏόσφατο Φίλοι @@ -264,6 +271,8 @@ ΕπαναφοÏά Îα μην γίνει ΕπαναφοÏά I understand my current shows and lists will be lost! + Last Auto Backup: %s + Restore Auto Backup Check in No services enabled, check in once within SeriesGuide. ΠληκτÏολογήστε το όνομα μιας σειÏάς @@ -323,15 +332,21 @@ ΑπόκÏυψη παÏακολουθημένων επεισοδίων Widget background Widget type - Αγαπημένα Upcoming episode Displays the next upcoming episode of your SeriesGuide shows. Show episodes in the next - Move to SeriesGuide - Backup tool Λήψη SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Get X features Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. Get X features @@ -341,12 +356,6 @@ Your X features subscription has expired. Add to Home screen Search within %s - - Α - Ω - Επόμενο επεισόδιο - Αγαπημένα (Α - Ω) - Αγαπημένα (Επόμενο επ.) - Η πιο Ï€Ïόσφατη Ï€Ïώτα Η παλαιότεÏη Ï€Ïώτα @@ -368,12 +377,6 @@ δÏο εβδομάδες ένας μήνας - - Όλα - Αγαπημένα - Μη παÏακολουθημένα/ΕπεÏχόμενα - ΚÏυμμένα - στον αέÏα 5 λεπτά νωÏίτεÏα diff --git a/SeriesGuide/res/values-es/strings.xml b/SeriesGuide/src/main/res/values-es/strings.xml similarity index 87% rename from SeriesGuide/res/values-es/strings.xml rename to SeriesGuide/src/main/res/values-es/strings.xml index ba58bd4e0a..628fd20782 100644 --- a/SeriesGuide/res/values-es/strings.xml +++ b/SeriesGuide/src/main/res/values-es/strings.xml @@ -1,7 +1,7 @@ - Show + Serie Episodio Episodio %s Episodios @@ -14,12 +14,12 @@ Episodios especiales Buscar episodios Compartir episodio - Compartir show + Compartir serie Echa un vistazo a Episodios Reseña Mostrar poster - Imagen Episodio + Imagen del episodio n/a Cargando… Hecho @@ -32,7 +32,7 @@ Cerrar Guardar selección No hay conexión de red. Inténtelo más tarde. - No app available to handle this. + Ninguna aplicación disponible para manejar esto. Sólo disponible con la suscripción X Series Listas @@ -40,7 +40,6 @@ Películas Estadísticas Buscar - Agregar serie Configuración Ayuda Gritos @@ -51,18 +50,18 @@ ¡Sé el primero en gritar! Gritos por %s Actualizando automáticamente - Lista (seguidos/as) - Agregar a lista - Remover de lista - Agregado a lista - Removido de lista - Escriba el título de la película + Lista (trakt) + Agregar a la lista + Quitar de la lista + Agregado a la lista + Removido de la lista + Escriba un título de película Buscar una película arriba. - No tienes conexión a internet o no has agregado películas a tu lista de seguidos. + No tienes conexión a internet o no ha agregado películas a su lista de trakt. Trailer %s con nuevos episodios %s continuando - %s vistas + %s vistos Duración de todos los episodios vistos Tu calificación ¡Una pasada! @@ -83,7 +82,7 @@ Actores Estrenado Géneros - Cuánto duró + Duración Clasificación de contenido Directores Estrellas invitadas @@ -109,18 +108,16 @@ Ninguno visto Visto todo lo previamente emitido Episodio recopilado - Aún no se ha recogido el episodio - Seleccionar todos - Seleccionar ninguno - Agregando a seguidas. + Aún no se ha recopilado el episodio + Recopilados todos + Recopilados ninguno + Enviando a trakt. %s visto. %s no visto. - %s recogidos. - %s no recogidos. + %s recopilados. + %s no recopilados. No hay ningún programa aquí o tu dispositivo no tiene conexión a internet. - Busca en el menú de arriba para añadir algunos programas. - Pulse sostenidamente en una serie para agregarla a favoritos. - Pulse sostenidamente en una serie para ocultarla aquí. + Quitar todos los filtros ¿Realmente desea eliminar %s? No se puede realizar, quite %s de todas las listas primero. Eliminar @@ -134,6 +131,16 @@ Des-esconder Serie oculta Mostrar serie + Añadir serie + Filtrar series + Favoritos + No vistos + Próximos + Escondidos + Ordenar series + Título + Próximo episodio + Favoritos primero Próximos Reciente Amigos @@ -264,6 +271,8 @@ Restaurar No Restaurar Entiendo que mis series y listas se perderán! + Última copia de seguridad automática: %s + Restaurar la copia de seguridad automática Check-in Sin servicios disponibles, haga check-in una vez ingrese a SeriesGuide. Escriba el nombre de la serie @@ -297,8 +306,8 @@ Desconectar Interacción con trakt falló no se pudo descifrar la contraseña - Something went wrong. Please check your credentials and try again. - Could not talk to trakt. Try again later. + Algo salió mal. Por favor comprueba tus credenciales y vuelve a intentarlo. + No es posible conectar con trakt. Inténtalo más tarde. Crear una cuenta nueva Elija idioma Acceder a tu biblioteca y actividad de tus amigos de trakt.tv @@ -323,15 +332,21 @@ Ocultar episodios vistos Fondo de widget Tipo de widget - Favoritos Próximo episodio Muestra el próximo episodio de sus series de SeriesGuide. Mostrar próximos episodios - Mover a SeriesGuide - Backup tool Descargar SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrar a SeriesGuide + SeriesGuide X es ahora X Life-Time Pass, deberías mover tus series a la versión gratuita de SeriesGuide. Deja X instalada para desbloquear todas las características en la versión gratuita. + Pulsa aquí abajo para crear una copia de seguridad de tus series. + Hacer una copia de seguridad de las series + Pulsa aquí abajo para instalar la versión gratuita de SeriesGuide. + Instalar SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Pulse abajo para importar la copia de seguridad creada en SeriesGuide X. + Importar y remplazar las series existentes + Migrate from X Obtén las características X Obtén acceso a notificaciones, mas opciones de widgets y todas las futuras características X. Apoya el desarrollo.\n\nSi ya has comprado SeriesGuide X, instálalo para desbloquear esta actualización. Obtén las características X @@ -340,13 +355,7 @@ Suscripción caducada Tu suscripción a las características X ha caducado. Añadir a pantalla de inicio - Search within %s - - A - Z - Episodio siguiente - Favoritos (A - Z) - Favoritos (cap. siguiente) - + Búsqueda dentro de %s Más reciente primero Más antiguo primero @@ -355,7 +364,7 @@ Más reciente primero Más antiguo primero No vistos primero - A-Z + A - Z Mas valorado Primero los más rencientes (DVD) Primero más antiguos (DVD) @@ -368,12 +377,6 @@ dos semanas un mes - - Todo - Favoritos - No vistos/Próximos - Oculto - en directo 5 min antes diff --git a/SeriesGuide/res/values-fi/strings.xml b/SeriesGuide/src/main/res/values-fi/strings.xml similarity index 93% rename from SeriesGuide/res/values-fi/strings.xml rename to SeriesGuide/src/main/res/values-fi/strings.xml index 1c9f2e31d4..c67abfc5f9 100644 --- a/SeriesGuide/res/values-fi/strings.xml +++ b/SeriesGuide/src/main/res/values-fi/strings.xml @@ -40,7 +40,6 @@ Elokuvat Tilastot Hae - Lisää ohjelma Asetukset Apua Huudahdukset @@ -118,9 +117,7 @@ %s kerätty. %s ei ole kerätty. Täällä ei ole ohjelmia tai laitteellasi ei ole yhteyttä internetiin. - Katso yllä olevaa valikkoa lisätäksesi ohjelmia. - Paina ohjelmaa pitkään lisätäksesi Suosikkeihin. - Paina ohjelmaa pitkään piillottaaksesi se tänne. + Remove all filters Haluatko todella poistaa %s? Ei onnistu. Poista %s kaikilta listoiltasi ensin. Poista @@ -134,6 +131,16 @@ Paljasta Piilotettu ohjelma Paljasta ohjelma + Add show + Filter shows + Suosikit + Unwatched + Tulevat + Hidden + Sort shows + Title + Next episode + Favorites first Tulevat Viimeisimmät Ystävät @@ -264,6 +271,8 @@ Palauta Älä palauta Ymmärrän, että nykyiset ohjelmani ja listani kadotetaan! + Last Auto Backup: %s + Restore Auto Backup Kuittaa Palveluita ei ole käytössä. Kuittaa kerran SeriesGuidessa. Kirjoita ohjelman nimi @@ -323,15 +332,21 @@ Piilota katsotut jaksot Widgetin tausta Widgetin tyyppi - Suosikit Tuleva jakso Näyttää seuraavan tulevan jakson SeriesGuide-ohjelmistasi. Näytä jaksot ajalta - Siirry SeriesGuideen - Varmuuskopiointityökalu Lataa SeriesGuide - Korvat hörölle! SeriesGuide X:stä pudotetaan hyvin pian kaikki toiminnot. Siirrä ohjelmasi ilmaiseen versioon ja jätä SeriesGuide X:n asennus avataksesi uuden X-tilauksen loppu elämäksesi. - Siirtääksesi ohjelmasi: kosketa Varmuuskopiointityökalua, sitten Varmuuskopioi.\n\nPalaa takaisin kunnes tämä viesti ilmaantuu uudestaan.\n\nKosketa Lataa SeriesGuide ja asenna SeriesGuide.\n\nKäynnistä SeriesGuide. Kosketa Valikkoa, sitten Asetukset. Kohdassa Edistyneet käytä varmuuskopiointityökalua palauttaaksesi. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Hanki X-ominaisuudet Hanki pääsy ilmoituksiin, useampiin valintoihin listawidgeteissä ja kaikki tulevat X-ominaisuudet. Tue tulevaa kehitystä.\n\nJos olet jo ostanut SeriesGuide X:n, asenna se avataksesi tämä päivitys. Hanki X-ominaisuudet @@ -341,12 +356,6 @@ X-ominaisuustilauksesi on vanhentunut. Lisää kotiruudulle Hae ohjelmasta %s - - A - Ö - Seuraava jakso - Suosikit (A - Ö) - Suosikit (Seuraava jakso) - Uusin ensin Vanhin ensin @@ -368,12 +377,6 @@ kaksi viikkoa kuukausi - - Kaikki - Suosikit - Katsomattomat/Tulevat - Piilotetut - esitettäessä 5 min etukäteen diff --git a/SeriesGuide/res/values-fr/strings.xml b/SeriesGuide/src/main/res/values-fr/strings.xml similarity index 92% rename from SeriesGuide/res/values-fr/strings.xml rename to SeriesGuide/src/main/res/values-fr/strings.xml index 503b2b8373..d83b29a7c6 100644 --- a/SeriesGuide/res/values-fr/strings.xml +++ b/SeriesGuide/src/main/res/values-fr/strings.xml @@ -40,7 +40,6 @@ Films Statistiques Rechercher - Ajouter Série Paramètres Aide Commentaires @@ -118,9 +117,7 @@ %s dans votre collection. %s n\'est pas dans votre collection. Il n\'y a aucune série ici ou votre appareil n\'a pas de connection Internet. - Utilisez le menu ci-dessus pour ajouter des séries. - Faites un appui long sur une série pour l\'ajouter à vos favoris. - Faites un appui long sur une série pour la cacher ici. + Enlever tous les filtres Voulez-vous vraiment supprimer %s? Impossible, supprimez d\'abord %s de toutes les listes. Supprimer @@ -134,6 +131,16 @@ Afficher Série cachée Série affichée + Ajouter une série + Filtrer les séries + Favoris + Non visionnés + À venir + Cachés + Trier séries + Titre + Prochain épisode + Favoris en premier À venir Dernièrement Amis @@ -264,6 +271,8 @@ Restaurer Ne pas restaurer Je comprends que mes séries et listes actuelles vont être supprimées ! + Dernière sauvegarde auto : %s + Restaurer la sauvegarde automatique Check-in Aucun service actif, faites un check-in avec SeriesGuide. Entrez un nom de série @@ -323,15 +332,21 @@ Masquer les épisodes vus Arrière-plan du widget Type du widget - Favoris Prochain épisode Affiche le prochain épisode à venir parmi vos séries. Montrer les épisodes à venir dans - Migrez vers SériesGuide - Outil de sauvegarde Télécharger SeriesGuide - Attention ! SeriesGuide X sera très prochainement dépourvu de toutes fonctionnalités. Migrez vos séries vers la version gratuite et laissez SeriesGuide X installé afin de déverrouiller le nouvel abonnement X à vie. - Pour migrer vos séries : appuyez sur Outil de sauvegarde puis Sauvegarder.\n\nRevenez en arrière jusqu\'à ce que ce message réapparaisse.\n\nAppuyez sur Télécharger SeriesGuide et installez-le.\n\nLancez SeriesGuide. Avec la touche Menu, allez dans Paramètres. Enfin, dans Avancé, utilisez la rubrique Sauvegarde / Restauration pour restaurer vos séries. + Migrer vers SeriesGuide + SeriesGuide X es désormais X Life-Time Pass, vous devriez migrer vos séries à la version gratuite de SeriesGuide. Gardez X installé pour débloquer toutes les caractéristiques dans la version gratuite. + Appuyez ci-dessous pour créer une sauvegarde de vos séries. + Restaurer les séries + Appuyez ci-dessous pour installer la version gratuite de SeriesGuide. + Installer SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Appuyez ci-dessous pour importer la sauvegarde créée dans SeriesGuide X. + Importer et remplacer les séries existantes + Migrer depuis X Obtenir les fonctionnalités X Accédez aux notifications, à plus d\'options pour le widget et à toutes les fonctionnalités X futures. Supportez le développement.\n\nSi vous avez déjà acheté SeriesGuide X, installez-le pour déverrouiller cette mise à niveau. Obtenir les fonctionnalités X @@ -341,12 +356,6 @@ Votre abonnement aux fonctionnalités X a expiré. Ajouter à l\'écran d\'accueil Chercher dans %s - - A - Z - Episode suivant - Favoris (A - Z) - Favoris (prochain ep.) - Plus récentes en premier Plus anciennes en premier @@ -368,12 +377,6 @@ deux semaines un mois - - Tout - Favoris - Pas vu / Prochains - Masqués - lors de la diffusion 5 minutes avant diff --git a/SeriesGuide/res/values-hr/strings.xml b/SeriesGuide/src/main/res/values-hr/strings.xml similarity index 93% rename from SeriesGuide/res/values-hr/strings.xml rename to SeriesGuide/src/main/res/values-hr/strings.xml index 326d50b044..18f2c7b054 100644 --- a/SeriesGuide/res/values-hr/strings.xml +++ b/SeriesGuide/src/main/res/values-hr/strings.xml @@ -40,7 +40,6 @@ Filmovi Statistike Traži - Dodaj seriju Postavke Pomoć Povici @@ -118,9 +117,7 @@ %s prikupljeno. %s neprikupljeno. Ovdje nema serija ili tvoj ureÄ‘aj nije spojen na internet. - Pogledaj u izborniku iznad da dodaÅ¡ serije. - Dugo pritisni na seriju da je dodaÅ¡ u Favorite. - Dugo pritisni na seriju da je ovdje sakrijeÅ¡. + Remove all filters Zaista želite ukloniti %s? Ne može se izvrÅ¡iti, prvo uklonite %s sa svih popisa. IzbriÅ¡i @@ -134,6 +131,16 @@ Otkrij Sakrivena serija Prikazana serija + Add show + Filter shows + Favoriti + Unwatched + Nadolazeće + Hidden + Sort shows + Title + Next episode + Favorites first Nadolazeće Nedavno Prijatelji @@ -264,6 +271,8 @@ Obnovi Nemoj obnoviti Razumijem da će moje trenutaÄne serije i popisi nestati! + Last Auto Backup: %s + Restore Auto Backup Prijavi se Usluga nije aktivirana, prijavi se kada budeÅ¡ u SeriesGuide. Utipkaj naziv serije @@ -323,15 +332,21 @@ Sakrij pogledane epizode Pozadina widgeta Tip widgeta - Favoriti Nadolazeća epizoda Prikazuje sljedeću nadolazeću epizodu tvojih SeriesGuide serija. Prikaži epizode u sljedećem - Prebaci u SeriesGuide - Alat za sigurnosnu kopiju Skinite SeriesGuide - Oprez! SeriesGuide X uskoro će ostati bez svih funkcija. Prebaci svoje serije u besplatnu verziju i ostavi SeriesGuide X instaliran da otkljuÄaÅ¡ novu doživotnu X Pretplatu. - Da prebaciÅ¡ svoje serije: dotakni Alat za sigurnosnu kopiju, onda Sigurnosna kopija.\n\nVrati se dok se opet ne pojavi ovaj dijalog.\n\nDotakni Skini SeriesGuide i instaliraj SeriesGuide.\n\nPokreni SeriesGuide. Dotakni Izbornik, onda Postavke. U Napredno za obnovu upotrijebi alat za sigurnosnu kopiju. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Nabavi X mogućnosti Nabavi pristup obavijestima, viÅ¡e opcija za popise widgeta i sve buduće X mogućnosti. Podrži daljnji razvoj.\n\nAko si već kupio SeriesGuide X, instaliraj ga da okljuÄaÅ¡ ovu nadogradnju. Nabavi X mogućnosti @@ -341,12 +356,6 @@ Tvoja pretplata na X mogućnosti je istekla. Dodaj na PoÄetni zaslon Search within %s - - A-Z - Sljedeća epizoda - Favoriti (A - Z) - Favoriti (Sljedeća ep.) - Prvo zadnje Prvo najstarije @@ -355,7 +364,7 @@ Zadnji prvi Najstariji prvi Nepogledane prve - A - Z + A-Z Najbolje ocijenjene Prvo zadnje (DVD) Prvo najstarije (DVD) @@ -368,12 +377,6 @@ 2 tjedna 1 mjeseca - - Sve - Favoriti - Nepogledano/Nadolazeće - Skriveno - emitira se 5 minuta prije diff --git a/SeriesGuide/res/values-hu/strings.xml b/SeriesGuide/src/main/res/values-hu/strings.xml similarity index 71% rename from SeriesGuide/res/values-hu/strings.xml rename to SeriesGuide/src/main/res/values-hu/strings.xml index 73c0a17b7e..b368e675ed 100644 --- a/SeriesGuide/res/values-hu/strings.xml +++ b/SeriesGuide/src/main/res/values-hu/strings.xml @@ -1,12 +1,12 @@ - Show + Műsor Epizód - Episode %s + Epizód %s Epizódok Évad - Season %s + Évad %s Évadok ismeretlen Már láttam @@ -14,7 +14,7 @@ Extra epizódok Epizódok keresése Epizód megosztása - Share show + Műsor megosztása Kijelentkezés Epizódok Tartalom @@ -32,39 +32,38 @@ Bezár Kijelöltek mentése Nincs hálózati kapcsolat. Próbálja meg késÅ‘bb. - No app available to handle this. - Only available with X Subscription + Nincs kezelÅ‘ alkalmazás. + Csak az X verzióval elérhetÅ‘ Sorozatok Listák Tevékenység Filmek Statisztika Keresés - Sorozat felvétele Beállítások Súgó Ãœzenetek Hozzászólások - Type a shout (in English) - Shout! + Közlemény beírása (angolul) + Szólj hozzá! Spoiler veszély! - Be the first to shout! - Shouts for %s + Szólj hozzá elsÅ‘ként! + %s hozzászólások Automágikus frissítés - Watchlist (trakt) - Add to watchlist - Remove from watchlist - Added to watchlist - Removed from watchlist + FigyelÅ‘lista (trakt) + FigyelÅ‘listához ad + FigyelÅ‘listáról töröl + Hozzáadva a figyelÅ‘listához + Eltávolítva a figyelÅ‘listáról Ãrj be egy filmcímet - Search for a movie above. - You have no internet connection or not added movies to your trakt watchlist. + Fenti film keresése. + Nincs internet kapcsolat vagy nem adtál még hozzá műsort a trakt figyelÅ‘listádhoz. ElÅ‘zetes - %s with next episodes - %s continuing - %s watched - Runtime of all watched episodes - Your rating + %s új epizóddal + %s folytatódik + %s megnézve + Összes epizód műsorideje + Értékelésed Totally ninja! Weak Sauce :( Szörnyű @@ -75,10 +74,10 @@ Jó Nagyon jó Nagyszerű - ABSOLUTE + Abszolút DVD - Release date - Release date unknown + ElsÅ‘ adás + ElsÅ‘ adás ismeretlen DVD epizód SzereplÅ‘k ElsÅ‘ sugárzás ideje @@ -92,8 +91,8 @@ Még fut Véget ért Utolsó szerkesztés / / TVDb - Watch - More + Figyelés + Több Rendezés Összes frissítése Gyors frissítés @@ -110,17 +109,15 @@ Minden korábban vetített megnézve Epizód gyűjtemény Még be nem szerzett epizód - Collected all - Collected none - Submitting to trakt. + Mind begyűjtve + Nincs begyűjtött + Elküldés a traktnak. A(z) %s-t láttam. A(z) %s-t nem láttam. %s a gyűjteménybe. %s kivéve a gyűjteménybÅ‘l. There are no shows here or your device has no internet connection. - Look in the menu above to add some shows. - Long-press on a show to add it to Favorites. - Long-press on a show to hide it here. + Remove all filters Biztosan törli a következÅ‘t: %s? Can\'t comply, remove %s from all lists first. Törlés @@ -134,6 +131,16 @@ Mutat Rejtett sorozat Látható műsor + Add show + Filter shows + Kedvencek + Unwatched + KövetkezÅ‘ + Hidden + Sort shows + Title + Next episode + Favorites first KövetkezÅ‘ Legutóbbi Barátok @@ -142,16 +149,16 @@ Nincsenek mostanában vetített epizódok. Csak kedvenc műsorok Láttam igen/nem - Infinite activity - Updating… - To update connect to the internet. - To update connect to WiFi or allow other connections in Settings. + Végtelen görgetés + Frissítés… + Frissítéshez csatlakozz az internetre. + Frissítéshez csatlakozz WiFin vagy engedélyezz más kapcsolatokat a Beállításokban. Egy frissítés folyamatban, próbálja késÅ‘bb. Képek letöltése Néhány kép letöltése nem sikerült, próbálja meg késÅ‘bb. Képek letöltése… A képek letöltéséhez további tároló kapacitásra van szükség az SD kártyán. - on %s + %s csatornán nem látott epizód Minden epizód megnézve nem látott epizód @@ -174,7 +181,7 @@ Legnépszerűbb Ajánlott Saját - Watchlist + FigyelÅ‘lista powered by thetvdb.com powered by trakt.tv ElsÅ‘ lista @@ -187,9 +194,9 @@ Sorozatokat, évadokat vagy epizódokat is adhat hozzá ehhez a listához. Trakt csatlakozás Csatlakozott a trakthoz! - Add shows from your library: - Show your library - Upload your SeriesGuide show list: + Műsor hozzáadása a gyűjteményedbÅ‘l: + Műsortárad mutatása + SeriesGuide műsorlista feltöltése: LétezÅ‘ műsorok feltöltése trakt helps keep a record of what TV shows and movies you are watching. Learn more - add shows from your library and watchlist\n\n- see your recommendations and friends activity\n\n- watched and collected flags are synced automatically\n\n- new shows you watched are added automatically @@ -217,16 +224,16 @@ GetGlue kapcsolat megszakítása Jelentkezzen be GetGlue-val az újrakapcsolódáshoz trakt.tv fiók hozzáadása vagy szerkesztése - Manual sync with trakt.tv + trakt.tv kézi szinkronizáció Visszajelzés küldése Új trakt sorozatok hozzáadása Trakt aktivitása és adatai alapján sorozatai bekerülnek az adatbázisba - Appearance + Megjelenés Alkalmazás téma Egyéb Automatikus frissítés bekapcsolása - Periodically update your shows - Turn on Auto Backup + Műsorok idÅ‘nkénti firssítése + Automatikus mentés bekapcsolása Weekly backup of your show database into the Download folder Biztonsági másolat Biztonsági mentés készítése a sorozatokról, vagy visszaállítás @@ -242,15 +249,15 @@ A képek ne jelenjenek meg a Képtárban (újraindítás szükséges) Backup will export your shows, seasons, episodes and lists to a JSON file into the folder below.\nTo Restore make sure the JSON files created by backup are in the folder below. Include all meta-data like descriptions, actors and ratings. - Backup folder - Database version + Mentési mappa + Adatbázis verzió Nem lehet menteni. A mentési mappa nem elérhetÅ‘. Adatbázis mentése… A mentés sikerült. A mentés nem sikerült. Adatbázis visszaállítása… Nem lehet visszaállítani. A mentési mappa nem elérhetÅ‘. - There is no readable backup file. + Nincs biztonsági mentés. A mentett adatbázis nem olvasható. A mentés esetleg túl régi vagy üres. A 2.0 verzió elÅ‘tti mentéseket az 1.9.x verziójú programba kell importálni, majd menteni. Adatok visszaállítása sikerült. @@ -263,14 +270,16 @@ A jelenlegi sorozatlista törlÅ‘dik. GyÅ‘zÅ‘djön meg róla, hogy a biztonsági másolat a megfelelÅ‘ mappában van! Visszaállítás Mégse - I understand my current shows and lists will be lost! + Megértettem, hogy törlésre kerül az összes jelenlegi műsorom és listám! + Last Auto Backup: %s + Restore Auto Backup Bejelentkezés - No services enabled, check in once within SeriesGuide. + Nincs engedélyezett szolgáltatás, jelentkezz be a SeriesGuide-ban. Ãrja be a sorozat címét Nincs találat Ãrjon üzenetet(nem kötelezÅ‘) - Fix GetGlue check-in - Paste title + GetGlue belépés javítása + Cím beillesztése GetGlue-val bejelentkezve ide: %s. GetGlue bejelentkezés nem sikerült. Próbálja meg késÅ‘bb. A GetGlue azonosítás nem sikerült. Próbálja meg késÅ‘bb. @@ -280,8 +289,8 @@ Bejelentkezés válasszon egyet lentrÅ‘l Valami mást keres? - Rate episode - Rate show + Epizód értékelése + Műsor értékelése Más alkalmazásokkal Felülbírál Már bejelentkezett egy másik epizódba, vagy filmbe. Bírálja felül a korábbi bejelentkezést, vagy várjon %s és próbálja újra. @@ -297,20 +306,20 @@ Megszakítás trakt.tv kapcsolódási hiba jelszó dekódolása nem sikerült - Something went wrong. Please check your credentials and try again. - Could not talk to trakt. Try again later. + Hiba történt. EllenÅ‘rizd a megadott adatokat és próbáld újra. + Nincs kapcsolat a trakttal. Próbáld újra késÅ‘bb. Új fiók létrehozása Válasszon nyelvet Érd el a barátaidat és a sorozataidat a trakt.tv-n Mégsem - To get started tap + Kezdéshez érintsd meg %s kezdÅ‘dik Új epizódok kezdÅ‘dnek - %s new episodes + %s új epizód %1$s itt: %2$s Válassza ki a közelgÅ‘ műsorok megjelenítéséhez Értesítések - Notify about new episodes + Értesítés új epizódoknál Csak kedvencek Csak a kedvencekrÅ‘l kap értesítést CsengÅ‘hang @@ -321,32 +330,32 @@ SeriesGuide (közepes) SeriesGuide (nagy) Megnézett epizódok elrejtése - Widget background - Widget type - Kedvencek - Upcoming episode - Displays the next upcoming episode of your SeriesGuide shows. - Show episodes in the next - Move to SeriesGuide - Backup tool + Widget háttér + Widget típus + KövetkezÅ‘ epizód + Megjeleníti a következÅ‘ epizódokat a SeriesGuide-ból. + Mutasd a következÅ‘ epizódokat A SeriesGuide letöltése - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. - Get X features - Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. - Get X features - Thanks, you are already subscribed to all X features! - You are now subscribed to X features. - Subscription expired - Your X features subscription has expired. - Add to Home screen - Search within %s - - A - Z - KövetkezÅ‘ epizód - Kedvencek (A-Z) - Kedvencek (következÅ‘ epizód) - + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X + X funkciók beszerzése + Szerezz elérést az értesítésekhez, több widget opcióhoz és a jövÅ‘beli X funkciókhoz. Támogasd a további fejlesztést.\n\nHa már megvásároltad a SeriesGuide X verziót, akkor az engedélyezi ezeket a funkciókat. + X funkciók beszerzése + Már van X elÅ‘fizetésed, köszönjük! + Nincs X elÅ‘fizetésed. + Lejárt az elÅ‘fizetés + Lejárt az X elÅ‘fizetésed. + KezdÅ‘képernyÅ‘höz ad + Keresés itt %s Újabbak elÅ‘re Régebbiek elÅ‘re @@ -368,12 +377,6 @@ két hét egy hónap - - Mind - Kedvencek - Nem látott/KövetkezÅ‘ - Rejtett - vetítéskor 5 perccel elÅ‘tte @@ -382,9 +385,9 @@ Ãtlátszó - 25% black - 50% black - 75% black + 25% fekete + 50% fekete + 75% fekete Fekete @@ -398,7 +401,7 @@ 12 óra 24 óra 3 nap - week + hét %d szavazat @@ -409,27 +412,27 @@ %d szavazat - %d day - %d days - %d days - %d days - %d days - %d days + %d nap + %d nap + %d nap + %d nap + %d nap + %d nap - %d hours - %d hour - %d hours - %d hours - %d hours - %d hours + %d óra + %d óra + %d óra + %d óra + %d óra + %d óra - %d minutes - %d minute - %d minutes - %d minutes - %d minutes - %d minutes + %d perc + %d perc + %d perc + %d perc + %d perc + %d perc diff --git a/SeriesGuide/res/values-it/strings.xml b/SeriesGuide/src/main/res/values-it/strings.xml similarity index 93% rename from SeriesGuide/res/values-it/strings.xml rename to SeriesGuide/src/main/res/values-it/strings.xml index be46fa99c5..712047a023 100644 --- a/SeriesGuide/res/values-it/strings.xml +++ b/SeriesGuide/src/main/res/values-it/strings.xml @@ -40,7 +40,6 @@ Film Statistiche Cerca - Aggiungi Serie Impostazioni Guida Dì la tua @@ -118,9 +117,7 @@ %s collezionato. %s non collezionato. Non ci sono serie >TV sul tuo smartphone o la connessione internet è assente. - Aggiungi qualche Serie dal menu soprastante. - Premi a lungo per contrassegnare una serie come Preferita. - Premi a lungo su una Serie per nasconderla. + Remove all filters Vuoi davvero rimuovere %s? Impossibile procedere, elimina %s dalla lista. Rimuovere @@ -134,6 +131,16 @@ Annulla nascondi Spettacoli nascosti Visualizza non nascoste + Add show + Filter shows + Preferiti + Unwatched + Prossimi + Hidden + Sort shows + Title + Next episode + Favorites first Prossimi Recenti Amici @@ -264,6 +271,8 @@ Ripristina Non Ripristinare I miei spettacoli attuali e liste verranno perse! + Last Auto Backup: %s + Restore Auto Backup Check-In Nessun servizio attivato, controllare una volta all\'interno di SeriesGuide. Digitare il nome della serie @@ -323,15 +332,21 @@ Nascondi episodi già visti Sfondo widget Tipo di widget - Preferiti Prossimi episodi Mostra il prossimo episodio nella lista SeriesGuide. Mostra prossimi episodi - Move to SeriesGuide - Backup tool Scarica SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Get X features Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. Get X features @@ -341,12 +356,6 @@ Your X features subscription has expired. Add to Home screen Search within %s - - A - Z - Prossimo episodio - Preferiti (A-Z) - Preferiti (Prossimo Ep.) - Prima i più recenti Prima i più vecchi @@ -368,12 +377,6 @@ due settimane un mese - - Tutti - Preferiti - Non Visti/Prossimi - Nascosti - in onda 5 min in anticipo diff --git a/SeriesGuide/res/values-iw/strings.xml b/SeriesGuide/src/main/res/values-iw/strings.xml similarity index 75% rename from SeriesGuide/res/values-iw/strings.xml rename to SeriesGuide/src/main/res/values-iw/strings.xml index f4b41e0a7c..66ccf45a55 100644 --- a/SeriesGuide/res/values-iw/strings.xml +++ b/SeriesGuide/src/main/res/values-iw/strings.xml @@ -1,12 +1,12 @@ - Show + סדרה פרק - Episode %s + פרק %s ×¤×¨×§×™× ×¢×•× ×” - Season %s + עונה %s עונות ×œ× ×™×“×•×¢ נצפה @@ -14,7 +14,7 @@ ×¤×¨×§×™× ×ž×™×•×—×“×™× ×—×¤×© ×¤×¨×§×™× ×©×ª×£ פרק - Share show + שתף סדרה התנתק ×¤×¨×§×™× ×ª×§×¦×™×¨ @@ -32,39 +32,38 @@ סגור שמור בחירה ×ין קישוריות, נסה מ×וחר יותר - No app available to handle this. - Only available with X Subscription + ×ין ×™×™×©×•× ×–×ž×™×Ÿ בשביל ×–×”. + זמין רק ×¢× ×ž× ×•×™ X סדרות רשימות פעילות ×¡×¨×˜×™× ×¡×˜×˜×™×¡×˜×™×§×” חיפוש - הוסף סדרה הגדרות עזרה המלצות - Comments + תגובות הקלד המלצה (ב×נגלית) המלץ! ×זהרת ספוילר! תהיה הר×שון להמליץ! המלצות עבור %s מרענן ×וטומטית - Watchlist (trakt) - Add to watchlist - Remove from watchlist - Added to watchlist - Removed from watchlist + רשימת מעקב (Trakt) + הוסף לרשימת מעקב + הסר מרשימת מעקב + נוסף לרשימת מעקב + הוסר מרשימת מעקב הקלד ×©× ×¡×¨×˜ חפש ×ת הסרט למעלה. - You have no internet connection or not added movies to your trakt watchlist. + ×ין לך חיבור ל×ינטרנט ×ו ×œ× ×”×•×¡×¤×ª לרשימת מעקב ×¡×¨×˜×™× ×©×œ×š ב-Trakt. טריילר %s ×¢× ×”×¤×¨×§×™× ×”×‘××™× %s ×ž×ž×©×™×›×™× %s נצפו זמן הריצה של כל ×”×¤×¨×§×™× ×©× ×¦×¤×• - Your rating + הדירוג שלך לגמרי × ×™× ×’\'×”! על ×”×¤× ×™× ): נור××™ @@ -75,10 +74,10 @@ טוב טוב מ×וד מצוין - ABSOLUTE + מוחלט DVD - Release date - Release date unknown + ת×ריך שחרור + ת×ריך שחרור ×œ× ×™×“×•×¢ פרק DVD ×©×—×§× ×™× ×”×§×¨× ×” ר×שונה @@ -92,8 +91,8 @@ ממשיכה הסתיימה עדכון ×חרון // TVDb - Watch - More + צפה + עוד מיין לפי (עדכן (הכל עדכן (×™×©× ×™× ×‘×œ×‘×“) @@ -110,17 +109,15 @@ כל ×”×¤×¨×§×™× ×©×©×•×“×¨×• נצפו פרק שהושג פרק ×©×˜×¨× ×”×•×©×’ - Collected all - Collected none - Submitting to trakt. + ×סוף ×ת הכל + ×ל ת×סוף + שלח ל-Trakt. %s נצפו. %s ×©×˜×¨× ×¦×¤×™×ª. %s ש×ספת. %s ×©×˜×¨× ×ספת. ×ין תוכניות ×ו שלמכשירך ×ין חיבור לרשת. - חפש בתפריט שלעיל כדי להוסיף כמה סדרות. - לחץ לחיצה ×רוכה על סדרה כדי להוסיפה למועדפי×. - לחץ לחיצה ×רוכה על סדרה כדי להסתירה. + Remove all filters בטוח ש×תה רוצה להסיר ×ת %s? ×œ× × ×™×ª×Ÿ לבצע, הסר ×§×•×“× ×ת %s מכל הרשימות הסר @@ -134,6 +131,16 @@ בטל הסתרה סדרה מוסתרת סדרה ×œ× ×ž×•×¡×ª×¨×ª + Add show + Filter shows + ×ž×•×¢×“×¤×™× + Unwatched + בקרוב + Hidden + Sort shows + Title + Next episode + Favorites first בקרוב חדש ×—×‘×¨×™× @@ -142,16 +149,16 @@ ×ין ×¤×¨×§×™× ×—×“×©×™× ×¡×“×¨×•×ª מעודפות בלבד החלף נצפו - Infinite activity - Updating… - To update connect to the internet. - To update connect to WiFi or allow other connections in Settings. + פעילות ×ינסופית + מעדכן... + התחבר ל×ינטרנט כדי לעדכן. + כדי לעדכן התחבר ל-WiFi ×ו ×פשר ×—×™×‘×•×¨×™× ××—×¨×™× ×‘×”×’×“×¨×•×ª. מבצע תהליך עדכון, נסה מ×וחר יותר. טען ×¤×•×¡×˜×¨×™× ×›×ž×” ×¤×•×¡×˜×¨×™× ×œ× × ×˜×¢× ×•, נסה שנית מ×וחר יותר טוען ×¤×•×¡×˜×¨×™× ×˜×¢×™× ×ª ×¤×•×¡×˜×¨×™× ×“×•×¨×©×ª ×חסון חיצוני (כרטיס SD) - on %s + ב- %s ×”×¤×¨×§×™× ×œ× × ×¦×¤×• כל ×”×¤×¨×§×™× × ×¦×¤×• פרק ×©×˜×¨× × ×¦×¤×” @@ -192,7 +199,7 @@ העלה ×ת רשימת סדרות ×”-SeriesGuide שלך: העלה תוכניות קיימות trakt מסייעת לשמור רשימה של ×ילו תוכניות טלוויזיה ×•×¡×¨×˜×™× ×תה צופה. למד עוד - -הוסף סדרות מהספריה ומה-watchlist שלך\n\n- ר××” ×ת ההמלצות שלך ו×ת פעילות ×”×—×‘×¨×™× ×©×œ×š\n\n- דגלי צפייה ו×וסף ×”×“×’×œ×™× ×©×œ×š ×ž×¡×•× ×›×¨× ×™× ×וטומטית\n\n- תוכניות חדשות שצפית בהן מתווספות ב×ופן ×וטומטי + -הוסף סדרות מהספריה ומהרשימת מעקב שלך\n\n- ר××” ×ת ההמלצות שלך ו×ת פעילות ×”×—×‘×¨×™× ×©×œ×š\n\n- דגלי צפייה ו×וסף ×”×“×’×œ×™× ×©×œ×š ×ž×¡×•× ×›×¨× ×™× ×וטומטית\n\n- תוכניות חדשות שצפית בהן מתווספות ב×ופן ×וטומטי ×©×•× ×ª×•×›× ×™×•×ª ×œ× ×™×ª×•×•×¡×¤×• ×ו יוסרו ב-SeriesGuide, עשה ×–×ת מתוך רשימת התוכניות. סמן בדגל ×ת כל ×”×¤×¨×§×™× ×©× ×¦×¤×• ב-trakt כנצפו ב-SeriesGuide: סמן בדגל ×ת כל ×”×¤×¨×§×™× ×©× ×¦×¤×• ב-SeriesGuide כנצפו ב-trakt: @@ -225,9 +232,9 @@ × ×•×©× ×פליקציה ×חר הדלק עדכון ×וטומטי - Periodically update your shows - Turn on Auto Backup - Weekly backup of your show database into the Download folder + מעת לעת עדכן ×ת הסדרות שלך + הפעל גיבוי ×וטומטי + גיבוי שבועי של מסד ×”× ×ª×•× ×™× ×©×œ הסדרות שלך לתוך תיקיית הורדות גיבוי/שחזור גבה ×ו שחזר ×ת סדרותיך תוכניות המתקרבות תוך @@ -240,17 +247,17 @@ עוקב ×חר השימוש בתוכנה על מנת לסייע בשיפור SeriesGuide הסתר תמונות הסתר תמונות מגלריית התמונות שלך (נדרש ×תחול מחדש) - Backup will export your shows, seasons, episodes and lists to a JSON file into the folder below.\nTo Restore make sure the JSON files created by backup are in the folder below. - Include all meta-data like descriptions, actors and ratings. - Backup folder - Database version + גיבוי ×ª×™×™×¦× ×ת הסדרות, עונות, ×¤×¨×§×™× ×•×¨×©×™×ž×•×ª לקובץ JSON לתוך התיקייה הב××”. \nכדי לשחזר ×•×•×“× ×©×”×§×‘×¦×™× ×©× ×•×¦×¨×• על ידי גיבוי JSON נמצ××™× ×‘×ª×™×§×™×™×” להלן. + כולל ×ת כל ×”× ×ª×•× ×™× ×›×ž×• תי×ור, ×©×—×§× ×™× ×•×“×™×¨×•×’×™×. + תיקיית גיבוי + גרסת מסד × ×ª×•× ×™× ×ין ×פשרות לגבות. תיקיית ×”×’×™×‘×•×™×™× ××™× ×” זמינה. מגבה מסד × ×ª×•× ×™× ×”×’×™×‘×•×™ ×”×•×©×œ× ×‘×”×¦×œ×—×”. הגיבוי נכשל. משחזר מסד × ×ª×•× ×™× ×ין ×פשרות לשחזר. תיקיית ×”×’×™×‘×•×™×™× ××™× ×” זמינה. - There is no readable backup file. + ×ין קובץ גיבוי הניתן לקרי××”. קובץ הגיבוי ×ינו קרי×. ייתכן והגיבוי שלך ישן מדי ×ו ריק. הערה: ×™×‘× ×’×™×‘×•×™×™ פרה-2.0 בגרסה 1.9.x לפני כן. הגיבוי שוחזר בהצלחה @@ -263,9 +270,11 @@ רשימת הסדרות הנוכחית שלך ת×בד! ×•×“× ×›×™ קובץ הגיבוי בתוך תיקיית הגיבויי×. שחזר ×ל תשחזר - I understand my current shows and lists will be lost! + ×× ×™ מבין שהסדרות והרשימות הנוכחיות שלי ×™×בדו! + Last Auto Backup: %s + Restore Auto Backup צ\'ק-×ין - No services enabled, check in once within SeriesGuide. + ×ין ×©×™×¨×•×ª×™× ×–×ž×™× ×™×, בדוק ×¤×¢× ×חת ×¢× SeriesGuide. הקלד ×©× ×¡×“×¨×” ×ין סדרות תו×מות הקלד הודעה (×ופציונלי) @@ -280,11 +289,11 @@ בצע צ\'ק-×ין ב בחר ×חד להלן מחפש משהו ×חר? - Rate episode - Rate show + דרג פרק + דרג סדרה ב×מצעות ×פליקציות ×חרות דרוס - ×תה כבר עושה צ\'ק-×ין לפרק ×ו סרט ×חר. דרוס ×ת הצ\'ק-×ין ×”×§×•×“× ×ו ×—×›×” %s ונסה שנית. + ×תה כבר עושה צ\'ק-×ין לפרק ×ו לסרט ×חר. דרוס ×ת הצ\'ק-×ין ×”×§×•×“× ×ו ×—×›×” %s ונסה שנית. ×× ×™ ××—×›×” מ×מת ×ת SeriesGuide ×¢× GetGlue הוסף ללוח השנה @@ -297,8 +306,8 @@ התנתק ×ינטר×קציה ×¢× trakt נכשלה ×œ× ×”×™×ª×” ×פשרות לפענח ×ת ×”×¡×™×¡×ž× - Something went wrong. Please check your credentials and try again. - Could not talk to trakt. Try again later. + משהו השתבש. ×× × ×‘×“×•×§ ×ת ×”××™×©×•×¨×™× ×©×œ×š ונסה שוב. + ×œ× × ×™×ª×Ÿ להתחבר ל-Trakt. נסה שוב מ×וחר יותר. צור חשבון חדש בחר שפה קבל גישה לספריית ×”-trakt.tv שלך ופעילות חברייך @@ -306,7 +315,7 @@ כדי להתחיל, לחץ %s מתקרב ×¤×¨×§×™× ×—×“×©×™× ×ž×ª×§×¨×‘×™× - %s new episodes + ×¤×¨×§×™× ×—×“×©×™× %s %1$s ב-%2$s בחר כדי להציג סדרות שמתקרבות התר×ות @@ -323,30 +332,30 @@ הסתר ×¤×¨×§×™× ×©× ×¦×¤×• רקע ווידג\'ט סוג ווידג\'ט - ×ž×•×¢×“×¤×™× ×¤×¨×§×™× ×§×¨×•×‘×™× ×ž×¦×™×’ ×ת הפרק הקרוב ×”×‘× ×ž×¡×“×¨×•×ª ×”-SeriesGuide שלך. - Show episodes in the next - Move to SeriesGuide - Backup tool + הצג ×¤×¨×§×™× ×‘- הורד SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. - Get X features - Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. - Get X features - Thanks, you are already subscribed to all X features! - You are now subscribed to X features. - Subscription expired - Your X features subscription has expired. - Add to Home screen - Search within %s - - A - Z - הפרק ×”×‘× - ×ž×•×¢×“×¤×™× (A - Z) - ×ž×•×¢×“×¤×™× (הפרק הב×) - + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X + קבל תכונות של X + קבל גישה להתר×ות, ×פשרויות רשימה ×™×™×©×•×ž×•× ×™× × ×•×¡×¤×•×ª ו×ת כל תכונות X בעתיד. תמיכה בהמשך הפיתוח.\n\n×× ×›×‘×¨ רכשת SeriesGuide X, התקן ×ותו כדי לפתוח ×ת השדרוג. + קבל תכונות של X + תודה, ×תה כבר מנוי על כל תכונות X! + כעת ×תה מנוי על תכונות של X. + פג תוקף המנוי + פג מנוי תכונות X שלך. + הוסף למסך הבית + חיפוש בתוך %s ×חרון ×§×•×“× ×¨×שון ×§×•×“× @@ -368,12 +377,6 @@ ×©×‘×•×¢×™×™× ×—×•×“×© ×חד - - הכל - ×ž×•×¢×“×¤×™× - ×œ× × ×¨×ו/×¢×ª×™×“×™×™× - ×ž×•×¡×ª×¨×™× - משודר 5 דקות מר×ש @@ -393,12 +396,12 @@ ×ž×•×¢×“×¤×™× - hour - 6 hours - 12 hours - 24 hours + שעה + 6 שעות + 12 שעות + 24 שעות 3 ×™×ž×™× - week + שבוע הצבעות %d diff --git a/SeriesGuide/res/values-ko/strings.xml b/SeriesGuide/src/main/res/values-ko/strings.xml similarity index 93% rename from SeriesGuide/res/values-ko/strings.xml rename to SeriesGuide/src/main/res/values-ko/strings.xml index b87fded6f0..2f7bec391c 100644 --- a/SeriesGuide/res/values-ko/strings.xml +++ b/SeriesGuide/src/main/res/values-ko/strings.xml @@ -40,7 +40,6 @@ ì˜í™” 통계 검색 - 쇼 추가 설정 ë„ì›€ë§ ê°ìƒí‰ @@ -118,9 +117,7 @@ %s 수집ë¨. %s 수집ë˜ì§€ ì•ŠìŒ. 쇼정보가 없거나 ì¸í„°ë„· ì—°ê²°ì´ ëŠê²¨ìžˆìŠµë‹ˆë‹¤. - 쇼를 추가하려면 ìœ„ì˜ ë©”ë‰´ë¥¼ 보세요. - ì¦ê²¨ì°¾ê¸°ì— 쇼를 추가하려면 í™”ë©´ì„ ì˜¤ëž˜ 누르세요. - 쇼를 ì—¬ê¸°ì— ìˆ¨ê¸°ë ¤ë©´ í™”ë©´ì„ ì˜¤ëž˜ 누르세요. + Remove all filters %Sì„ ì œê±° 하시겠습니까? 진행불가. %sì„ ë¨¼ì € 모든 목ë¡ì—ì„œ 삭제하세요. ì‚­ì œ @@ -134,6 +131,16 @@ ë³´ì´ê¸° 숨겨진 쇼 쇼 ë³´ì´ê¸° + Add show + Filter shows + ì¦ê²¨ì°¾ê¸° + Unwatched + ë°©ì˜ì˜ˆì • + Hidden + Sort shows + Title + Next episode + Favorites first ë°©ì˜ì˜ˆì • 최근방ì˜ë¨ 친구 @@ -264,6 +271,8 @@ ë³µì› ë³µì› ì·¨ì†Œ I understand my current shows and lists will be lost! + Last Auto Backup: %s + Restore Auto Backup ì²´í¬ì¸ No services enabled, check in once within SeriesGuide. 쇼 ì´ë¦„ì„ ìž…ë ¥í•˜ì„¸ìš” @@ -323,15 +332,21 @@ 시청한 ì—피소드 숨기기 위젯 ë°°ê²½ 위젯 형태 - ì¦ê²¨ì°¾ê¸° ë°©ì˜ì˜ˆì • ì—피소드 시리즈가ì´ë“œì— 있는 ì‡¼ì˜ ë‹¤ìŒ ì—피소드를 표시합니다. Show episodes in the next - Move to SeriesGuide - Backup tool 시리즈가ì´ë“œ 다운로드 - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Get X features Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. Get X features @@ -341,12 +356,6 @@ Your X features subscription has expired. Add to Home screen Search within %s - - A - Z - ë‹¤ìŒ ì—피소드 - ì¦ê²¨ì°¾ê¸° (A-Z) - ì¦ê²¨ì°¾ê¸° (다ìŒì—피) - 최근 ë°©ì˜ ìˆœ 예전 ë°©ì˜ ìˆœ @@ -368,12 +377,6 @@ 2주 한달 - - ëª¨ë‘ - ì¦ê²¨ì°¾ê¸° - 미시청/ë°©ì˜ì˜ˆì • - ìˆ¨ê²¨ì§ - 방송중 5분전 diff --git a/SeriesGuide/res/values-land/dimens.xml b/SeriesGuide/src/main/res/values-land/dimens.xml similarity index 100% rename from SeriesGuide/res/values-land/dimens.xml rename to SeriesGuide/src/main/res/values-land/dimens.xml diff --git a/SeriesGuide/res/values-large-land/layouts.xml b/SeriesGuide/src/main/res/values-large-land/layouts.xml similarity index 100% rename from SeriesGuide/res/values-large-land/layouts.xml rename to SeriesGuide/src/main/res/values-large-land/layouts.xml diff --git a/SeriesGuide/res/values-large/dimens.xml b/SeriesGuide/src/main/res/values-large/dimens.xml similarity index 100% rename from SeriesGuide/res/values-large/dimens.xml rename to SeriesGuide/src/main/res/values-large/dimens.xml diff --git a/SeriesGuide/res/values-large/styles.xml b/SeriesGuide/src/main/res/values-large/styles.xml similarity index 100% rename from SeriesGuide/res/values-large/styles.xml rename to SeriesGuide/src/main/res/values-large/styles.xml diff --git a/SeriesGuide/res/values-lt/strings.xml b/SeriesGuide/src/main/res/values-lt/strings.xml similarity index 92% rename from SeriesGuide/res/values-lt/strings.xml rename to SeriesGuide/src/main/res/values-lt/strings.xml index cad98d59d0..bec08aa532 100644 --- a/SeriesGuide/res/values-lt/strings.xml +++ b/SeriesGuide/src/main/res/values-lt/strings.xml @@ -40,7 +40,6 @@ Filmai Statistika PaieÅ¡ka - PridÄ—ti serialÄ… Nustatymai Pagalba Shouts @@ -118,9 +117,7 @@ %s collected. %s not collected. There are no shows here or your device has no internet connection. - Look in the menu above to add some shows. - Long-press on a show to add it to Favorites. - Long-press on a show to hide it here. + Remove all filters Ar tikrai norite paÅ¡alinti %s? Can\'t comply, remove %s from all lists first. PaÅ¡alinti @@ -134,6 +131,16 @@ NebeslÄ—pti Hidden show Un-Hidden show + Add show + Filter shows + MÄ—gstamiausi + Unwatched + ArtÄ—janÄios + Hidden + Sort shows + Title + Next episode + Favorites first ArtÄ—janÄios PaskutinÄ—s Draugai @@ -264,6 +271,8 @@ Restore Don\'t Restore I understand my current shows and lists will be lost! + Last Auto Backup: %s + Restore Auto Backup Check in No services enabled, check in once within SeriesGuide. Type a show name @@ -323,15 +332,21 @@ SlÄ—pti pažiÅ«rÄ—tas serijas Widget background Widget type - MÄ—gstamiausi Upcoming episode Displays the next upcoming episode of your SeriesGuide shows. Show episodes in the next - Move to SeriesGuide - Backup tool Parsisiųsti SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Get X features Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. Get X features @@ -341,12 +356,6 @@ Your X features subscription has expired. Add to Home screen Search within %s - - A–Z - Kita serija - MÄ—gstamiausi (A–Z) - MÄ—gstamiausi (kita serija) - Latest first Oldest first @@ -368,12 +377,6 @@ two weeks a month - - Visi - MÄ—gstamiausi - Unseen/Upcoming - Hidden - on air 5 min in advance diff --git a/SeriesGuide/res/values-nb/strings.xml b/SeriesGuide/src/main/res/values-nb/strings.xml similarity index 91% rename from SeriesGuide/res/values-nb/strings.xml rename to SeriesGuide/src/main/res/values-nb/strings.xml index d15a0edb97..d86c81bd77 100644 --- a/SeriesGuide/res/values-nb/strings.xml +++ b/SeriesGuide/src/main/res/values-nb/strings.xml @@ -40,7 +40,6 @@ Filmer Statistikk Søk - Legg Til Innstillinger Hjelp Roper @@ -72,8 +71,8 @@ DÃ¥rlig Nja Ok - Bra - Veldig bra + God + Utmerket Fantastisk ABSOLUTT DVD @@ -118,9 +117,7 @@ %s anskaffet. %s ikke anskaffet. Det er ingen serier her eller du mangler internett-tilkobling. - Se i menyen ovenfor for Ã¥ legge til serier. - Long-press on a show to add it to Favorites. - Long-press on a show to hide it here. + Remove all filters Vil du virkelig fjerne %s? Can\'t comply, remove %s from all lists first. Fjern @@ -134,6 +131,16 @@ Vis Sjulte Ikke-skjult program + Add show + Filter shows + Favoritter + Unwatched + Kommer snart + Hidden + Sort shows + Title + Next episode + Favorites first Kommer snart De siste Venner @@ -185,7 +192,7 @@ Behandle lister Fjern fra liste Du kan legge til serier, sesonger eller episoder til denne listen. - Koble til trak + Koble til trakt Koblet til trakt! Legg til programmer fra biblioteket: Vis ditt bibliotek @@ -264,6 +271,8 @@ Gjenopprett Ikke Gjenopprett I understand my current shows and lists will be lost! + Last Auto Backup: %s + Restore Auto Backup Sjekk inn No services enabled, check in once within SeriesGuide. Skriv inn et serienavn @@ -297,8 +306,8 @@ Koble fra Interaksjonen med trakt mislyktes passordet kunne ikke dekrypteres - Something went wrong. Please check your credentials and try again. - Could not talk to trakt. Try again later. + Noe gikk galt. Kontroller pÃ¥loggingsinformasjonen, og prøv pÃ¥ nytt. + Kunne ikke kontakte trakt. Prøv igjen senere. Opprett ny konto Velg sprÃ¥k FÃ¥ tilgang til ditt trakt.tv bibliotek og venners aktiviteter @@ -323,15 +332,21 @@ Skjul sette episoder Modulbakgrunn Modultype - Favoritter Kommende episode Viser neste episode av dine SeriesGuide serier. - Show episodes in the next - Flytt til SeriesGuide - Sikkerhetskopierings verktøy + Vis episoder i neste Last ned SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X FÃ¥ X funkjoner Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. FÃ¥ X funkjoner @@ -341,12 +356,6 @@ Your X features subscription has expired. Legg til pÃ¥ hjem-skjermen Search within %s - - A - Z - Neste episode - Favoritter (A-Z) - Favoritter (Neste ep.) - Nyeste først Eldste først @@ -368,12 +377,6 @@ to uker en mÃ¥ned - - Alle - Favoritter - Usett/Kommende - Skjulte - PÃ¥ lufta 5 min pÃ¥ forhÃ¥nd diff --git a/SeriesGuide/res/values-nl/strings.xml b/SeriesGuide/src/main/res/values-nl/strings.xml similarity index 91% rename from SeriesGuide/res/values-nl/strings.xml rename to SeriesGuide/src/main/res/values-nl/strings.xml index 58c925b4df..41f07baf7c 100644 --- a/SeriesGuide/res/values-nl/strings.xml +++ b/SeriesGuide/src/main/res/values-nl/strings.xml @@ -32,7 +32,7 @@ Sluiten Selectie bewaren Geen netwerk verbinding. Probeer het later opnieuw. - No app available to handle this. + Geen app beschikbaar voor deze actie. Enkel beschikbaar met X versie Series Lijsten @@ -40,7 +40,6 @@ Films Statistieken Zoeken - Serie toevoegen Instellingen Help Shouts @@ -118,9 +117,7 @@ %s verzameld. %s niet verzameld. Er zijn geen shows of uw apparaat heeft geen internetverbinding. - Kijk in het menu hierboven om een aantal shows toe te voegen. - Lang drukken om een show aan Favorieten toe te voegen. - Lang drukken om een show hier te verbergen. + Alle filters verwijderen Wilt u %s echt verwijderen? Kan geen overeenkomst vinden; verwijder eerst %s uit alle lijsten. Verwijderen @@ -134,6 +131,16 @@ Niet verbergen Verborgen serie Niet-verborgen serie + Serie toevoegen + Series filteren + Favorieten + Onbekeken + Eerstvolgende + Verborgen + Series sorteren + Titel + Volgende aflevering + Favorieten eerst Eerstvolgende Recente Vrienden @@ -264,6 +271,8 @@ Herstellen Niet herstellen Ik begrijp dat mijn huidige series en lijsten zullen verloren gaan! + Laatste auto back-up: %s + Auto back-up terugzetten Check-in Er is geen service ingeschakeld, check eenmaal in vanuit SeriesGuide. Voer de naam van een serie in @@ -297,8 +306,8 @@ Verbreken Communicatie met trakt is mislukt wachtwoord kon niet worden gedecodeerd - Something went wrong. Please check your credentials and try again. - Could not talk to trakt. Try again later. + Er ging iets fout. Controleer uw referenties en probeer het opnieuw. + Communicatie met trakt is niet mogelijk. Probeer later opnieuw. Nieuw account aanmaken Selecteer een taal Toegang tot uw bibliotheek en activiteit van vrienden op trakt.tv @@ -323,15 +332,21 @@ Bekeken afleveringen verbergen Widget achtergrond Widget type - Favorieten Volgende aflevering Geeft de eerstvolgende aflevering van uw SeriesGuide shows weer. Toon komende afleveringen - Verhuizen naar SeriesGuide - Backup tool SeriesGuide downloaden - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migreren naar SeriesGuide + SeriesGuide X is X Life-Time Pass. U zal u series moeten overzetten naar de gratis versie van SeriesGuide. Laat X geïnstalleerd staan om alle functies te ontgrendelen in de gratis versie. + Raak hieronder aan om een nieuwe back-up van uw series te maken. + Backup Shows + Touch below to install the free version of SeriesGuide. + SeriesGuide installeren + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Verkrijg X functies Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. Verkrijg X functies @@ -341,12 +356,6 @@ Uw X abonnement is verlopen. Toevoegen aan startscherm Search within %s - - A - Z - Volgende aflevering - Favorieten (A - Z) - Favorieten (volgende afl.) - Nieuwste eerst Oudste eerst @@ -368,12 +377,6 @@ 2 weken een maand - - Alle - Favorieten - Niet bekeken/Aankomende - Verborgen - uitzending 5 min van tevoren diff --git a/SeriesGuide/res/values-pl/strings.xml b/SeriesGuide/src/main/res/values-pl/strings.xml similarity index 92% rename from SeriesGuide/res/values-pl/strings.xml rename to SeriesGuide/src/main/res/values-pl/strings.xml index 7a06f5bf3f..9a5590281b 100644 --- a/SeriesGuide/res/values-pl/strings.xml +++ b/SeriesGuide/src/main/res/values-pl/strings.xml @@ -40,7 +40,6 @@ Filmy Statystyki Szukaj - Dodaj serial Ustawienia Pomoc Krzyki @@ -118,9 +117,7 @@ %s w kolekcji. %s - brak w kolekcji. Brak seriali lub poÅ‚Ä…czenia internetowego. - W menu powyżej można dodać niektóre seriale. - NaciÅ›nij dÅ‚ugo na serialu, aby dodać go do ulubionych. - NaciÅ›nij dÅ‚ugo na serial, aby go ukryć. + UsuÅ„ wszystkie filtry Czy na pewno chcesz usunąć %s? Nie można kontynuować, usuÅ„ %s z wszystkich list. UsuÅ„ @@ -134,6 +131,16 @@ Odkryj Ukryty serial Odkryty serial + Dodaj serial + Filtruj seriale + Ulubione + Nieobejrzane + NadchodzÄ…ce + Ukryty + Sortuj seriale + TytuÅ‚ + NastÄ™pny odcinek + Najpierw ulubione NadchodzÄ…ce Ostatnie Znajomi @@ -264,6 +271,8 @@ Przywróć Nie przywracaj Rozumiem, że bieżące seriale oraz listy zostanÄ… utracone! + Ostatnia kopia zapasowa: %s + Przywróć kopiÄ™ zapasowÄ… Podepnij siÄ™ Nie wÅ‚Ä…czono usÅ‚ug, podÅ‚Ä…cz siÄ™ za pomocÄ… SeriesGuide. Wpisz nazwÄ™ serialu @@ -323,15 +332,21 @@ Ukryj obejrzane odcinki TÅ‚o widżetu Typ widżetu - Ulubione NadchodzÄ…ce odcinki WyÅ›wietla nadchodzÄ…ce odcinki seriali z SeriesGuide. Pokaż odcinki emitowane za - Przejdź do SeriesGuide - Kopia zapasowa Pobierz SeriesGuide - Uwaga! SeriesGuide X zostanie wkrótce pozbawiony wszelkiej funkcjonalnoÅ›ci. PrzenieÅ› seriale do darmowej wersji i zachowaj SeriesGuide X zainstalowany, aby odblokować nowÄ…, dożywotniÄ… subskrypcjÄ™ X. - Aby przenieść swoje seriale: kliknij na narzÄ™dziu kopia zapasowa, a nastÄ™pnie Archiwizuj. \n\nWróć z powrotem, dopóki to okno dialogowe pojawia siÄ™ ponownie.\n\nKliknij na pobierz SeriesGuide i zainstaluj SeriesGuide.\n\nUruchom SeriesGuide. Dotknij Menu, a nastÄ™pnie Ustawienia. W Zaawansowane bÄ™dzie można przywrócić kopiÄ™ zapasowÄ…. + Migracja do SeriesGuide + SeriesGuide X jest teraz dożywotniÄ… przepustkÄ… X. Należy przeprowadzić migracjÄ™ seriali do darmowej wersji SeriesGuide. Zachowaj zainstalowanÄ… wersjÄ™ X, aby odblokować wszystkie funkcje wersji darmowej. + Dotknij poniżej aby utworzyć aktualnÄ… kopiÄ™ seriali. + Kopia zapasowa + Dotknij poniżej, aby zainstalować bezpÅ‚atnÄ… wersjÄ™ SeriesGuide. + Zainstaluj SeriesGuide + NaciÅ›nij poniżej i wybierz Migracja z menu SeriesGuide. + Otwórz SeriesGuide, a nastÄ™pnie przeprowadź migracjÄ™ + Dotknij poniżej aby zaimportować kopiÄ™ zapasowÄ… utworzonÄ… w SeriesGuide X. + Importuj i zastÄ…p istniejÄ…ce seriale + Migracja z X Uzyskaj funkcje X Uzyskaj dostÄ™p do powiadomieÅ„, wiÄ™kszej iloÅ›ci opcji w widżetach i innych funkcji X które bÄ™dÄ… dostÄ™pne w przyszÅ‚oÅ›ci. Wesprzyj tworzenie tej aplikacji.\n\nIf JeÅ›li już zakupiÅ‚eÅ› SeriesGuide X, zainstaluj go aby odblokować nowe funkcje. Uzyskaj funkcje X @@ -341,12 +356,6 @@ Twoje funkcjÄ™ X wygasÅ‚y. Dodaj do pulpitu Szukaj w %s - - Od A do Z - NastÄ™pny odcinek - Ulubione od A do Z - Ulubione (nast. od.) - Najpierw najnowsze Najpierw najstarsze @@ -368,12 +377,6 @@ Dwóch tygodni MiesiÄ…ca - - Wszystkie - Ulubione - Nieobejrzane/nadchodzÄ…ce - Ukryte - na antenie 5 min wczeÅ›niej diff --git a/SeriesGuide/res/values-pt-rBR/strings.xml b/SeriesGuide/src/main/res/values-pt-rBR/strings.xml similarity index 91% rename from SeriesGuide/res/values-pt-rBR/strings.xml rename to SeriesGuide/src/main/res/values-pt-rBR/strings.xml index b4b774ed94..b97dae0b80 100644 --- a/SeriesGuide/res/values-pt-rBR/strings.xml +++ b/SeriesGuide/src/main/res/values-pt-rBR/strings.xml @@ -32,7 +32,7 @@ Fechar Salvar seleção Sem conexão. Tente novamente mais tarde. - No app available to handle this. + Nenhum aplicativo disponível que suporte isso. Disponível apenas com a Inscrição X Séries Listas @@ -40,7 +40,6 @@ Filmes Estatísticas Pesquisa - Adicionar Série Configurações Ajuda Gritos @@ -118,9 +117,7 @@ %s colecionado. %s não colecionado. Não há séries aqui ou o seu dispositivo não tem conexão com a internet. - Confira o menu acima para adicionar mais séries. - Pressione e segure em uma série para adicioná-la aos Favoritos. - Pressione e segure em uma série para ocultá-la. + Remover todos os filtros Você quer mesmo remover %s? Primeiro remova %s de todas as listas. Remover @@ -134,6 +131,16 @@ Exibir Ocultar série Exibir série + Adicionar série + Filtrar séries + Favoritos + Não assistidos + Próximos + Ocultado + Filtrar séries + Título + Próximo episódio + Favoritos primeiro Próximos Recente Amigos @@ -264,6 +271,8 @@ Restaurar Não Restaurar Eu entendo que minhas séries e listas atuais serão perdidas! + Último backup automático: %s + Restaurar Backup Automático Check-in Nenhum serviço habilitado, faça check-in uma vez com o SeriesGuide. Digite o nome da série @@ -297,8 +306,8 @@ Desconectar Interação com o trakt falhou senha não pôde ser descriptografada - Something went wrong. Please check your credentials and try again. - Could not talk to trakt. Try again later. + Alguma coisa deu errado. Por favor, verifique suas credenciais e tente novamente. + Não foi possível se comunicar com o trakt. Tente novamente mais tarde. Criar nova conta Escolha o idioma Acesse sua coleção do trakt.tv e as atividades dos seus amigos @@ -323,30 +332,30 @@ Ocultar episódios já assistidos Plano de fundo do widget Tipo de widget - Favoritos Próximo episódio Exibe o próximo episódio das suas séries do SeriesGuide. Mostrar próximos episódios - Mover para SeriesGuide - Ferramenta de backup Baixar SeriesGuide - Atenção! O SeriesGuide X terá as funcionalidades removidas em breve. Migre suas séries para a versão free e mantenha o SeriesGuide X instalado para acessar a nova Inscrição X eterna. - Para migrar suas séries: clique em Ferramenta de backup, e Backup.\n\nVolte até esta caixa aparecer de novo.\n\nClique em Baixar SeriesGuide e instale o SeriesGuide.\n\nAbra o SeriesGuide. Clique em Menu, e Configurações. Em Avançado use a ferramenta de backup para reverter. + Migrar para o SeriesGuide + SeriesGuide X agora é X Life-Time Pass, você deve migrar suas séries para a versão gratuita do SeriesGuide. Mantenha o X instalado para desbloquear todos os recursos na versão gratuita. + Toque abaixo para criar um novo backup das suas séries. + Backup das Séries + Toque abaixo para instalar a versão gratuita do SeriesGuide. + Instalar SeriesGuide + Toque abaixo e uma vez em SeriesGuide toque em Menu, e em seguida Migrar. + Abra SeriesGuide, e em seguida Migrar + Toque abaixo para importar o backup criado em SeriesGuide X. + Importar e substituir as séries existentes + Migrar do X Obtenha as funcionalidades X Tenha acesso a notificações, mais opções de listas de widgets e novas funcionalidades X. Apoie o desenvolvimento.\n\nSe você já comprou o SeriesGuide X, instale-o para acessar este upgrade. - Obtenha as funcionalidades X + Obtenha recursos X Obrigado, você já tem todas as funcionalidades X! Você agora tem as funcionalidades X. Inscrição expirada Sua inscrição X expirou. Adicionar à Página inicial - Search within %s - - A - Z - Próximo episódio - Favoritos (A - Z) - Favoritos (Próx. ep.) - + Procurar dentro de %s Mais recentes primeiro Mais antigos primeiro @@ -368,12 +377,6 @@ duas semanas um mês - - Todos - Favoritos - Não visto/Próximo - Oculto - no ar 5 min de antecedência diff --git a/SeriesGuide/res/values-pt-rPT/strings.xml b/SeriesGuide/src/main/res/values-pt-rPT/strings.xml similarity index 93% rename from SeriesGuide/res/values-pt-rPT/strings.xml rename to SeriesGuide/src/main/res/values-pt-rPT/strings.xml index 965454fe35..cf7151e9e1 100644 --- a/SeriesGuide/res/values-pt-rPT/strings.xml +++ b/SeriesGuide/src/main/res/values-pt-rPT/strings.xml @@ -40,7 +40,6 @@ Filmes Estatísticas Procura - Adicionar Série Definições Ajuda Comentários @@ -118,9 +117,7 @@ %s recolhido. %s não recolhidos. Não há programas ou o seu dispositivo não tem ligação à internet. - Procure no menu acima para adicionar programas. - Pressione num programa para o adicionar aos Favoritos. - Pressione num programa para o esconder aqui. + Remove all filters Deseja realmente remover %s? Remova primeiro o %s de todas as listas. Remover @@ -134,6 +131,16 @@ Mostrar Ocultar Série Mostrar Série + Add show + Filter shows + Favoritos + Unwatched + Próximos + Hidden + Sort shows + Title + Next episode + Favorites first Próximos Recente Amigos @@ -264,6 +271,8 @@ Restaurar Não restaurar I understand my current shows and lists will be lost! + Last Auto Backup: %s + Restore Auto Backup Check-in No services enabled, check in once within SeriesGuide. Introduza o nome de uma série @@ -323,15 +332,21 @@ Ocultar episódios já visualizados Plano de fundo do widget Tipo de widget - Favoritos Próximo episódio Exibe o próximo episódio das suas séries do SeriesGuide. Show episodes in the next - Mover para SeriesGuide - Ferramenta de backup Download SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Obter o recurso X Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. Obter o recurso X @@ -341,12 +356,6 @@ A sua assinatura dos recursos X expirou. Adicionar ao ecrã inicial Procurar dentro da %s - - A - Z - Próximo episódio - Favoritos (A-Z) - Favoritos (Ep. seg.) - Mais recente primeiro Mais Antigo primeiro @@ -368,12 +377,6 @@ duas semanas um mês - - Todos - Favoritos - Por ver/Por exibir - Oculto - a transmitir 5 mins antes diff --git a/SeriesGuide/res/values-ro/strings.xml b/SeriesGuide/src/main/res/values-ro/strings.xml similarity index 93% rename from SeriesGuide/res/values-ro/strings.xml rename to SeriesGuide/src/main/res/values-ro/strings.xml index aaa6603d9f..7371c480a2 100644 --- a/SeriesGuide/res/values-ro/strings.xml +++ b/SeriesGuide/src/main/res/values-ro/strings.xml @@ -40,7 +40,6 @@ Filme Statistici Căutare - Adaugă seriale Setări Ajutor Păreri @@ -118,9 +117,7 @@ %s collected. %s not collected. Nu există nici un serial aici sau dispozitivul nu are nici o conexiune la internet. - Uită-te în meniul de mai sus pentru a adăuga spectacole. - ApăsaÅ£i lung pe un spectacol pentru a-l adăuga la favorite. - ApăsaÅ£i lung pe un spectacol pentru a-l ascunde aici. + Remove all filters Do you really want to remove %s? Can\'t comply, remove %s from all lists first. EliminaÈ›i @@ -134,6 +131,16 @@ Arată Emisiune ascunsă Un-Hidden show + Add show + Filter shows + Favorite + Unwatched + Următoarele + Hidden + Sort shows + Title + Next episode + Favorites first Următoarele Recente Prieteni @@ -264,6 +271,8 @@ Restaurează Nu restaura I understand my current shows and lists will be lost! + Last Auto Backup: %s + Restore Auto Backup Check in No services enabled, check in once within SeriesGuide. Type a show name @@ -323,15 +332,21 @@ AscundeÈ›i episoadele vizionate Widget fundal Tip de widget - Favorite Episoade ce urmeaza AfiÅŸează următorul episod din SeriesGuide. Show episodes in the next - Move to SeriesGuide - Backup tool DescărcaÈ›i SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Get X features Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. Get X features @@ -341,12 +356,6 @@ Your X features subscription has expired. Add to Home screen Search within %s - - A - Z - Urmatorul episod - Favorite (A - Z) - Favorite (EP. următor.) - ÃŽntai cele mai recente ÃŽntai cele mai vechi @@ -368,12 +377,6 @@ două săptămâni o lună - - Toate - Favorite - Nevăzut/viitoare - Ascuns - Difuzate 5 min în avans diff --git a/SeriesGuide/res/values-ru/strings.xml b/SeriesGuide/src/main/res/values-ru/strings.xml similarity index 93% rename from SeriesGuide/res/values-ru/strings.xml rename to SeriesGuide/src/main/res/values-ru/strings.xml index 6e9c59ea6e..cf7b73a116 100644 --- a/SeriesGuide/res/values-ru/strings.xml +++ b/SeriesGuide/src/main/res/values-ru/strings.xml @@ -40,7 +40,6 @@ Фильмы СтатиÑтика ПоиÑк - Добавить Ñериал ÐаÑтройки Справка Отзывы @@ -118,9 +117,7 @@ %s помечен. %s не помечен. Ðет Ñериалов или ваше уÑтройÑтво не подключено к интернету. - ПоÑмотрите меню перед добавлением Ñериалов. - Долгое нажатие на Ñериал добавлÑет в Избранное. - Долгое нажатие на Ñериал Ñкрывает его. + Remove all filters Ð’Ñ‹ дейÑтвительно хотите удалить %s? Ðевозможно выполнить. Сначала удалите %s из вÑех ÑпиÑков. Удалить @@ -134,6 +131,16 @@ Ðе Ñкрывать Скрытые Ñериалы ÐеÑкрытые Ñериалы + Add show + Filter shows + Избранное + Unwatched + Следующие Ñпизоды + Hidden + Sort shows + Title + Next episode + Favorites first Следующие Ñпизоды Ðедавние Ð”Ñ€ÑƒÐ·ÑŒÑ @@ -145,7 +152,7 @@ Infinite activity Обновление... Ð”Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚Ðµ Интернет. - To update connect to WiFi or allow other connections in Settings. + Ð”Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÐµÑÑŒ к Ñети WiFi или разрешите другие Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² ÐаÑтройках. ВыполнÑетÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ðµ, попробуйте еще раз позже. Загрузить поÑтеры Ðекоторые поÑтеры не загрузилиÑÑŒ, попробуйте еще раз позже. @@ -225,7 +232,7 @@ Тема Другие Включить автоматичеÑкое обновление - Periodically update your shows + Ð’Ñ€ÐµÐ¼Ñ Ð¾Ñ‚ времени обновлÑÑ‚ÑŒ ваши Ñериалы Включите автоматичеÑкое резервное копирование Еженедельное резервное копирование базы данных в папке загрузки Резервное копирование/воÑÑтановление @@ -264,6 +271,8 @@ ВоÑÑтановление Ðе воÑтановлÑÑ‚ÑŒ Я понимаю, что мои текущие проÑмотры и ÑпиÑки будут потерÑны! + Last Auto Backup: %s + Restore Auto Backup Отметить No services enabled, check in once within SeriesGuide. Введите название Ñериала @@ -280,8 +289,8 @@ Чек-ин Выберите из предложенных вариантов Ищете что-то еще? - Rate episode - Rate show + Оценить Ñпизод + Оценить Ñериал C помощью других приложений Переопределение Ð’Ñ‹ уже отметилиÑÑŒ в другом Ñпизоде или фильме. Ð’Ñ‹ можете заменить предыдущий чек-ин или подождать %s и попробовать Ñнова. @@ -323,15 +332,21 @@ Скрыть проÑмотренные Ñпизоды Фон виджета Тип виджета - Избранное ПредÑтоÑщий Отображает Ñледующий предÑтоÑщийего SeriesGuide Ñериала. Show episodes in the next - Move to SeriesGuide - Backup tool Скачать SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Get X features Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. Get X features @@ -341,12 +356,6 @@ Your X features subscription has expired. Add to Home screen Search within %s - - A - Z - Следующий Ñпизод - Избранное (A - Z) - Избранное (Следующий Ñп.) - Сначала поÑледний Старшие Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° @@ -368,12 +377,6 @@ две недели меÑÑц - - Ð’Ñе - Избранное - Ðе проÑмотренные/предÑтоÑщие - Скрытые - в Ñфире 5 минут до начала diff --git a/SeriesGuide/res/values-sk/strings.xml b/SeriesGuide/src/main/res/values-sk/strings.xml similarity index 93% rename from SeriesGuide/res/values-sk/strings.xml rename to SeriesGuide/src/main/res/values-sk/strings.xml index d10ebaa267..9f86001508 100644 --- a/SeriesGuide/res/values-sk/strings.xml +++ b/SeriesGuide/src/main/res/values-sk/strings.xml @@ -40,7 +40,6 @@ Filmy Å tatistiky HľadaÅ¥ - PridaÅ¥ seriál Nastavenia Pomoc Výkriky @@ -118,9 +117,7 @@ %s zozbieraných. %s nezozbieraných. Nie sú žiadne seriály alebo VaÅ¡e zariadenie nemá pripojenie k internetu. - Look in the menu above to add some shows. - Long-press on a show to add it to Favorites. - Dlho stlaÄte na show pre jej skrytie tu. + Remove all filters Naozaj chcete odstrániÅ¥ %s? Can\'t comply, remove %s from all lists first. OdstrániÅ¥ @@ -134,6 +131,16 @@ ObnoviÅ¥ Skrytý seriál Obnovený seriál + Add show + Filter shows + Obľúbené + Unwatched + Nadchádzajúce + Hidden + Sort shows + Title + Next episode + Favorites first Nadchádzajúce Nedávne Priatelia @@ -264,6 +271,8 @@ ObnoviÅ¥ NeobnoviÅ¥ I understand my current shows and lists will be lost! + Last Auto Backup: %s + Restore Auto Backup Check in No services enabled, check in once within SeriesGuide. Napíšte názov seriálu @@ -323,15 +332,21 @@ SkryÅ¥ zhliadnuté epizódy Pozadie widgetu Typ widgetu - Obľúbené ÄŽalší diel Zobrazuje Äalší diel zo seriálov v SeriesGuide. Show episodes in the next - Move to SeriesGuide - Backup tool StiahnuÅ¥ SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Get X features Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. Get X features @@ -341,12 +356,6 @@ Your X features subscription has expired. Add to Home screen Search within %s - - A - Z - ÄŽalÅ¡ia epizóda - Obľúbené (A - Z) - Obľúbené (Nasledujúca ep.) - Od najnovších Od najstarších @@ -368,12 +377,6 @@ dva týždne mesaÄne - - VÅ¡etky - Obľúbené - Nové/Nadchádzajúce - Skryté - vysiela sa 5 minut vopred diff --git a/SeriesGuide/res/values-sl/strings.xml b/SeriesGuide/src/main/res/values-sl/strings.xml similarity index 93% rename from SeriesGuide/res/values-sl/strings.xml rename to SeriesGuide/src/main/res/values-sl/strings.xml index db647b37d2..650c42f408 100644 --- a/SeriesGuide/res/values-sl/strings.xml +++ b/SeriesGuide/src/main/res/values-sl/strings.xml @@ -40,7 +40,6 @@ Filmi Statistics IÅ¡Äi - Dodaj oddajo Nastavitve PomoÄ Vzkliki @@ -118,9 +117,7 @@ %s nabrana. %s ne nabrana. Tu ni oddaj ali pa je naprava brez internetne povezave. - PreiÅ¡Äi gornji menu, za dodajanje oddaj. - Dolgo pritisni na oddajo, da jo dodaÅ¡ med priljubljene. - Dolgo pritisni na oddajo da jo tu skrijeÅ¡. + Remove all filters Ali res želiÅ¡ odstraniti %s? Ne morem izvesti zahteve. Prvo odstrani %s z vseh spiskov. odstrani @@ -134,6 +131,16 @@ Prikaži Skrita oddaja Prikazana oddaja + Add show + Filter shows + Priljubljene + Unwatched + PrihajajoÄe + Hidden + Sort shows + Title + Next episode + Favorites first PrihajajoÄe Nedavno Prijatelji @@ -264,6 +271,8 @@ Obnovitev Ne obnovi I understand my current shows and lists will be lost! + Last Auto Backup: %s + Restore Auto Backup Prijava No services enabled, check in once within SeriesGuide. Vtipkaj ime oddaje @@ -323,15 +332,21 @@ Skrij gledane epizode Widget background Widget type - Priljubljene Upcoming episode Displays the next upcoming episode of your SeriesGuide shows. Show episodes in the next - Move to SeriesGuide - Backup tool Prenesi SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Get X features Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. Get X features @@ -341,12 +356,6 @@ Your X features subscription has expired. Add to Home screen Search within %s - - A - Ž - Naslednja epizoda - Priljubljene (A - Ž) - Priljubljene (Nasl. ep.) - NajnovejÅ¡a prva NajstarejÅ¡a prva @@ -368,12 +377,6 @@ dveh tednov meseca - - Vse - Priljubljene - Nepogledano/PrihajajoÄe - Skrito - se predvaja 5 min prej diff --git a/SeriesGuide/res/values-sr/strings.xml b/SeriesGuide/src/main/res/values-sr/strings.xml similarity index 92% rename from SeriesGuide/res/values-sr/strings.xml rename to SeriesGuide/src/main/res/values-sr/strings.xml index 31580073ff..6145ce8082 100644 --- a/SeriesGuide/res/values-sr/strings.xml +++ b/SeriesGuide/src/main/res/values-sr/strings.xml @@ -40,7 +40,6 @@ Filmovi Statistics Pretraži - Dodaj seriju PodeÅ¡avanja Pomoć Komentari @@ -118,9 +117,7 @@ %s prikupljeno. %s neprikupljeno. Nema serija ovde ili vaÅ¡ aparat nema internet vezu. - Pogledajte u gornji meni da dodate serije. - Pritisnite i držite seriju da je dodate u Omiljeno. - Pritisnite i držite seriju da je sakrijete ovde. + Remove all filters Želite li da uklonite %s? Nije moguće uraditi, uklonite prvo %s sa svih listi. Ukloni @@ -134,6 +131,16 @@ Prikaži Sakrivena serija Prikaži seriju + Add show + Filter shows + Omiljene + Unwatched + Predstojeće + Hidden + Sort shows + Title + Next episode + Favorites first Predstojeće SkoraÅ¡nje Prijatelji @@ -264,6 +271,8 @@ Povrati Nemoj I understand my current shows and lists will be lost! + Last Auto Backup: %s + Restore Auto Backup Prijavi gledanje No services enabled, check in once within SeriesGuide. Ukucaj naziv serije @@ -323,15 +332,21 @@ Sakrij pogledane epizode Widget background Widget type - Omiljene Upcoming episode Displays the next upcoming episode of your SeriesGuide shows. Show episodes in the next - Move to SeriesGuide - Backup tool Preuzmi SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Get X features Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. Get X features @@ -341,12 +356,6 @@ Your X features subscription has expired. Add to Home screen Search within %s - - A - Z - Sledeća epizoda - Omiljene (A - Z) - Omiljene (Sledeća ep.) - Prvo poslednje Prvo najstarije @@ -368,12 +377,6 @@ 2 nedelje mesec - - Sve - Omiljene - Nepogledane/Predstojeće - Sakrivene - emituje se 5 min unapred diff --git a/SeriesGuide/res/values-sv/strings.xml b/SeriesGuide/src/main/res/values-sv/strings.xml similarity index 70% rename from SeriesGuide/res/values-sv/strings.xml rename to SeriesGuide/src/main/res/values-sv/strings.xml index 1bf0b528d7..18bfa21d7e 100644 --- a/SeriesGuide/res/values-sv/strings.xml +++ b/SeriesGuide/src/main/res/values-sv/strings.xml @@ -1,12 +1,12 @@ - Show + Serie Avsnitt - Episode %s + Avsnitt %s Avsnitt Säsong - Season %s + Säsong %s Säsonger okänd Redan sett @@ -14,7 +14,7 @@ Specialavsnitt Sök avsnitt Dela avsnitt - Share show + Dela serie Checka ut Avsnitt Översikt @@ -32,15 +32,14 @@ Stäng Spara valda Ingen nätanslutning. Försök igen senare. - No app available to handle this. - Only available with X Subscription + Ingen app tillgänglig för att hantera detta. + Endast tillgänglig med X Prenumeration Serier Listor Aktivitet Filmer Statistik Sök - Lägg till serie Inställningar Hjälp Rop @@ -54,8 +53,8 @@ Bevakningslista (trakt) Lägg till bevakningslistan Ta bort ifrÃ¥n bevakningslistan - Added to watchlist - Removed from watchlist + Lades till "Att se" listan + Flyttad frÃ¥n "Att se" listan Skriv en filmtitel Sök efter en film ovan. Du har ingen internetanslutning eller sÃ¥ har du inte lagt till nÃ¥gra filmer pÃ¥ din trakt bevakningslista. @@ -64,7 +63,7 @@ %s fortsätter %s sedda Speltid pÃ¥ alla sedda avsnitt - Your rating + Ditt betyg Helt ninja! Svag sÃ¥s :( Usel @@ -75,13 +74,13 @@ Bra Mycket bra Fantastisk - ABSOLUTE + Fullständig DVD - Release date - Release date unknown + Releasedatum + Releasedatum okänt DVD-avsnitt SkÃ¥despelare - Sändes först gÃ¥ngen + Sändes första gÃ¥ngen Genrer Längd Ã…ldersgräns @@ -92,8 +91,8 @@ Fortsätter Avslutad Senast redigerad // TVDb - Watch - More + Titta pÃ¥ + Mer Sortera efter Uppdatera (alla) Uppdatera (gamla) @@ -110,19 +109,17 @@ Sett alla sända avsnitt Hämtat avsnitt Ännu ej hämtat avsnitt - Collected all - Collected none + Samla alla + Hämtat ingen Skickar till trakt. %s sedda. %s ej sedda. %s hämtade. %s ej hämtade. Det finns inga program här eller sÃ¥ har enheten ingen internet-anslutning. - Titta i menyn ovan för att lägga till program. - LÃ¥ng-tryck pÃ¥ ett program för att lägga till i favoriter. - LÃ¥ng-tryck pÃ¥ ett program för att dölja det. + Remove all filters Vill du verkligen ta bort %s? - Can\'t comply, remove %s from all lists first. + Kan\kan inte följa, ta bort %s frÃ¥n alla listor först. Ta bort Ta inte bort Inga ytterligare avsnitt hittade @@ -134,6 +131,16 @@ Visa Dold serie Visar serie + Add show + Filter shows + Favoriter + Unwatched + Kommande + Hidden + Sort shows + Title + Next episode + Favorites first Kommande Senaste Vänner @@ -142,16 +149,16 @@ Det finns inga aktuella avsnitt. Endast favoritserier Växla sedda - Infinite activity - Updating… - To update connect to the internet. - To update connect to WiFi or allow other connections in Settings. + Oändlig aktivitet + Uppdaterar… + För att uppdatera anslut till internet. + För att uppdatera anslut till WiFi eller tillÃ¥t annan uppkoppling i Inställningar. En uppdatering pÃ¥gÃ¥r, försök igen senare. Ladda affischer Vissa affischer laddades inte, försök igen senare. Laddar affischer… Laddning av affischer kräver externt minne (SD-kort). - on %s + pÃ¥ %s avsnitt ej sedda Alla avsnitt sedda avsnitt ej sett @@ -165,7 +172,7 @@ Sökningen misslyckades, försök igen senare. Lägg till alla Lägg inte till - Alla program kommer att visas i programlistan snart. + Alla serier kommer att visas i din serielista snart. kommer snart att visas i din serielista. lades till. Kunde inte lägga till \" @@ -189,16 +196,16 @@ Ansluten till trakt! Lägg till program frÃ¥n ditt bibliotek: Visa ditt bibliotek - Ladda upp din SeriesGuide program lista: - Ladda upp befintliga program - trakt hjälper till att hÃ¥lla ett register över vilka TV-program och filmer du ser pÃ¥. Lär dig mer - - add shows from your library and watchlist\n\n- see your recommendations and friends activity\n\n- watched and collected flags are synced automatically\n\n- new shows you watched are added automatically - No shows will be added or removed in SeriesGuide, do that from the show list. - Flag all watched episodes on trakt as watched in SeriesGuide: - Flag episodes watched in SeriesGuide as watched on trakt: + Ladda upp din SeriesGuide serie lista: + Ladda upp befintliga serier + trakt hjälper till att hÃ¥lla ett register över vilka TV-serier och filmer du ser pÃ¥. Lär dig mer + - lägg till serier frÃ¥n ditt bibliotek och Att se listan - se dina rekommendationer och dina vänners aktivitet - Sedda och samlade flaggor synkas automatiskt - nya serier du ser läggs automatiskt till. + Inga serier läggs till eller tas bort i SeriesGuide, gör det frÃ¥n serie listan. + Bocka av alla sedda avsnitt pÃ¥ trakt som sedda i SeriesGuide: + Bocka av avsnitt sedda i SeriesGuide som sedda i trakt: Ladda ner till SeriesGuide Ladda upp till trakt.tv - Remove watched flags for unwatched episodes when syncing + Ta bort sedda avbockningar för osedda avsnitt när du synkar Grunder Tjänster Avancerat @@ -215,7 +222,7 @@ Om SeriesGuide Bidragsgivare Koppla bort GetGlue - Check in with GetGlue to reconnect + Checka in med GetGlue för att Ã¥teransluta Lägg till eller redigera dina trakt.tv-uppgifter Manuell synkning med trakt.tv Skicka feedback @@ -225,9 +232,9 @@ Tema Övrigt Automatisk uppdatering - Periodically update your shows - Turn on Auto Backup - Weekly backup of your show database into the Download folder + Periodvis uppdatering av dina program + Sätt pÃ¥ Automatisk Säkerhetskopiering + Veckovis säkerhetskopiering av din show databas till Nerladdnings mappen Säkerhetskopiering/Ã¥terställning Säkerhetskopiera eller Ã¥terställ dina serier Kommande serier inom… @@ -240,9 +247,9 @@ Mäter användningen av funktioner för att förbättra SeriesGuide Dölj bilder Dölj bilderna i ditt fotogalleri (kräver omstart av systemet) - Backup will export your shows, seasons, episodes and lists to a JSON file into the folder below.\nTo Restore make sure the JSON files created by backup are in the folder below. - Include all meta-data like descriptions, actors and ratings. - Backup folder + Säkerhetskopia exporterar dina shower, säsonger, avsnitt och listor till en JSON fil i mappen här under. \n Till Ã…terställ se till att JSON filen skapad av säkerhetskopian finns i mappen här under. + Inkludera all meta-data efter beskrivningar, skÃ¥despelare och betyg. + Mapp för säkerhetskopia Databasversion Kan inte säkerhetskopiera. Mappen är inte tillgänglig. Säkerhetskopierar databas… @@ -250,7 +257,7 @@ Säkerhetskopieringen misslyckades. Ã…terställer databasen… Kan inte Ã¥terställa säkerhetskopian. Mappen är inte tillgänglig. - Det finns ingen läsbar backup-fil. + Det finns ingen läsbar backupfil. Säkerhetskopian är oläslig. Din säkerhetskopia kan vara för gammal eller tom. Obs: Importera säkerhetskopior äldre än version 2.0 i en 1.9.x-version först. Säkerhetskopian Ã¥terställdes. @@ -263,28 +270,30 @@ Den nuvarande serielistan försvinner! Se till sÃ¥ att säkerhetskopian finns i mappen för säkerhetskopior. Ã…terställ Ã…terställ inte - I understand my current shows and lists will be lost! + Jag förstÃ¥r att mina nuvarande shower och listor kommer att försvinna! + Last Auto Backup: %s + Restore Auto Backup Checka in - No services enabled, check in once within SeriesGuide. + Inga tjänster aktiverade, checka in en gÃ¥ng i SeriesGuide. Skriv ett serienamn Inga matchande serier. Skriv ett meddelande (valfritt) - Fix GetGlue check-in + Ordna GetGlue check-in Klistra in titel Checka in %s pÃ¥ GetGlue. - GetGlue check-in failed. Try again later. - GetGlue authentication failed. Try again later. - Checked into %s on trakt. - Cancelled check-in on trakt. + GetGlue check-in misslyckades. Prova igen senare. + GetGlue verifiering misslyckades. Prova igen senare. + Checkat in %s pÃ¥ trakt. + Avbruten check-in pÃ¥ trakt. Välj program Checka in välj en nedan Letar du efter nÃ¥got annat? - Rate episode - Rate show + Betygsätt avsnitt + Betygsätt show Via andra appar - Override - You are already checked into another episode or movie. Either override the previous check-in or wait %s and try again. + Hoppa över + Du är redan incheckad pÃ¥ ett annat avsnitt eller film. Antingen hoppar du över föregÃ¥ende check-in eller vänta %s och försök igen. Jag väntar Autentiserar SeriesGuide mot GetGlue… Lägg till i kalendern @@ -297,16 +306,16 @@ Koppla ner Interaktion med trakt misslyckades lösenordet kunde inte avkrypteras - Something went wrong. Please check your credentials and try again. - Could not talk to trakt. Try again later. + NÃ¥got gick fel. Vänligen kontrollera dina referenser och försök igen. + Kunde inte kommunicera med trakt. Försök igen senare. Skapa nytt konto Välj sprÃ¥k - Access your trakt.tv library and friends activity + Kom Ã¥t ditt trakt.tv bibliotek och vänners aktivitet Avfärda För att starta tryck %s kommande Nya avsnitt är pÃ¥ gÃ¥ng - %s new episodes + %s nya avsnitt %1$s pÃ¥ %2$s Välj för att visa kommande serier Meddelanden @@ -316,37 +325,37 @@ Ringsignal Vibrera Vibrerar även när meddelande visas - When to notify + När ska du notifiera SeriesGuide (liten) SeriesGuide (mellan) SeriesGuide (stor) Dölj sedda avsnitt Widget bakgrund Widget typ - Favoriter Kommande avsnitt - Displays the next upcoming episode of your SeriesGuide shows. - Show episodes in the next - Move to SeriesGuide - Backup tool + Visar nästa uppkomande avsnitt av ditt SeriesGuide avsnitt. + Visa nästa avsnitt Hämta SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. - Get X features - Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. - Get X features - Thanks, you are already subscribed to all X features! - You are now subscribed to X features. - Subscription expired - Your X features subscription has expired. - Add to Home screen - Search within %s - - A – Ö - Nästa avsnitt - Favoriter (A – Ö) - Favoriter (nästa avsn.) - + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X + FÃ¥ X funktioner + FÃ¥ tillgÃ¥ng till notifieringar, mer list widget alternativ och alla framtida X funktioner. Stöd ytterligare utveckling.\n\nIf du har redan köpt SeriesGuide X, installera den för att lÃ¥sa upp denna uppgradering. + FÃ¥ X funktioner + Tack, du prenumererar redan pÃ¥ alla X funktioner! + Du prenumerar nu pÃ¥ X funktioner. + Prenumerationen har gÃ¥tt ut + Dina X-funktioners prenumeration har gÃ¥tt ut. + Lägg till hemskärm + Sök inom %s Senaste först Äldsta först @@ -368,12 +377,6 @@ tvÃ¥ veckor en mÃ¥nad - - Alla - Favoriter - Osedda/Kommande - Dolda - sänds nu 5 min i förväg diff --git a/SeriesGuide/res/values-sw600dp-land/layouts.xml b/SeriesGuide/src/main/res/values-sw600dp-land/layouts.xml similarity index 100% rename from SeriesGuide/res/values-sw600dp-land/layouts.xml rename to SeriesGuide/src/main/res/values-sw600dp-land/layouts.xml diff --git a/SeriesGuide/res/values-sw600dp-port/layouts.xml b/SeriesGuide/src/main/res/values-sw600dp-port/layouts.xml similarity index 100% rename from SeriesGuide/res/values-sw600dp-port/layouts.xml rename to SeriesGuide/src/main/res/values-sw600dp-port/layouts.xml diff --git a/SeriesGuide/res/values-sw720dp/dimens.xml b/SeriesGuide/src/main/res/values-sw720dp/dimens.xml similarity index 100% rename from SeriesGuide/res/values-sw720dp/dimens.xml rename to SeriesGuide/src/main/res/values-sw720dp/dimens.xml diff --git a/SeriesGuide/res/values-sw720dp/layouts.xml b/SeriesGuide/src/main/res/values-sw720dp/layouts.xml similarity index 100% rename from SeriesGuide/res/values-sw720dp/layouts.xml rename to SeriesGuide/src/main/res/values-sw720dp/layouts.xml diff --git a/SeriesGuide/res/values-tr/strings.xml b/SeriesGuide/src/main/res/values-tr/strings.xml similarity index 92% rename from SeriesGuide/res/values-tr/strings.xml rename to SeriesGuide/src/main/res/values-tr/strings.xml index e74630cf10..f656d0b3ed 100644 --- a/SeriesGuide/res/values-tr/strings.xml +++ b/SeriesGuide/src/main/res/values-tr/strings.xml @@ -33,14 +33,13 @@ Seçimi kaydet AÄŸ baÄŸlantısı yok. Daha sonra tekrar deneyin. No app available to handle this. - Only available with X Subscription + Sadece X aboneleri kullanabilir Diziler Listeler Etkinlik Filmler Ä°statistikler Ara - Dizi Ekle Ayarlar Yardım Notlar @@ -118,9 +117,7 @@ Kolleksiyona dahil edilen: %s. Kolleksiyonda bulunmayan: %s. Burada hiç dizi yok ya da internet baÄŸlantın yok. - Dizi eklemek için üstteki menüye bakın. - Favorilere eklemek için diziye uzun basın. - Burada gizlemek için diziye uzun basın. + Remove all filters %s öğesini silmek istediÄŸinize emin misiniz? Tamamen kaldırılamıyor, önce %s bütün listelerden kaldırın. Kaldır @@ -134,6 +131,16 @@ Göster Gizli dizi GizlenmemiÅŸ dizi + Add show + Filter shows + Sık Kullanılanlar + Unwatched + YaklaÅŸan + Hidden + Sort shows + Title + Next episode + Favorites first YaklaÅŸan En Son ArkadaÅŸlar @@ -264,6 +271,8 @@ Geri Yükle Geri Yükleme Mevcut dizilerimi ve listelerimi kaybedeceÄŸimin farkındayım! + Last Auto Backup: %s + Restore Auto Backup GiriÅŸ yap Servisler uygun deÄŸil, SeriesGuide\'da kontrol edin. Bir dizi adı yazın @@ -323,15 +332,21 @@ Ä°zlenmiÅŸ bölümleri gizle Widget arka planı Widget tipi - Sık Kullanılanlar Gelecek bölüm SeriesGuide dizilerinizin gelecek bölümünü gösterir. Dizinin sonraki bölümlerinde - Move to SeriesGuide - Backup tool SeriesGuide indir - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Get X features Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. Get X features @@ -339,14 +354,8 @@ You are now subscribed to X features. Subscription expired Your X features subscription has expired. - Add to Home screen - Search within %s - - A - Z - Sonraki bölüm - Favoriler (A - Z) - Sık Kullanılanlar (sonraki bl) - + Ev Ekranına Ekleyin + İçinde ara %s Önce en yenisi Önce en eskisi @@ -368,12 +377,6 @@ iki hafta bir ay - - Tümü - Sık Kullanılanlar - Ä°zlenmemiÅŸ / YaklaÅŸan - Gizli - yayında 5 dakika önce diff --git a/SeriesGuide/res/values-uk/strings.xml b/SeriesGuide/src/main/res/values-uk/strings.xml similarity index 92% rename from SeriesGuide/res/values-uk/strings.xml rename to SeriesGuide/src/main/res/values-uk/strings.xml index 8a12abc6d3..cff85035c3 100644 --- a/SeriesGuide/res/values-uk/strings.xml +++ b/SeriesGuide/src/main/res/values-uk/strings.xml @@ -32,15 +32,14 @@ Закрити Зберегти вибране Ðема зв\'Ñзку з мережею. Спробуйте пізніше. - No app available to handle this. - Only available with X Subscription + Ðемає доÑтупних програм, щоб впоратиÑÑ Ð· цим. + ДоÑтупно тільки з верÑією X ПідпиÑки Серіали СпиÑки ÐктивніÑÑ‚ÑŒ Фільми СтатиÑтика Пошук - Додати Серіал ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð”Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð° Відгуки @@ -118,9 +117,7 @@ %s вибрано. %s не вибрані. Ðемає Ñеріалів або ваш приÑтрій не має доÑтупу до інтернету. - ПереглÑньте меню вище Ð´Ð»Ñ Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ñеріалів. - Довге натиÑÐºÐ°Ð½Ð½Ñ Ð½Ð° Ñеріалі додає його в Улюблені. - Довге натиÑÐºÐ°Ð½Ð½Ñ Ð¿Ð¾ Ñеріалу приховає його звідÑи. + Remove all filters Ви дійÑно бажаєте видалити %s? Ðе можливо виконати, Ñпершу видаліть %s зі вÑÑ–Ñ… ÑпиÑків. Видалити @@ -134,6 +131,16 @@ Показати Приховані Ñеріали Ðе приховані Ñеріали + Add show + Filter shows + Улюблені + Unwatched + Ðезабаром + Hidden + Sort shows + Title + Next episode + Favorites first Ðезабаром Ðедавно Друзі @@ -264,6 +271,8 @@ Відновити Ðе відновлювати Я розумію, що мої поточні Ñеріали будуть втрачені! + Last Auto Backup: %s + Restore Auto Backup Відзначити Жоден ÑÐµÑ€Ð²Ñ–Ñ Ð½Ðµ увімкнено, відзначте за допомогою SeriesGuide. Ðапишіть назву Ñеріалу @@ -297,8 +306,8 @@ Від\'єднатиÑÑŒ Ð’Ð·Ð°Ñ”Ð¼Ð¾Ð´Ñ–Ñ Ð· trakt не вдалаÑÑ Ð½Ðµ вдалоÑÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ñ‚Ð¸ пароль - Something went wrong. Please check your credentials and try again. - Could not talk to trakt. Try again later. + ЩоÑÑŒ пішло не так. Перевірте ваші облікові дані та повторіть Ñпробу. + Ðе можу з\'єднатиÑÑŒ із trakt. Повторіть Ñпробу пізніше. Створити новий обліковий Ð·Ð°Ð¿Ð¸Ñ Ð’Ð¸Ð±Ñ€Ð°Ñ‚Ð¸ мову Отримайте доÑтуп до вашої бібліотеки на trakt.tv та активноÑÑ‚Ñ– друзів @@ -323,15 +332,21 @@ Приховати переглÑнуті Ñерії Фон віджета Тип віджета - Улюблені ÐаÑтупна ÑÐµÑ€Ñ–Ñ Ð’Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶Ð°Ñ” наÑтупну найближчу Ñерію з ваших Ñеріалів на SeriesGuide. Показати Ñерії у наÑтупному - Move to SeriesGuide - Backup tool Завантажити SeriesGuide - Heads up! SeriesGuide X will be stripped of all functionality very soon. Migrate your shows to the free version and keep SeriesGuide X installed to unlock the new X Subscription for life. - To migrate your shows: touch Backup tool, then Backup.\n\nGo back until this dialog appears again.\n\nTouch Download SeriesGuide and install SeriesGuide.\n\nLaunch SeriesGuide. Touch Menu, then Settings. In Advanced use the backup tool to restore. + Migrate to SeriesGuide + SeriesGuide X is now X Life-Time Pass, you should migrate your shows to the free version of SeriesGuide. Keep X installed to unlock all features in the free version. + Touch below to create a fresh backup of your shows. + Backup Shows + Touch below to install the free version of SeriesGuide. + Install SeriesGuide + Touch below and once in SeriesGuide touch Menu, then Migrate. + Open SeriesGuide, then Migrate + Touch below to import the backup created in SeriesGuide X. + Import and replace existing shows + Migrate from X Get X features Get access to notifications, more list widget options and all future X features. Support further development.\n\nIf you have already purchased SeriesGuide X, install it to unlock this upgrade. Get X features @@ -341,12 +356,6 @@ Your X features subscription has expired. Add to Home screen Search within %s - - Ð - Я - ÐаÑтупна ÑÐµÑ€Ñ–Ñ - Улюблені (Ð - Я) - Улюблені (ÐаÑтупна ÑеріÑ) - ОÑтанні Ñпочатку Давніші Ñпочатку @@ -368,12 +377,6 @@ 2 тижнів 1 міÑÑÑ†Ñ - - УÑÑ– - Улюблені - ÐепереглÑнуті/Ðайближчі - Приховані - в ефірі 5 хв до початку diff --git a/SeriesGuide/res/values-v11/bools.xml b/SeriesGuide/src/main/res/values-v11/bools.xml similarity index 68% rename from SeriesGuide/res/values-v11/bools.xml rename to SeriesGuide/src/main/res/values-v11/bools.xml index 7ff70c86c4..ae6eacf046 100644 --- a/SeriesGuide/res/values-v11/bools.xml +++ b/SeriesGuide/src/main/res/values-v11/bools.xml @@ -1,5 +1,5 @@ - false + false false \ No newline at end of file diff --git a/SeriesGuide/res/values-v11/styles.xml b/SeriesGuide/src/main/res/values-v11/styles.xml similarity index 100% rename from SeriesGuide/res/values-v11/styles.xml rename to SeriesGuide/src/main/res/values-v11/styles.xml diff --git a/SeriesGuide/res/values-v11/themes.xml b/SeriesGuide/src/main/res/values-v11/themes.xml similarity index 93% rename from SeriesGuide/res/values-v11/themes.xml rename to SeriesGuide/src/main/res/values-v11/themes.xml index b396d29f51..587cc7388a 100644 --- a/SeriesGuide/res/values-v11/themes.xml +++ b/SeriesGuide/src/main/res/values-v11/themes.xml @@ -39,6 +39,9 @@ @drawable/fastscroll_thumb + + + @style/SeriesGuideTheme diff --git a/SeriesGuide/res/values-v14/dimens.xml b/SeriesGuide/src/main/res/values-v14/dimens.xml similarity index 100% rename from SeriesGuide/res/values-v14/dimens.xml rename to SeriesGuide/src/main/res/values-v14/dimens.xml diff --git a/SeriesGuide/res/values-v9/styles.xml b/SeriesGuide/src/main/res/values-v9/styles.xml similarity index 100% rename from SeriesGuide/res/values-v9/styles.xml rename to SeriesGuide/src/main/res/values-v9/styles.xml diff --git a/SeriesGuide/res/values-w1024dp/dimens.xml b/SeriesGuide/src/main/res/values-w1024dp/dimens.xml similarity index 100% rename from SeriesGuide/res/values-w1024dp/dimens.xml rename to SeriesGuide/src/main/res/values-w1024dp/dimens.xml diff --git a/SeriesGuide/res/values-w1024dp/layouts.xml b/SeriesGuide/src/main/res/values-w1024dp/layouts.xml similarity index 100% rename from SeriesGuide/res/values-w1024dp/layouts.xml rename to SeriesGuide/src/main/res/values-w1024dp/layouts.xml diff --git a/SeriesGuide/res/values-w400dp/styles.xml b/SeriesGuide/src/main/res/values-w400dp/styles.xml similarity index 78% rename from SeriesGuide/res/values-w400dp/styles.xml rename to SeriesGuide/src/main/res/values-w400dp/styles.xml index bb4f4fe197..dfcf53f400 100644 --- a/SeriesGuide/res/values-w400dp/styles.xml +++ b/SeriesGuide/src/main/res/values-w400dp/styles.xml @@ -3,6 +3,7 @@ diff --git a/SeriesGuide/res/values-w590dp/dimens.xml b/SeriesGuide/src/main/res/values-w590dp/dimens.xml similarity index 100% rename from SeriesGuide/res/values-w590dp/dimens.xml rename to SeriesGuide/src/main/res/values-w590dp/dimens.xml diff --git a/SeriesGuide/res/values-w590dp/layouts.xml b/SeriesGuide/src/main/res/values-w590dp/layouts.xml similarity index 100% rename from SeriesGuide/res/values-w590dp/layouts.xml rename to SeriesGuide/src/main/res/values-w590dp/layouts.xml diff --git a/SeriesGuide/res/values-w590dp/styles.xml b/SeriesGuide/src/main/res/values-w590dp/styles.xml similarity index 77% rename from SeriesGuide/res/values-w590dp/styles.xml rename to SeriesGuide/src/main/res/values-w590dp/styles.xml index be6482d9e2..709f064cf1 100644 --- a/SeriesGuide/res/values-w590dp/styles.xml +++ b/SeriesGuide/src/main/res/values-w590dp/styles.xml @@ -1,10 +1,10 @@ - @@ -324,22 +325,10 @@ bold - - - - diff --git a/SeriesGuide/res/values/themes.xml b/SeriesGuide/src/main/res/values/themes.xml similarity index 92% rename from SeriesGuide/res/values/themes.xml rename to SeriesGuide/src/main/res/values/themes.xml index 0a4893de4e..834e486918 100644 --- a/SeriesGuide/res/values/themes.xml +++ b/SeriesGuide/src/main/res/values/themes.xml @@ -53,6 +53,9 @@ @drawable/ic_action_arrow_top @drawable/ic_action_contextmenu @drawable/ic_action_checkin + @drawable/ic_action_tick + @drawable/ic_action_collect + @drawable/ic_action_filter @@ -172,6 +178,12 @@ @drawable/ic_action_arrow_top_inverse @drawable/ic_action_contextmenu_light @drawable/ic_action_checkin_inverse + @drawable/ic_action_tick_inverse + @drawable/ic_action_collect_inverse + @drawable/ic_action_filter_inverse + + + @style/SeriesGuideTheme