Skip to content

Commit

Permalink
Merge pull request #54 from SSU-Plector/feat/#44-submit-project
Browse files Browse the repository at this point in the history
Feat/#44 submit project
  • Loading branch information
kangyuri1114 authored Jul 29, 2024
2 parents 1f911ec + 820dfe3 commit 31f235b
Show file tree
Hide file tree
Showing 54 changed files with 2,177 additions and 58 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import com.zucchini.ai_members.pm.AiPmActivity
import com.zucchini.auth.LoginActivity
import com.zucchini.common.NavigationProvider
import com.zucchini.projects.MainActivity
import com.zucchini.submit.SubmitDevActivity
import com.zucchini.submit.developer.SubmitDevActivity
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject

Expand All @@ -30,9 +30,8 @@ class DefaultNavigationProvider

override fun toLogin(): Intent = Intent(context, LoginActivity::class.java)

override fun toSubmitDev(): Intent = Intent(context, SubmitDevActivity::class.java)

override fun toMain(): Intent = Intent(context, MainActivity::class.java)
override fun toSubmitDev(): Intent = Intent(context, SubmitDevActivity::class.java)

override fun toAiPmMember(): Intent = Intent(context, AiPmActivity::class.java)

Expand Down
5 changes: 4 additions & 1 deletion buildSrc/src/main/java/com/zucchini/buildsrc/Dependencies.kt
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ object AndroidXDependencies {
const val appCompat = "androidx.appcompat:appcompat:${Versions.appCompatVersion}"
const val constraintLayout =
"androidx.constraintlayout:constraintlayout:${Versions.constraintLayoutVersion}"
const val recyclerView = "androidx.recyclerview:recyclerview:${Versions.recyclerViewVersion}"
const val startup = "androidx.startup:startup-runtime:${Versions.appStartUpVersion}"
const val activity = "androidx.activity:activity-ktx:${Versions.activityKtxVersion}"
const val fragment = "androidx.fragment:fragment-ktx:${Versions.fragmentKtxVersion}"
Expand Down Expand Up @@ -68,6 +69,7 @@ object ThirdPartyDependencies {
const val okHttpBom = "com.squareup.okhttp3:okhttp-bom:${Versions.okHttpVersion}"
const val okHttp = "com.squareup.okhttp3:okhttp"
const val okHttpLoggingInterceptor = "com.squareup.okhttp3:logging-interceptor"
const val gson = "com.google.code.gson:gson:${Versions.gsonVersion}"

const val timber = "com.jakewharton.timber:timber:${Versions.timberVersion}"

Expand Down Expand Up @@ -101,7 +103,8 @@ object ClassPathPlugins {

object ComposeDependencies {
const val composeUi = "androidx.compose.ui:ui:${Versions.composeCompilerVersion}"
const val composeActivity = "androidx.activity:activity-compose:${Versions.activityComposeVersion}"
const val composeActivity =
"androidx.activity:activity-compose:${Versions.activityComposeVersion}"
const val composeMaterial3 = "androidx.compose.material3:material3:${Versions.material3Version}"
const val composeTooling = "androidx.compose.ui:ui-tooling:${Versions.composeToolingVersion}"
}
2 changes: 2 additions & 0 deletions buildSrc/src/main/java/com/zucchini/buildsrc/Versions.kt
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ object Versions {
const val circleImageViewVersion = "3.1.0"
const val dotIndicatorVersion = "5.0"
const val processPhoenixVersion = "2.1.2"
const val recyclerViewVersion = "1.3.2"
const val gsonVersion = "2.11.0"

val javaVersion = JavaVersion.VERSION_17
const val jvmVersion = "17"
Expand Down
3 changes: 3 additions & 0 deletions core/common/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ android {

buildFeatures {
buildConfig = true
viewBinding = true
}
}

Expand All @@ -38,6 +39,8 @@ dependencies {
implementation(coreKtx)
implementation(appCompat)
implementation(pagingRuntime)
implementation(constraintLayout)
implementation(recyclerView)
}

KotlinDependencies.run {
Expand Down
61 changes: 61 additions & 0 deletions core/common/src/main/java/com/zucchini/context/ContextExt.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package com.zucchini.context

import android.app.Dialog
import android.content.Context
import android.graphics.Point
import android.os.Build
import android.view.WindowInsets
import android.view.WindowManager

fun Context.dialogViewPercent(
dialog: Dialog?,
widthPercent: Double = 0.8,
heightPercent: Double = 0.8,
) {
val deviceSize = getDeviceSize()
dialog?.window?.run {
val params = attributes
params.width = (deviceSize[0] * widthPercent).toInt()
params.height = (deviceSize[1] * heightPercent).toInt()
attributes = params
}
}

fun Context.dialogWidthPercent(
dialog: Dialog?,
widthPercent: Double = 0.8,
) {
val deviceSize = getDeviceSize()
dialog?.window?.run {
val params = attributes
params.width = (deviceSize[0] * widthPercent).toInt()
attributes = params
}
}

fun Context.getDeviceSize(): IntArray {
val windowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManager

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val windowMetrics = windowManager.currentWindowMetrics
val windowInsets = windowMetrics.windowInsets

val insets =
windowInsets.getInsetsIgnoringVisibility(
WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout(),
)
val insetsWidth = insets.right + insets.left
val insetsHeight = insets.top + insets.bottom

val bounds = windowMetrics.bounds

return intArrayOf(bounds.width() - insetsWidth, bounds.height() - insetsHeight)
} else {
val display = windowManager.defaultDisplay
val size = Point()

display?.getSize(size)

return intArrayOf(size.x, size.y)
}
}
3 changes: 3 additions & 0 deletions core/common/src/main/java/com/zucchini/view/ViewExt.kt
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ fun Context.showShortToast(message: String) {
).show()
}

fun Fragment.showShortToast(message: String) {
context?.showShortToast(message)
}
fun Fragment.hideKeyboard() {
view?.let { activity?.hideKeyboard(it) }
}
Expand Down
13 changes: 13 additions & 0 deletions core/common/src/main/res/drawable/button_bright_olive_radius6.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="124dp"
android:height="51dp"
android:viewportWidth="124"
android:viewportHeight="51">
<group>
<clip-path android:pathData="M4 0H120C122.209 0 124 1.79086 124 4V47C124 49.2091 122.209 51 120 51H4C1.79086 51 0 49.2091 0 47V4C0 1.79086 1.79086 0 4 0Z" />
<path
android:fillColor="#EDF6EA"
android:pathData="M0 0V51H124V0" />
</group>
</vector>
13 changes: 13 additions & 0 deletions core/common/src/main/res/drawable/button_main_olive_radius6.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="124dp"
android:height="51dp"
android:viewportWidth="124"
android:viewportHeight="51">
<group>
<clip-path android:pathData="M4 0H120C122.209 0 124 1.79086 124 4V47C124 49.2091 122.209 51 120 51H4C1.79086 51 0 49.2091 0 47V4C0 1.79086 1.79086 0 4 0Z" />
<path
android:fillColor="#90BD83"
android:pathData="M0 0V51H124V0" />
</group>
</vector>
13 changes: 13 additions & 0 deletions core/common/src/main/res/drawable/button_olive_brown_radius6.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="124dp"
android:height="51dp"
android:viewportWidth="124"
android:viewportHeight="51">
<group>
<clip-path android:pathData="M4 0H120C122.209 0 124 1.79086 124 4V47C124 49.2091 122.209 51 120 51H4C1.79086 51 0 49.2091 0 47V4C0 1.79086 1.79086 0 4 0Z" />
<path
android:fillColor="#423B39"
android:pathData="M0 0V51H124V0" />
</group>
</vector>
13 changes: 13 additions & 0 deletions core/common/src/main/res/drawable/button_olive_white_radius6.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="124dp"
android:height="51dp"
android:viewportWidth="124"
android:viewportHeight="51">
<group>
<clip-path android:pathData="M4 0H120C122.209 0 124 1.79086 124 4V47C124 49.2091 122.209 51 120 51H4C1.79086 51 0 49.2091 0 47V4C0 1.79086 1.79086 0 4 0Z" />
<path
android:fillColor="@color/white"
android:pathData="M0 0V51H124V0" />
</group>
</vector>
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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="wrap_content">

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:paddingHorizontal="16dp"
android:paddingTop="36dp"
android:paddingBottom="24dp">

<TextView
android:id="@+id/tv_dialog_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="center"
android:maxLines="2"
android:textAppearance="@font/pretendardbold"
android:textColor="@color/olive_black"
android:textSize="18sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.1"
tools:text="로그아웃 하시겠습니까?" />

<TextView
android:id="@+id/tv_dialog_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="12dp"
android:layout_marginTop="15dp"
android:ellipsize="end"
android:gravity="center"
android:maxLines="2"
android:textAppearance="@font/pretendardmedium"
android:textColor="@color/olive_black"
android:textSize="13sp"
app:layout_constraintBottom_toTopOf="@+id/rv_dialog_contents"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_dialog_title"
app:layout_constraintVertical_bias="0.2"
tools:text="진짜루?ㅠ" />


<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_dialog_contents"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"
app:layout_constraintBottom_toTopOf="@id/tv_confirm_button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_dialog_description"
tools:listitem="@layout/item_dialog_checkbox" />

<TextView
android:id="@+id/tv_confirm_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:background="@drawable/button_bright_olive_radius6"
android:gravity="center"
android:textAppearance="@font/pretendardblack"
android:textColor="@color/olive_black"
android:textSize="15sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/rv_dialog_contents"
tools:text="확인" />

</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
85 changes: 85 additions & 0 deletions core/common/src/main/res/layout/dialog_common_two_button.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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="wrap_content"
android:background="@drawable/button_olive_white_radius6"
android:paddingHorizontal="16dp"
android:paddingTop="36dp"
android:paddingBottom="24dp">

<TextView
android:id="@+id/tv_dialog_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="center"
android:maxLines="2"
android:textAppearance="@font/pretendardbold"
android:textColor="@color/olive_black"
android:textSize="18sp"
app:layout_constraintBottom_toTopOf="@+id/tv_confirm_button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.1"
tools:text="로그아웃 하시겠습니까?" />

<TextView
android:id="@+id/tv_dialog_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="12dp"
android:layout_marginTop="9dp"
android:ellipsize="end"
android:gravity="center"
android:maxLines="2"
android:textAppearance="@font/pretendardmedium"
android:textColor="@color/olive_black"
android:textSize="13sp"
app:layout_constraintBottom_toTopOf="@+id/tv_confirm_button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_dialog_title"
app:layout_constraintVertical_bias="0.2"
tools:text="진짜루?ㅠ" />

<TextView
android:id="@+id/tv_confirm_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="19dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="4dp"
android:background="@drawable/button_bright_olive_radius6"
android:gravity="center"
android:paddingVertical="14dp"
android:textAppearance="@font/pretendardblack"
android:textColor="@color/olive_black"
android:textSize="15sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/tv_dismiss_button"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_dialog_description"
tools:text="확인" />

<TextView
android:id="@+id/tv_dismiss_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginEnd="19dp"
android:background="@drawable/button_main_olive_radius6"
android:gravity="center"
android:paddingVertical="14dp"
android:textAppearance="@font/pretendardblack"
android:textColor="@color/olive_black"
android:textSize="15sp"
app:layout_constraintBottom_toBottomOf="@id/tv_confirm_button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/tv_confirm_button"
app:layout_constraintTop_toTopOf="@id/tv_confirm_button"
tools:text="돌아가기" />

</androidx.constraintlayout.widget.ConstraintLayout>
22 changes: 22 additions & 0 deletions core/common/src/main/res/layout/item_dialog_checkbox.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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="wrap_content"
android:layout_height="wrap_content">

<CheckBox
android:id="@+id/cb_dialog_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:fontFamily="@font/pretendardmedium"
android:textColor="@color/olive_black"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="서비스" />
</androidx.constraintlayout.widget.ConstraintLayout>
Loading

0 comments on commit 31f235b

Please sign in to comment.