diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..fbc8627 --- /dev/null +++ b/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/navEditor.xml b/.idea/navEditor.xml new file mode 100644 index 0000000..e5f533f --- /dev/null +++ b/.idea/navEditor.xml @@ -0,0 +1,502 @@ + + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 074c538..f72e96d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,6 +5,7 @@ plugins { id 'dagger.hilt.android.plugin' id 'androidx.navigation.safeargs.kotlin' id 'com.google.gms.google-services' + id 'com.google.android.gms.oss-licenses-plugin' } Properties properties = new Properties() properties.load(project.rootProject.file('local.properties').newDataInputStream()) @@ -100,5 +101,7 @@ dependencies { //viewPager indicator implementation 'com.tbuonomo:dotsindicator:4.3' + //openSource + implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0' implementation "androidx.hilt:hilt-navigation-fragment:1.0.0" } \ No newline at end of file diff --git a/app/src/main/java/com/promiseeight/www/ui/dialog/BaseDialog.kt b/app/src/main/java/com/promiseeight/www/ui/dialog/BaseDialog.kt index 6b03d57..efff746 100644 --- a/app/src/main/java/com/promiseeight/www/ui/dialog/BaseDialog.kt +++ b/app/src/main/java/com/promiseeight/www/ui/dialog/BaseDialog.kt @@ -21,6 +21,11 @@ abstract class BaseDialog(@LayoutRes private val layoutId: ONE, TWO } + class DialogBody(title : String, message : String) { + lateinit var title : String + lateinit var message : String + } + override fun onCreate(savedInstance: Bundle?) { super.onCreate(savedInstance) setStyle(STYLE_NO_TITLE, R.style.dialog_default) diff --git a/app/src/main/java/com/promiseeight/www/ui/dialog/PushDialog.kt b/app/src/main/java/com/promiseeight/www/ui/dialog/PushDialog.kt index 7fe50ad..0eb15a9 100644 --- a/app/src/main/java/com/promiseeight/www/ui/dialog/PushDialog.kt +++ b/app/src/main/java/com/promiseeight/www/ui/dialog/PushDialog.kt @@ -4,61 +4,56 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Button +import com.google.firebase.messaging.ktx.remoteMessage import com.promiseeight.www.R import com.promiseeight.www.databinding.FragmentHomeBinding import com.promiseeight.www.databinding.FragmentPushDialogBinding +//import kotlinx.coroutines.NonCancellable.message import java.math.BigInteger.TWO -//class PushDialog: BaseDialog(R.layout.fragment_push_dialog){ -// -// private val buttonType: ButtonType, -// private val content:DialogBody, -// private var onCancelListener : (()->Unit)? = null, -// private var onConfirmListener : (()->Unit)? = null -// -// override fun getFragmentBinding( -// inflater: LayoutInflater, -// container: ViewGroup? -// ): FragmentPushDialogBinding { -// return FragmentPushDialogBinding.inflate(inflater,container,false) -// } -// -// override fun initView() { -// super.initView() -// -// //Button Type -// when(buttonType) { -// ButtonType.ONE -> { -// binding.layoutBottomTypeOne.visibility. -// } -// ButtonType.TWO -> { + +class PushDialog( + private val buttonType: ButtonType, + private val content:DialogBody, + private var onCancelListener : (()->Unit)? = null, + private var onConfirmListener : (()->Unit)? = null +) : BaseDialog(R.layout.fragment_push_dialog){ + + + override fun initView() { + super.initView() + + //Button Type + when(buttonType) { + ButtonType.ONE -> { +// binding.layoutBottomTypeOne.visibility(View.VISIBLE) + } + ButtonType.TWO -> { // binding.layoutBottomTypeTwo.visible() -// } -// } -// -// content.run { -// binding. -// } -// } -// -// override fun setEvent() { -// super.setEvent() -// binding.btnCancleTypeTwo.setOnClickListener { -// onCancelListener?.invoke() -// dismiss() -// } -// binding.btnCompleteTypeTwo.setOnClickListener { -// onConfirmListener?.invoke() -// dismiss() -// } -// binding.btnCompleteTypeOne.setOnClickListener { -// onConfirmListener?.invoke() -// dismiss() -// } -// } -// -// fun visible() { -// -// } -// -//} \ No newline at end of file + } + } + + content.run { + binding.titleSystemCustomDialog.text = title + binding.contentSystemCustomDialog.text = message ?: "" + } + } + + override fun setEvent() { + super.setEvent() + binding.btnCancleTypeTwo.setOnClickListener { + onCancelListener?.invoke() + dismiss() + } + binding.btnCompleteTypeTwo.setOnClickListener { + onConfirmListener?.invoke() + dismiss() + } + binding.btnCompleteTypeOne.setOnClickListener { + onConfirmListener?.invoke() + dismiss() + } + } + +} + diff --git a/app/src/main/java/com/promiseeight/www/ui/setting/SettingFragment.kt b/app/src/main/java/com/promiseeight/www/ui/setting/SettingFragment.kt index db736fd..f6fa18f 100644 --- a/app/src/main/java/com/promiseeight/www/ui/setting/SettingFragment.kt +++ b/app/src/main/java/com/promiseeight/www/ui/setting/SettingFragment.kt @@ -1,16 +1,21 @@ package com.promiseeight.www.ui.setting import android.app.AlertDialog +import android.content.Intent +import android.net.Uri import android.os.Build import android.os.Bundle import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.navigation.fragment.findNavController +import com.google.android.gms.oss.licenses.OssLicensesMenuActivity import com.promiseeight.www.BuildConfig import com.promiseeight.www.databinding.FragmentSettingBinding import com.promiseeight.www.ui.common.BaseFragment import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.Dispatchers.Main @AndroidEntryPoint class SettingFragment : BaseFragment() { @@ -24,7 +29,24 @@ class SettingFragment : BaseFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - binding.tvSettingAppVersion.text = getVersionInfo(); + binding.tvSettingAppVersion.text = getVersionInfo() + binding.ivBack.setOnClickListener { + findNavController().navigate( + SettingFragmentDirections.actionFragmentSettingToFragmentHome() + ) + } + + binding.tvSettingFeedback.setOnClickListener { + uriParse("") + } + + binding.tvSettingPrivateInfo.setOnClickListener { + uriParse("https://whenwherewhat.notion.site/WWW-d44308e244964fb7a12006efe2eb94cb") //클릭시 개인정보방침 + } + + binding.tvSettingOpenSource.setOnClickListener { + getOpenSource() + } } @@ -35,6 +57,19 @@ class SettingFragment : BaseFragment() { // val builder = AlertDialog.Builder(this.parentFragmentManager.getFragment(SettingFragment)) } + } + + private fun uriParse(urlGet : String) { + val url = urlGet + val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url)) + startActivity(intent) + } + + private fun getOpenSource() { + activity?.let{ + val intent = Intent (it, OssLicensesMenuActivity::class.java) + it.startActivity(intent) + } } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_meeting_detail_confirm_when.xml b/app/src/main/res/layout/fragment_meeting_detail_confirm_when.xml index 0918865..ef4d33e 100644 --- a/app/src/main/res/layout/fragment_meeting_detail_confirm_when.xml +++ b/app/src/main/res/layout/fragment_meeting_detail_confirm_when.xml @@ -1,5 +1,6 @@ + - + xmlns:app="http://schemas.android.com/apk/res-auto" > - + diff --git a/app/src/main/res/layout/fragment_setting.xml b/app/src/main/res/layout/fragment_setting.xml index 6d41688..dfc39eb 100644 --- a/app/src/main/res/layout/fragment_setting.xml +++ b/app/src/main/res/layout/fragment_setting.xml @@ -138,6 +138,16 @@ style="@style/Text.Title9" app:layout_constraintTop_toBottomOf="@id/tv_setting_feedback"/> + + \ No newline at end of file diff --git a/app/src/main/res/navigation/main_navigation.xml b/app/src/main/res/navigation/main_navigation.xml index e744082..5131461 100644 --- a/app/src/main/res/navigation/main_navigation.xml +++ b/app/src/main/res/navigation/main_navigation.xml @@ -137,6 +137,9 @@ + diff --git a/build.gradle b/build.gradle index f149cf5..3edbab9 100644 --- a/build.gradle +++ b/build.gradle @@ -15,6 +15,9 @@ buildscript { classpath 'com.google.dagger:hilt-android-gradle-plugin:2.42' classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navigation_version" classpath 'com.google.gms:google-services:4.3.15' + + //openSource + classpath 'com.google.android.gms:oss-licenses-plugin:0.10.4' } } plugins {