Skip to content

Commit aae4774

Browse files
author
Alex
committed
update deps
1 parent de91b0c commit aae4774

File tree

20 files changed

+145
-132
lines changed

20 files changed

+145
-132
lines changed

build.gradle

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@ buildscript {
55
min_sdk_version = 17
66
sdk_version = 30
77

8-
kotlin_version = '1.5.20'
9-
rxjava_version = '3.0.12'
8+
kotlin_version = '1.5.30'
9+
rxjava_version = '3.1.0'
1010
rxandroid_version = '3.0.0'
1111
archx_version = '2.2.0'
12-
appcompatx_version = '1.3.0'
13-
material_version = '1.3.0'
12+
appcompatx_version = '1.3.1'
13+
material_version = '1.4.0'
1414
}
1515
repositories {
1616
google()
1717
mavenCentral()
1818
}
1919
dependencies {
20-
classpath 'com.android.tools.build:gradle:4.2.1'
20+
classpath 'com.android.tools.build:gradle:4.2.2'
2121
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
2222
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
2323
// NOTE: Do not place your application dependencies here; they belong

gradle/wrapper/gradle-wrapper.jar

3.92 KB
Binary file not shown.
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
#Mon Nov 02 10:30:32 GMT+07:00 2020
21
distributionBase=GRADLE_USER_HOME
32
distributionPath=wrapper/dists
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip

gradlew

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
#!/usr/bin/env sh
22

3+
#
4+
# Copyright 2015 the original author or authors.
5+
#
6+
# Licensed under the Apache License, Version 2.0 (the "License");
7+
# you may not use this file except in compliance with the License.
8+
# You may obtain a copy of the License at
9+
#
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
#
18+
319
##############################################################################
420
##
521
## Gradle start up script for UN*X
@@ -28,7 +44,7 @@ APP_NAME="Gradle"
2844
APP_BASE_NAME=`basename "$0"`
2945

3046
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
31-
DEFAULT_JVM_OPTS='"-Xmx64m"'
47+
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
3248

3349
# Use the maximum available, or set MAX_FD != -1 to use that value.
3450
MAX_FD="maximum"
@@ -66,6 +82,7 @@ esac
6682

6783
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
6884

85+
6986
# Determine the Java command to use to start the JVM.
7087
if [ -n "$JAVA_HOME" ] ; then
7188
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
@@ -109,10 +126,11 @@ if $darwin; then
109126
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
110127
fi
111128

112-
# For Cygwin, switch paths to Windows format before running java
113-
if $cygwin ; then
129+
# For Cygwin or MSYS, switch paths to Windows format before running java
130+
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
114131
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
115132
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
133+
116134
JAVACMD=`cygpath --unix "$JAVACMD"`
117135

118136
# We build the pattern for arguments to be converted via cygpath
@@ -138,19 +156,19 @@ if $cygwin ; then
138156
else
139157
eval `echo args$i`="\"$arg\""
140158
fi
141-
i=$((i+1))
159+
i=`expr $i + 1`
142160
done
143161
case $i in
144-
(0) set -- ;;
145-
(1) set -- "$args0" ;;
146-
(2) set -- "$args0" "$args1" ;;
147-
(3) set -- "$args0" "$args1" "$args2" ;;
148-
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
149-
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
150-
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
151-
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
152-
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
153-
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
162+
0) set -- ;;
163+
1) set -- "$args0" ;;
164+
2) set -- "$args0" "$args1" ;;
165+
3) set -- "$args0" "$args1" "$args2" ;;
166+
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
167+
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
168+
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
169+
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
170+
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
171+
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
154172
esac
155173
fi
156174

@@ -159,14 +177,9 @@ save () {
159177
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
160178
echo " "
161179
}
162-
APP_ARGS=$(save "$@")
180+
APP_ARGS=`save "$@"`
163181

164182
# Collect all arguments for the java command, following the shell quoting and substitution rules
165183
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
166184

167-
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
168-
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
169-
cd "$(dirname "$0")"
170-
fi
171-
172185
exec "$JAVACMD" "$@"

gradlew.bat

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
@rem
2+
@rem Copyright 2015 the original author or authors.
3+
@rem
4+
@rem Licensed under the Apache License, Version 2.0 (the "License");
5+
@rem you may not use this file except in compliance with the License.
6+
@rem You may obtain a copy of the License at
7+
@rem
8+
@rem https://www.apache.org/licenses/LICENSE-2.0
9+
@rem
10+
@rem Unless required by applicable law or agreed to in writing, software
11+
@rem distributed under the License is distributed on an "AS IS" BASIS,
12+
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
@rem See the License for the specific language governing permissions and
14+
@rem limitations under the License.
15+
@rem
16+
117
@if "%DEBUG%" == "" @echo off
218
@rem ##########################################################################
319
@rem
@@ -13,15 +29,18 @@ if "%DIRNAME%" == "" set DIRNAME=.
1329
set APP_BASE_NAME=%~n0
1430
set APP_HOME=%DIRNAME%
1531

32+
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
33+
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
34+
1635
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17-
set DEFAULT_JVM_OPTS="-Xmx64m"
36+
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
1837

1938
@rem Find java.exe
2039
if defined JAVA_HOME goto findJavaFromJavaHome
2140

2241
set JAVA_EXE=java.exe
2342
%JAVA_EXE% -version >NUL 2>&1
24-
if "%ERRORLEVEL%" == "0" goto init
43+
if "%ERRORLEVEL%" == "0" goto execute
2544

2645
echo.
2746
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
@@ -35,7 +54,7 @@ goto fail
3554
set JAVA_HOME=%JAVA_HOME:"=%
3655
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
3756

38-
if exist "%JAVA_EXE%" goto init
57+
if exist "%JAVA_EXE%" goto execute
3958

4059
echo.
4160
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
@@ -45,28 +64,14 @@ echo location of your Java installation.
4564

4665
goto fail
4766

48-
:init
49-
@rem Get command-line arguments, handling Windows variants
50-
51-
if not "%OS%" == "Windows_NT" goto win9xME_args
52-
53-
:win9xME_args
54-
@rem Slurp the command line arguments.
55-
set CMD_LINE_ARGS=
56-
set _SKIP=2
57-
58-
:win9xME_args_slurp
59-
if "x%~1" == "x" goto execute
60-
61-
set CMD_LINE_ARGS=%*
62-
6367
:execute
6468
@rem Setup the command line
6569

6670
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
6771

72+
6873
@rem Execute Gradle
69-
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
74+
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
7075

7176
:end
7277
@rem End local scope for the variables with windows NT shell

reactiveviewmodel/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
apply plugin: 'com.android.library'
22
apply plugin: 'kotlin-android'
3-
apply plugin: 'com.github.dcendents.android-maven'
43

54
android {
65
compileSdkVersion sdk_version

reactiveviewmodel/src/main/java/com/alexdeww/reactiveviewmodel/core/ReactiveViewModel.kt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,19 @@ abstract class ReactiveViewModel : ViewModel(), RvmComponent {
2727
return this
2828
}
2929

30-
protected fun <T> state(initValue: T? = null, debounceInterval: Long? = null): State<T> =
30+
protected fun <T : Any> state(initValue: T? = null, debounceInterval: Long? = null): State<T> =
3131
State(initValue, debounceInterval)
3232

33-
protected fun <T> event(debounceInterval: Long? = null): Event<T> = Event(debounceInterval)
33+
protected fun <T : Any> event(debounceInterval: Long? = null): Event<T> =
34+
Event(debounceInterval)
3435

35-
protected fun eventNone(debounceInterval: Long? = null): Event<Unit> = Event(debounceInterval)
36+
protected fun eventNone(debounceInterval: Long? = null): Event<Unit> =
37+
Event(debounceInterval)
3638

37-
protected fun <T> action(debounceInterval: Long? = null): Action<T> = Action(debounceInterval)
39+
protected fun <T : Any> action(debounceInterval: Long? = null): Action<T> =
40+
Action(debounceInterval)
3841

3942
protected fun actionNone(debounceInterval: Long? = null): Action<Unit> =
4043
Action(debounceInterval)
4144

4245
}
43-

reactiveviewmodel/src/main/java/com/alexdeww/reactiveviewmodel/core/RvmExtensions.kt

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import com.alexdeww.reactiveviewmodel.core.property.Action
88
import com.alexdeww.reactiveviewmodel.core.property.Event
99
import com.alexdeww.reactiveviewmodel.core.property.State
1010
import io.reactivex.rxjava3.core.*
11-
import io.reactivex.rxjava3.functions.BiFunction
1211
import io.reactivex.rxjava3.functions.Consumer
1312
import io.reactivex.rxjava3.functions.Function
1413

@@ -20,19 +19,17 @@ fun <T> LiveData<T>.observe(owner: LifecycleOwner, action: OnLiveDataAction<T>):
2019
return observer
2120
}
2221

23-
fun <T> Event<T>.observe(owner: LifecycleOwner, action: OnLiveDataAction<T>): Observer<T> =
22+
fun <T : Any> Event<T>.observe(owner: LifecycleOwner, action: OnLiveDataAction<T>): Observer<T> =
2423
liveData.observe(owner = owner, action = action)
2524

26-
fun <T> State<T>.observe(owner: LifecycleOwner, action: OnLiveDataAction<T>): Observer<T> =
25+
fun <T : Any> State<T>.observe(owner: LifecycleOwner, action: OnLiveDataAction<T>): Observer<T> =
2726
liveData.observe(owner = owner, action = action)
2827

29-
fun Action<Unit>.call() {
30-
call(Unit)
31-
}
28+
fun Action<Unit>.call() = call(Unit)
3229

3330
typealias ActionOnClick = () -> Unit
3431

35-
fun <T> Action<T>.bindOnClick(view: View, value: T, onClickAction: ActionOnClick? = null) {
32+
fun <T : Any> Action<T>.bindOnClick(view: View, value: T, onClickAction: ActionOnClick? = null) {
3633
view.setOnClickListener {
3734
call(value)
3835
onClickAction?.invoke()
@@ -43,27 +40,27 @@ fun Action<Unit>.bindOnClick(view: View, onClickAction: ActionOnClick? = null) {
4340
bindOnClick(view, Unit, onClickAction)
4441
}
4542

46-
fun <T> Observable<T>.bindProgress(progressConsumer: Consumer<Boolean>): Observable<T> = this
43+
fun <T : Any> Observable<T>.bindProgress(progressConsumer: Consumer<Boolean>): Observable<T> = this
4744
.doOnSubscribe { progressConsumer.accept(true) }
4845
.doFinally { progressConsumer.accept(false) }
4946

50-
fun <T> Flowable<T>.bindProgress(progressConsumer: Consumer<Boolean>): Flowable<T> = this
47+
fun <T : Any> Flowable<T>.bindProgress(progressConsumer: Consumer<Boolean>): Flowable<T> = this
5148
.doOnSubscribe { progressConsumer.accept(true) }
5249
.doFinally { progressConsumer.accept(false) }
5350

54-
fun <T> Single<T>.bindProgress(progressConsumer: Consumer<Boolean>): Single<T> = this
51+
fun <T : Any> Single<T>.bindProgress(progressConsumer: Consumer<Boolean>): Single<T> = this
5552
.doOnSubscribe { progressConsumer.accept(true) }
5653
.doFinally { progressConsumer.accept(false) }
5754

58-
fun <T> Maybe<T>.bindProgress(progressConsumer: Consumer<Boolean>): Maybe<T> = this
55+
fun <T : Any> Maybe<T>.bindProgress(progressConsumer: Consumer<Boolean>): Maybe<T> = this
5956
.doOnSubscribe { progressConsumer.accept(true) }
6057
.doFinally { progressConsumer.accept(false) }
6158

6259
fun Completable.bindProgress(progressConsumer: Consumer<Boolean>): Completable = this
6360
.doOnSubscribe { progressConsumer.accept(true) }
6461
.doFinally { progressConsumer.accept(false) }
6562

66-
fun <T> Single<T>.bindProgressAny(progressConsumer: Consumer<Boolean>): Single<T> = this
63+
fun <T : Any> Single<T>.bindProgressAny(progressConsumer: Consumer<Boolean>): Single<T> = this
6764
.doOnSubscribe { progressConsumer.accept(true) }
6865
.doOnSuccess { progressConsumer.accept(false) }
6966
.doOnError { progressConsumer.accept(false) }
@@ -74,7 +71,7 @@ fun <T> Single<T>.bindProgressAny(progressConsumer: Consumer<Boolean>): Single<T
7471
* @param isIdle shows when the idle state begins (`true`) and ends (`false`).
7572
* @param bufferSize number of items the buffer can hold. `null` means not constrained.
7673
*/
77-
fun <T> Observable<T>.bufferWhileIdle(
74+
fun <T : Any> Observable<T>.bufferWhileIdle(
7875
isIdle: Observable<Boolean>,
7976
bufferSize: Int? = null
8077
): Observable<T> {

reactiveviewmodel/src/main/java/com/alexdeww/reactiveviewmodel/core/RvmViewComponent.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,19 @@ interface RvmViewComponent {
2525
fun <T> LiveData<T>.observe(action: OnLiveDataAction<T>): Observer<T> =
2626
observe(owner = componentLifecycleOwner, action = action)
2727

28-
fun <T> State<T>.observe(action: OnLiveDataAction<T>): Observer<T> =
28+
fun <T : Any> State<T>.observe(action: OnLiveDataAction<T>): Observer<T> =
2929
observe(componentLifecycleOwner, action)
3030

31-
fun <T> Event<T>.observe(action: OnLiveDataAction<T>): Observer<T> =
31+
fun <T : Any> Event<T>.observe(action: OnLiveDataAction<T>): Observer<T> =
3232
observe(componentLifecycleOwner, action)
3333

34-
fun <T> DisplayableControl<T>.observe(
34+
fun <T : Any> DisplayableControl<T>.observe(
3535
action: DisplayableAction<T>
3636
): Observer<DisplayableControl.Action<T>> = this@observe.action.observe {
3737
action.invoke(it.isShowing, it.getShowingValue())
3838
}
3939

40-
fun <T> DisplayableControl<T>.observe(
40+
fun <T : Any> DisplayableControl<T>.observe(
4141
onShow: (T) -> Unit,
4242
onHide: () -> Unit
4343
): Observer<DisplayableControl.Action<T>> = this@observe.action.observe {
@@ -58,7 +58,7 @@ interface RvmViewComponent {
5858
bindVisible = bindVisible
5959
)
6060

61-
fun <T, R> DialogControl<T, R>.bindTo(
61+
fun <T : Any, R : Any> DialogControl<T, R>.bindTo(
6262
createDialog: ActionCreateDialog<T, R>
6363
) = bindTo(
6464
rvmViewComponent = this@RvmViewComponent,
@@ -102,4 +102,4 @@ interface RvmViewComponent {
102102
bindVisible = bindVisible
103103
)
104104

105-
}
105+
}

reactiveviewmodel/src/main/java/com/alexdeww/reactiveviewmodel/core/common/RvmComponent.kt

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,26 @@ import io.reactivex.rxjava3.functions.Consumer
88

99
interface RvmComponent {
1010

11-
fun <T> State<T>.setValue(value: T) {
11+
fun <T : Any> State<T>.setValue(value: T) {
1212
this.consumer.accept(value)
1313
}
1414

15-
fun <T> State<T>.setValueIfChanged(value: T) {
15+
fun <T : Any> State<T>.setValueIfChanged(value: T) {
1616
if (this.value != value) this.consumer.accept(value)
1717
}
1818

19-
val <T> State<T>.consumer: Consumer<T> get() = this.consumer
19+
val <T : Any> State<T>.consumer: Consumer<T> get() = this.consumer
2020

21-
val <T> State<T>.observable: Observable<T> get() = this.observable
21+
val <T : Any> State<T>.observable: Observable<T> get() = this.observable
2222

23-
val <T> Action<T>.observable: Observable<T> get() = this.observable
23+
val <T : Any> Action<T>.observable: Observable<T> get() = this.observable
2424

25-
fun <T> Event<T>.call(value: T) {
26-
this.consumer.accept(value)
27-
}
25+
fun <T : Any> Event<T>.call(value: T) = this.consumer.accept(value)
2826

29-
fun Event<Unit>.call() {
30-
this.consumer.accept(Unit)
31-
}
27+
fun Event<Unit>.call() = this.consumer.accept(Unit)
3228

33-
val <T> Event<T>.consumer: Consumer<T> get() = this.consumer
29+
val <T : Any> Event<T>.consumer: Consumer<T> get() = this.consumer
3430

35-
val <T> Event<T>.observable: Observable<T> get() = this.observable
31+
val <T : Any> Event<T>.observable: Observable<T> get() = this.observable
3632

3733
}

0 commit comments

Comments
 (0)