Skip to content
This repository has been archived by the owner on Feb 28, 2022. It is now read-only.

Commit

Permalink
ShowsRage 1.5 (#100)
Browse files Browse the repository at this point in the history
  • Loading branch information
MGaetan89 committed Aug 28, 2016
1 parent 8ae1689 commit 8b32e27
Show file tree
Hide file tree
Showing 23 changed files with 208 additions and 255 deletions.
8 changes: 4 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
language: android

branches:
only:
- master
except:
- gh-pages

jdk:
- oraclejdk8

android:
components:
- android-24
- build-tools-24.0.1
- build-tools-24.0.2
- extra-android-m2repository
- extra-google-m2repository
- platform-tools
Expand All @@ -32,8 +32,8 @@ before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock

before_install:
- echo y | android update sdk --all --no-ui --force --filter build-tools-24.0.1
- echo y | android update sdk --all --no-ui --force --filter android-24
- echo y | android update sdk --all --no-ui --force --filter build-tools-24.0.2

before_script:
- ./travis/prepare_emulator.sh
Expand Down
8 changes: 4 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ if (rootProject.file('local.properties').exists()) {

android {
compileSdkVersion 24
buildToolsVersion '24.0.1'
buildToolsVersion '24.0.2'

defaultConfig {
applicationId 'com.mgaetan89.showsrage'
minSdkVersion 15
targetSdkVersion 24
versionCode 24
versionName '1.4.1'
versionCode 28
versionName '1.5'
resConfigs 'en', 'fr'
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
vectorDrawables.useSupportLibrary = true
Expand Down Expand Up @@ -138,7 +138,7 @@ def supportLibraryVersion = '24.2.0'
def supportTestVersion = '0.5'

dependencies {
kapt 'com.android.databinding:compiler:2.2.0-beta2'
kapt 'com.android.databinding:compiler:2.2.0-beta3'

compile "com.android.support:appcompat-v7:${supportLibraryVersion}"
compile "com.android.support:cardview-v7:${supportLibraryVersion}"
Expand Down
10 changes: 0 additions & 10 deletions app/src/debug/res/values/untranslatable.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name" translatable="false">ShowsRage Dev\'</string>

<!-- Application specific URIs -->
<string name="uir_settings_about" translatable="false">showsrage_dev://settings/about</string>
<string name="uri_settings_about_licenses" translatable="false">showsrage_dev://settings/about/licenses</string>
<string name="uri_settings_about_showsrage" translatable="false">showsrage_dev://settings/about/showsrage</string>
<string name="uri_settings_behavior" translatable="false">showsrage_dev://settings/behavior</string>
<string name="uri_settings_display" translatable="false">showsrage_dev://settings/display</string>
<string name="uri_settings_experimental_features" translatable="false">showsrage_dev://settings/experimental_features</string>
<string name="uri_settings_server" translatable="false">showsrage_dev://settings/server</string>
<string name="uri_settings_server_api_key" translatable="false">showsrage_dev://settings/server/api_key</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,7 @@ import com.mgaetan89.showsrage.fragment.LogsFragment
import com.mgaetan89.showsrage.fragment.PostProcessingFragment
import com.mgaetan89.showsrage.fragment.RemoteControlFragment
import com.mgaetan89.showsrage.fragment.ScheduleFragment
import com.mgaetan89.showsrage.fragment.SettingsAboutFragment
import com.mgaetan89.showsrage.fragment.SettingsAboutLicensesFragment
import com.mgaetan89.showsrage.fragment.SettingsAboutShowsRageFragment
import com.mgaetan89.showsrage.fragment.SettingsBehaviorFragment
import com.mgaetan89.showsrage.fragment.SettingsDisplayFragment
import com.mgaetan89.showsrage.fragment.SettingsExperimentalFeaturesFragment
import com.mgaetan89.showsrage.fragment.SettingsFragment
import com.mgaetan89.showsrage.fragment.SettingsServerApiKeyFragment
import com.mgaetan89.showsrage.fragment.SettingsServerFragment
import com.mgaetan89.showsrage.fragment.ShowsFragment
import com.mgaetan89.showsrage.fragment.StatisticsFragment
import com.mgaetan89.showsrage.helper.RealmManager
Expand Down Expand Up @@ -378,7 +370,8 @@ class MainActivity : AppCompatActivity(), Callback<GenericResponse>, NavigationV

this.setSupportActionBar(this.toolbar)

this.displayStartFragment()
// Display the list of shows
this.navigationView?.menu?.performIdentifierAction(R.id.menu_shows, 0)
}

override fun onDestroy() {
Expand Down Expand Up @@ -418,40 +411,9 @@ class MainActivity : AppCompatActivity(), Callback<GenericResponse>, NavigationV
}
}

private fun displayStartFragment() {
// Start the correct Setting Fragment, if necessary
val settingFragment = getSettingFragmentForPath(this.intent.data?.path)

if (settingFragment != null) {
this.supportFragmentManager.beginTransaction()
.replace(R.id.content, settingFragment)
.commit()

return
}

// Display the list of shows
this.navigationView?.menu?.performIdentifierAction(R.id.menu_shows, 0)
}

companion object {
private const val COLOR_DARK_FACTOR = 0.8f

fun getSettingFragmentForPath(path: String?): SettingsFragment? {
return when (path) {
"/" -> SettingsFragment()
"/about" -> SettingsAboutFragment()
"/about/licenses" -> SettingsAboutLicensesFragment()
"/about/showsrage" -> SettingsAboutShowsRageFragment()
"/behavior" -> SettingsBehaviorFragment()
"/display" -> SettingsDisplayFragment()
"/experimental_features" -> SettingsExperimentalFeaturesFragment()
"/server" -> SettingsServerFragment()
"/server/api_key" -> SettingsServerApiKeyFragment()
else -> null
}
}

fun shouldCheckForUpdate(checkInterval: Long, manualCheck: Boolean, lastCheckTime: Long): Boolean {
// Always check for new version if the user triggered the version check himself
if (manualCheck) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -367,8 +367,13 @@ class EpisodeDetailFragment : MediaRouteDiscoveryFragment(), Callback<SingleEpis
}

override fun onDestroy() {
this.episode?.removeChangeListeners()
this.omdbEpisodes?.removeChangeListeners()
if (this.episode?.isValid ?: false) {
this.episode?.removeChangeListeners()
}

if (this.omdbEpisodes?.isValid ?: false) {
this.omdbEpisodes?.removeChangeListeners()
}

super.onDestroy()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,9 @@ class HistoryFragment : Fragment(), Callback<Histories>, DialogInterface.OnClick
}

override fun onDestroy() {
this.histories?.removeChangeListeners()
if (this.histories?.isValid ?: false) {
this.histories?.removeChangeListeners()
}

super.onDestroy()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ class LogsFragment : Fragment(), Callback<Logs>, RealmChangeListener<RealmResult
private var adapter: LogsAdapter? = null
private var emptyView: TextView? = null
private var groups: Array<String>? = null
private var logLevel: LogLevel? = null
private var logs: RealmResults<LogEntry>? = null
private var recyclerView: RecyclerView? = null
private var swipeRefreshLayout: SwipeRefreshLayout? = null
Expand Down Expand Up @@ -72,8 +73,11 @@ class LogsFragment : Fragment(), Callback<Logs>, RealmChangeListener<RealmResult

this.adapter = null

this.logs?.removeChangeListeners()
this.logs = RealmManager.getLogs(this.getPreferredLogsLevel(), this.groups, this)
if (this.logs?.isValid ?: false) {
this.logs?.removeChangeListeners()
}

this.logs = RealmManager.getLogs(this.getLogLevel(), this.groups, this)
}
}
}
Expand All @@ -99,15 +103,16 @@ class LogsFragment : Fragment(), Callback<Logs>, RealmChangeListener<RealmResult
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

this.logs = RealmManager.getLogs(this.getPreferredLogsLevel(), this)
this.logs = RealmManager.getLogs(this.getLogLevel(), this.groups, this)
}

override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) {
inflater?.inflate(R.menu.logs, menu)

menu?.findItem(R.id.menu_filter)?.isVisible = RealmManager.getLogsGroup().isNotEmpty()
// TODO Enable logs filter
//menu?.findItem(R.id.menu_filter)?.isVisible = RealmManager.getLogsGroup().isNotEmpty()

val menuId = getMenuIdForLogLevel(this.getPreferredLogsLevel())
val menuId = getMenuIdForLogLevel(this.getLogLevel())

if (menuId > 0) {
menu?.findItem(menuId)?.isChecked = true
Expand Down Expand Up @@ -141,7 +146,9 @@ class LogsFragment : Fragment(), Callback<Logs>, RealmChangeListener<RealmResult
}

override fun onDestroy() {
this.logs?.removeChangeListeners()
if (this.logs?.isValid ?: false) {
this.logs?.removeChangeListeners()
}

super.onDestroy()
}
Expand Down Expand Up @@ -171,7 +178,7 @@ class LogsFragment : Fragment(), Callback<Logs>, RealmChangeListener<RealmResult
override fun onRefresh() {
this.swipeRefreshLayout?.isRefreshing = true

SickRageApi.instance.services?.getLogs(this.getPreferredLogsLevel(), this)
SickRageApi.instance.services?.getLogs(this.getLogLevel(), this)
}

override fun success(logs: Logs?, response: Response?) {
Expand All @@ -181,14 +188,12 @@ class LogsFragment : Fragment(), Callback<Logs>, RealmChangeListener<RealmResult
LogEntry(it)
} ?: emptyList()

RealmManager.saveLogs(logEntries)
RealmManager.saveLogs(logEntries, this.getLogLevel())

this.activity.supportInvalidateOptionsMenu()
}

private fun getPreferredLogsLevel(): LogLevel {
return this.context.getPreferences().getLogLevel()
}
private fun getLogLevel() = this.logLevel ?: this.context.getPreferences().getLogLevel()

private fun handleLogsGroupFilter() {
val arguments = Bundle()
Expand All @@ -201,28 +206,29 @@ class LogsFragment : Fragment(), Callback<Logs>, RealmChangeListener<RealmResult
}

private fun handleLogsLevelSelection(item: MenuItem?): Boolean {
val logLevel = getLogLevelForMenuId(item?.itemId)
this.logLevel = getLogLevelForMenuId(item?.itemId)

if (logLevel != null) {
return this.logLevel?.let {
// Check the selected menu item
item?.isChecked = true

// Save the selected logs level
this.context.getPreferences().saveLogLevel(logLevel)
this.context.getPreferences().saveLogLevel(it)

// Update the list of logs
this.adapter = null

this.logs?.removeChangeListeners()
this.logs = RealmManager.getLogs(logLevel, this)
if (this.logs?.isValid ?: false) {
this.logs?.removeChangeListeners()
}

this.logs = RealmManager.getLogs(it, this.groups, this)

// Refresh the list of logs
this.onRefresh()

return true
}

return false
true
} ?: false
}

companion object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,9 @@ class ScheduleSectionFragment : Fragment(), RealmChangeListener<RealmResults<Sch
}

override fun onDestroy() {
this.schedules?.removeChangeListeners()
if (this.schedules?.isValid ?: false) {
this.schedules?.removeChangeListeners()
}

super.onDestroy()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,9 @@ class SeasonFragment : Fragment(), Callback<Episodes>, SwipeRefreshLayout.OnRefr
}

override fun onDestroy() {
this.episodes?.removeChangeListeners()
if (this.episodes?.isValid ?: false) {
this.episodes?.removeChangeListeners()
}

super.onDestroy()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,23 @@ open class SettingsFragment : PreferenceFragmentCompat(), SharedPreferences.OnSh
super.onDestroy()
}

override fun onPreferenceTreeClick(preference: Preference?): Boolean {
if (preference?.key?.startsWith("screen_") ?: false) {
val fragment = getSettingFragmentForScreen(preference?.key)

if (fragment != null) {
this.fragmentManager.beginTransaction()
.replace(R.id.content, fragment)
.addToBackStack("settings")
.commit()

return true
}
}

return super.onPreferenceTreeClick(preference)
}

override fun onResume() {
super.onResume()

Expand Down Expand Up @@ -140,7 +157,7 @@ open class SettingsFragment : PreferenceFragmentCompat(), SharedPreferences.OnSh
if (preference is PreferenceGroup) {
when (preference.key) {
"application_version" -> preference.summary = BuildConfig.VERSION_NAME
"get_api_key" -> preference.summary = this.getPreferenceValue("api_key", "")
"screen_server_api_key" -> preference.summary = this.getPreferenceValue("api_key", "")
}

this.updatePreferenceGroup(preference)
Expand All @@ -152,4 +169,20 @@ open class SettingsFragment : PreferenceFragmentCompat(), SharedPreferences.OnSh
}
}
}

companion object {
internal fun getSettingFragmentForScreen(screen: String?): SettingsFragment? {
return when (screen) {
"screen_about" -> SettingsAboutFragment()
"screen_about_licenses" -> SettingsAboutLicensesFragment()
"screen_about_shows_rage" -> SettingsAboutShowsRageFragment()
"screen_behavior" -> SettingsBehaviorFragment()
"screen_display" -> SettingsDisplayFragment()
"screen_experimental_features" -> SettingsExperimentalFeaturesFragment()
"screen_server" -> SettingsServerFragment()
"screen_server_api_key" -> SettingsServerApiKeyFragment()
else -> null
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -481,8 +481,13 @@ class ShowOverviewFragment : Fragment(), Callback<SingleShow>, View.OnClickListe
this.context.unbindService(this.serviceConnection)
}

this.series?.removeChangeListeners()
this.show?.removeChangeListeners()
if (this.series?.isValid ?: false) {
this.series?.removeChangeListeners()
}

if (this.show?.isValid ?: false) {
this.show?.removeChangeListeners()
}

super.onDestroy()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,9 @@ class ShowsSectionFragment : Fragment(), RealmChangeListener<RealmResults<Show>>
}

override fun onDestroy() {
this.shows?.removeChangeListeners()
if (this.shows?.isValid ?: false) {
this.shows?.removeChangeListeners()
}

super.onDestroy()
}
Expand Down Expand Up @@ -186,9 +188,10 @@ class ShowsSectionFragment : Fragment(), RealmChangeListener<RealmResults<Show>>
if (filteredShows != fragment.filteredShows) {
fragment.filteredShows.clear()
fragment.filteredShows.addAll(filteredShows)
fragment.updateLayout()
fragment.adapter?.notifyDataSetChanged()
}

fragment.updateLayout()
}

companion object {
Expand Down

0 comments on commit 8b32e27

Please sign in to comment.