Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 3 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,7 @@ dependencies {
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)

// 스플래시
implementation(libs.androidx.core.splashscreen)
}
20 changes: 13 additions & 7 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,18 @@
android:supportsRtl="true"
android:theme="@style/Theme.NoBet"
tools:targetApi="31">
<activity
android:name=".presentation.screen.splash.SplashActivity"
android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".presentation.screen.report.ReportActivity"
android:exported="false" />
<activity
android:name=".presentation.screen.blockList.BlockListActivity"
android:exported="false" />
Expand All @@ -23,13 +35,7 @@
android:exported="false" />
<activity
android:name=".presentation.screen.main.MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
android:exported="false" />
</application>

</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.PopupWindow
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
Expand All @@ -22,6 +21,7 @@ import kr.hs.anu.nobet.databinding.ActivityMainBinding
import kr.hs.anu.nobet.presentation.screen.allow.AllowActivity
import kr.hs.anu.nobet.presentation.screen.blockList.BlockListActivity
import kr.hs.anu.nobet.presentation.screen.login.LoginActivity
import kr.hs.anu.nobet.presentation.screen.report.ReportActivity
import kr.hs.anu.nobet.utils.openPage

class MainActivity : AppCompatActivity() {
Expand Down Expand Up @@ -124,7 +124,8 @@ class MainActivity : AppCompatActivity() {
}

popupMenu.findViewById<ConstraintLayout>(R.id.menu_report).setOnClickListener {
Toast.makeText(anchor.context, "문제 신고", Toast.LENGTH_SHORT).show()
val intent = Intent(this, ReportActivity::class.java)
startActivity(intent)
popupWindow.dismiss()
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package kr.hs.anu.nobet.presentation.screen.report

import android.os.Bundle
import android.view.View
import androidx.activity.enableEdgeToEdge
import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import kr.hs.anu.nobet.R
import kr.hs.anu.nobet.databinding.ActivityReportBinding
import kr.hs.anu.nobet.utils.openPage

class ReportActivity : AppCompatActivity() {

private val viewModel: ReportViewModel by viewModels()
private lateinit var binding: ActivityReportBinding

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
binding = ActivityReportBinding.inflate(layoutInflater)
setContentView(binding.root)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}

viewModel.spinnerState.observe(this) { spinnerState ->
binding.layoutReportMenu.visibility = if (spinnerState) View.VISIBLE else View.INVISIBLE
}

// 로고 클릭시 메인으로
binding.ivTopbarLogo.setOnClickListener {
finish()
}

// 온라인 상담
binding.tvMobile.setOnClickListener {
this.openPage()
}

binding.layoutSpinner.setOnClickListener {
viewModel.toggle()
}

binding.ivDrop.setOnClickListener {
viewModel.toggle()
}

// TODO menu 값 클릭했을때 선택값으로 텍스트 변경 및 데이터 처리
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package kr.hs.anu.nobet.presentation.screen.report

import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel

class ReportViewModel : ViewModel() {

// spinner 상태
private val _spinnerState = MutableLiveData(false)
val spinnerState: LiveData<Boolean> = _spinnerState

// spinner 상태 관리
fun toggle() {
_spinnerState.value = !(_spinnerState.value ?: false)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package kr.hs.anu.nobet.presentation.screen.splash

import android.content.Intent
import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import androidx.appcompat.app.AppCompatActivity
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import kr.hs.anu.nobet.R
import kr.hs.anu.nobet.presentation.screen.main.MainActivity

class SplashActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
installSplashScreen().setKeepOnScreenCondition { false }
}

super.onCreate(savedInstanceState)
setContentView(R.layout.activity_splash)

// 딜레이 후 메인으로 이동
Handler(Looper.getMainLooper()).postDelayed({
startActivity(Intent(this, MainActivity::class.java))
finish()
}, 1500)
}
}
13 changes: 13 additions & 0 deletions app/src/main/res/drawable/ic_down_arrow.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<group>
<clip-path
android:pathData="M0,0h24v24h-24z"/>
<path
android:pathData="M8.12,9.29L12,13.17L15.88,9.29C15.973,9.197 16.083,9.124 16.204,9.074C16.324,9.024 16.454,8.998 16.585,8.998C16.716,8.998 16.846,9.024 16.967,9.074C17.087,9.124 17.198,9.197 17.29,9.29C17.383,9.383 17.456,9.493 17.506,9.614C17.556,9.734 17.582,9.864 17.582,9.995C17.582,10.126 17.556,10.256 17.506,10.377C17.456,10.498 17.383,10.608 17.29,10.7L12.7,15.29C12.608,15.383 12.498,15.456 12.377,15.507C12.256,15.557 12.126,15.583 11.995,15.583C11.864,15.583 11.734,15.557 11.613,15.507C11.492,15.456 11.383,15.383 11.29,15.29L6.7,10.7C6.607,10.608 6.534,10.498 6.484,10.377C6.433,10.256 6.408,10.126 6.408,9.995C6.408,9.864 6.433,9.734 6.484,9.613C6.534,9.492 6.607,9.383 6.7,9.29C7.09,8.91 7.73,8.9 8.12,9.29Z"
android:fillColor="#000000"/>
</group>
</vector>
Binary file added app/src/main/res/drawable/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions app/src/main/res/drawable/report_background.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="@dimen/radius_1" />
<solid android:color="@color/white" />
<stroke
android:width="1dp"
android:color="@color/gray" />
</shape>
6 changes: 6 additions & 0 deletions app/src/main/res/drawable/report_btn_background.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="@dimen/radius_1" />
<solid android:color="@color/red" />
</shape>
Loading