Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add core modules #128

Merged
merged 12 commits into from
Apr 10, 2019
10 changes: 5 additions & 5 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,23 @@ 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
- store_artifacts:
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
Expand All @@ -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

This file was deleted.

5 changes: 3 additions & 2 deletions client/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,9 @@ android {
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

api project(':client-domain')
api project(':client-data')
api project(':core')
api project(':core-android')
api project(':feature-users')

implementation 'androidx.appcompat:appcompat:1.1.0-alpha04'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
Expand Down
9 changes: 4 additions & 5 deletions client/src/main/java/com/jraska/github/client/AppComponent.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,27 @@ 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
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
import javax.inject.Provider

@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<OnAppCreate>

fun pushHandler() : PushHandler
fun pushHandler(): PushHandler

fun viewModelFactory(): ViewModelProvider.Factory
}
Expand Down
3 changes: 3 additions & 0 deletions client/src/main/java/com/jraska/github/client/AppModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ 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.TopActivityProvider
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
Expand Down
Original file line number Diff line number Diff line change
@@ -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<BaseActivity>) : WebLinkLauncher {
internal class ChromeCustomTabsLauncher(private val provider: Provider<Activity>) : WebLinkLauncher {
override fun launch(url: HttpUrl) {
val customTabsIntent = CustomTabsIntent.Builder().build()
val uri = Uri.parse(url.toString())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ 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.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
import dagger.Module
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ package com.jraska.github.client

import android.app.Application
import com.jraska.console.timber.ConsoleTree
import com.jraska.github.client.logging.ErrorReportTree
import com.jraska.github.client.core.android.AnalyticsLoggingTree
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
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ 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.activity_settings.*
import kotlinx.android.synthetic.main.content_settings.*

class SettingsActivity : BaseActivity(), PurchaseReportModel.PurchaseListener {
Expand All @@ -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()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
25 changes: 1 addition & 24 deletions client/src/main/java/com/jraska/github/client/ui/BaseActivity.kt
Original file line number Diff line number Diff line change
@@ -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()
Original file line number Diff line number Diff line change
Expand Up @@ -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.*

Expand All @@ -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()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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() {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
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
import com.jraska.github.client.core.android.viewModel

class UriHandlerActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.viewModel
import kotlinx.android.synthetic.main.activity_user_detail.*
import kotlinx.android.synthetic.main.content_user_detail.*

Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ 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.activity_users_list.*
import kotlinx.android.synthetic.main.content_users_list.*

class UsersActivity : BaseActivity(), UserModel.UserListener {
Expand All @@ -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() }
Expand Down
File renamed without changes.
26 changes: 26 additions & 0 deletions core-android/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
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 {
api project(':core')

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'
}
1 change: 1 addition & 0 deletions core-android/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<manifest package="com.jraska.github.client.core.android" />
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jraska.github.client
package com.jraska.github.client.core.android

import android.app.Activity
import okhttp3.HttpUrl
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jraska.github.client
package com.jraska.github.client.core.android

import android.app.Application

Expand Down
Loading