diff --git a/build.gradle b/build.gradle index 2d775b0..2ae5b99 100644 --- a/build.gradle +++ b/build.gradle @@ -60,6 +60,43 @@ ext { } } +def irradiaOPDS12Version = "0.0.4" +def irradiaMIMEVersion = "0.0.6" +def irradiaHTTPVersion = "0.0.1" +def irradiaServiceDirectoryVersion = "0.0.1" + +ext.libraries = [ + androidMaterial: "com.google.android.material:material:1.0.0", + androidSupportTestRules: "com.android.support.test:rules:1.0.2", + androidSupportTestRunner: "com.android.support.test:runner:1.0.2", + androidTestOrchestrator: "com.android.support.test:orchestrator:1.0.2", + androidXActivity: "androidx.activity:activity-ktx:1.0.0-alpha06", + androidXAppCompat: "androidx.appcompat:appcompat:1.1.0-alpha04", + androidXCore: "androidx.core:core-ktx:1.0.1", + googleGuava: "com.google.guava:guava:27.1-android", + irradiaHTTPAPI: "one.irradia.http:one.irradia.http.api:${irradiaHTTPVersion}", + irradiaHTTPVanilla: "one.irradia.http:one.irradia.http.vanilla:${irradiaHTTPVersion}", + irradiaMimeAPI: "one.irradia.mime:one.irradia.mime.api:${irradiaMIMEVersion}", + irradiaMimeVanilla: "one.irradia.mime:one.irradia.mime.vanilla:${irradiaMIMEVersion}", + irradiaOPDS12API: "one.irradia.opds1_2:one.irradia.opds1_2.api:${irradiaOPDS12Version}", + irradiaOPDS12Dublin: "one.irradia.opds1_2:one.irradia.opds1_2.dublin:${irradiaOPDS12Version}", + irradiaOPDS12NYPL: "one.irradia.opds1_2:one.irradia.opds1_2.nypl:${irradiaOPDS12Version}", + irradiaOPDS12ParserAPI: "one.irradia.opds1_2:one.irradia.opds1_2.parser.api:${irradiaOPDS12Version}", + irradiaOPDS12ParserVanilla: "one.irradia.opds1_2:one.irradia.opds1_2.vanilla:${irradiaOPDS12Version}", + irradiaServiceDirectoryAPI: "one.irradia.servicedirectory:one.irradia.servicedirectory.api:${irradiaServiceDirectoryVersion}", + irradiaServiceDirectoryVanilla: "one.irradia.servicedirectory:one.irradia.servicedirectory.vanilla:${irradiaServiceDirectoryVersion}", + jackson: "com.fasterxml.jackson.core:jackson-core:2.9.8", + jodaTime: "joda-time:joda-time:2.10.1", + junit: "junit:junit:4.12", + kotlinReflect: "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version", + kotlinStdlib: "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version", + logbackAndroid: "com.github.tony19:logback-android:2.0.0", + logbackClassic: "ch.qos.logback:logback-classic:1.3.0-alpha4", + okhttp: "com.squareup.okhttp3:okhttp:3.14.1", + rxjava: "io.reactivex.rxjava2:rxjava:2.2.8", + slf4j: "org.slf4j:slf4j-api:1.7.25" +] + apply plugin: "io.codearte.nexus-staging" apply plugin: "com.vanniktech.android.junit.jacoco" @@ -123,16 +160,11 @@ Automatic-Module-Name: ${POM_AUTOMATIC_MODULE_NAME} defaultConfig { minSdkVersion androidMinimumSDKVersion targetSdkVersion androidTargetSDKVersion - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - testOptions { - execution "ANDROID_TEST_ORCHESTRATOR" - animationsDisabled = true - } } break @@ -256,73 +288,5 @@ Automatic-Module-Name: ${POM_AUTOMATIC_MODULE_NAME} jcenter() google() } - - configurations { - dependencyAndroidMaterial - dependencyAndroidSupportTestRules - dependencyAndroidSupportTestRunner - dependencyAndroidTestOrchestrator - dependencyAndroidXActivity - dependencyAndroidXAppCompat - dependencyAndroidXCore - dependencyGoogleGuava - dependencyIrradiaHTTPAPI - dependencyIrradiaHTTPImpl - dependencyIrradiaMimeAPI - dependencyIrradiaMimeImpl - dependencyIrradiaOPDS12API - dependencyIrradiaOPDS12Dublin - dependencyIrradiaOPDS12NYPL - dependencyIrradiaOPDS12ParserAPI - dependencyIrradiaOPDS12ParserImpl - dependencyIrradiaServiceDirectoryAPI - dependencyIrradiaServiceDirectoryImpl - dependencyJUnit - dependencyJackson - dependencyJodaTime - dependencyKotlinReflect - dependencyKotlinStdlib - dependencyLogback - dependencyOkHttp - dependencyRXJava - dependencySLF4J - } - - dependencies { - - def irradiaOPDS12Version = "0.0.4" - def irradiaMIMEVersion = "0.0.6" - def irradiaHTTPVersion = "0.0.1" - def irradiaServiceDirectoryVersion = "0.0.1" - - dependencyAndroidMaterial "com.google.android.material:material:1.0.0" - dependencyAndroidSupportTestRules "com.android.support.test:rules:1.0.2" - dependencyAndroidSupportTestRunner "com.android.support.test:runner:1.0.2" - dependencyAndroidTestOrchestrator "com.android.support.test:orchestrator:1.0.2" - dependencyAndroidXActivity "androidx.activity:activity-ktx:1.0.0-alpha06" - dependencyAndroidXAppCompat "androidx.appcompat:appcompat:1.1.0-alpha04" - dependencyAndroidXCore "androidx.core:core-ktx:1.0.1" - dependencyGoogleGuava "com.google.guava:guava:27.1-android" - dependencyIrradiaHTTPAPI "one.irradia.http:one.irradia.http.api:${irradiaHTTPVersion}" - dependencyIrradiaHTTPImpl "one.irradia.http:one.irradia.http.vanilla:${irradiaHTTPVersion}" - dependencyIrradiaMimeAPI "one.irradia.mime:one.irradia.mime.api:${irradiaMIMEVersion}" - dependencyIrradiaMimeImpl "one.irradia.mime:one.irradia.mime.vanilla:${irradiaMIMEVersion}" - dependencyIrradiaOPDS12API "one.irradia.opds1_2:one.irradia.opds1_2.api:${irradiaOPDS12Version}" - dependencyIrradiaOPDS12Dublin "one.irradia.opds1_2:one.irradia.opds1_2.dublin:${irradiaOPDS12Version}" - dependencyIrradiaOPDS12NYPL "one.irradia.opds1_2:one.irradia.opds1_2.nypl:${irradiaOPDS12Version}" - dependencyIrradiaOPDS12ParserAPI "one.irradia.opds1_2:one.irradia.opds1_2.parser.api:${irradiaOPDS12Version}" - dependencyIrradiaOPDS12ParserImpl "one.irradia.opds1_2:one.irradia.opds1_2.vanilla:${irradiaOPDS12Version}" - dependencyIrradiaServiceDirectoryAPI "one.irradia.servicedirectory:one.irradia.servicedirectory.api:${irradiaServiceDirectoryVersion}" - dependencyIrradiaServiceDirectoryImpl "one.irradia.servicedirectory:one.irradia.servicedirectory.vanilla:${irradiaServiceDirectoryVersion}" - dependencyJUnit "junit:junit:4.12" - dependencyJackson "com.fasterxml.jackson.core:jackson-core:2.9.8" - dependencyJodaTime "joda-time:joda-time:2.10.1" - dependencyKotlinReflect "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" - dependencyKotlinStdlib "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - dependencyLogback "ch.qos.logback:logback-classic:1.3.0-alpha4" - dependencyOkHttp "com.squareup.okhttp3:okhttp:3.14.1" - dependencyRXJava "io.reactivex.rxjava2:rxjava:2.2.8" - dependencySLF4J "org.slf4j:slf4j-api:1.8.0-beta4" - } } diff --git a/one.irradia.neutrino.feeds.api/build.gradle b/one.irradia.neutrino.feeds.api/build.gradle index db77bca..8a57f10 100644 --- a/one.irradia.neutrino.feeds.api/build.gradle +++ b/one.irradia.neutrino.feeds.api/build.gradle @@ -14,16 +14,14 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -configurations { - api.extendsFrom dependencyIrradiaHTTPAPI - api.extendsFrom dependencyGoogleGuava - - implementation.extendsFrom dependencyKotlinStdlib - implementation.extendsFrom dependencySLF4J -} - dependencies { api project(":one.irradia.neutrino.feeds.model") implementation project(":one.irradia.neutrino.feeds.spi") + + api libraries.irradiaHTTPAPI + api libraries.googleGuava + + implementation libraries.kotlinStdlib + implementation libraries.slf4j } diff --git a/one.irradia.neutrino.feeds.model/build.gradle b/one.irradia.neutrino.feeds.model/build.gradle index 2b9eb4e..fa88043 100644 --- a/one.irradia.neutrino.feeds.model/build.gradle +++ b/one.irradia.neutrino.feeds.model/build.gradle @@ -14,10 +14,6 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -configurations { - implementation.extendsFrom dependencyKotlinStdlib -} - dependencies { - + implementation libraries.kotlinStdlib } diff --git a/one.irradia.neutrino.feeds.opds12/build.gradle b/one.irradia.neutrino.feeds.opds12/build.gradle index 818f8da..0da00cf 100644 --- a/one.irradia.neutrino.feeds.opds12/build.gradle +++ b/one.irradia.neutrino.feeds.opds12/build.gradle @@ -14,22 +14,18 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -configurations { - implementation.extendsFrom dependencyKotlinStdlib - - implementation.extendsFrom dependencySLF4J - - implementation.extendsFrom dependencyIrradiaOPDS12API - implementation.extendsFrom dependencyIrradiaOPDS12Dublin - implementation.extendsFrom dependencyIrradiaOPDS12NYPL - implementation.extendsFrom dependencyIrradiaOPDS12ParserAPI - implementation.extendsFrom dependencyIrradiaOPDS12ParserImpl -} - dependencies { api project(":one.irradia.neutrino.feeds.model") implementation project(":one.irradia.neutrino.feeds.spi") + + implementation libraries.kotlinStdlib + implementation libraries.slf4j + implementation libraries.irradiaOPDS12API + implementation libraries.irradiaOPDS12Dublin + implementation libraries.irradiaOPDS12NYPL + implementation libraries.irradiaOPDS12ParserAPI + implementation libraries.irradiaOPDS12ParserVanilla } def opds12ResourcesDir = file("$buildDir/generated-resources/") diff --git a/one.irradia.neutrino.feeds.spi/build.gradle b/one.irradia.neutrino.feeds.spi/build.gradle index d0b5b82..611c27a 100644 --- a/one.irradia.neutrino.feeds.spi/build.gradle +++ b/one.irradia.neutrino.feeds.spi/build.gradle @@ -14,11 +14,9 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -configurations { - implementation.extendsFrom dependencyKotlinStdlib - implementation.extendsFrom dependencyIrradiaMimeAPI -} - dependencies { implementation project(":one.irradia.neutrino.feeds.model") + + implementation libraries.kotlinStdlib + implementation libraries.irradiaMimeAPI } diff --git a/one.irradia.neutrino.sandbox/build.gradle b/one.irradia.neutrino.sandbox/build.gradle index fd85cd1..8e931ef 100644 --- a/one.irradia.neutrino.sandbox/build.gradle +++ b/one.irradia.neutrino.sandbox/build.gradle @@ -14,15 +14,16 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -configurations { - implementation.extendsFrom dependencyKotlinStdlib - implementation.extendsFrom dependencyRXJava - implementation.extendsFrom dependencyAndroidXAppCompat - implementation.extendsFrom dependencyAndroidXActivity - implementation.extendsFrom dependencyAndroidXCore - implementation.extendsFrom dependencyAndroidMaterial -} - dependencies { + implementation project(":one.irradia.neutrino.services.api") implementation project(":one.irradia.neutrino.views") + + implementation libraries.slf4j + implementation libraries.logbackAndroid + implementation libraries.kotlinStdlib + implementation libraries.rxjava + implementation libraries.androidXAppCompat + implementation libraries.androidXActivity + implementation libraries.androidXCore + implementation libraries.androidMaterial } diff --git a/one.irradia.neutrino.sandbox/src/main/assets/logback.xml b/one.irradia.neutrino.sandbox/src/main/assets/logback.xml new file mode 100644 index 0000000..da83fea --- /dev/null +++ b/one.irradia.neutrino.sandbox/src/main/assets/logback.xml @@ -0,0 +1,15 @@ + + + + + %logger{12} + + + [%-20thread] %msg + + + + + + + \ No newline at end of file diff --git a/one.irradia.neutrino.sandbox/src/main/java/one/irradia/neutrino/sandbox/BasicReader.kt b/one.irradia.neutrino.sandbox/src/main/java/one/irradia/neutrino/sandbox/BasicReader.kt index 2df7d4c..b20eec1 100644 --- a/one.irradia.neutrino.sandbox/src/main/java/one/irradia/neutrino/sandbox/BasicReader.kt +++ b/one.irradia.neutrino.sandbox/src/main/java/one/irradia/neutrino/sandbox/BasicReader.kt @@ -1,41 +1,76 @@ package one.irradia.neutrino.sandbox import android.os.Bundle -import android.view.MenuItem +import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity -import io.reactivex.subjects.Subject -import one.irradia.neutrino.views.api.NeutrinoActivityHelper -import one.irradia.neutrino.views.api.NeutrinoEventType -import one.irradia.neutrino.views.api.NeutrinoListenerType -import one.irradia.neutrino.views.api.NeutrinoMain -import one.irradia.neutrino.views.pages.NeutrinoPageType -import one.irradia.neutrino.views.tabs.NeutrinoTabType +import androidx.appcompat.widget.Toolbar +import one.irradia.neutrino.views.NTabController +import one.irradia.neutrino.views.NTabControllerItem +import org.slf4j.LoggerFactory -class BasicReader : AppCompatActivity(), NeutrinoListenerType { +class BasicReader : AppCompatActivity() { - override val neutrinoEventBus: Subject - get() = this.neutrinoMain.eventBus + private val logger = LoggerFactory.getLogger(BasicReader::class.java) - private lateinit var neutrinoMain: NeutrinoMain + private lateinit var content: ViewGroup + private lateinit var toolbar: Toolbar - override fun onNeutrinoPageMenuUpdated(page: NeutrinoPageType) = - NeutrinoActivityHelper.onNeutrinoPageMenuUpdated(this, page) + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) - override fun onNeutrinoTabUpdated(tab: NeutrinoTabType) = - NeutrinoActivityHelper.onNeutrinoTabUpdated(this, tab) + this.logger.debug("onCreate: {}", savedInstanceState) - override fun onNeutrinoTabSelected(tab: NeutrinoTabType) = - NeutrinoActivityHelper.onNeutrinoTabSelected(this, tab) + this.setContentView(R.layout.neutrino_activity) - override fun onBackPressed() { - NeutrinoActivityHelper.onNeutrinoBackPressed(this) - } + this.content = + this.findViewById(R.id.neutrinoContent) + this.toolbar = + this.findViewById(R.id.neutrinoToolbar) - override fun onOptionsItemSelected(item: MenuItem): Boolean = - NeutrinoActivityHelper.onNeutrinoOptionsItemSelected(this, item) + this.toolbar.title = "Neutrino Toolbar" + this.toolbar.inflateMenu(R.menu.neutrino_page_feed_external_menu) - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - this.neutrinoMain = NeutrinoActivityHelper.onNeutrinoCreate(this, savedInstanceState) + val controller = + NTabController( + controllers = listOf( + NTabControllerItem( + title = "Controller A", + icon = this.resources.getDrawable(R.drawable.neutrino_icon_books, this.theme), + controller = NControllerA() + ), + NTabControllerItem( + title = "Controller B", + icon = this.resources.getDrawable(R.drawable.neutrino_icon_books, this.theme), + controller = NControllerB() + ), + + NTabControllerItem( + title = "Controller B", + icon = this.resources.getDrawable(R.drawable.neutrino_icon_books, this.theme), + controller = NTabController( + controllers = listOf( + NTabControllerItem( + title = "Controller A", + icon = this.resources.getDrawable(R.drawable.neutrino_icon_books, this.theme), + controller = NControllerA() + ), + NTabControllerItem( + title = "Controller B", + icon = this.resources.getDrawable(R.drawable.neutrino_icon_books, this.theme), + controller = NControllerB() + ) + )) + ), + + NTabControllerItem( + title = "Controller C", + icon = this.resources.getDrawable(R.drawable.neutrino_icon_books, this.theme), + controller = NControllerC()))) + + val controllerView = + controller.onCreateView(this, this.layoutInflater, this.content) + + this.content.addView(controllerView) + controller.onAttach() } } \ No newline at end of file diff --git a/one.irradia.neutrino.sandbox/src/main/java/one/irradia/neutrino/sandbox/NControllerA.kt b/one.irradia.neutrino.sandbox/src/main/java/one/irradia/neutrino/sandbox/NControllerA.kt new file mode 100644 index 0000000..5b3abf5 --- /dev/null +++ b/one.irradia.neutrino.sandbox/src/main/java/one/irradia/neutrino/sandbox/NControllerA.kt @@ -0,0 +1,41 @@ +package one.irradia.neutrino.sandbox + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Button +import one.irradia.neutrino.views.NViewControllerType +import org.slf4j.LoggerFactory + +class NControllerA : NViewControllerType { + + private val logger = + LoggerFactory.getLogger(NControllerA::class.java) + + override fun onCreateView( + context: Context, + inflater: LayoutInflater, + container: ViewGroup): View { + this.logger.debug("onCreateView") + val button = Button(context) + button.text = "NControllerA" + return button + } + + override fun onAttach() { + this.logger.debug("onAttach") + } + + override fun onDetach() { + this.logger.debug("onDetach") + } + + override fun onDestroyView() { + this.logger.debug("onDestroyView") + } + + override fun onDestroy() { + this.logger.debug("onDestroy") + } +} \ No newline at end of file diff --git a/one.irradia.neutrino.sandbox/src/main/java/one/irradia/neutrino/sandbox/NControllerB.kt b/one.irradia.neutrino.sandbox/src/main/java/one/irradia/neutrino/sandbox/NControllerB.kt new file mode 100644 index 0000000..e335943 --- /dev/null +++ b/one.irradia.neutrino.sandbox/src/main/java/one/irradia/neutrino/sandbox/NControllerB.kt @@ -0,0 +1,41 @@ +package one.irradia.neutrino.sandbox + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Button +import one.irradia.neutrino.views.NViewControllerType +import org.slf4j.LoggerFactory + +class NControllerB : NViewControllerType { + + private val logger = + LoggerFactory.getLogger(NControllerB::class.java) + + override fun onCreateView( + context: Context, + inflater: LayoutInflater, + container: ViewGroup): View { + this.logger.debug("onCreateView") + val button = Button(context) + button.text = "NControllerB" + return button + } + + override fun onAttach() { + this.logger.debug("onAttach") + } + + override fun onDetach() { + this.logger.debug("onDetach") + } + + override fun onDestroyView() { + this.logger.debug("onDestroyView") + } + + override fun onDestroy() { + this.logger.debug("onDestroy") + } +} \ No newline at end of file diff --git a/one.irradia.neutrino.sandbox/src/main/java/one/irradia/neutrino/sandbox/NControllerC.kt b/one.irradia.neutrino.sandbox/src/main/java/one/irradia/neutrino/sandbox/NControllerC.kt new file mode 100644 index 0000000..aca1bfb --- /dev/null +++ b/one.irradia.neutrino.sandbox/src/main/java/one/irradia/neutrino/sandbox/NControllerC.kt @@ -0,0 +1,41 @@ +package one.irradia.neutrino.sandbox + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Button +import one.irradia.neutrino.views.NViewControllerType +import org.slf4j.LoggerFactory + +class NControllerC : NViewControllerType { + + private val logger = + LoggerFactory.getLogger(NControllerC::class.java) + + override fun onCreateView( + context: Context, + inflater: LayoutInflater, + container: ViewGroup): View { + this.logger.debug("onCreateView") + val button = Button(context) + button.text = "NControllerC" + return button + } + + override fun onAttach() { + this.logger.debug("onAttach") + } + + override fun onDetach() { + this.logger.debug("onDetach") + } + + override fun onDestroyView() { + this.logger.debug("onDestroyView") + } + + override fun onDestroy() { + this.logger.debug("onDestroy") + } +} \ No newline at end of file diff --git a/one.irradia.neutrino.services.api/build.gradle b/one.irradia.neutrino.services.api/build.gradle index 97d3178..6188e6e 100644 --- a/one.irradia.neutrino.services.api/build.gradle +++ b/one.irradia.neutrino.services.api/build.gradle @@ -14,13 +14,9 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -configurations { - api.extendsFrom dependencyIrradiaServiceDirectoryAPI - - implementation.extendsFrom dependencyKotlinStdlib - implementation.extendsFrom dependencyIrradiaServiceDirectoryImpl -} - dependencies { + api libraries.irradiaServiceDirectoryAPI + implementation libraries.kotlinStdlib + implementation libraries.irradiaServiceDirectoryVanilla } diff --git a/one.irradia.neutrino.tests/build.gradle b/one.irradia.neutrino.tests/build.gradle index da82c47..890c66a 100644 --- a/one.irradia.neutrino.tests/build.gradle +++ b/one.irradia.neutrino.tests/build.gradle @@ -14,20 +14,18 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -configurations { - api.extendsFrom dependencyJUnit - api.extendsFrom dependencySLF4J - - implementation.extendsFrom dependencyKotlinStdlib - implementation.extendsFrom dependencyIrradiaMimeImpl - implementation.extendsFrom dependencyIrradiaHTTPImpl - - testImplementation.extendsFrom dependencyLogback -} - dependencies { implementation project(":one.irradia.neutrino.feeds.spi") implementation project(":one.irradia.neutrino.feeds.model") implementation project(":one.irradia.neutrino.feeds.opds12") implementation project(":one.irradia.neutrino.feeds.api") + + api libraries.junit + api libraries.slf4j + + implementation libraries.kotlinStdlib + implementation libraries.irradiaMimeVanilla + implementation libraries.irradiaHTTPVanilla + + testImplementation libraries.logbackClassic } diff --git a/one.irradia.neutrino.tests/gradle.properties b/one.irradia.neutrino.tests/gradle.properties index 99cdad1..8302beb 100644 --- a/one.irradia.neutrino.tests/gradle.properties +++ b/one.irradia.neutrino.tests/gradle.properties @@ -1,6 +1,4 @@ -POM_ARTIFACT_ID=one.irradia.neutrino.sandbox -POM_DESCRIPTION=eBook Reader (Sandbox) -POM_NAME=one.irradia.neutrino.sandbox -POM_PACKAGING=aar - -isApplication=true \ No newline at end of file +POM_ARTIFACT_ID=one.irradia.neutrino.tests +POM_DESCRIPTION=eBook Reader (Test suite) +POM_NAME=one.irradia.neutrino.tests +POM_PACKAGING=aar \ No newline at end of file diff --git a/one.irradia.neutrino.views/build.gradle b/one.irradia.neutrino.views/build.gradle index ae470c2..a32fd7a 100644 --- a/one.irradia.neutrino.views/build.gradle +++ b/one.irradia.neutrino.views/build.gradle @@ -14,14 +14,11 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -configurations { - implementation.extendsFrom dependencyKotlinStdlib - implementation.extendsFrom dependencyAndroidMaterial - implementation.extendsFrom dependencyRXJava -} - dependencies { - implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - implementation project(':one.irradia.neutrino.feeds.api') + + implementation libraries.slf4j + implementation libraries.kotlinStdlib + implementation libraries.androidMaterial + implementation libraries.rxjava } diff --git a/one.irradia.neutrino.views/src/main/java/one/irradia/neutrino/views/NCatalogPageCollectionSelect.kt b/one.irradia.neutrino.views/src/main/java/one/irradia/neutrino/views/NCatalogPageCollectionSelect.kt deleted file mode 100644 index 8898017..0000000 --- a/one.irradia.neutrino.views/src/main/java/one/irradia/neutrino/views/NCatalogPageCollectionSelect.kt +++ /dev/null @@ -1,49 +0,0 @@ -package one.irradia.neutrino.views - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.fragment.app.Fragment -import one.irradia.neutrino.views.pages.NPageAbstract -import one.irradia.neutrino.views.pages.NPageConstructor -import java.io.Serializable - -class NCatalogPageCollectionSelect : NPageAbstract() { - - override fun pageSaveState(): NPageConstructor = - constructor() - - data class Parameters( - val unused: Int) : Serializable - - companion object { - - fun constructor(): NPageConstructor = - NPageConstructor { create(Parameters(unused = 23)) } - - fun create(parameters: Parameters): NCatalogPageCollectionSelect { - val page = NCatalogPageCollectionSelect() - val bundle = Bundle() - bundle.putSerializable("one.irradia.neutrino.views.NCatalogPageCollectionSelect", parameters) - page.arguments = bundle - return page - } - } - - override fun pageTitle(): String? { - return context?.resources?.getString(R.string.neutrino_collection_select) - } - - override fun pageFragment(): Fragment { - return this - } - - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle?): View? { - super.onCreateView(inflater, container, savedInstanceState) - return inflater.inflate(R.layout.neutrino_catalog_page_collection_select, container, false) - } -} \ No newline at end of file diff --git a/one.irradia.neutrino.views/src/main/java/one/irradia/neutrino/views/NPageFeed.kt b/one.irradia.neutrino.views/src/main/java/one/irradia/neutrino/views/NPageFeed.kt deleted file mode 100644 index 202e48b..0000000 --- a/one.irradia.neutrino.views/src/main/java/one/irradia/neutrino/views/NPageFeed.kt +++ /dev/null @@ -1,113 +0,0 @@ -package one.irradia.neutrino.views - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.Menu -import android.view.MenuInflater -import android.view.View -import android.view.ViewGroup -import android.widget.Button -import androidx.fragment.app.Fragment -import one.irradia.neutrino.views.pages.NPageAbstract -import one.irradia.neutrino.views.pages.NPageConstructor -import one.irradia.neutrino.views.pages.NeutrinoPageEvent -import one.irradia.neutrino.views.pages.NeutrinoPageType -import android.R.menu -import androidx.appcompat.view.menu.MenuBuilder - - -class NPageFeed : NPageAbstract(), NeutrinoPageType { - - override fun pageSaveState(): NPageConstructor? { - val arguments = this.feedArguments - return if (arguments != null) { - constructor(arguments) - } else { - null - } - } - - companion object { - - fun constructor(arguments: NPageFeedArguments): NPageConstructor = - NPageConstructor { create(arguments) } - - fun create(arguments: NPageFeedArguments): NPageFeed { - val result = NPageFeed() - val bundle = Bundle() - bundle.putSerializable("one.irradia.neutrino.views.NPageFeed.arguments", arguments) - result.arguments = bundle - return result - } - } - - private var feedArguments: NPageFeedArguments? = null - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - - this.feedArguments = - this.arguments!!.get("one.irradia.neutrino.views.NPageFeed.arguments") - as NPageFeedArguments - - if (this.feedArguments!!.isExternalCollection) { - this.setHasOptionsMenu(true) - } - } - - override fun onCreateOptionsMenu( - menu: Menu, - inflater: MenuInflater) { - super.onCreateOptionsMenu(menu, inflater) - - if (this.feedArguments!!.isExternalCollection) { - inflater.inflate(R.menu.neutrino_page_feed_external_menu, menu) - - val itemSwitch = menu.findItem(R.id.neutrinoCatalogMenuSwitchCollection) - itemSwitch.setOnMenuItemClickListener { - this.listener.neutrinoEventBus.onNext( - NeutrinoPageEvent.OpenPageOnCurrentTab( - callingPage = this, - constructor = NCatalogPageCollectionSelect.constructor())) - true - } - - val itemHome = menu.findItem(R.id.neutrinoCatalogMenuRoot) - itemHome.setOnMenuItemClickListener { - true - } - } - } - - override fun pageTitle(): String? { - return this.feedArguments?.let { arguments -> "${arguments.title}: ${arguments.depth}" } - } - - override fun pageFragment(): Fragment { - return this - } - - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle?): View? { - super.onCreateView(inflater, container, savedInstanceState) - - val currentArguments = this.feedArguments!! - return if (currentArguments.isExternalCollection) { - val view = inflater.inflate(R.layout.neutrino_page_feed, container, false) - val button = view.findViewById