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