Skip to content

Commit

Permalink
[Cleanup] Cleanup build.gradle files, update dependencies etc
Browse files Browse the repository at this point in the history
- cleanup gradle files - remove unnecessary stuff
- move code from kotlin package to java package because we don't need to
care about sourceSet
- change versions.gradle to dependencies.gradle, refactor it and use it
in other gradle files
- update dependencies
- fix some lint/sonar warnings
  • Loading branch information
JurajBegovac committed Mar 27, 2019
1 parent 3945cc7 commit 0d1c07e
Show file tree
Hide file tree
Showing 31 changed files with 298 additions and 342 deletions.
4 changes: 2 additions & 2 deletions .circleci/config.yml
Expand Up @@ -3,7 +3,7 @@ jobs:
build:
working_directory: ~/rxfeedback
docker:
- image: circleci/android:api-27-alpha
- image: circleci/android:api-28-alpha
environment:
JVM_OPTS: -Xmx3200m
steps:
Expand All @@ -16,7 +16,7 @@ jobs:
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "rxfeedback/build.gradle" }}
- run:
name: Download Dependencies
command: ./gradlew androidDependencies --debug --stacktrace
command: ./gradlew androidDependencies
- save_cache:
paths:
- ~/.gradle
Expand Down
71 changes: 39 additions & 32 deletions app/build.gradle
Expand Up @@ -3,17 +3,12 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
compileSdkVersion 27

sourceSets {
main.java.srcDirs += 'src/main/kotlin'
test.java.srcDirs += 'src/test/kotlin'
}
compileSdkVersion buildConfig.compileSdkVersion

defaultConfig {
applicationId "org.notests.rxfeedbackexample"
minSdkVersion 18
targetSdkVersion 27
targetSdkVersion buildConfig.targetSdkVersion
versionCode 1
versionName "1.0"
multiDexEnabled true
Expand All @@ -26,31 +21,43 @@ android {
}
}

ext {
supportVersion = '27.1.1'
constraintLayoutVersion = '1.1.2'
okhttpVersion = '3.11.0'
moshiVersion = '1.6.0'
rxbindingVersion = '2.1.1'
multidexVersion = '1.0.3'
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:' + versions.kotlin
implementation 'com.android.support:appcompat-v7:' + versions.support
implementation 'com.android.support:design:' + versions.support
implementation 'com.android.support.constraint:constraint-layout:' + versions.constraint_layout

implementation project(path: ':rxfeedback')
implementation 'io.reactivex.rxjava2:rxjava:' + versions.rxjava2
implementation 'io.reactivex.rxjava2:rxandroid:' + versions.rx_android

implementation 'com.jakewharton.rxbinding2:rxbinding-kotlin:' + versions.rxbinding
implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4-kotlin:' + versions.rxbinding
implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7-kotlin:' + versions.rxbinding
implementation 'com.jakewharton.rxbinding2:rxbinding-design-kotlin:' + versions.rxbinding
implementation 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7-kotlin:' + versions.rxbinding
implementation 'com.jakewharton.rxbinding2:rxbinding-leanback-v17-kotlin:' + versions.rxbinding

implementation 'com.github.NoTests.SharedSequence.kt:SharedSequence:' + versions.shared_sequence
// rest
implementation 'com.squareup.okhttp3:okhttp:' + versions.okhttp
implementation 'com.squareup.moshi:moshi:' + versions.moshi
implementation 'com.squareup.moshi:moshi-kotlin:' + versions.moshi

implementation 'com.android.support:multidex:1.0.3'

testImplementation 'junit:junit:' + versions.junit
implementation project(path: ':rxfeedback')

implementation deps.kotlinStdlib

implementation deps.rxJava
implementation deps.rxAndroid

implementation deps.sharedSequence

implementation 'com.android.support:appcompat-v7:' + supportVersion
implementation 'com.android.support:design:' + supportVersion
implementation 'com.android.support.constraint:constraint-layout:' + constraintLayoutVersion

implementation 'com.jakewharton.rxbinding2:rxbinding-kotlin:' + rxbindingVersion
implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4-kotlin:' + rxbindingVersion
implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7-kotlin:' + rxbindingVersion
implementation 'com.jakewharton.rxbinding2:rxbinding-design-kotlin:' + rxbindingVersion
implementation 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7-kotlin:' + rxbindingVersion
implementation 'com.jakewharton.rxbinding2:rxbinding-leanback-v17-kotlin:' + rxbindingVersion


implementation 'com.squareup.okhttp3:okhttp:' + okhttpVersion
implementation 'com.squareup.moshi:moshi:' + moshiVersion
implementation 'com.squareup.moshi:moshi-kotlin:' + moshiVersion

implementation 'com.android.support:multidex:' + multidexVersion

testImplementation deps.junit
}
Expand Up @@ -5,7 +5,6 @@ import android.support.annotation.MainThread
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
Expand Down Expand Up @@ -56,7 +55,13 @@ sealed class Event {


val State.Companion.empty: State
get() = State(search = "", nextPageUrl = Optional.None(), shouldLoadNextPage = false, results = emptyList(), lastError = Optional.None())
get() = State(
search = "",
nextPageUrl = Optional.None(),
shouldLoadNextPage = false,
results = emptyList(),
lastError = Optional.None()
)

// transitions
fun State.Companion.reduce(state: State, event: Event): State =
Expand Down Expand Up @@ -93,11 +98,9 @@ fun State.Companion.reduce(state: State, event: Event): State =
}

// queries
var State.loadNextPage: Optional<String>
val State.loadNextPage: Optional<String>
get() =
if (this.shouldLoadNextPage) this.nextPageUrl else Optional.None()
set(value) {}


class GithubPaginatedSearchActivity : AppCompatActivity() {

Expand All @@ -118,7 +121,9 @@ class GithubPaginatedSearchActivity : AppCompatActivity() {

recyclerview.apply {
layoutManager = LinearLayoutManager(this@GithubPaginatedSearchActivity)
adapter = RepositoryRecyclerViewAdapter(emptyList(), { /* do nothing on click */ })
adapter = RepositoryRecyclerViewAdapter(
emptyList(),
{ /* do nothing on click */ })
}

// RxFeedback
Expand Down Expand Up @@ -186,8 +191,7 @@ sealed class GitHubServiceError : Error() {
object GithubLimitReached : GitHubServiceError()
}

var GitHubServiceError.displayMessage: String
set(value) {}
val GitHubServiceError.displayMessage: String
get() {
return when (this) {
GitHubServiceError.Offline -> "Ups, no network connectivity"
Expand Down Expand Up @@ -268,7 +272,14 @@ class RepositoryService {
val repositories = parseRepositories(response.body()!!.string())
val nextUrl = parseNextUrl(response)

e.onNext(Result.Success(Pair(repositories, nextUrl)) as SearchRepositoriesResponse)
e.onNext(
Result.Success(
Pair(
repositories,
nextUrl
)
) as SearchRepositoriesResponse
)
e.onComplete()
}

Expand Down
102 changes: 53 additions & 49 deletions app/src/main/res/layout/activity_counter.xml
@@ -1,56 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="org.notests.rxfeedbackexample.counter.Counter">
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
tools:ignore="HardcodedText"
tools:context="org.notests.rxfeedbackexample.counter.Counter">

<TextView
android:id="@+id/minus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="-"
android:textSize="32sp"
android:textColor="@drawable/button"
android:clickable="true"
android:paddingStart="16dp"
android:paddingEnd="16dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@+id/label"
app:layout_constraintHorizontal_chainStyle="packed" />
<TextView
android:id="@+id/minus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="-"
android:textSize="32sp"
android:textColor="@drawable/button"
android:clickable="true"
android:focusable="true"
android:paddingStart="16dp"
android:paddingEnd="16dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@+id/label"
app:layout_constraintHorizontal_chainStyle="packed" />

<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="32sp"
android:padding="8dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus"
app:layout_constraintEnd_toStartOf="@+id/plus"
tools:text="0" />
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="32sp"
android:padding="8dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/minus"
app:layout_constraintEnd_toStartOf="@+id/plus"
tools:text="0" />

<TextView
android:id="@+id/plus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="+"
android:textSize="32sp"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:textColor="@drawable/button"
android:clickable="true"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/label"
app:layout_constraintEnd_toEndOf="parent" />
<TextView
android:id="@+id/plus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:text="+"
android:textSize="32sp"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:textColor="@drawable/button"
android:clickable="true"
android:focusable="true"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/label"
app:layout_constraintEnd_toEndOf="parent" />

</android.support.constraint.ConstraintLayout>
65 changes: 18 additions & 47 deletions app/src/main/res/layout/activity_github_paginated_search.xml
@@ -1,52 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
android:orientation="vertical">

<android.support.v7.widget.SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_margin="8dp"
app:queryHint="Search repositories" />
<android.support.v7.widget.SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_margin="8dp"
app:queryHint="Search repositories" />

<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/searchView"
android:paddingEnd="8dp"
android:paddingStart="8dp" />

<!--<LinearLayout-->
<!--android:id="@+id/bottomContainer"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="150dp"-->
<!--android:layout_alignParentBottom="true"-->
<!--android:background="#555555"-->
<!--android:orientation="vertical">-->

<!--<TextView-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_marginEnd="10dp"-->
<!--android:layout_marginStart="10dp"-->
<!--android:layout_marginTop="10dp"-->
<!--android:text="Machine queries, effects 'UI'"-->
<!--android:textColor="@android:color/white" />-->

<!--<TextView-->
<!--android:id="@+id/nextPageUrl"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_marginEnd="10dp"-->
<!--android:layout_marginStart="10dp"-->
<!--android:layout_marginTop="10dp"-->
<!--android:text="URL"-->
<!--android:textAlignment="center"-->
<!--android:textColor="@android:color/white" />-->

<!--</LinearLayout>-->
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/searchView"
android:paddingEnd="8dp"
android:paddingStart="8dp" />
</RelativeLayout>
11 changes: 6 additions & 5 deletions app/src/main/res/layout/activity_main.xml
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView android:id="@+id/recyclerview"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="org.notests.rxfeedbackexample.MainActivity" />
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
tools:context="org.notests.rxfeedbackexample.MainActivity" />

0 comments on commit 0d1c07e

Please sign in to comment.