Skip to content

Commit

Permalink
[Merge] 매직리터럴 수정 -> develop
Browse files Browse the repository at this point in the history
  • Loading branch information
unam98 committed Jul 27, 2023
2 parents 5fd3de9 + d54119d commit d72c13a
Show file tree
Hide file tree
Showing 19 changed files with 187 additions and 338 deletions.
143 changes: 52 additions & 91 deletions app/src/main/java/com/runnect/runnect/presentation/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import android.os.Bundle
import android.view.View
import androidx.activity.viewModels
import androidx.fragment.app.commit
import androidx.fragment.app.replace
import com.runnect.runnect.R
import com.runnect.runnect.application.ApplicationClass
import com.runnect.runnect.application.PreferenceManager
Expand All @@ -22,129 +21,91 @@ import timber.log.Timber
class MainActivity : BindingActivity<ActivityMainBinding>(R.layout.activity_main) {
private val viewModel: MainViewModel by viewModels()

var isChangeToStorage: Boolean = false
var isChangeToDiscover: Boolean = false
var fromEndRunActivity: String? = ""
var fromDeleteMyDraw: Boolean = false
var fromDrawMyCourse: Boolean = false
var fromScrapFragment: Boolean = false

companion object {
var isVisitorMode = false
var discoverFragment: DiscoverFragment? = null
var storageScrapFragment: StorageScrapFragment? = null

fun updateDiscoverFragment() {
discoverFragment?.getRecommendCourses()
}

fun updateStorageScrap() {
storageScrapFragment?.getCourse()
}

}
private var fromEndRunActivity: String? = null
private var isChangeToStorage: Boolean = false
private var isChangeToDiscover: Boolean = false
private var fromDeleteMyDraw: Boolean = false
private var fromDrawMyCourse: Boolean = false
private var fromScrapFragment: Boolean = false

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
checkVisitorMode()
binding.vm = viewModel
binding.lifecycleOwner = this
CheckIntentValue()
checkIntentValue()
initView()
addListener() //이게 있어야 changeFragment를 돌릴 수 있음
addListener()
}

private fun checkVisitorMode() {
isVisitorMode =
PreferenceManager.getString(ApplicationClass.appContext, "access")!! == "visitor"
PreferenceManager.getString(ApplicationClass.appContext, "access") == "visitor"
}

private fun CheckIntentValue() {

private fun checkIntentValue() {
fromDeleteMyDraw = intent.getBooleanExtra("fromDeleteMyDraw", false)
fromDrawMyCourse = intent.getBooleanExtra("fromDrawActivity", false)

if (fromDeleteMyDraw) {
isChangeToStorage = true
}
if (fromDrawMyCourse) {
isChangeToStorage = true
}
fromScrapFragment = intent.getBooleanExtra("fromScrapFragment", false)

if (fromScrapFragment) {
isChangeToDiscover = true
}
fromEndRunActivity = intent.getStringExtra("dataFrom")

if (fromEndRunActivity == "myDraw") {
isChangeToStorage = true
}
if (fromEndRunActivity == "detail") {
isChangeToDiscover = true
}
isChangeToStorage = fromDeleteMyDraw || fromDrawMyCourse || fromEndRunActivity == "myDraw"
isChangeToDiscover = fromScrapFragment || fromEndRunActivity == "detail"
}

private fun initView() {
if (!isChangeToStorage && !isChangeToDiscover) {//1. 앱 처음 빌드
changeFragment(R.id.menu_main_drawing)
Timber.tag("hu").d("fromDrawActivity (default) : ${isChangeToStorage}")
} else if (isChangeToStorage) { // 2. 다른 액티비티에서 넘어오는 경우 (from DrawActivity)
isChangeToStorage = false
binding.btmNaviMain.menu.findItem(R.id.menu_main_storage).isChecked = true
changeFragment(R.id.menu_main_storage)
Timber.tag("hu").d("fromDrawActivity (true->false): ${isChangeToStorage}")
} else if (isChangeToDiscover) { // 2. 다른 액티비티에서 넘어오는 경우 (from ScrapFragment)
isChangeToDiscover = false
binding.btmNaviMain.menu.findItem(R.id.menu_main_discover).isChecked = true
changeFragment(R.id.menu_main_discover)
Timber.tag("hu").d("fromScrapFragment (true->false): ${isChangeToDiscover}")
val selectedItemId = when {
isChangeToStorage -> R.id.menu_main_storage.also { isChangeToStorage = false }
isChangeToDiscover -> R.id.menu_main_discover.also { isChangeToDiscover = false }
else -> R.id.menu_main_drawing
}

binding.btmNaviMain.menu.findItem(selectedItemId).isChecked = true
changeFragment(selectedItemId)
}

private fun changeFragment(menuItemId: Int) {
when (menuItemId) {
R.id.menu_main_drawing -> supportFragmentManager.commit {
isChangeToStorage = false
isChangeToDiscover = false
replace<CourseMainFragment>(R.id.fl_main)
}

R.id.menu_main_storage -> supportFragmentManager.commit {
isChangeToStorage = false
isChangeToDiscover = false
replace<StorageMainFragment>(R.id.fl_main)
}

R.id.menu_main_discover -> supportFragmentManager.commit {
isChangeToStorage = false
isChangeToDiscover = false
replace<DiscoverFragment>(R.id.fl_main)
}

R.id.menu_main_my_page -> supportFragmentManager.commit {
isChangeToStorage = false
isChangeToDiscover = false
replace<MyPageFragment>(R.id.fl_main)
}

else -> IllegalArgumentException("${this::class.java.simpleName} Not found menu item id")
supportFragmentManager.commit {
replace(
R.id.fl_main, when (menuItemId) {
R.id.menu_main_drawing -> CourseMainFragment()
R.id.menu_main_storage -> StorageMainFragment()
R.id.menu_main_discover -> DiscoverFragment()
R.id.menu_main_my_page -> MyPageFragment()
else -> throw IllegalArgumentException("${this@MainActivity::class.java.simpleName} Not found menu item id")
}
)
}
}

private fun addListener() {
binding.btmNaviMain.setOnItemSelectedListener {
changeFragment(it.itemId)
Timber.tag("hu").d("fromDrawActivity when touch : ${isChangeToStorage}")
Timber.tag("hu").d("fromDrawActivity when touch : $isChangeToStorage")
true
}
}
fun getBottomNavMain(): View? {
return findViewById(R.id.btm_navi_main)
} //R.id로 찾아오는 거면 굳이 여기서 함수로 호출하지 않고 StorageMyDrawFragment에서 바로 접근해도 되겠는데?
//그러면 MainActivity를 참조 안 해도 되니까 StorageMyDrawFragment에 작성된 참조 코드도 제거해줄 수 있을 듯.

fun getBtnDeleteCourseMain(): View? {
return findViewById(R.id.btn_delete_course_main)
fun getBottomNavMain(): View {
return binding.btmNaviMain
}

fun getBtnDeleteCourseMain(): View {
return binding.btnDeleteCourseMain
}

companion object {
var isVisitorMode = false
var discoverFragment: DiscoverFragment? = null
var storageScrapFragment: StorageScrapFragment? = null
fun updateDiscoverFragment() {
discoverFragment?.getRecommendCourses()
}

fun updateStorageScrap() {
storageScrapFragment?.getCourse()
}
}
}
}


Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ class CountDownActivity :

val intentToRun = Intent(this, RunActivity::class.java)
val numList = arrayListOf(
AppCompatResources.getDrawable(this, R.drawable.anim_num2),
AppCompatResources.getDrawable(this, R.drawable.anim_num1)
AppCompatResources.getDrawable(this, R.drawable.anim_num1),
AppCompatResources.getDrawable(this, R.drawable.anim_num2)
)
val anim = AnimationUtils.loadAnimation(this, R.anim.anim_count)
setAnimationListener(anim, numList, intentToRun)
Expand All @@ -42,15 +42,15 @@ class CountDownActivity :
numList: ArrayList<Drawable?>,
intentToRun: Intent,
) {
var counter = -1
var counter = COUNT_START

anim.setAnimationListener(object : AnimationListener {
override fun onAnimationStart(animation: Animation) {
}

override fun onAnimationEnd(animation: Animation) {
counter += 1
if (counter == 2) {
counter -= COUNT_DECREASE_UNIT
if (counter == COUNT_END) {
intentToRun.apply {
putExtra(
"CountToRunData", CourseData(
Expand Down Expand Up @@ -78,4 +78,10 @@ class CountDownActivity :
override fun onAnimationRepeat(animation: Animation) {}
})
}

companion object {
const val COUNT_START = 2
const val COUNT_END = -1
const val COUNT_DECREASE_UNIT = 1
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,9 @@ class CourseMainFragment :
BindingFragment<FragmentCourseMainBinding>(R.layout.fragment_course_main),
OnMapReadyCallback {


private lateinit var naverMap: NaverMap
private lateinit var locationSource: FusedLocationSource
private var currentLocation: LatLng = LatLng(37.52901832956373, 126.9136196847032) //국회의사당 좌표

private lateinit var fusedLocation: FusedLocationProviderClient//현재 위치 반환 객체 변수

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
Expand Down Expand Up @@ -117,9 +115,9 @@ class CourseMainFragment :
onDestroy() //앱 종료
}
})
.setRationaleTitle("위치권한 요청")
.setRationaleMessage("코스의 출발지 설정과 러닝 트래킹을 위해 현재 위치 정보를 사용하도록 허용합니다.")
.setDeniedMessage("권한을 허용해주세요. [설정] > [앱 및 알림] > [고급] > [앱 권한]")
.setRationaleTitle(PERMISSION_TITLE)
.setRationaleMessage(PERMISSION_CONTENT)
.setDeniedMessage(PERMISSION_GUIDE)
.setPermissions(
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION
Expand All @@ -136,5 +134,8 @@ class CourseMainFragment :

companion object {
private const val LOCATION_PERMISSION_REQUEST_CODE = 1000
const val PERMISSION_TITLE = "위치권한 요청"
const val PERMISSION_CONTENT = "코스의 출발지 설정과 러닝 트래킹을 위해 현재 위치 정보를 사용하도록 허용합니다."
const val PERMISSION_GUIDE = "권한을 허용해주세요. [설정] > [앱 및 알림] > [고급] > [앱 권한]"
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,10 @@ class CourseDetailActivity :
private val backPressedCallback = object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
root = intent.getStringExtra("root").toString()
if (root == MY_UPLOAD_ACTIVITY_TAG) {
handleReturnToMyUpload()
} else if (root == COURSE_DISCOVER_TAG) {
handleReturnToDiscover()
} else if (root == "storageScrap") {
handleReturnToStorageScrap()
when (root) {
MY_UPLOAD_ACTIVITY_TAG -> handleReturnToMyUpload()
COURSE_DISCOVER_TAG -> handleReturnToDiscover()
STORAGE_SCRAP_TAG -> handleReturnToStorageScrap()
}
}
}
Expand Down Expand Up @@ -89,21 +87,22 @@ class CourseDetailActivity :
binding.ivCourseDetailBack.setOnClickListener {
if (viewModel.editMode.value == true) {
editInterruptDialog.show()
} else {
if (!viewModel.isEdited) {
finish()
overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right)
} else {
if (root == MY_UPLOAD_ACTIVITY_TAG) {
handleReturnToMyUpload()
} else if (root == COURSE_DISCOVER_TAG) {
handleReturnToDiscover()
} else if (root == "storageScrap") {
handleReturnToStorageScrap()
}
}
return@setOnClickListener
}

if (!viewModel.isEdited) {
finish()
overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right)
return@setOnClickListener
}

when (root) {
MY_UPLOAD_ACTIVITY_TAG -> handleReturnToMyUpload()
COURSE_DISCOVER_TAG -> handleReturnToDiscover()
STORAGE_SCRAP_TAG -> handleReturnToStorageScrap()
}
}

binding.ivCourseDetailScrap.setOnClickListener {
if (isVisitorMode) {
CustomToast.createToast(this@CourseDetailActivity, "러넥트에 가입하면 코스를 스크랩할 수 있어요")
Expand Down Expand Up @@ -263,7 +262,6 @@ class CourseDetailActivity :
}

}

setDepartureLatLng()
setTouchList()
}
Expand Down Expand Up @@ -355,7 +353,6 @@ class CourseDetailActivity :
viewModel.deleteUploadCourse(publicCourseId)
}
}

}
}

Expand All @@ -379,7 +376,6 @@ class CourseDetailActivity :
}
}


@SuppressLint("MissingInflatedId")
fun bottomSheet() {
// bottomSheetDialog 객체 생성
Expand Down Expand Up @@ -425,6 +421,7 @@ class CourseDetailActivity :
const val EDIT_INTERRUPT_DIALOG_NO_BTN = "아니오"
const val MY_UPLOAD_ACTIVITY_TAG = "upload"
const val COURSE_DISCOVER_TAG = "discover"
const val STORAGE_SCRAP_TAG = "storageScrap"
const val REPORT_URL =
"https://docs.google.com/forms/d/e/1FAIpQLSek2rkClKfGaz1zwTEHX3Oojbq_pbF3ifPYMYezBU0_pe-_Tg/viewform"
const val RES_NAME = "mypage_img_stamp_"
Expand Down
Loading

0 comments on commit d72c13a

Please sign in to comment.