From 11b0dfebd1885b9cf1f0d3f87f5e81c6b0405221 Mon Sep 17 00:00:00 2001
From: Josef Raska <6277721+jraska@users.noreply.github.com>
Date: Wed, 10 Apr 2019 23:57:06 +0200
Subject: [PATCH 01/12] Remove unnecessary Dagger kapt dependency
---
client-domain/build.gradle | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/client-domain/build.gradle b/client-domain/build.gradle
index 77518455..fc0e0f23 100644
--- a/client-domain/build.gradle
+++ b/client-domain/build.gradle
@@ -2,21 +2,10 @@ apply plugin: 'java-library'
apply plugin: 'com.android.lint'
apply plugin: 'kotlin'
-configurations {
- provided
-}
-
-sourceSets {
- main {
- compileClasspath += configurations.provided
- }
-}
-
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
api 'com.google.dagger:dagger:2.21'
- provided 'com.google.dagger:dagger-compiler:2.21'
api 'io.reactivex.rxjava2:rxjava:2.2.7'
api 'com.squareup.okhttp3:okhttp:3.13.1'
From ce054d0155578a72c7e89b5c23791a741baec794 Mon Sep 17 00:00:00 2001
From: Josef Raska <6277721+jraska@users.noreply.github.com>
Date: Wed, 10 Apr 2019 23:58:47 +0200
Subject: [PATCH 02/12] Move domain classes to data module to have domain
unaware base module
---
.../src/main/java/com/jraska/github/client/users/RepoDetail.kt | 0
.../src/main/java/com/jraska/github/client/users/RepoHeader.kt | 0
.../src/main/java/com/jraska/github/client/users/User.kt | 0
.../src/main/java/com/jraska/github/client/users/UserDetail.kt | 0
.../src/main/java/com/jraska/github/client/users/UserStats.kt | 0
.../main/java/com/jraska/github/client/users/UsersRepository.kt | 0
.../src/main/java/com/jraska/github/client/DeepLinkHandler.kt | 2 +-
.../com/jraska/github/client/{common => analytics}/HttpUrl.kt | 2 +-
.../test/java/com/jraska/github/client/common/HttpUrlTest.kt | 1 +
9 files changed, 3 insertions(+), 2 deletions(-)
rename {client-domain => client-data}/src/main/java/com/jraska/github/client/users/RepoDetail.kt (100%)
rename {client-domain => client-data}/src/main/java/com/jraska/github/client/users/RepoHeader.kt (100%)
rename {client-domain => client-data}/src/main/java/com/jraska/github/client/users/User.kt (100%)
rename {client-domain => client-data}/src/main/java/com/jraska/github/client/users/UserDetail.kt (100%)
rename {client-domain => client-data}/src/main/java/com/jraska/github/client/users/UserStats.kt (100%)
rename {client-domain => client-data}/src/main/java/com/jraska/github/client/users/UsersRepository.kt (100%)
rename client-domain/src/main/java/com/jraska/github/client/{common => analytics}/HttpUrl.kt (86%)
diff --git a/client-domain/src/main/java/com/jraska/github/client/users/RepoDetail.kt b/client-data/src/main/java/com/jraska/github/client/users/RepoDetail.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/users/RepoDetail.kt
rename to client-data/src/main/java/com/jraska/github/client/users/RepoDetail.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/users/RepoHeader.kt b/client-data/src/main/java/com/jraska/github/client/users/RepoHeader.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/users/RepoHeader.kt
rename to client-data/src/main/java/com/jraska/github/client/users/RepoHeader.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/users/User.kt b/client-data/src/main/java/com/jraska/github/client/users/User.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/users/User.kt
rename to client-data/src/main/java/com/jraska/github/client/users/User.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/users/UserDetail.kt b/client-data/src/main/java/com/jraska/github/client/users/UserDetail.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/users/UserDetail.kt
rename to client-data/src/main/java/com/jraska/github/client/users/UserDetail.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/users/UserStats.kt b/client-data/src/main/java/com/jraska/github/client/users/UserStats.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/users/UserStats.kt
rename to client-data/src/main/java/com/jraska/github/client/users/UserStats.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/users/UsersRepository.kt b/client-data/src/main/java/com/jraska/github/client/users/UsersRepository.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/users/UsersRepository.kt
rename to client-data/src/main/java/com/jraska/github/client/users/UsersRepository.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/DeepLinkHandler.kt b/client-domain/src/main/java/com/jraska/github/client/DeepLinkHandler.kt
index 34a29346..1dcd3042 100644
--- a/client-domain/src/main/java/com/jraska/github/client/DeepLinkHandler.kt
+++ b/client-domain/src/main/java/com/jraska/github/client/DeepLinkHandler.kt
@@ -2,7 +2,7 @@ package com.jraska.github.client
import com.jraska.github.client.analytics.AnalyticsEvent
import com.jraska.github.client.analytics.EventAnalytics
-import com.jraska.github.client.common.toAnalyticsString
+import com.jraska.github.client.analytics.toAnalyticsString
import com.jraska.github.client.logging.CrashReporter
import okhttp3.HttpUrl
diff --git a/client-domain/src/main/java/com/jraska/github/client/common/HttpUrl.kt b/client-domain/src/main/java/com/jraska/github/client/analytics/HttpUrl.kt
similarity index 86%
rename from client-domain/src/main/java/com/jraska/github/client/common/HttpUrl.kt
rename to client-domain/src/main/java/com/jraska/github/client/analytics/HttpUrl.kt
index 5921a4c8..b541fec8 100644
--- a/client-domain/src/main/java/com/jraska/github/client/common/HttpUrl.kt
+++ b/client-domain/src/main/java/com/jraska/github/client/analytics/HttpUrl.kt
@@ -1,4 +1,4 @@
-package com.jraska.github.client.common
+package com.jraska.github.client.analytics
import okhttp3.HttpUrl
diff --git a/client-domain/src/test/java/com/jraska/github/client/common/HttpUrlTest.kt b/client-domain/src/test/java/com/jraska/github/client/common/HttpUrlTest.kt
index f0d93002..71a95094 100644
--- a/client-domain/src/test/java/com/jraska/github/client/common/HttpUrlTest.kt
+++ b/client-domain/src/test/java/com/jraska/github/client/common/HttpUrlTest.kt
@@ -1,5 +1,6 @@
package com.jraska.github.client.common
+import com.jraska.github.client.analytics.toAnalyticsString
import okhttp3.HttpUrl
import org.assertj.core.api.Assertions.assertThat
import org.junit.Test
From eabf7ca3a31763f96af4ca79bf435e18230667ce Mon Sep 17 00:00:00 2001
From: Josef Raska <6277721+jraska@users.noreply.github.com>
Date: Thu, 11 Apr 2019 00:01:33 +0200
Subject: [PATCH 03/12] Rename domain module to core module
---
client-data/build.gradle | 2 +-
client-domain/.gitignore | 1 -
client-domain/build.gradle | 19 -------------------
client-domain/lint.xml | 6 ------
client/build.gradle | 2 +-
.../java/com/jraska/github/client/Config.kt | 0
.../jraska/github/client/DeepLinkHandler.kt | 0
.../jraska/github/client/DeepLinkLauncher.kt | 0
.../jraska/github/client/DeepLinkNavigator.kt | 0
.../com/jraska/github/client/Navigator.kt | 0
.../java/com/jraska/github/client/PerApp.kt | 0
.../java/com/jraska/github/client/Urls.kt | 0
.../jraska/github/client/WebLinkLauncher.kt | 0
.../github/client/analytics/AnalyticsEvent.kt | 0
.../client/analytics/AnalyticsProperty.kt | 0
.../github/client/analytics/EventAnalytics.kt | 0
.../jraska/github/client/analytics/HttpUrl.kt | 0
.../github/client/common/AppBuildConfig.kt | 0
.../github/client/common/DeveloperError.kt | 0
.../jraska/github/client/common/Stopwatch.kt | 0
.../github/client/logging/CrashReporter.kt | 0
.../github/client/logging/VerboseLogger.kt | 0
.../jraska/github/client/rx/AppSchedulers.kt | 0
.../github/client/time/DateTimeProvider.kt | 0
.../client/time/RealDateTimeProvider.kt | 0
.../github/client/time/RealTimeProvider.kt | 0
.../jraska/github/client/time/TimeProvider.kt | 0
.../github/client/DeepLinkNavigatorTest.kt | 0
.../github/client/common/HttpUrlTest.kt | 0
.../github/client/common/StopwatchTest.kt | 0
.../github/client/time/TestTimeProvider.kt | 0
settings.gradle | 2 +-
32 files changed, 3 insertions(+), 29 deletions(-)
delete mode 100644 client-domain/.gitignore
delete mode 100644 client-domain/build.gradle
delete mode 100644 client-domain/lint.xml
rename {client-domain => core}/src/main/java/com/jraska/github/client/Config.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/DeepLinkHandler.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/DeepLinkLauncher.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/DeepLinkNavigator.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/Navigator.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/PerApp.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/Urls.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/WebLinkLauncher.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/analytics/AnalyticsEvent.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/analytics/AnalyticsProperty.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/analytics/EventAnalytics.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/analytics/HttpUrl.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/common/AppBuildConfig.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/common/DeveloperError.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/common/Stopwatch.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/logging/CrashReporter.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/logging/VerboseLogger.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/rx/AppSchedulers.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/time/DateTimeProvider.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/time/RealDateTimeProvider.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/time/RealTimeProvider.kt (100%)
rename {client-domain => core}/src/main/java/com/jraska/github/client/time/TimeProvider.kt (100%)
rename {client-domain => core}/src/test/java/com/jraska/github/client/DeepLinkNavigatorTest.kt (100%)
rename {client-domain => core}/src/test/java/com/jraska/github/client/common/HttpUrlTest.kt (100%)
rename {client-domain => core}/src/test/java/com/jraska/github/client/common/StopwatchTest.kt (100%)
rename {client-domain => core}/src/test/java/com/jraska/github/client/time/TestTimeProvider.kt (100%)
diff --git a/client-data/build.gradle b/client-data/build.gradle
index f68f61ae..902d9771 100644
--- a/client-data/build.gradle
+++ b/client-data/build.gradle
@@ -19,7 +19,7 @@ dependencies {
kapt 'com.google.dagger:dagger-compiler:2.21'
- api project(':client-domain')
+ api project(':core')
api 'androidx.appcompat:appcompat:1.1.0-alpha04'
api 'androidx.annotation:annotation:1.0.2'
diff --git a/client-domain/.gitignore b/client-domain/.gitignore
deleted file mode 100644
index 796b96d1..00000000
--- a/client-domain/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/client-domain/build.gradle b/client-domain/build.gradle
deleted file mode 100644
index fc0e0f23..00000000
--- a/client-domain/build.gradle
+++ /dev/null
@@ -1,19 +0,0 @@
-apply plugin: 'java-library'
-apply plugin: 'com.android.lint'
-apply plugin: 'kotlin'
-
-dependencies {
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
-
- api 'com.google.dagger:dagger:2.21'
-
- api 'io.reactivex.rxjava2:rxjava:2.2.7'
- api 'com.squareup.okhttp3:okhttp:3.13.1'
- api 'com.squareup.okio:okio:2.2.2'
-
- api 'org.threeten:threetenbp:1.3.7:no-tzdb'
-
- testImplementation 'junit:junit:4.12'
- testImplementation 'org.assertj:assertj-core:3.11.1'
- testImplementation 'org.mockito:mockito-core:2.23.4'
-}
diff --git a/client-domain/lint.xml b/client-domain/lint.xml
deleted file mode 100644
index 7f38fb6c..00000000
--- a/client-domain/lint.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/client/build.gradle b/client/build.gradle
index 5b00e0f2..3c142235 100644
--- a/client/build.gradle
+++ b/client/build.gradle
@@ -56,7 +56,7 @@ android {
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
- api project(':client-domain')
+ api project(':core')
api project(':client-data')
implementation 'androidx.appcompat:appcompat:1.1.0-alpha04'
diff --git a/client-domain/src/main/java/com/jraska/github/client/Config.kt b/core/src/main/java/com/jraska/github/client/Config.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/Config.kt
rename to core/src/main/java/com/jraska/github/client/Config.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/DeepLinkHandler.kt b/core/src/main/java/com/jraska/github/client/DeepLinkHandler.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/DeepLinkHandler.kt
rename to core/src/main/java/com/jraska/github/client/DeepLinkHandler.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/DeepLinkLauncher.kt b/core/src/main/java/com/jraska/github/client/DeepLinkLauncher.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/DeepLinkLauncher.kt
rename to core/src/main/java/com/jraska/github/client/DeepLinkLauncher.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/DeepLinkNavigator.kt b/core/src/main/java/com/jraska/github/client/DeepLinkNavigator.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/DeepLinkNavigator.kt
rename to core/src/main/java/com/jraska/github/client/DeepLinkNavigator.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/Navigator.kt b/core/src/main/java/com/jraska/github/client/Navigator.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/Navigator.kt
rename to core/src/main/java/com/jraska/github/client/Navigator.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/PerApp.kt b/core/src/main/java/com/jraska/github/client/PerApp.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/PerApp.kt
rename to core/src/main/java/com/jraska/github/client/PerApp.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/Urls.kt b/core/src/main/java/com/jraska/github/client/Urls.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/Urls.kt
rename to core/src/main/java/com/jraska/github/client/Urls.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/WebLinkLauncher.kt b/core/src/main/java/com/jraska/github/client/WebLinkLauncher.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/WebLinkLauncher.kt
rename to core/src/main/java/com/jraska/github/client/WebLinkLauncher.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/analytics/AnalyticsEvent.kt b/core/src/main/java/com/jraska/github/client/analytics/AnalyticsEvent.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/analytics/AnalyticsEvent.kt
rename to core/src/main/java/com/jraska/github/client/analytics/AnalyticsEvent.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/analytics/AnalyticsProperty.kt b/core/src/main/java/com/jraska/github/client/analytics/AnalyticsProperty.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/analytics/AnalyticsProperty.kt
rename to core/src/main/java/com/jraska/github/client/analytics/AnalyticsProperty.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/analytics/EventAnalytics.kt b/core/src/main/java/com/jraska/github/client/analytics/EventAnalytics.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/analytics/EventAnalytics.kt
rename to core/src/main/java/com/jraska/github/client/analytics/EventAnalytics.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/analytics/HttpUrl.kt b/core/src/main/java/com/jraska/github/client/analytics/HttpUrl.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/analytics/HttpUrl.kt
rename to core/src/main/java/com/jraska/github/client/analytics/HttpUrl.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/common/AppBuildConfig.kt b/core/src/main/java/com/jraska/github/client/common/AppBuildConfig.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/common/AppBuildConfig.kt
rename to core/src/main/java/com/jraska/github/client/common/AppBuildConfig.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/common/DeveloperError.kt b/core/src/main/java/com/jraska/github/client/common/DeveloperError.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/common/DeveloperError.kt
rename to core/src/main/java/com/jraska/github/client/common/DeveloperError.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/common/Stopwatch.kt b/core/src/main/java/com/jraska/github/client/common/Stopwatch.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/common/Stopwatch.kt
rename to core/src/main/java/com/jraska/github/client/common/Stopwatch.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/logging/CrashReporter.kt b/core/src/main/java/com/jraska/github/client/logging/CrashReporter.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/logging/CrashReporter.kt
rename to core/src/main/java/com/jraska/github/client/logging/CrashReporter.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/logging/VerboseLogger.kt b/core/src/main/java/com/jraska/github/client/logging/VerboseLogger.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/logging/VerboseLogger.kt
rename to core/src/main/java/com/jraska/github/client/logging/VerboseLogger.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/rx/AppSchedulers.kt b/core/src/main/java/com/jraska/github/client/rx/AppSchedulers.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/rx/AppSchedulers.kt
rename to core/src/main/java/com/jraska/github/client/rx/AppSchedulers.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/time/DateTimeProvider.kt b/core/src/main/java/com/jraska/github/client/time/DateTimeProvider.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/time/DateTimeProvider.kt
rename to core/src/main/java/com/jraska/github/client/time/DateTimeProvider.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/time/RealDateTimeProvider.kt b/core/src/main/java/com/jraska/github/client/time/RealDateTimeProvider.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/time/RealDateTimeProvider.kt
rename to core/src/main/java/com/jraska/github/client/time/RealDateTimeProvider.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/time/RealTimeProvider.kt b/core/src/main/java/com/jraska/github/client/time/RealTimeProvider.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/time/RealTimeProvider.kt
rename to core/src/main/java/com/jraska/github/client/time/RealTimeProvider.kt
diff --git a/client-domain/src/main/java/com/jraska/github/client/time/TimeProvider.kt b/core/src/main/java/com/jraska/github/client/time/TimeProvider.kt
similarity index 100%
rename from client-domain/src/main/java/com/jraska/github/client/time/TimeProvider.kt
rename to core/src/main/java/com/jraska/github/client/time/TimeProvider.kt
diff --git a/client-domain/src/test/java/com/jraska/github/client/DeepLinkNavigatorTest.kt b/core/src/test/java/com/jraska/github/client/DeepLinkNavigatorTest.kt
similarity index 100%
rename from client-domain/src/test/java/com/jraska/github/client/DeepLinkNavigatorTest.kt
rename to core/src/test/java/com/jraska/github/client/DeepLinkNavigatorTest.kt
diff --git a/client-domain/src/test/java/com/jraska/github/client/common/HttpUrlTest.kt b/core/src/test/java/com/jraska/github/client/common/HttpUrlTest.kt
similarity index 100%
rename from client-domain/src/test/java/com/jraska/github/client/common/HttpUrlTest.kt
rename to core/src/test/java/com/jraska/github/client/common/HttpUrlTest.kt
diff --git a/client-domain/src/test/java/com/jraska/github/client/common/StopwatchTest.kt b/core/src/test/java/com/jraska/github/client/common/StopwatchTest.kt
similarity index 100%
rename from client-domain/src/test/java/com/jraska/github/client/common/StopwatchTest.kt
rename to core/src/test/java/com/jraska/github/client/common/StopwatchTest.kt
diff --git a/client-domain/src/test/java/com/jraska/github/client/time/TestTimeProvider.kt b/core/src/test/java/com/jraska/github/client/time/TestTimeProvider.kt
similarity index 100%
rename from client-domain/src/test/java/com/jraska/github/client/time/TestTimeProvider.kt
rename to core/src/test/java/com/jraska/github/client/time/TestTimeProvider.kt
diff --git a/settings.gradle b/settings.gradle
index c8538d27..664f5769 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1 @@
-include ':client', ':client-domain', ':client-data'
+include ':client', ':core', ':client-data'
From 23e1fa0c85958333f5d9503e000368549a79e96b Mon Sep 17 00:00:00 2001
From: Josef Raska <6277721+jraska@users.noreply.github.com>
Date: Thu, 11 Apr 2019 00:12:23 +0200
Subject: [PATCH 04/12] Add core-android module
---
.circleci/config.yml | 6 +++---
client-data/build.gradle | 1 +
core-android/.gitignore | 1 +
core-android/build.gradle | 20 ++++++++++++++++++++
core-android/src/main/AndroidManifest.xml | 1 +
settings.gradle | 2 +-
6 files changed, 27 insertions(+), 4 deletions(-)
create mode 100644 core-android/.gitignore
create mode 100644 core-android/build.gradle
create mode 100644 core-android/src/main/AndroidManifest.xml
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 47ef5d0e..785beb67 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -24,8 +24,8 @@ jobs:
path: client/build/reports
destination: client/reports
- store_artifacts:
- path: client-domain/build/reports
- destination: client-domain/reports
+ path: core/build/reports
+ destination: core/reports
- store_artifacts:
path: client-data/build/reports
destination: client-data/reports
@@ -34,5 +34,5 @@ jobs:
- store_test_results:
path: client-data/build/test-results
- store_test_results:
- path: client-domain/build/test-results
+ path: core/build/test-results
diff --git a/client-data/build.gradle b/client-data/build.gradle
index 902d9771..d4ba0dcf 100644
--- a/client-data/build.gradle
+++ b/client-data/build.gradle
@@ -23,6 +23,7 @@ dependencies {
api 'androidx.appcompat:appcompat:1.1.0-alpha04'
api 'androidx.annotation:annotation:1.0.2'
+ api 'com.google.dagger:dagger:2.21'
api 'androidx.lifecycle:lifecycle-extensions:2.0.0'
diff --git a/core-android/.gitignore b/core-android/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/core-android/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/core-android/build.gradle b/core-android/build.gradle
new file mode 100644
index 00000000..5d741ef0
--- /dev/null
+++ b/core-android/build.gradle
@@ -0,0 +1,20 @@
+apply plugin: 'com.android.library'
+apply plugin: 'kotlin-android'
+
+android {
+ compileSdkVersion 28
+ defaultConfig {
+ minSdkVersion 21
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+}
+
+dependencies {
+ project(':core')
+
+ testImplementation 'junit:junit:4.12'
+}
diff --git a/core-android/src/main/AndroidManifest.xml b/core-android/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..f23b58d8
--- /dev/null
+++ b/core-android/src/main/AndroidManifest.xml
@@ -0,0 +1 @@
+
diff --git a/settings.gradle b/settings.gradle
index 664f5769..ee1c0174 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1 @@
-include ':client', ':core', ':client-data'
+include ':client', ':core', ':client-data', ':core-android'
From a2e7281ac5da9505687b155871aeceee8cbfeae3 Mon Sep 17 00:00:00 2001
From: Josef Raska <6277721+jraska@users.noreply.github.com>
Date: Thu, 11 Apr 2019 00:14:58 +0200
Subject: [PATCH 05/12] Module dependencies
---
client-data/build.gradle | 1 +
client/build.gradle | 1 +
core-android/build.gradle | 2 +-
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/client-data/build.gradle b/client-data/build.gradle
index d4ba0dcf..ec6f6725 100644
--- a/client-data/build.gradle
+++ b/client-data/build.gradle
@@ -20,6 +20,7 @@ dependencies {
kapt 'com.google.dagger:dagger-compiler:2.21'
api project(':core')
+ api project(':core-android')
api 'androidx.appcompat:appcompat:1.1.0-alpha04'
api 'androidx.annotation:annotation:1.0.2'
diff --git a/client/build.gradle b/client/build.gradle
index 3c142235..d328c6f0 100644
--- a/client/build.gradle
+++ b/client/build.gradle
@@ -57,6 +57,7 @@ dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
api project(':core')
+ api project(':core-android')
api project(':client-data')
implementation 'androidx.appcompat:appcompat:1.1.0-alpha04'
diff --git a/core-android/build.gradle b/core-android/build.gradle
index 5d741ef0..d37037b7 100644
--- a/core-android/build.gradle
+++ b/core-android/build.gradle
@@ -14,7 +14,7 @@ android {
}
dependencies {
- project(':core')
+ api project(':core')
testImplementation 'junit:junit:4.12'
}
From 0e45820be9eac73b04474d40a130d337ffd0a84a Mon Sep 17 00:00:00 2001
From: Josef Raska <6277721+jraska@users.noreply.github.com>
Date: Thu, 11 Apr 2019 00:26:39 +0200
Subject: [PATCH 06/12] Move some stuff to core-android module
---
client-data/build.gradle | 4 ----
.../com/jraska/github/client/users/RepoDetailViewModel.kt | 2 +-
.../com/jraska/github/client/users/UserDetailViewModel.kt | 2 +-
.../java/com/jraska/github/client/users/UsersViewModel.kt | 2 +-
client/src/main/java/com/jraska/github/client/AppModule.kt | 1 +
.../main/java/com/jraska/github/client/NavigationModule.kt | 2 ++
.../java/com/jraska/github/client/RealDeepLinkLauncher.kt | 4 +---
.../src/main/java/com/jraska/github/client/SetupLogging.kt | 1 +
.../main/java/com/jraska/github/client/UsersPathLauncher.kt | 1 +
.../java/com/jraska/github/client/settings/SettingsModule.kt | 2 +-
.../java/com/jraska/github/client/ui/UriHandlerActivity.kt | 2 +-
core-android/build.gradle | 5 +++++
.../github/client/core/android}/AnalyticsLoggingTree.kt | 3 ++-
.../com/jraska/github/client/core/android}/LinkLauncher.kt | 2 +-
.../github/client/core/android}/UriHandlerViewModel.kt | 3 ++-
.../jraska/github/client/core/android}/ViewModelFactory.kt | 2 +-
.../com/jraska/github/client/core/android}/rx/RxLiveData.kt | 2 +-
17 files changed, 23 insertions(+), 17 deletions(-)
rename {client-data/src/main/java/com/jraska/github/client => core-android/src/main/java/com/jraska/github/client/core/android}/AnalyticsLoggingTree.kt (95%)
rename {client-data/src/main/java/com/jraska/github/client => core-android/src/main/java/com/jraska/github/client/core/android}/LinkLauncher.kt (87%)
rename {client-data/src/main/java/com/jraska/github/client => core-android/src/main/java/com/jraska/github/client/core/android}/UriHandlerViewModel.kt (72%)
rename {client-data/src/main/java/com/jraska/github/client => core-android/src/main/java/com/jraska/github/client/core/android}/ViewModelFactory.kt (92%)
rename {client-data/src/main/java/com/jraska/github/client => core-android/src/main/java/com/jraska/github/client/core/android}/rx/RxLiveData.kt (97%)
diff --git a/client-data/build.gradle b/client-data/build.gradle
index ec6f6725..7866c7a0 100644
--- a/client-data/build.gradle
+++ b/client-data/build.gradle
@@ -22,8 +22,6 @@ dependencies {
api project(':core')
api project(':core-android')
- api 'androidx.appcompat:appcompat:1.1.0-alpha04'
- api 'androidx.annotation:annotation:1.0.2'
api 'com.google.dagger:dagger:2.21'
api 'androidx.lifecycle:lifecycle-extensions:2.0.0'
@@ -34,8 +32,6 @@ dependencies {
api 'com.google.code.gson:gson:2.8.5'
api 'com.squareup.okhttp3:logging-interceptor:3.13.1'
- api 'com.jakewharton.timber:timber:4.7.1'
-
testImplementation 'com.jraska.livedata:testing:1.1.0'
testImplementation 'com.jraska.livedata:testing-ktx:1.1.0'
testImplementation 'junit:junit:4.12'
diff --git a/client-data/src/main/java/com/jraska/github/client/users/RepoDetailViewModel.kt b/client-data/src/main/java/com/jraska/github/client/users/RepoDetailViewModel.kt
index db7eb688..d2a6b6e7 100644
--- a/client-data/src/main/java/com/jraska/github/client/users/RepoDetailViewModel.kt
+++ b/client-data/src/main/java/com/jraska/github/client/users/RepoDetailViewModel.kt
@@ -7,7 +7,7 @@ import com.jraska.github.client.Urls
import com.jraska.github.client.analytics.AnalyticsEvent
import com.jraska.github.client.analytics.EventAnalytics
import com.jraska.github.client.rx.AppSchedulers
-import com.jraska.github.client.rx.RxLiveData
+import com.jraska.github.client.core.android.rx.RxLiveData
class RepoDetailViewModel constructor(
private val usersRepository: UsersRepository,
diff --git a/client-data/src/main/java/com/jraska/github/client/users/UserDetailViewModel.kt b/client-data/src/main/java/com/jraska/github/client/users/UserDetailViewModel.kt
index 0caadf49..52ac091e 100644
--- a/client-data/src/main/java/com/jraska/github/client/users/UserDetailViewModel.kt
+++ b/client-data/src/main/java/com/jraska/github/client/users/UserDetailViewModel.kt
@@ -8,7 +8,7 @@ import com.jraska.github.client.Urls
import com.jraska.github.client.analytics.AnalyticsEvent
import com.jraska.github.client.analytics.EventAnalytics
import com.jraska.github.client.rx.AppSchedulers
-import com.jraska.github.client.rx.RxLiveData
+import com.jraska.github.client.core.android.rx.RxLiveData
class UserDetailViewModel internal constructor(
private val usersRepository: UsersRepository,
diff --git a/client-data/src/main/java/com/jraska/github/client/users/UsersViewModel.kt b/client-data/src/main/java/com/jraska/github/client/users/UsersViewModel.kt
index 459fe3c6..ccd1c8aa 100644
--- a/client-data/src/main/java/com/jraska/github/client/users/UsersViewModel.kt
+++ b/client-data/src/main/java/com/jraska/github/client/users/UsersViewModel.kt
@@ -8,7 +8,7 @@ import com.jraska.github.client.Urls
import com.jraska.github.client.analytics.AnalyticsEvent
import com.jraska.github.client.analytics.EventAnalytics
import com.jraska.github.client.rx.AppSchedulers
-import com.jraska.github.client.rx.RxLiveData
+import com.jraska.github.client.core.android.rx.RxLiveData
import io.reactivex.Single
import io.reactivex.SingleEmitter
import io.reactivex.SingleOnSubscribe
diff --git a/client/src/main/java/com/jraska/github/client/AppModule.kt b/client/src/main/java/com/jraska/github/client/AppModule.kt
index 68d0f06c..1e7f5619 100644
--- a/client/src/main/java/com/jraska/github/client/AppModule.kt
+++ b/client/src/main/java/com/jraska/github/client/AppModule.kt
@@ -10,6 +10,7 @@ import com.jakewharton.threetenabp.AndroidThreeTen
import com.jraska.github.client.analytics.AnalyticsEvent
import com.jraska.github.client.analytics.EventAnalytics
import com.jraska.github.client.common.AppBuildConfig
+import com.jraska.github.client.core.android.ViewModelFactory
import com.jraska.github.client.rx.AppSchedulers
import com.jraska.github.client.time.DateTimeProvider
import com.jraska.github.client.time.RealDateTimeProvider
diff --git a/client/src/main/java/com/jraska/github/client/NavigationModule.kt b/client/src/main/java/com/jraska/github/client/NavigationModule.kt
index 9adb1261..02b0532a 100644
--- a/client/src/main/java/com/jraska/github/client/NavigationModule.kt
+++ b/client/src/main/java/com/jraska/github/client/NavigationModule.kt
@@ -3,6 +3,8 @@ package com.jraska.github.client
import android.app.Activity
import androidx.lifecycle.ViewModel
import com.jraska.github.client.analytics.EventAnalytics
+import com.jraska.github.client.core.android.LinkLauncher
+import com.jraska.github.client.core.android.UriHandlerViewModel
import com.jraska.github.client.ui.ShortcutHandlerModel
import com.jraska.github.client.ui.UsersActivity
import dagger.Module
diff --git a/client/src/main/java/com/jraska/github/client/RealDeepLinkLauncher.kt b/client/src/main/java/com/jraska/github/client/RealDeepLinkLauncher.kt
index d066749f..fb9c6dbc 100644
--- a/client/src/main/java/com/jraska/github/client/RealDeepLinkLauncher.kt
+++ b/client/src/main/java/com/jraska/github/client/RealDeepLinkLauncher.kt
@@ -1,9 +1,7 @@
package com.jraska.github.client
+import com.jraska.github.client.core.android.LinkLauncher
import com.jraska.github.client.ui.BaseActivity
-import com.jraska.github.client.ui.RepoDetailActivity
-import com.jraska.github.client.ui.UserDetailActivity
-import com.jraska.github.client.ui.UsersActivity
import okhttp3.HttpUrl
import timber.log.Timber
import javax.inject.Provider
diff --git a/client/src/main/java/com/jraska/github/client/SetupLogging.kt b/client/src/main/java/com/jraska/github/client/SetupLogging.kt
index d1960d73..8d1b35a4 100644
--- a/client/src/main/java/com/jraska/github/client/SetupLogging.kt
+++ b/client/src/main/java/com/jraska/github/client/SetupLogging.kt
@@ -2,6 +2,7 @@ package com.jraska.github.client
import android.app.Application
import com.jraska.console.timber.ConsoleTree
+import com.jraska.github.client.core.android.AnalyticsLoggingTree
import com.jraska.github.client.logging.ErrorReportTree
import timber.log.Timber
import javax.inject.Inject
diff --git a/client/src/main/java/com/jraska/github/client/UsersPathLauncher.kt b/client/src/main/java/com/jraska/github/client/UsersPathLauncher.kt
index 7a3e0540..3f49c7bf 100644
--- a/client/src/main/java/com/jraska/github/client/UsersPathLauncher.kt
+++ b/client/src/main/java/com/jraska/github/client/UsersPathLauncher.kt
@@ -1,6 +1,7 @@
package com.jraska.github.client
import android.app.Activity
+import com.jraska.github.client.core.android.LinkLauncher
import com.jraska.github.client.ui.RepoDetailActivity
import com.jraska.github.client.ui.UserDetailActivity
import okhttp3.HttpUrl
diff --git a/client/src/main/java/com/jraska/github/client/settings/SettingsModule.kt b/client/src/main/java/com/jraska/github/client/settings/SettingsModule.kt
index a656bf0f..e33ded8f 100644
--- a/client/src/main/java/com/jraska/github/client/settings/SettingsModule.kt
+++ b/client/src/main/java/com/jraska/github/client/settings/SettingsModule.kt
@@ -2,7 +2,7 @@ package com.jraska.github.client.settings
import android.app.Activity
import androidx.lifecycle.ViewModel
-import com.jraska.github.client.LinkLauncher
+import com.jraska.github.client.core.android.LinkLauncher
import dagger.Module
import dagger.Provides
import dagger.multibindings.ClassKey
diff --git a/client/src/main/java/com/jraska/github/client/ui/UriHandlerActivity.kt b/client/src/main/java/com/jraska/github/client/ui/UriHandlerActivity.kt
index 21b394cc..a33e58dd 100644
--- a/client/src/main/java/com/jraska/github/client/ui/UriHandlerActivity.kt
+++ b/client/src/main/java/com/jraska/github/client/ui/UriHandlerActivity.kt
@@ -1,7 +1,7 @@
package com.jraska.github.client.ui
import android.os.Bundle
-import com.jraska.github.client.UriHandlerViewModel
+import com.jraska.github.client.core.android.UriHandlerViewModel
import com.jraska.github.client.inputUrl
import com.jraska.github.client.viewModel
diff --git a/core-android/build.gradle b/core-android/build.gradle
index d37037b7..5f1e64c1 100644
--- a/core-android/build.gradle
+++ b/core-android/build.gradle
@@ -16,5 +16,10 @@ android {
dependencies {
api project(':core')
+ api 'androidx.appcompat:appcompat:1.1.0-alpha04'
+ api 'androidx.annotation:annotation:1.0.2'
+
+ api 'com.jakewharton.timber:timber:4.7.1'
+
testImplementation 'junit:junit:4.12'
}
diff --git a/client-data/src/main/java/com/jraska/github/client/AnalyticsLoggingTree.kt b/core-android/src/main/java/com/jraska/github/client/core/android/AnalyticsLoggingTree.kt
similarity index 95%
rename from client-data/src/main/java/com/jraska/github/client/AnalyticsLoggingTree.kt
rename to core-android/src/main/java/com/jraska/github/client/core/android/AnalyticsLoggingTree.kt
index 6a932d0a..5506a73b 100644
--- a/client-data/src/main/java/com/jraska/github/client/AnalyticsLoggingTree.kt
+++ b/core-android/src/main/java/com/jraska/github/client/core/android/AnalyticsLoggingTree.kt
@@ -1,6 +1,7 @@
-package com.jraska.github.client
+package com.jraska.github.client.core.android
import android.util.Log
+import com.jraska.github.client.Config
import com.jraska.github.client.analytics.AnalyticsEvent
import com.jraska.github.client.analytics.EventAnalytics
import com.jraska.github.client.time.DateTimeProvider
diff --git a/client-data/src/main/java/com/jraska/github/client/LinkLauncher.kt b/core-android/src/main/java/com/jraska/github/client/core/android/LinkLauncher.kt
similarity index 87%
rename from client-data/src/main/java/com/jraska/github/client/LinkLauncher.kt
rename to core-android/src/main/java/com/jraska/github/client/core/android/LinkLauncher.kt
index 351750a2..c9903093 100644
--- a/client-data/src/main/java/com/jraska/github/client/LinkLauncher.kt
+++ b/core-android/src/main/java/com/jraska/github/client/core/android/LinkLauncher.kt
@@ -1,4 +1,4 @@
-package com.jraska.github.client
+package com.jraska.github.client.core.android
import android.app.Activity
import okhttp3.HttpUrl
diff --git a/client-data/src/main/java/com/jraska/github/client/UriHandlerViewModel.kt b/core-android/src/main/java/com/jraska/github/client/core/android/UriHandlerViewModel.kt
similarity index 72%
rename from client-data/src/main/java/com/jraska/github/client/UriHandlerViewModel.kt
rename to core-android/src/main/java/com/jraska/github/client/core/android/UriHandlerViewModel.kt
index 6a9c06d4..57f058c9 100644
--- a/client-data/src/main/java/com/jraska/github/client/UriHandlerViewModel.kt
+++ b/core-android/src/main/java/com/jraska/github/client/core/android/UriHandlerViewModel.kt
@@ -1,6 +1,7 @@
-package com.jraska.github.client
+package com.jraska.github.client.core.android
import androidx.lifecycle.ViewModel
+import com.jraska.github.client.DeepLinkHandler
import okhttp3.HttpUrl
class UriHandlerViewModel constructor(private val deepLinkHandler: DeepLinkHandler) : ViewModel() {
diff --git a/client-data/src/main/java/com/jraska/github/client/ViewModelFactory.kt b/core-android/src/main/java/com/jraska/github/client/core/android/ViewModelFactory.kt
similarity index 92%
rename from client-data/src/main/java/com/jraska/github/client/ViewModelFactory.kt
rename to core-android/src/main/java/com/jraska/github/client/core/android/ViewModelFactory.kt
index 4b0e767b..150979ef 100644
--- a/client-data/src/main/java/com/jraska/github/client/ViewModelFactory.kt
+++ b/core-android/src/main/java/com/jraska/github/client/core/android/ViewModelFactory.kt
@@ -1,4 +1,4 @@
-package com.jraska.github.client
+package com.jraska.github.client.core.android
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
diff --git a/client-data/src/main/java/com/jraska/github/client/rx/RxLiveData.kt b/core-android/src/main/java/com/jraska/github/client/core/android/rx/RxLiveData.kt
similarity index 97%
rename from client-data/src/main/java/com/jraska/github/client/rx/RxLiveData.kt
rename to core-android/src/main/java/com/jraska/github/client/core/android/rx/RxLiveData.kt
index 7875ad7e..d3b19b10 100644
--- a/client-data/src/main/java/com/jraska/github/client/rx/RxLiveData.kt
+++ b/core-android/src/main/java/com/jraska/github/client/core/android/rx/RxLiveData.kt
@@ -1,4 +1,4 @@
-package com.jraska.github.client.rx
+package com.jraska.github.client.core.android.rx
import androidx.lifecycle.LiveData
import io.reactivex.Maybe
From 5a3b103528cac7b3795fe71c8829028f33670390 Mon Sep 17 00:00:00 2001
From: Josef Raska <6277721+jraska@users.noreply.github.com>
Date: Thu, 11 Apr 2019 00:36:42 +0200
Subject: [PATCH 07/12] Moving stuff into core-android module
---
client-data/build.gradle | 2 --
client/src/main/java/com/jraska/github/client/AppComponent.kt | 2 +-
client/src/main/java/com/jraska/github/client/AppModule.kt | 1 +
.../src/main/java/com/jraska/github/client/GitHubClientApp.kt | 1 +
.../main/java/com/jraska/github/client/NotificationSetup.kt | 1 +
client/src/main/java/com/jraska/github/client/SetupLogging.kt | 3 ++-
.../main/java/com/jraska/github/client/TopActivityProvider.kt | 1 +
.../java/com/jraska/github/client/push/PushIntentObserver.kt | 2 +-
.../src/main/java/com/jraska/github/client/push/PushModule.kt | 2 +-
.../java/com/jraska/github/client/settings/SettingsActivity.kt | 2 +-
.../java/com/jraska/github/client/ui/RepoDetailActivity.kt | 2 +-
.../com/jraska/github/client/ui/ShortcutHandlerActivity.kt | 2 +-
.../java/com/jraska/github/client/ui/UriHandlerActivity.kt | 2 +-
.../java/com/jraska/github/client/ui/UserDetailActivity.kt | 2 +-
.../src/main/java/com/jraska/github/client/ui/UsersActivity.kt | 2 +-
core-android/build.gradle | 2 ++
.../com/jraska/github/client/core/android}/HasViewModel.kt | 2 +-
.../java/com/jraska/github/client/core/android}/OnAppCreate.kt | 2 +-
.../github/client/core/android}/logging/ErrorReportTree.kt | 3 ++-
19 files changed, 21 insertions(+), 15 deletions(-)
rename {client/src/main/java/com/jraska/github/client => core-android/src/main/java/com/jraska/github/client/core/android}/HasViewModel.kt (90%)
rename {client/src/main/java/com/jraska/github/client => core-android/src/main/java/com/jraska/github/client/core/android}/OnAppCreate.kt (66%)
rename {client/src/main/java/com/jraska/github/client => core-android/src/main/java/com/jraska/github/client/core/android}/logging/ErrorReportTree.kt (92%)
diff --git a/client-data/build.gradle b/client-data/build.gradle
index 7866c7a0..6e69ca4e 100644
--- a/client-data/build.gradle
+++ b/client-data/build.gradle
@@ -24,8 +24,6 @@ dependencies {
api 'com.google.dagger:dagger:2.21'
- api 'androidx.lifecycle:lifecycle-extensions:2.0.0'
-
api 'com.squareup.retrofit2:retrofit:2.5.0'
api 'com.squareup.retrofit2:converter-gson:2.5.0'
api 'com.squareup.retrofit2:adapter-rxjava2:2.5.0'
diff --git a/client/src/main/java/com/jraska/github/client/AppComponent.kt b/client/src/main/java/com/jraska/github/client/AppComponent.kt
index 19aabb76..528671b6 100644
--- a/client/src/main/java/com/jraska/github/client/AppComponent.kt
+++ b/client/src/main/java/com/jraska/github/client/AppComponent.kt
@@ -4,6 +4,7 @@ import androidx.lifecycle.ViewModelProvider
import com.google.firebase.database.FirebaseDatabase
import com.jraska.github.client.analytics.AnalyticsProperty
import com.jraska.github.client.analytics.EventAnalytics
+import com.jraska.github.client.core.android.OnAppCreate
import com.jraska.github.client.http.HttpComponent
import com.jraska.github.client.logging.CrashReporter
import com.jraska.github.client.push.PushHandler
@@ -15,7 +16,6 @@ import dagger.Component
import dagger.Module
import dagger.Provides
import retrofit2.Retrofit
-import javax.inject.Provider
@PerApp
@Component(modules = [UsersDataModule::class, UserViewModelModule::class, NavigationModule::class,
diff --git a/client/src/main/java/com/jraska/github/client/AppModule.kt b/client/src/main/java/com/jraska/github/client/AppModule.kt
index 1e7f5619..1fa889e4 100644
--- a/client/src/main/java/com/jraska/github/client/AppModule.kt
+++ b/client/src/main/java/com/jraska/github/client/AppModule.kt
@@ -10,6 +10,7 @@ import com.jakewharton.threetenabp.AndroidThreeTen
import com.jraska.github.client.analytics.AnalyticsEvent
import com.jraska.github.client.analytics.EventAnalytics
import com.jraska.github.client.common.AppBuildConfig
+import com.jraska.github.client.core.android.OnAppCreate
import com.jraska.github.client.core.android.ViewModelFactory
import com.jraska.github.client.rx.AppSchedulers
import com.jraska.github.client.time.DateTimeProvider
diff --git a/client/src/main/java/com/jraska/github/client/GitHubClientApp.kt b/client/src/main/java/com/jraska/github/client/GitHubClientApp.kt
index c3055580..2470fb8a 100644
--- a/client/src/main/java/com/jraska/github/client/GitHubClientApp.kt
+++ b/client/src/main/java/com/jraska/github/client/GitHubClientApp.kt
@@ -5,6 +5,7 @@ import android.os.Looper
import androidx.lifecycle.ViewModelProvider
import com.google.firebase.perf.metrics.AddTrace
import com.jraska.github.client.common.AppBuildConfig
+import com.jraska.github.client.core.android.HasViewModelFactory
import com.jraska.github.client.http.DaggerHttpComponent
import com.jraska.github.client.http.HttpComponent
import com.jraska.github.client.http.HttpDependenciesModule
diff --git a/client/src/main/java/com/jraska/github/client/NotificationSetup.kt b/client/src/main/java/com/jraska/github/client/NotificationSetup.kt
index b34c065b..4d9a1add 100644
--- a/client/src/main/java/com/jraska/github/client/NotificationSetup.kt
+++ b/client/src/main/java/com/jraska/github/client/NotificationSetup.kt
@@ -5,6 +5,7 @@ import android.app.NotificationChannel
import android.app.NotificationManager
import android.content.Context
import android.os.Build
+import com.jraska.github.client.core.android.OnAppCreate
import javax.inject.Inject
diff --git a/client/src/main/java/com/jraska/github/client/SetupLogging.kt b/client/src/main/java/com/jraska/github/client/SetupLogging.kt
index 8d1b35a4..532cc5dd 100644
--- a/client/src/main/java/com/jraska/github/client/SetupLogging.kt
+++ b/client/src/main/java/com/jraska/github/client/SetupLogging.kt
@@ -3,7 +3,8 @@ package com.jraska.github.client
import android.app.Application
import com.jraska.console.timber.ConsoleTree
import com.jraska.github.client.core.android.AnalyticsLoggingTree
-import com.jraska.github.client.logging.ErrorReportTree
+import com.jraska.github.client.core.android.OnAppCreate
+import com.jraska.github.client.core.android.logging.ErrorReportTree
import timber.log.Timber
import javax.inject.Inject
import javax.inject.Provider
diff --git a/client/src/main/java/com/jraska/github/client/TopActivityProvider.kt b/client/src/main/java/com/jraska/github/client/TopActivityProvider.kt
index 04f67b32..3afb7a4f 100644
--- a/client/src/main/java/com/jraska/github/client/TopActivityProvider.kt
+++ b/client/src/main/java/com/jraska/github/client/TopActivityProvider.kt
@@ -3,6 +3,7 @@ package com.jraska.github.client
import android.app.Activity
import android.app.Application
import android.os.Bundle
+import com.jraska.github.client.core.android.OnAppCreate
import com.jraska.github.client.ui.BaseActivity
import javax.inject.Inject
diff --git a/client/src/main/java/com/jraska/github/client/push/PushIntentObserver.kt b/client/src/main/java/com/jraska/github/client/push/PushIntentObserver.kt
index f7eac5bc..0fb56885 100644
--- a/client/src/main/java/com/jraska/github/client/push/PushIntentObserver.kt
+++ b/client/src/main/java/com/jraska/github/client/push/PushIntentObserver.kt
@@ -8,7 +8,7 @@ import androidx.lifecycle.LifecycleObserver
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.OnLifecycleEvent
import com.google.firebase.messaging.RemoteMessage
-import com.jraska.github.client.OnAppCreate
+import com.jraska.github.client.core.android.OnAppCreate
import javax.inject.Inject
class PushIntentObserver(private val pushHandler: PushHandler) : LifecycleObserver {
diff --git a/client/src/main/java/com/jraska/github/client/push/PushModule.kt b/client/src/main/java/com/jraska/github/client/push/PushModule.kt
index 4c879bcb..c1aa71c5 100644
--- a/client/src/main/java/com/jraska/github/client/push/PushModule.kt
+++ b/client/src/main/java/com/jraska/github/client/push/PushModule.kt
@@ -3,7 +3,7 @@ package com.jraska.github.client.push
import android.app.NotificationManager
import android.content.Context
import com.jraska.github.client.Config
-import com.jraska.github.client.OnAppCreate
+import com.jraska.github.client.core.android.OnAppCreate
import com.jraska.github.client.analytics.AnalyticsProperty
import dagger.Module
import dagger.Provides
diff --git a/client/src/main/java/com/jraska/github/client/settings/SettingsActivity.kt b/client/src/main/java/com/jraska/github/client/settings/SettingsActivity.kt
index 93cb9d9a..fa1f7ec8 100644
--- a/client/src/main/java/com/jraska/github/client/settings/SettingsActivity.kt
+++ b/client/src/main/java/com/jraska/github/client/settings/SettingsActivity.kt
@@ -7,7 +7,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import com.airbnb.epoxy.SimpleEpoxyAdapter
import com.jraska.github.client.R
import com.jraska.github.client.ui.BaseActivity
-import com.jraska.github.client.viewModel
+import com.jraska.github.client.core.android.viewModel
import kotlinx.android.synthetic.main.content_settings.*
class SettingsActivity : BaseActivity(), PurchaseReportModel.PurchaseListener {
diff --git a/client/src/main/java/com/jraska/github/client/ui/RepoDetailActivity.kt b/client/src/main/java/com/jraska/github/client/ui/RepoDetailActivity.kt
index 3d9c5916..10bd9235 100644
--- a/client/src/main/java/com/jraska/github/client/ui/RepoDetailActivity.kt
+++ b/client/src/main/java/com/jraska/github/client/ui/RepoDetailActivity.kt
@@ -10,7 +10,7 @@ import com.airbnb.epoxy.SimpleEpoxyModel
import com.jraska.github.client.R
import com.jraska.github.client.users.RepoDetail
import com.jraska.github.client.users.RepoDetailViewModel
-import com.jraska.github.client.viewModel
+import com.jraska.github.client.core.android.viewModel
import kotlinx.android.synthetic.main.activity_repo_detail.*
import kotlinx.android.synthetic.main.content_repo_detail.*
diff --git a/client/src/main/java/com/jraska/github/client/ui/ShortcutHandlerActivity.kt b/client/src/main/java/com/jraska/github/client/ui/ShortcutHandlerActivity.kt
index 463d852e..cac794c0 100644
--- a/client/src/main/java/com/jraska/github/client/ui/ShortcutHandlerActivity.kt
+++ b/client/src/main/java/com/jraska/github/client/ui/ShortcutHandlerActivity.kt
@@ -2,7 +2,7 @@ package com.jraska.github.client.ui
import android.os.Bundle
import com.jraska.github.client.inputUrl
-import com.jraska.github.client.viewModel
+import com.jraska.github.client.core.android.viewModel
class ShortcutHandlerActivity : BaseActivity() {
diff --git a/client/src/main/java/com/jraska/github/client/ui/UriHandlerActivity.kt b/client/src/main/java/com/jraska/github/client/ui/UriHandlerActivity.kt
index a33e58dd..2e6f6e9b 100644
--- a/client/src/main/java/com/jraska/github/client/ui/UriHandlerActivity.kt
+++ b/client/src/main/java/com/jraska/github/client/ui/UriHandlerActivity.kt
@@ -3,7 +3,7 @@ package com.jraska.github.client.ui
import android.os.Bundle
import com.jraska.github.client.core.android.UriHandlerViewModel
import com.jraska.github.client.inputUrl
-import com.jraska.github.client.viewModel
+import com.jraska.github.client.core.android.viewModel
class UriHandlerActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
diff --git a/client/src/main/java/com/jraska/github/client/ui/UserDetailActivity.kt b/client/src/main/java/com/jraska/github/client/ui/UserDetailActivity.kt
index f8b3c5dd..a4863a7a 100644
--- a/client/src/main/java/com/jraska/github/client/ui/UserDetailActivity.kt
+++ b/client/src/main/java/com/jraska/github/client/ui/UserDetailActivity.kt
@@ -12,7 +12,7 @@ import com.jraska.github.client.R
import com.jraska.github.client.users.RepoHeader
import com.jraska.github.client.users.UserDetail
import com.jraska.github.client.users.UserDetailViewModel
-import com.jraska.github.client.viewModel
+import com.jraska.github.client.core.android.viewModel
import kotlinx.android.synthetic.main.activity_user_detail.*
import kotlinx.android.synthetic.main.content_user_detail.*
diff --git a/client/src/main/java/com/jraska/github/client/ui/UsersActivity.kt b/client/src/main/java/com/jraska/github/client/ui/UsersActivity.kt
index 72c7d179..5756b1a4 100644
--- a/client/src/main/java/com/jraska/github/client/ui/UsersActivity.kt
+++ b/client/src/main/java/com/jraska/github/client/ui/UsersActivity.kt
@@ -11,7 +11,7 @@ import com.airbnb.epoxy.SimpleEpoxyAdapter
import com.jraska.github.client.R
import com.jraska.github.client.users.User
import com.jraska.github.client.users.UsersViewModel
-import com.jraska.github.client.viewModel
+import com.jraska.github.client.core.android.viewModel
import kotlinx.android.synthetic.main.content_users_list.*
class UsersActivity : BaseActivity(), UserModel.UserListener {
diff --git a/core-android/build.gradle b/core-android/build.gradle
index 5f1e64c1..352d8eb2 100644
--- a/core-android/build.gradle
+++ b/core-android/build.gradle
@@ -19,6 +19,8 @@ dependencies {
api 'androidx.appcompat:appcompat:1.1.0-alpha04'
api 'androidx.annotation:annotation:1.0.2'
+ api 'androidx.lifecycle:lifecycle-extensions:2.0.0'
+
api 'com.jakewharton.timber:timber:4.7.1'
testImplementation 'junit:junit:4.12'
diff --git a/client/src/main/java/com/jraska/github/client/HasViewModel.kt b/core-android/src/main/java/com/jraska/github/client/core/android/HasViewModel.kt
similarity index 90%
rename from client/src/main/java/com/jraska/github/client/HasViewModel.kt
rename to core-android/src/main/java/com/jraska/github/client/core/android/HasViewModel.kt
index 96bcc830..22457b5d 100644
--- a/client/src/main/java/com/jraska/github/client/HasViewModel.kt
+++ b/core-android/src/main/java/com/jraska/github/client/core/android/HasViewModel.kt
@@ -1,4 +1,4 @@
-package com.jraska.github.client
+package com.jraska.github.client.core.android
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.ViewModel
diff --git a/client/src/main/java/com/jraska/github/client/OnAppCreate.kt b/core-android/src/main/java/com/jraska/github/client/core/android/OnAppCreate.kt
similarity index 66%
rename from client/src/main/java/com/jraska/github/client/OnAppCreate.kt
rename to core-android/src/main/java/com/jraska/github/client/core/android/OnAppCreate.kt
index 38defbd0..6e526fd6 100644
--- a/client/src/main/java/com/jraska/github/client/OnAppCreate.kt
+++ b/core-android/src/main/java/com/jraska/github/client/core/android/OnAppCreate.kt
@@ -1,4 +1,4 @@
-package com.jraska.github.client
+package com.jraska.github.client.core.android
import android.app.Application
diff --git a/client/src/main/java/com/jraska/github/client/logging/ErrorReportTree.kt b/core-android/src/main/java/com/jraska/github/client/core/android/logging/ErrorReportTree.kt
similarity index 92%
rename from client/src/main/java/com/jraska/github/client/logging/ErrorReportTree.kt
rename to core-android/src/main/java/com/jraska/github/client/core/android/logging/ErrorReportTree.kt
index cde33aa6..195e698c 100644
--- a/client/src/main/java/com/jraska/github/client/logging/ErrorReportTree.kt
+++ b/core-android/src/main/java/com/jraska/github/client/core/android/logging/ErrorReportTree.kt
@@ -1,7 +1,8 @@
-package com.jraska.github.client.logging
+package com.jraska.github.client.core.android.logging
import android.util.Log
import com.jraska.github.client.common.DeveloperError
+import com.jraska.github.client.logging.CrashReporter
import timber.log.Timber
import java.util.regex.Pattern
import javax.inject.Inject
From a9c075d13c733af10878cf87ad7781d9ab0a65d3 Mon Sep 17 00:00:00 2001
From: Josef Raska <6277721+jraska@users.noreply.github.com>
Date: Thu, 11 Apr 2019 00:40:00 +0200
Subject: [PATCH 08/12] Tweaks
---
core-android/build.gradle | 1 -
gradle.properties | 1 -
2 files changed, 2 deletions(-)
diff --git a/core-android/build.gradle b/core-android/build.gradle
index 352d8eb2..51361863 100644
--- a/core-android/build.gradle
+++ b/core-android/build.gradle
@@ -18,7 +18,6 @@ dependencies {
api 'androidx.appcompat:appcompat:1.1.0-alpha04'
api 'androidx.annotation:annotation:1.0.2'
-
api 'androidx.lifecycle:lifecycle-extensions:2.0.0'
api 'com.jakewharton.timber:timber:4.7.1'
diff --git a/gradle.properties b/gradle.properties
index 17b97f96..89837e52 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -5,4 +5,3 @@ org.gradle.parallel=true
org.gradle.daemon=true
android.useAndroidX=true
android.enableJetifier=true
-android.jetifier.blacklist = butterknife-compiler
From b0bc6abaa9252eb1791727c2ceef0ba1df82866c Mon Sep 17 00:00:00 2001
From: Josef Raska <6277721+jraska@users.noreply.github.com>
Date: Thu, 11 Apr 2019 00:50:00 +0200
Subject: [PATCH 09/12] Stuff to core
---
.../java/com/jraska/github/client/AppModule.kt | 1 +
.../github/client/ChromeCustomTabsLauncher.kt | 5 ++---
.../com/jraska/github/client/NavigationModule.kt | 2 ++
.../client/core/android}/RealDeepLinkLauncher.kt | 10 +++++-----
.../client/core/android}/TopActivityProvider.kt | 14 ++++++--------
5 files changed, 16 insertions(+), 16 deletions(-)
rename {client/src/main/java/com/jraska/github/client => core-android/src/main/java/com/jraska/github/client/core/android}/RealDeepLinkLauncher.kt (74%)
rename {client/src/main/java/com/jraska/github/client => core-android/src/main/java/com/jraska/github/client/core/android}/TopActivityProvider.kt (74%)
diff --git a/client/src/main/java/com/jraska/github/client/AppModule.kt b/client/src/main/java/com/jraska/github/client/AppModule.kt
index 1fa889e4..8ea4e50d 100644
--- a/client/src/main/java/com/jraska/github/client/AppModule.kt
+++ b/client/src/main/java/com/jraska/github/client/AppModule.kt
@@ -11,6 +11,7 @@ import com.jraska.github.client.analytics.AnalyticsEvent
import com.jraska.github.client.analytics.EventAnalytics
import com.jraska.github.client.common.AppBuildConfig
import com.jraska.github.client.core.android.OnAppCreate
+import com.jraska.github.client.core.android.TopActivityProvider
import com.jraska.github.client.core.android.ViewModelFactory
import com.jraska.github.client.rx.AppSchedulers
import com.jraska.github.client.time.DateTimeProvider
diff --git a/client/src/main/java/com/jraska/github/client/ChromeCustomTabsLauncher.kt b/client/src/main/java/com/jraska/github/client/ChromeCustomTabsLauncher.kt
index bc131ab0..92a1182b 100644
--- a/client/src/main/java/com/jraska/github/client/ChromeCustomTabsLauncher.kt
+++ b/client/src/main/java/com/jraska/github/client/ChromeCustomTabsLauncher.kt
@@ -1,13 +1,12 @@
package com.jraska.github.client
+import android.app.Activity
import android.net.Uri
import androidx.browser.customtabs.CustomTabsIntent
-import com.jraska.github.client.ui.BaseActivity
import okhttp3.HttpUrl
-
import javax.inject.Provider
-internal class ChromeCustomTabsLauncher(private val provider: Provider) : WebLinkLauncher {
+internal class ChromeCustomTabsLauncher(private val provider: Provider) : WebLinkLauncher {
override fun launch(url: HttpUrl) {
val customTabsIntent = CustomTabsIntent.Builder().build()
val uri = Uri.parse(url.toString())
diff --git a/client/src/main/java/com/jraska/github/client/NavigationModule.kt b/client/src/main/java/com/jraska/github/client/NavigationModule.kt
index 02b0532a..2b437bc1 100644
--- a/client/src/main/java/com/jraska/github/client/NavigationModule.kt
+++ b/client/src/main/java/com/jraska/github/client/NavigationModule.kt
@@ -4,6 +4,8 @@ import android.app.Activity
import androidx.lifecycle.ViewModel
import com.jraska.github.client.analytics.EventAnalytics
import com.jraska.github.client.core.android.LinkLauncher
+import com.jraska.github.client.core.android.RealDeepLinkLauncher
+import com.jraska.github.client.core.android.TopActivityProvider
import com.jraska.github.client.core.android.UriHandlerViewModel
import com.jraska.github.client.ui.ShortcutHandlerModel
import com.jraska.github.client.ui.UsersActivity
diff --git a/client/src/main/java/com/jraska/github/client/RealDeepLinkLauncher.kt b/core-android/src/main/java/com/jraska/github/client/core/android/RealDeepLinkLauncher.kt
similarity index 74%
rename from client/src/main/java/com/jraska/github/client/RealDeepLinkLauncher.kt
rename to core-android/src/main/java/com/jraska/github/client/core/android/RealDeepLinkLauncher.kt
index fb9c6dbc..4613d007 100644
--- a/client/src/main/java/com/jraska/github/client/RealDeepLinkLauncher.kt
+++ b/core-android/src/main/java/com/jraska/github/client/core/android/RealDeepLinkLauncher.kt
@@ -1,13 +1,13 @@
-package com.jraska.github.client
+package com.jraska.github.client.core.android
-import com.jraska.github.client.core.android.LinkLauncher
-import com.jraska.github.client.ui.BaseActivity
+import android.app.Activity
+import com.jraska.github.client.DeepLinkLauncher
import okhttp3.HttpUrl
import timber.log.Timber
import javax.inject.Provider
class RealDeepLinkLauncher private constructor(
- private val topActivityProvider: Provider,
+ private val topActivityProvider: Provider,
private val launchers: List
) : DeepLinkLauncher {
override fun launch(deepLink: HttpUrl) {
@@ -29,7 +29,7 @@ class RealDeepLinkLauncher private constructor(
}
companion object {
- fun create(activityProvider: Provider, launchers: Set): RealDeepLinkLauncher {
+ fun create(activityProvider: Provider, launchers: Set): RealDeepLinkLauncher {
val sortedLaunchers = launchers.sortedBy { it.priority().value }
return RealDeepLinkLauncher(activityProvider, sortedLaunchers)
}
diff --git a/client/src/main/java/com/jraska/github/client/TopActivityProvider.kt b/core-android/src/main/java/com/jraska/github/client/core/android/TopActivityProvider.kt
similarity index 74%
rename from client/src/main/java/com/jraska/github/client/TopActivityProvider.kt
rename to core-android/src/main/java/com/jraska/github/client/core/android/TopActivityProvider.kt
index 3afb7a4f..73919c0b 100644
--- a/client/src/main/java/com/jraska/github/client/TopActivityProvider.kt
+++ b/core-android/src/main/java/com/jraska/github/client/core/android/TopActivityProvider.kt
@@ -1,26 +1,24 @@
-package com.jraska.github.client
+package com.jraska.github.client.core.android
import android.app.Activity
import android.app.Application
import android.os.Bundle
-import com.jraska.github.client.core.android.OnAppCreate
-import com.jraska.github.client.ui.BaseActivity
import javax.inject.Inject
import javax.inject.Provider
-class TopActivityProvider internal constructor() : Provider {
- private var topActivity: BaseActivity? = null
+class TopActivityProvider : Provider {
+ private var topActivity: Activity? = null
private val callbacks: Application.ActivityLifecycleCallbacks = object : Application.ActivityLifecycleCallbacks {
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
- topActivity = activity as BaseActivity
+ topActivity = activity
}
override fun onActivityStarted(activity: Activity) {}
override fun onActivityResumed(activity: Activity) {
- topActivity = activity as BaseActivity
+ topActivity = activity
}
override fun onActivityPaused(activity: Activity) {}
@@ -32,7 +30,7 @@ class TopActivityProvider internal constructor() : Provider {
override fun onActivityDestroyed(activity: Activity) {}
}
- override fun get(): BaseActivity {
+ override fun get(): Activity {
if (topActivity == null) {
throw IllegalStateException("No activity")
}
From 2298503126794ffe615991b4788789afe3c036f0 Mon Sep 17 00:00:00 2001
From: Josef Raska <6277721+jraska@users.noreply.github.com>
Date: Thu, 11 Apr 2019 00:51:26 +0200
Subject: [PATCH 10/12] Change checksum to restore cache properly
---
.circleci/config.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 785beb67..0f054217 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -9,14 +9,14 @@ jobs:
steps:
- checkout
- restore_cache:
- key: jars-{{ checksum "build.gradle" }}-{{ checksum "client/build.gradle" }}
+ key: jars-{{ checksum "build.gradle" }}-{{ checksum "client/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }}
- run:
name: Get Dependencies
command: ./gradlew androidDependencies
- save_cache:
paths:
- ~/.gradle
- key: jars-{{ checksum "build.gradle" }}-{{ checksum "client/build.gradle" }}
+ key: jars-{{ checksum "build.gradle" }}-{{ checksum "client/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }}
- run:
name: Run Tests
command: ./gradlew lint test
From b42b0e20b7b9360b18a9f273559ffb5c87ff6291 Mon Sep 17 00:00:00 2001
From: Josef Raska <6277721+jraska@users.noreply.github.com>
Date: Thu, 11 Apr 2019 00:55:55 +0200
Subject: [PATCH 11/12] Rename client-data module for users module
---
client/build.gradle | 2 +-
{client-data => core}/.gitignore | 0
core/build.gradle | 18 ++++++++++++++++++
{client-data => core}/lint.xml | 0
feature-users/.gitignore | 1 +
{client-data => feature-users}/build.gradle | 0
feature-users/lint.xml | 6 ++++++
.../src/main/AndroidManifest.xml | 0
.../client/users/GitHubApiUsersRepository.kt | 0
.../jraska/github/client/users/GitHubRepo.kt | 0
.../jraska/github/client/users/GitHubUser.kt | 0
.../github/client/users/GitHubUserDetail.kt | 0
.../github/client/users/GitHubUserDetailApi.kt | 0
.../github/client/users/GitHubUsersApi.kt | 0
.../github/client/users/RepoConverter.kt | 0
.../jraska/github/client/users/RepoDetail.kt | 0
.../github/client/users/RepoDetailViewModel.kt | 0
.../jraska/github/client/users/RepoHeader.kt | 0
.../com/jraska/github/client/users/User.kt | 0
.../jraska/github/client/users/UserDetail.kt | 0
.../github/client/users/UserDetailViewModel.kt | 0
.../users/UserDetailWithReposConverter.kt | 0
.../jraska/github/client/users/UserStats.kt | 0
.../github/client/users/UserViewModelModule.kt | 0
.../github/client/users/UsersDataModule.kt | 0
.../github/client/users/UsersRepository.kt | 0
.../github/client/users/UsersViewModel.kt | 0
.../com/jraska/github/client/FakeConfig.kt | 0
.../github/client/users/GitHubUserTest.kt | 0
.../client/users/RepoDetailViewModelTest.kt | 0
.../client/users/UserDetailViewModelTest.kt | 0
.../github/client/users/UsersViewModelTest.kt | 0
settings.gradle | 2 +-
33 files changed, 27 insertions(+), 2 deletions(-)
rename {client-data => core}/.gitignore (100%)
create mode 100644 core/build.gradle
rename {client-data => core}/lint.xml (100%)
create mode 100644 feature-users/.gitignore
rename {client-data => feature-users}/build.gradle (100%)
create mode 100644 feature-users/lint.xml
rename {client-data => feature-users}/src/main/AndroidManifest.xml (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/GitHubApiUsersRepository.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/GitHubRepo.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/GitHubUser.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/GitHubUserDetail.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/GitHubUserDetailApi.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/GitHubUsersApi.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/RepoConverter.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/RepoDetail.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/RepoDetailViewModel.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/RepoHeader.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/User.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/UserDetail.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/UserDetailViewModel.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/UserDetailWithReposConverter.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/UserStats.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/UserViewModelModule.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/UsersDataModule.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/UsersRepository.kt (100%)
rename {client-data => feature-users}/src/main/java/com/jraska/github/client/users/UsersViewModel.kt (100%)
rename {client-data => feature-users}/src/test/java/com/jraska/github/client/FakeConfig.kt (100%)
rename {client-data => feature-users}/src/test/java/com/jraska/github/client/users/GitHubUserTest.kt (100%)
rename {client-data => feature-users}/src/test/java/com/jraska/github/client/users/RepoDetailViewModelTest.kt (100%)
rename {client-data => feature-users}/src/test/java/com/jraska/github/client/users/UserDetailViewModelTest.kt (100%)
rename {client-data => feature-users}/src/test/java/com/jraska/github/client/users/UsersViewModelTest.kt (100%)
diff --git a/client/build.gradle b/client/build.gradle
index d328c6f0..c1be37ca 100644
--- a/client/build.gradle
+++ b/client/build.gradle
@@ -58,7 +58,7 @@ dependencies {
api project(':core')
api project(':core-android')
- api project(':client-data')
+ api project(':feature-users')
implementation 'androidx.appcompat:appcompat:1.1.0-alpha04'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
diff --git a/client-data/.gitignore b/core/.gitignore
similarity index 100%
rename from client-data/.gitignore
rename to core/.gitignore
diff --git a/core/build.gradle b/core/build.gradle
new file mode 100644
index 00000000..fc4ee216
--- /dev/null
+++ b/core/build.gradle
@@ -0,0 +1,18 @@
+apply plugin: 'java-library'
+apply plugin: 'com.android.lint'
+apply plugin: 'kotlin'
+
+dependencies {
+ api "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
+
+ api 'io.reactivex.rxjava2:rxjava:2.2.7'
+ api 'com.squareup.okhttp3:okhttp:3.13.1'
+ api 'com.squareup.okio:okio:2.2.2'
+
+ api 'org.threeten:threetenbp:1.3.7:no-tzdb'
+ api 'javax.inject:javax.inject:1'
+
+ testImplementation 'junit:junit:4.12'
+ testImplementation 'org.assertj:assertj-core:3.11.1'
+ testImplementation 'org.mockito:mockito-core:2.23.4'
+}
diff --git a/client-data/lint.xml b/core/lint.xml
similarity index 100%
rename from client-data/lint.xml
rename to core/lint.xml
diff --git a/feature-users/.gitignore b/feature-users/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/feature-users/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/client-data/build.gradle b/feature-users/build.gradle
similarity index 100%
rename from client-data/build.gradle
rename to feature-users/build.gradle
diff --git a/feature-users/lint.xml b/feature-users/lint.xml
new file mode 100644
index 00000000..7f38fb6c
--- /dev/null
+++ b/feature-users/lint.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/client-data/src/main/AndroidManifest.xml b/feature-users/src/main/AndroidManifest.xml
similarity index 100%
rename from client-data/src/main/AndroidManifest.xml
rename to feature-users/src/main/AndroidManifest.xml
diff --git a/client-data/src/main/java/com/jraska/github/client/users/GitHubApiUsersRepository.kt b/feature-users/src/main/java/com/jraska/github/client/users/GitHubApiUsersRepository.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/GitHubApiUsersRepository.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/GitHubApiUsersRepository.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/GitHubRepo.kt b/feature-users/src/main/java/com/jraska/github/client/users/GitHubRepo.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/GitHubRepo.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/GitHubRepo.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/GitHubUser.kt b/feature-users/src/main/java/com/jraska/github/client/users/GitHubUser.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/GitHubUser.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/GitHubUser.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/GitHubUserDetail.kt b/feature-users/src/main/java/com/jraska/github/client/users/GitHubUserDetail.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/GitHubUserDetail.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/GitHubUserDetail.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/GitHubUserDetailApi.kt b/feature-users/src/main/java/com/jraska/github/client/users/GitHubUserDetailApi.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/GitHubUserDetailApi.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/GitHubUserDetailApi.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/GitHubUsersApi.kt b/feature-users/src/main/java/com/jraska/github/client/users/GitHubUsersApi.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/GitHubUsersApi.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/GitHubUsersApi.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/RepoConverter.kt b/feature-users/src/main/java/com/jraska/github/client/users/RepoConverter.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/RepoConverter.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/RepoConverter.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/RepoDetail.kt b/feature-users/src/main/java/com/jraska/github/client/users/RepoDetail.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/RepoDetail.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/RepoDetail.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/RepoDetailViewModel.kt b/feature-users/src/main/java/com/jraska/github/client/users/RepoDetailViewModel.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/RepoDetailViewModel.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/RepoDetailViewModel.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/RepoHeader.kt b/feature-users/src/main/java/com/jraska/github/client/users/RepoHeader.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/RepoHeader.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/RepoHeader.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/User.kt b/feature-users/src/main/java/com/jraska/github/client/users/User.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/User.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/User.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/UserDetail.kt b/feature-users/src/main/java/com/jraska/github/client/users/UserDetail.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/UserDetail.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/UserDetail.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/UserDetailViewModel.kt b/feature-users/src/main/java/com/jraska/github/client/users/UserDetailViewModel.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/UserDetailViewModel.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/UserDetailViewModel.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/UserDetailWithReposConverter.kt b/feature-users/src/main/java/com/jraska/github/client/users/UserDetailWithReposConverter.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/UserDetailWithReposConverter.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/UserDetailWithReposConverter.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/UserStats.kt b/feature-users/src/main/java/com/jraska/github/client/users/UserStats.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/UserStats.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/UserStats.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/UserViewModelModule.kt b/feature-users/src/main/java/com/jraska/github/client/users/UserViewModelModule.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/UserViewModelModule.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/UserViewModelModule.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/UsersDataModule.kt b/feature-users/src/main/java/com/jraska/github/client/users/UsersDataModule.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/UsersDataModule.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/UsersDataModule.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/UsersRepository.kt b/feature-users/src/main/java/com/jraska/github/client/users/UsersRepository.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/UsersRepository.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/UsersRepository.kt
diff --git a/client-data/src/main/java/com/jraska/github/client/users/UsersViewModel.kt b/feature-users/src/main/java/com/jraska/github/client/users/UsersViewModel.kt
similarity index 100%
rename from client-data/src/main/java/com/jraska/github/client/users/UsersViewModel.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/UsersViewModel.kt
diff --git a/client-data/src/test/java/com/jraska/github/client/FakeConfig.kt b/feature-users/src/test/java/com/jraska/github/client/FakeConfig.kt
similarity index 100%
rename from client-data/src/test/java/com/jraska/github/client/FakeConfig.kt
rename to feature-users/src/test/java/com/jraska/github/client/FakeConfig.kt
diff --git a/client-data/src/test/java/com/jraska/github/client/users/GitHubUserTest.kt b/feature-users/src/test/java/com/jraska/github/client/users/GitHubUserTest.kt
similarity index 100%
rename from client-data/src/test/java/com/jraska/github/client/users/GitHubUserTest.kt
rename to feature-users/src/test/java/com/jraska/github/client/users/GitHubUserTest.kt
diff --git a/client-data/src/test/java/com/jraska/github/client/users/RepoDetailViewModelTest.kt b/feature-users/src/test/java/com/jraska/github/client/users/RepoDetailViewModelTest.kt
similarity index 100%
rename from client-data/src/test/java/com/jraska/github/client/users/RepoDetailViewModelTest.kt
rename to feature-users/src/test/java/com/jraska/github/client/users/RepoDetailViewModelTest.kt
diff --git a/client-data/src/test/java/com/jraska/github/client/users/UserDetailViewModelTest.kt b/feature-users/src/test/java/com/jraska/github/client/users/UserDetailViewModelTest.kt
similarity index 100%
rename from client-data/src/test/java/com/jraska/github/client/users/UserDetailViewModelTest.kt
rename to feature-users/src/test/java/com/jraska/github/client/users/UserDetailViewModelTest.kt
diff --git a/client-data/src/test/java/com/jraska/github/client/users/UsersViewModelTest.kt b/feature-users/src/test/java/com/jraska/github/client/users/UsersViewModelTest.kt
similarity index 100%
rename from client-data/src/test/java/com/jraska/github/client/users/UsersViewModelTest.kt
rename to feature-users/src/test/java/com/jraska/github/client/users/UsersViewModelTest.kt
diff --git a/settings.gradle b/settings.gradle
index ee1c0174..934efc38 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1 @@
-include ':client', ':core', ':client-data', ':core-android'
+include ':client', ':core', ':feature-users', ':core-android'
From 3983ec07985de587ae4be8d221ac5d5c07e6361d Mon Sep 17 00:00:00 2001
From: Josef Raska <6277721+jraska@users.noreply.github.com>
Date: Thu, 11 Apr 2019 01:04:35 +0200
Subject: [PATCH 12/12] Remove BaseActiivty code and keep it empty
---
.../com/jraska/github/client/AppComponent.kt | 7 +++---
.../client/settings/SettingsActivity.kt | 2 ++
.../jraska/github/client/ui/BaseActivity.kt | 25 +------------------
.../github/client/ui/RepoDetailActivity.kt | 1 +
.../github/client/ui/UserDetailActivity.kt | 3 ++-
.../jraska/github/client/ui/UsersActivity.kt | 2 ++
.../github/client/users/UsersDataModule.kt | 20 ---------------
...{UserViewModelModule.kt => UsersModule.kt} | 15 ++++++++++-
8 files changed, 25 insertions(+), 50 deletions(-)
delete mode 100644 feature-users/src/main/java/com/jraska/github/client/users/UsersDataModule.kt
rename feature-users/src/main/java/com/jraska/github/client/users/{UserViewModelModule.kt => UsersModule.kt} (78%)
diff --git a/client/src/main/java/com/jraska/github/client/AppComponent.kt b/client/src/main/java/com/jraska/github/client/AppComponent.kt
index 528671b6..829f93b7 100644
--- a/client/src/main/java/com/jraska/github/client/AppComponent.kt
+++ b/client/src/main/java/com/jraska/github/client/AppComponent.kt
@@ -10,22 +10,21 @@ import com.jraska.github.client.logging.CrashReporter
import com.jraska.github.client.push.PushHandler
import com.jraska.github.client.push.PushModule
import com.jraska.github.client.settings.SettingsModule
-import com.jraska.github.client.users.UserViewModelModule
-import com.jraska.github.client.users.UsersDataModule
+import com.jraska.github.client.users.UsersModule
import dagger.Component
import dagger.Module
import dagger.Provides
import retrofit2.Retrofit
@PerApp
-@Component(modules = [UsersDataModule::class, UserViewModelModule::class, NavigationModule::class,
+@Component(modules = [UsersModule::class, NavigationModule::class,
PushModule::class, AppModule::class, SettingsModule::class,
HttpComponentModule::class, CoreComponentModule::class])
interface AppComponent {
fun onAppCreateActions(): Set
- fun pushHandler() : PushHandler
+ fun pushHandler(): PushHandler
fun viewModelFactory(): ViewModelProvider.Factory
}
diff --git a/client/src/main/java/com/jraska/github/client/settings/SettingsActivity.kt b/client/src/main/java/com/jraska/github/client/settings/SettingsActivity.kt
index fa1f7ec8..e0368b10 100644
--- a/client/src/main/java/com/jraska/github/client/settings/SettingsActivity.kt
+++ b/client/src/main/java/com/jraska/github/client/settings/SettingsActivity.kt
@@ -8,6 +8,7 @@ import com.airbnb.epoxy.SimpleEpoxyAdapter
import com.jraska.github.client.R
import com.jraska.github.client.ui.BaseActivity
import com.jraska.github.client.core.android.viewModel
+import kotlinx.android.synthetic.main.activity_settings.*
import kotlinx.android.synthetic.main.content_settings.*
class SettingsActivity : BaseActivity(), PurchaseReportModel.PurchaseListener {
@@ -16,6 +17,7 @@ class SettingsActivity : BaseActivity(), PurchaseReportModel.PurchaseListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_settings)
+ setSupportActionBar(toolbar)
settings_recycler.layoutManager = LinearLayoutManager(this)
val adapter = SimpleEpoxyAdapter()
diff --git a/client/src/main/java/com/jraska/github/client/ui/BaseActivity.kt b/client/src/main/java/com/jraska/github/client/ui/BaseActivity.kt
index 13777b21..1def5105 100644
--- a/client/src/main/java/com/jraska/github/client/ui/BaseActivity.kt
+++ b/client/src/main/java/com/jraska/github/client/ui/BaseActivity.kt
@@ -1,28 +1,5 @@
package com.jraska.github.client.ui
-import android.view.View
-import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
-import kotlinx.android.synthetic.main.activity_settings.*
-abstract class BaseActivity : AppCompatActivity() {
-
- override fun setContentView(layoutResID: Int) {
- super.setContentView(layoutResID)
- onSetContentView()
- }
-
- override fun setContentView(view: View) {
- super.setContentView(view)
- onSetContentView()
- }
-
- override fun setContentView(view: View, params: ViewGroup.LayoutParams) {
- super.setContentView(view, params)
- onSetContentView()
- }
-
- protected fun onSetContentView() {
- setSupportActionBar(toolbar)
- }
-}
+abstract class BaseActivity : AppCompatActivity()
diff --git a/client/src/main/java/com/jraska/github/client/ui/RepoDetailActivity.kt b/client/src/main/java/com/jraska/github/client/ui/RepoDetailActivity.kt
index 10bd9235..d1b5a4f7 100644
--- a/client/src/main/java/com/jraska/github/client/ui/RepoDetailActivity.kt
+++ b/client/src/main/java/com/jraska/github/client/ui/RepoDetailActivity.kt
@@ -26,6 +26,7 @@ class RepoDetailActivity : BaseActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_repo_detail)
+ setSupportActionBar(toolbar)
repo_detail_recycler.layoutManager = LinearLayoutManager(this)
title = fullRepoName()
diff --git a/client/src/main/java/com/jraska/github/client/ui/UserDetailActivity.kt b/client/src/main/java/com/jraska/github/client/ui/UserDetailActivity.kt
index a4863a7a..01529269 100644
--- a/client/src/main/java/com/jraska/github/client/ui/UserDetailActivity.kt
+++ b/client/src/main/java/com/jraska/github/client/ui/UserDetailActivity.kt
@@ -9,10 +9,10 @@ import com.airbnb.epoxy.EpoxyModel
import com.airbnb.epoxy.SimpleEpoxyAdapter
import com.airbnb.epoxy.SimpleEpoxyModel
import com.jraska.github.client.R
+import com.jraska.github.client.core.android.viewModel
import com.jraska.github.client.users.RepoHeader
import com.jraska.github.client.users.UserDetail
import com.jraska.github.client.users.UserDetailViewModel
-import com.jraska.github.client.core.android.viewModel
import kotlinx.android.synthetic.main.activity_user_detail.*
import kotlinx.android.synthetic.main.content_user_detail.*
@@ -27,6 +27,7 @@ class UserDetailActivity : BaseActivity(), RepoHeaderModel.RepoListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_user_detail)
+ setSupportActionBar(toolbar)
user_detail_recycler.layoutManager = LinearLayoutManager(this)
user_detail_recycler.isNestedScrollingEnabled = false
diff --git a/client/src/main/java/com/jraska/github/client/ui/UsersActivity.kt b/client/src/main/java/com/jraska/github/client/ui/UsersActivity.kt
index 5756b1a4..52de442e 100644
--- a/client/src/main/java/com/jraska/github/client/ui/UsersActivity.kt
+++ b/client/src/main/java/com/jraska/github/client/ui/UsersActivity.kt
@@ -12,6 +12,7 @@ import com.jraska.github.client.R
import com.jraska.github.client.users.User
import com.jraska.github.client.users.UsersViewModel
import com.jraska.github.client.core.android.viewModel
+import kotlinx.android.synthetic.main.activity_users_list.*
import kotlinx.android.synthetic.main.content_users_list.*
class UsersActivity : BaseActivity(), UserModel.UserListener {
@@ -20,6 +21,7 @@ class UsersActivity : BaseActivity(), UserModel.UserListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_users_list)
+ setSupportActionBar(toolbar)
users_recycler.layoutManager = LinearLayoutManager(this)
users_refresh_swipe_layout.setOnRefreshListener { usersViewModel.onRefresh() }
diff --git a/feature-users/src/main/java/com/jraska/github/client/users/UsersDataModule.kt b/feature-users/src/main/java/com/jraska/github/client/users/UsersDataModule.kt
deleted file mode 100644
index 0b9aeaa2..00000000
--- a/feature-users/src/main/java/com/jraska/github/client/users/UsersDataModule.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.jraska.github.client.users
-
-import com.jraska.github.client.PerApp
-
-import dagger.Module
-import dagger.Provides
-import retrofit2.Retrofit
-
-@Module
-object UsersDataModule {
- @JvmStatic
- @Provides
- @PerApp
- fun provideUsersRepository(retrofit: Retrofit): UsersRepository {
- val usersApi = retrofit.create(GitHubUsersApi::class.java)
- val detailApi = retrofit.create(GitHubUserDetailApi::class.java)
-
- return GitHubApiUsersRepository(usersApi, detailApi)
- }
-}
diff --git a/feature-users/src/main/java/com/jraska/github/client/users/UserViewModelModule.kt b/feature-users/src/main/java/com/jraska/github/client/users/UsersModule.kt
similarity index 78%
rename from feature-users/src/main/java/com/jraska/github/client/users/UserViewModelModule.kt
rename to feature-users/src/main/java/com/jraska/github/client/users/UsersModule.kt
index 9edac6b8..8a830aa3 100644
--- a/feature-users/src/main/java/com/jraska/github/client/users/UserViewModelModule.kt
+++ b/feature-users/src/main/java/com/jraska/github/client/users/UsersModule.kt
@@ -3,15 +3,28 @@ package com.jraska.github.client.users
import androidx.lifecycle.ViewModel
import com.jraska.github.client.Config
import com.jraska.github.client.Navigator
+import com.jraska.github.client.PerApp
import com.jraska.github.client.analytics.EventAnalytics
import com.jraska.github.client.rx.AppSchedulers
+
import dagger.Module
import dagger.Provides
import dagger.multibindings.ClassKey
import dagger.multibindings.IntoMap
+import retrofit2.Retrofit
@Module
-object UserViewModelModule {
+object UsersModule {
+ @JvmStatic
+ @Provides
+ @PerApp
+ fun provideUsersRepository(retrofit: Retrofit): UsersRepository {
+ val usersApi = retrofit.create(GitHubUsersApi::class.java)
+ val detailApi = retrofit.create(GitHubUserDetailApi::class.java)
+
+ return GitHubApiUsersRepository(usersApi, detailApi)
+ }
+
@JvmStatic
@Provides
@IntoMap