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

Dev/android #14

Open
wants to merge 102 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
d6afe95
Update: MainActivity layout
rapsealk May 5, 2019
f66ab65
Add: bottom icons
rapsealk May 5, 2019
8986ca1
Add: Multi-module (shared)
rapsealk May 5, 2019
077fce2
Fix: InstantTask::time을 Date 타입으로 변경
rapsealk May 5, 2019
84206dd
Add: Task 목록 삭제 기능 (임시)
rapsealk May 6, 2019
4d73004
Update: Migrate to AndroidX
rapsealk May 6, 2019
d8a19f5
Add: Room Database
rapsealk May 7, 2019
7a5931c
Add: 구글 로그인
rapsealk May 11, 2019
617c9a5
[Android] Style: Reformat, 불필요한 코드 제거
turastory May 12, 2019
b8728fa
[Android] Style: data/ -> data/db/ 로 이동
turastory May 12, 2019
4caa332
[Android] Style: Repository를 통해서 Data에 접근하도록 수정
turastory May 12, 2019
7b10ce8
[Android] Style: Extract log tag to BaseActivity
turastory May 12, 2019
f0d1a5a
[Android] Update: Bump up dependencies
turastory May 13, 2019
f9d86af
[Android] Fix: Make repository singleton
turastory May 13, 2019
4645a56
[Android] Add: Use koin for Dependency management
turastory May 13, 2019
b5a2b3d
[Android] Style: package structure
turastory May 13, 2019
da8bff4
[Android] Add: 이름 입력 안했을 때 처리 (간단)
turastory May 13, 2019
5a9b97a
[Android] Add: MVVM으로 바꾸는 중.. 테스트를 위해서 Firebase 일단 다 꺼놨음
turastory May 13, 2019
5fd6672
Merge pull request #8 from desingdeveloperdayday/dev/android-tura
rapsealk May 14, 2019
8c37cb3
[Android] Fix: Enable Firebase auth
turastory May 15, 2019
284cb78
[Android] Add: Coroutines for asynchronous tasks
turastory May 15, 2019
b5c84aa
[Android] Fix: import 수정
turastory May 16, 2019
154ca4d
Merge branch 'dev/android' into dev/android-main
turastory May 16, 2019
8028940
[Android] Add: 메인 화면 DrawerLayout + Fragment 기반으로 수정
turastory May 17, 2019
d57e297
[Android] Add: 모두 BaseActivity 기반으로 변경
turastory May 17, 2019
2232932
[Common] Fix: .idea 폴더 codeStyles만 exclude하게 수정
turastory May 17, 2019
e0a0690
[Android] Add: Navigation 제대로 동작하도록 수정
turastory May 17, 2019
7c9bf7e
[Android] Style: Fragment replace() 리팩토링
turastory May 17, 2019
b65a1ec
[Android] Add: Fragment stubs
turastory May 17, 2019
473686a
[Android] Add: 집안일가이드 임시 배치
rapsealk May 17, 2019
7e36d2b
[Android] Fix: 집안일 가이드 레이아웃
rapsealk May 21, 2019
5c248f6
[Android] Add: 할 일 직접 입력 임시 배치
rapsealk May 21, 2019
c07daee
[Backend] 빌드 오류 수정
turastory May 23, 2019
81b6c77
[Common] 데이터 모델 수정 (Task 타입 하나로)
turastory May 23, 2019
74d1331
[Common] period 타입 Int여도 충분할 것 같아서 변경
turastory May 23, 2019
43fec6c
[Android] Notification Item UI
turastory May 23, 2019
915d094
[Android] Task 리스트 아이템 사이 마진 추가
turastory May 23, 2019
72d76c5
[Android] Style: Mapper 기능 일반화
turastory May 26, 2019
aa7d65e
[Android] Add: DB 마이그레이션할 때 에러 수정 (임시)
turastory May 26, 2019
ceed787
[Android] Add: 카테고리 스피너 추가
turastory May 26, 2019
a6a38af
[Android] Add: 추가하는 아이콘 변경
turastory May 26, 2019
3b528a2
[Android] Add: Category를 enum으로 변경하고, 카테고리별 이미지 추가
turastory May 26, 2019
bbf2ce5
[Android] Fix: 카테고리가 Default로만 표시되는 문제 수정
turastory May 26, 2019
116be9c
[Android] Fix: TaskEntity 정의 수정
turastory May 26, 2019
f7f131c
[Android] Add: Progress 일단 랜덤으로 보여주도록 수정
turastory May 26, 2019
1823327
[Android] Update: Material 1.0.0 -> 1.1.0-alpha06
turastory May 26, 2019
7e2202b
[Android] Add: BottomAppBar 설정
turastory May 26, 2019
cc8655d
[Android] Add: Task에 그림자 추가
turastory May 26, 2019
6b2aaf1
[Android] Fix: FAB 아이콘 색 변경
turastory May 26, 2019
751a9fc
Merge pull request #11 from desingdeveloperdayday/dev/android-main
rapsealk May 28, 2019
a4e653a
[Android] Add: UI 수정
turastory May 29, 2019
9cbd7b3
[Android] Merge: dev/android(751a9fc8383b8cad3ab0a1ae9ea2359443021de3…
rapsealk May 31, 2019
b8630e4
[Android] Fix: 집안일가이드 연결
rapsealk May 31, 2019
8067c92
[Android] Update: Add kotlintest dependency
turastory May 31, 2019
1db1eb4
[Android] Add: Show progress from due-date and period
turastory May 31, 2019
d57b798
[Android] Add: Add more properties in Task..
turastory May 31, 2019
a424882
[Android] Add: Temporarily add "deleteAll" functionality
turastory May 31, 2019
e27a432
[Android] Style: Move makeTime() to DateUtil
turastory May 31, 2019
47a7165
[Android] Fix: makeTime() now returns correct month
turastory May 31, 2019
66149e7
[Android] Fix: Fix period date showing format
turastory May 31, 2019
87af964
[Android] Fix: Show progress from due-date and period
turastory May 31, 2019
f63f5c6
[Android] Fix: DateUtil invalid format
turastory May 31, 2019
b547f69
[Android] Add: Show texts from due-date and period
turastory May 31, 2019
cbfb080
Merge pull request #12 from desingdeveloperdayday/dev/android-task-guide
turastory May 31, 2019
e72662a
Merge remote-tracking branch 'origin/dev/android' into dev/android-main
turastory May 31, 2019
e16add7
[Android] Fix: Fix merge conflicts
turastory May 31, 2019
2a36125
[Android] Add: Add Mock Data
turastory May 31, 2019
1402c34
[Android] Add: Shadow on task items
turastory May 31, 2019
4c32d9e
[Android] Add: Filtering tasks
turastory May 31, 2019
6df16a7
[Android] Test: Update mock data
turastory May 31, 2019
553fea7
[Android] Fix: BottomAppBar + FloatingActionButton appearance
turastory May 31, 2019
2d42892
[Android] Style: Clean up colors.xml
turastory May 31, 2019
cd73c3e
[Android] Add: Update task model
turastory May 31, 2019
7c0c89f
[Android] Add: Repository methods
turastory May 31, 2019
64accbf
[Android] Add: Implement todo / completed tabs
turastory May 31, 2019
a8d041f
[Android] Fix: Increase size of navigation icon
turastory May 31, 2019
20d7a32
[Android] Add: Update card backgrounds
turastory May 31, 2019
ab7d222
[Android] Add: Completed Task ViewHolder
turastory May 31, 2019
2fc572d
[Android] Fix: 바뀐 UI 반영
turastory May 31, 2019
9875259
[Android] Fix: 카테고리 초기화되는 버그 수정
turastory May 31, 2019
6a5ec5f
[Android] Add: 정렬 기능 추가
turastory May 31, 2019
81d0a3f
[Android] Add: 완료된 일에서 Edit 버튼 추가
turastory May 31, 2019
939a36e
🙈 Update .gitignore for kotlintest
turastory Jun 30, 2019
948259e
🍱 Add play store assets
turastory Jun 30, 2019
6a2ac7c
🎨 Rewrite NotificationFragment using data binding
turastory Jun 30, 2019
6f2ed8b
✨ Add SimpleItemCallback
turastory Jun 30, 2019
b57a99b
🐛 Fix stuttering when change the items
turastory Jun 30, 2019
0700f02
🚚 Change naming - Notification -> Task
turastory Jun 30, 2019
6707cfe
🐛 Fix mock data to use relative time
turastory Jun 30, 2019
0e3ee1d
💄 Update UI
turastory Jun 30, 2019
36121ba
➕ Add Rx dependencies
turastory Jun 30, 2019
aececd8
✨ Setup rx bases
turastory Jun 30, 2019
5f4eebc
➕ Add rxbinding
turastory Jun 30, 2019
ea7f6cd
➕ Add rxkotlin
turastory Jun 30, 2019
cc57700
🎨 Use rxbinding to handle events
turastory Jun 30, 2019
fd0ef5d
🐛 Fix inconsistency problem in task list
turastory Jun 30, 2019
c6451e6
🔥 Remove unnecessary codes
turastory Jun 30, 2019
793629e
⬆️ Bump up ConstraintLayout dependency
turastory Jun 30, 2019
c5437ac
🍱 Add category assets
turastory Jun 30, 2019
0ebae7a
✨ Can enter editing mode in completed tasks
turastory Jun 30, 2019
36d3203
✨ Implement feature - editing completed tasks
turastory Jun 30, 2019
567c7f9
Merge pull request #13 from desingdeveloperdayday/dev/android-main
turastory Jul 6, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ build/
out/
*.iml

private.xml
google-services.json

# Created by https://www.gitignore.io/api/windows,macos
# Edit at https://www.gitignore.io/?templates=windows,macos

Expand Down Expand Up @@ -73,4 +76,9 @@ local.properties
proguard/
*.log
.navigation
output.json
output.json

!.idea/codeStyles

# kotlintest
.kotlintest
6 changes: 0 additions & 6 deletions .idea/kotlinScripting.xml

This file was deleted.

61 changes: 52 additions & 9 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'com.google.gms.google-services'

android {
compileSdkVersion 28
Expand All @@ -12,24 +12,67 @@ android {
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
}
testOptions {
unitTests.all {
useJUnitPlatform()
}
}
buildToolsVersion = '28.0.3'
dataBinding {
enabled true
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${Version.kotlin}"
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation "androidx.appcompat:appcompat:1.0.2"
implementation "androidx.constraintlayout:constraintlayout:2.0.0-beta2"

implementation "io.reactivex.rxjava2:rxjava:2.2.9"
implementation "io.reactivex.rxjava2:rxandroid:2.1.1"
implementation "io.reactivex.rxjava2:rxkotlin:2.3.0"

implementation "com.jakewharton.rxbinding3:rxbinding:${Version.rxbinding}"
implementation "com.jakewharton.rxbinding3:rxbinding-core:${Version.rxbinding}"
implementation "com.jakewharton.rxbinding3:rxbinding-appcompat:${Version.rxbinding}"

implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Version.coroutine}"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Version.coroutineAndroid}"

implementation "org.koin:koin-android:${Version.koin}"
implementation "org.koin:koin-android-viewmodel:${Version.koin}"

testImplementation "junit:junit:4.12"
testImplementation "io.kotlintest:kotlintest-runner-junit5:3.3.2"
androidTestImplementation "androidx.test:runner:1.1.1"
androidTestImplementation "androidx.test.espresso:espresso-core:3.1.1"
implementation "com.google.firebase:firebase-core:16.0.4"
implementation "com.google.firebase:firebase-auth:16.0.4"
implementation "com.google.android.gms:play-services-auth:16.0.1"
implementation "androidx.recyclerview:recyclerview:1.0.0"
implementation "com.google.android.material:material:1.1.0-alpha06"
implementation 'com.android.support:design:28.0.0'

implementation "androidx.lifecycle:lifecycle-extensions:${Version.lifecycle}"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:${Version.lifecycle}"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:${Version.lifecycle}"

implementation "androidx.room:room-runtime:${Version.room}"
implementation "androidx.room:room-ktx:${Version.room}"
kapt "androidx.room:room-compiler:${Version.room}"

implementation project(":shared")
}
Binary file added android/app/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
6 changes: 6 additions & 0 deletions android/app/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#Sun May 05 13:03:11 KST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
172 changes: 172 additions & 0 deletions android/app/gradlew
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
#!/usr/bin/env sh

##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################

# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null

APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"

warn () {
echo "$*"
}

die () {
echo
echo "$*"
echo
exit 1
}

# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac

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

# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi

# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi

# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi

# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`

# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option

if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi

# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")

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

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

exec "$JAVACMD" "$@"
84 changes: 84 additions & 0 deletions android/app/gradlew.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################

@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal

set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome

set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init

echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe

if exist "%JAVA_EXE%" goto init

echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:init
@rem Get command-line arguments, handling Windows variants

if not "%OS%" == "Windows_NT" goto win9xME_args

:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2

:win9xME_args_slurp
if "x%~1" == "x" goto execute

set CMD_LINE_ARGS=%*

:execute
@rem Setup the command line

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

@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%

:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd

:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1

:mainEnd
if "%OS%"=="Windows_NT" endlocal

:omega
Loading