Skip to content

Commit 42e83f1

Browse files
author
Kaushik Gopal
committed
Merge branch 'kg/feat/kotlin'
* kg/feat/kotlin: feat: refactor playground fragment to kotlin chore: add kotlin dependencies chore: update dependencies
2 parents 3715242 + 0f498c8 commit 42e83f1

5 files changed

Lines changed: 104 additions & 158 deletions

File tree

app/build.gradle

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ buildscript {
55
}
66
dependencies {
77
classpath 'me.tatarka:gradle-retrolambda:3.6.0'
8+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}"
89
}
910

1011
// Exclude the lombok version that the android plugin depends on.
@@ -14,31 +15,26 @@ buildscript {
1415
apply plugin: 'com.android.application'
1516
apply plugin: 'me.tatarka.retrolambda'
1617
apply plugin: 'com.f2prateek.javafmt'
17-
18-
ext {
19-
okhttpVersion = '3.6.0'
20-
retrofitVersion = "2.2.0"
21-
sdkVersion = 25
22-
supportLibVersion = '25.3.0'
23-
leakCanaryVersion = '1.5'
24-
butterKnifeVersion = '8.5.1'
25-
}
18+
apply plugin: 'kotlin-android'
2619

2720
dependencies {
2821
compile "com.android.support:support-v13:${supportLibVersion}"
2922
compile "com.android.support:appcompat-v7:${supportLibVersion}"
3023
compile "com.android.support:recyclerview-v7:${supportLibVersion}"
3124

3225
compile 'com.github.kaushikgopal:CoreTextUtils:c703fa12b6'
33-
compile "com.jakewharton:butterknife:$butterKnifeVersion"
34-
annotationProcessor "com.jakewharton:butterknife-compiler:$butterKnifeVersion"
26+
compile "com.jakewharton:butterknife:${butterKnifeVersion}"
27+
annotationProcessor "com.jakewharton:butterknife-compiler:${butterKnifeVersion}"
3528
compile 'com.jakewharton.timber:timber:4.5.1'
3629
compile "com.squareup.retrofit2:retrofit:${retrofitVersion}"
3730
compile "com.squareup.retrofit2:converter-gson:${retrofitVersion}"
3831
compile "com.squareup.okhttp3:okhttp:${okhttpVersion}"
3932
compile "com.squareup.okhttp3:okhttp-urlconnection:${okhttpVersion}"
4033
compile 'com.mcxiaoke.volley:library:1.0.19'
4134

35+
compile "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}"
36+
compile "com.nhaarman:mockito-kotlin:${mockitoKotlinVersion}"
37+
4238
// ----------------------------------
4339
// Rx dependencies
4440

@@ -61,7 +57,7 @@ dependencies {
6157

6258
android {
6359
compileSdkVersion sdkVersion
64-
buildToolsVersion '25.0.2'
60+
buildToolsVersion buildToolsVrs
6561

6662
defaultConfig {
6763
applicationId "com.morihacky.android.rxjava"
@@ -76,11 +72,13 @@ android {
7672
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
7773
}
7874
}
75+
sourceSets {
76+
main.java.srcDirs += 'src/main/kotlin'
77+
}
7978
compileOptions {
8079
sourceCompatibility JavaVersion.VERSION_1_8
8180
targetCompatibility JavaVersion.VERSION_1_8
8281
}
83-
8482
packagingOptions {
8583
pickFirst 'META-INF/rxjava.properties'
8684
}

app/src/main/java/com/morihacky/android/rxjava/fragments/PlaygroundFragment.java

Lines changed: 0 additions & 141 deletions
This file was deleted.
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
package com.morihacky.android.rxjava.fragments
2+
3+
import android.content.Context
4+
import android.os.Bundle
5+
import android.os.Handler
6+
import android.os.Looper
7+
import android.view.LayoutInflater
8+
import android.view.View
9+
import android.view.ViewGroup
10+
import android.widget.ArrayAdapter
11+
import android.widget.ListView
12+
import butterknife.ButterKnife
13+
import com.morihacky.android.rxjava.R
14+
15+
class PlaygroundFragment : BaseFragment() {
16+
17+
private var _logsList: ListView? = null
18+
private var _adapter: LogAdapter? = null
19+
20+
private var _attempt = 0
21+
private var _logs: MutableList<String> = ArrayList()
22+
23+
override fun onDestroy() {
24+
super.onDestroy()
25+
ButterKnife.unbind(this)
26+
}
27+
28+
override fun onCreateView(inflater: LayoutInflater?,
29+
container: ViewGroup?,
30+
savedInstanceState: Bundle?): View? {
31+
return inflater!!.inflate(R.layout.fragment_concurrency_schedulers, container, false)
32+
}
33+
34+
override fun onActivityCreated(savedInstanceState: Bundle?) {
35+
super.onActivityCreated(savedInstanceState)
36+
37+
_logsList = activity.findViewById(R.id.list_threading_log) as ListView
38+
39+
activity.findViewById(R.id.btn_start_operation).setOnClickListener { _ ->
40+
_log("Button clicked")
41+
}
42+
43+
_setupLogger()
44+
}
45+
46+
// -----------------------------------------------------------------------------------
47+
// Method that help wiring up the example (irrelevant to RxJava)
48+
49+
private fun _log(logMsg: String) {
50+
51+
if (_isCurrentlyOnMainThread()) {
52+
_logs.add(0, logMsg + " (main thread) ")
53+
_adapter!!.clear()
54+
_adapter!!.addAll(_logs)
55+
} else {
56+
_logs.add(0, logMsg + " (NOT main thread) ")
57+
58+
// You can only do below stuff on main thread.
59+
Handler(Looper.getMainLooper()).post {
60+
_adapter!!.clear()
61+
_adapter!!.addAll(_logs)
62+
}
63+
}
64+
}
65+
66+
private fun _setupLogger() {
67+
_logs = ArrayList<String>()
68+
_adapter = LogAdapter(activity, ArrayList<String>())
69+
_logsList!!.adapter = _adapter
70+
}
71+
72+
private fun _isCurrentlyOnMainThread(): Boolean {
73+
return Looper.myLooper() == Looper.getMainLooper()
74+
}
75+
76+
private inner class LogAdapter(context: Context, logs: List<String>) : ArrayAdapter<String>(context, R.layout.item_log, R.id.item_log, logs)
77+
}

build.gradle

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,11 @@ buildscript {
66
mavenCentral()
77
}
88
dependencies {
9-
classpath 'com.android.tools.build:gradle:2.3.0'
9+
classpath 'com.android.tools.build:gradle:2.3.2'
1010
classpath 'com.f2prateek.javafmt:javafmt:0.1.2'
1111

1212
// NOTE: Do not place your application dependencies here; they belong
1313
// in the individual module build.gradle files
14-
1514
}
1615
}
1716

@@ -22,4 +21,17 @@ allprojects {
2221
url "https://jitpack.io"
2322
}
2423
}
24+
25+
ext {
26+
sdkVersion = 24
27+
buildToolsVrs = "25.0.0"
28+
29+
kotlinVersion = "1.1.2-4"
30+
31+
butterKnifeVersion = '8.5.1'
32+
mockitoKotlinVersion = "1.4.0"
33+
okhttpVersion = "3.0.1"
34+
retrofitVersion = "2.0.0"
35+
supportLibVersion = "25.3.1"
36+
}
2537
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Wed Mar 15 09:09:23 GMT 2017
1+
#Wed May 24 09:29:38 PDT 2017
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip

0 commit comments

Comments
 (0)