Skip to content

Commit 935db92

Browse files
authored
Merge pull request #64 from boostcampwm-2022/prepare-demo
[PR] λͺ¨λ“  ν™”λ©΄ μ—°κ²° μž‘μ—… μ™„λ£Œ
2 parents 8aeda15 + 8ba123f commit 935db92

File tree

13 files changed

+103
-100
lines changed

13 files changed

+103
-100
lines changed

β€Žpresentation/src/main/AndroidManifest.xml

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,32 +20,17 @@
2020
android:dataExtractionRules="@xml/data_extraction_rules"
2121
android:fullBackupContent="@xml/backup_rules"
2222
android:icon="@mipmap/ic_bus"
23-
android:roundIcon="@mipmap/ic_bus_round"
2423
android:label="@string/app_name"
24+
android:roundIcon="@mipmap/ic_bus_round"
2525
android:supportsRtl="true"
26-
android:theme="@style/Theme.Splash"
2726
android:usesCleartextTraffic="true"
2827
tools:targetApi="31">
2928

30-
31-
<activity
32-
android:name=".TestActivity"
33-
android:excludeFromRecents="true"
34-
android:exported="true"
35-
android:launchMode="singleTop"
36-
android:showOnLockScreen="true">
37-
<intent-filter>
38-
<action android:name="android.intent.action.MAIN" />
39-
<category android:name="android.intent.category.DEFAULT" />
40-
</intent-filter>
41-
</activity>
42-
4329
<receiver
4430
android:name=".AlarmReceiver"
45-
android:enabled="true"/>
31+
android:enabled="true" />
4632

47-
<service
48-
android:name=".SoundService"/>
33+
<service android:name=".SoundService" />
4934

5035
<provider
5136
android:name="androidx.startup.InitializationProvider"
@@ -54,7 +39,11 @@
5439

5540
<activity
5641
android:name=".MainActivity"
57-
android:exported="true">
42+
android:excludeFromRecents="true"
43+
android:exported="true"
44+
android:launchMode="singleTask"
45+
android:showOnLockScreen="true"
46+
android:theme="@style/Theme.Splash">
5847

5948
<intent-filter>
6049
<action android:name="android.intent.action.MAIN" />

β€Žpresentation/src/main/java/com/stop/AlarmFunctions.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import android.app.AlarmManager
44
import android.app.PendingIntent
55
import android.content.Context
66
import android.content.Intent
7-
import android.os.Build
87
import java.text.ParseException
98
import java.text.SimpleDateFormat
109
import java.util.*
@@ -20,11 +19,11 @@ class AlarmFunctions(
2019

2120
val receiverIntent = Intent(context, AlarmReceiver::class.java)
2221
receiverIntent.apply {
23-
putExtra("ALARM_REQUEST_CODE", alarmCode)
22+
putExtra("ALARM_CODE", alarmCode)
2423
putExtra("ALARM_CONTENT", alarmContent)
2524
}
2625

27-
val pendingIntent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
26+
val pendingIntent = if (isMoreThanSnow()) {
2827
PendingIntent.getBroadcast(context, alarmCode, receiverIntent, PendingIntent.FLAG_IMMUTABLE)
2928
} else {
3029
PendingIntent.getBroadcast(context, alarmCode, receiverIntent, PendingIntent.FLAG_UPDATE_CURRENT)
@@ -62,7 +61,7 @@ class AlarmFunctions(
6261
val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager
6362
val intent = Intent(context, AlarmReceiver::class.java)
6463

65-
pendingIntent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
64+
pendingIntent = if (isMoreThanSnow()) {
6665
PendingIntent.getBroadcast(context, alarmCode, intent, PendingIntent.FLAG_IMMUTABLE)
6766
} else {
6867
PendingIntent.getBroadcast(context, alarmCode, intent, PendingIntent.FLAG_UPDATE_CURRENT)

β€Žpresentation/src/main/java/com/stop/AlarmReceiver.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import androidx.core.app.NotificationCompat
1111
class AlarmReceiver : BroadcastReceiver() {
1212

1313
override fun onReceive(context: Context, intent: Intent) {
14-
val requestCode = intent.extras?.getInt("ALARM_REQUEST_CODE") ?: -1
14+
val alarmCode = intent.extras?.getInt("ALARM_CODE") ?: -1
1515
val alarmContent = intent.extras?.getString("ALARM_CONTENT") ?: ""
1616

1717
val soundServiceIntent = Intent(context, SoundService::class.java)
@@ -26,8 +26,8 @@ class AlarmReceiver : BroadcastReceiver() {
2626
}
2727
}
2828

29-
val pendingIntent = PendingIntent.getActivity(context, requestCode, Intent(context, TestActivity::class.java).apply {
30-
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
29+
val pendingIntent = PendingIntent.getActivity(context, alarmCode, Intent(context, MainActivity::class.java).apply {
30+
putExtra("ALARM_CODE", alarmCode)
3131
}, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE)
3232

3333
val builder = NotificationCompat.Builder(context, ALARM_RECEIVER_CHANNEL_ID)
@@ -47,8 +47,8 @@ class AlarmReceiver : BroadcastReceiver() {
4747
} else {
4848
context.startService(soundServiceIntent)
4949

50-
Intent(context, TestActivity::class.java).apply {
51-
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
50+
Intent(context, MainActivity::class.java).apply {
51+
putExtra("ALARM_CODE", alarmCode)
5252
context.startActivity(this)
5353
}
5454
}

β€Žpresentation/src/main/java/com/stop/MainActivity.kt

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,49 @@
11
package com.stop
22

3+
import android.app.KeyguardManager
34
import android.content.Context
5+
import android.content.Intent
46
import android.graphics.Rect
57
import android.os.Bundle
6-
import com.stop.databinding.ActivityMainBinding
78
import android.view.MotionEvent
89
import android.view.View
910
import android.view.WindowManager
1011
import android.view.inputmethod.InputMethodManager
1112
import android.widget.EditText
1213
import androidx.appcompat.app.AppCompatActivity
1314
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
15+
import androidx.navigation.fragment.NavHostFragment
16+
import com.stop.databinding.ActivityMainBinding
1417
import dagger.hilt.android.AndroidEntryPoint
1518

1619
@AndroidEntryPoint
1720
class MainActivity : AppCompatActivity() {
1821
private lateinit var binding: ActivityMainBinding
1922

23+
override fun onNewIntent(intent: Intent?) {
24+
super.onNewIntent(intent)
25+
26+
val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
27+
val inflater = navHostFragment.navController.navInflater
28+
val graph = inflater.inflate(R.navigation.nav_graph)
29+
graph.setStartDestination(R.id.alarmStartFragment)
30+
31+
navHostFragment.navController.graph = graph
32+
}
33+
2034
override fun onCreate(savedInstanceState: Bundle?) {
2135
installSplashScreen()
36+
2237
super.onCreate(savedInstanceState)
2338

2439
binding = ActivityMainBinding.inflate(layoutInflater)
25-
hideStatusBar()
2640
setContentView(binding.root)
41+
42+
hideStatusBar()
43+
showOverLockScreen()
2744
}
2845

46+
2947
private fun hideStatusBar() {
3048
window.setFlags(
3149
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
@@ -55,4 +73,20 @@ class MainActivity : AppCompatActivity() {
5573
this.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
5674
inputMethodManager.hideSoftInputFromWindow(view.windowToken, 0)
5775
}
76+
77+
private fun showOverLockScreen() {
78+
window.addFlags(
79+
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON or
80+
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD or
81+
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED or
82+
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
83+
)
84+
85+
if (isMoreThanOreoMr1()) {
86+
setShowWhenLocked(true)
87+
setTurnScreenOn(true)
88+
(getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager).requestDismissKeyguard(this, null)
89+
}
90+
}
91+
5892
}

β€Žpresentation/src/main/java/com/stop/SoundService.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class SoundService : LifecycleService() {
7373

7474
private fun createNotification() {
7575
val notificationManager = this.getSystemService(NotificationManager::class.java)
76-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
76+
if (isMoreThanOreo()) {
7777
if (notificationManager.getNotificationChannel(DEFAULT_NOTIFICATION_CHANNEL_ID) == null) {
7878
NotificationChannel(DEFAULT_NOTIFICATION_CHANNEL_ID, DEFAULT_NOTIFICATION_CHANNEL_NAME, NotificationManager.IMPORTANCE_DEFAULT).apply {
7979
notificationManager.createNotificationChannel(this)
@@ -109,4 +109,4 @@ class SoundService : LifecycleService() {
109109
private const val DEFAULT_NOTIFICATION_ID = 124
110110
}
111111

112-
}
112+
}

β€Žpresentation/src/main/java/com/stop/TestActivity.kt

Lines changed: 0 additions & 36 deletions
This file was deleted.

β€Žpresentation/src/main/java/com/stop/ui/alarmsetting/AlarmSettingFragment.kt

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import android.view.View
99
import android.view.ViewGroup
1010
import androidx.fragment.app.Fragment
1111
import androidx.fragment.app.viewModels
12+
import androidx.navigation.findNavController
1213
import androidx.work.PeriodicWorkRequestBuilder
1314
import androidx.work.WorkManager
1415
import com.stop.AlarmFunctions
@@ -125,18 +126,12 @@ class AlarmSettingFragment : Fragment() {
125126
alarmSettingViewModel.saveAlarm()
126127
makeAlarm()
127128
//makeAlarmWorker()
128-
//binding.root.findNavController().navigate(R.id.action_alarmSetting_to_mapFragment)
129+
binding.root.findNavController().navigate(R.id.action_alarmSetting_to_mapFragment)
129130
}
130131

131-
private var test = true
132132
private fun makeAlarm() {
133-
if (test) {
134-
alarmFunctions.callAlarm("10:00:00", 4, 123, "λ§‰μ°¨μ•Œλ¦Ό")
135-
test = !test
136-
} else {
137-
alarmFunctions.cancelAlarm(123)
138-
test = !test
139-
}
133+
//TODO μ•ŒλžŒ 바꿔야함
134+
alarmFunctions.callAlarm("00:00:05", 4, 123, "λ§‰μ°¨μ•Œλ¦Ό")
140135
}
141136

142137
private fun makeAlarmWorker() {

β€Žpresentation/src/main/java/com/stop/ui/alarmstart/AlarmStartFragment.kt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
package com.stop.ui.alarmstart
22

3+
import android.content.Intent
34
import android.os.Bundle
45
import android.view.LayoutInflater
56
import android.view.View
67
import android.view.ViewGroup
78
import androidx.fragment.app.Fragment
9+
import androidx.navigation.findNavController
10+
import com.stop.R
11+
import com.stop.SoundService
812
import com.stop.databinding.FragmentAlarmStartBinding
913

1014
class AlarmStartFragment : Fragment() {
@@ -25,6 +29,25 @@ class AlarmStartFragment : Fragment() {
2529
return binding.root
2630
}
2731

32+
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
33+
super.onViewCreated(view, savedInstanceState)
34+
35+
listenButton()
36+
}
37+
38+
private fun listenButton() {
39+
with(binding) {
40+
textViewAlarmQuit.setOnClickListener {
41+
val intent = Intent(context, SoundService::class.java)
42+
context?.stopService(intent)
43+
}
44+
45+
textViewMissionStart.setOnClickListener {
46+
root.findNavController().navigate(R.id.action_alarmStartFragment_to_missionFragment)
47+
}
48+
}
49+
}
50+
2851
override fun onDestroyView() {
2952
_binding = null
3053

β€Žpresentation/src/main/java/com/stop/ui/map/MapTMap.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import com.skt.tmap.poi.TMapPOIItem
1010
import com.stop.model.Location
1111
import com.stop.ui.util.Marker
1212
import com.stop.ui.util.TMap
13-
import java.util.ArrayList
1413

1514
class MapTMap(
1615
context: Context,

β€Žpresentation/src/main/java/com/stop/ui/routedetail/RouteDetailFragment.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import android.view.LayoutInflater
66
import android.view.View
77
import android.view.ViewGroup
88
import androidx.fragment.app.activityViewModels
9+
import androidx.navigation.findNavController
10+
import com.stop.R
911
import com.stop.databinding.FragmentRouteDetailBinding
1012
import com.stop.ui.route.RouteViewModel
1113
import dagger.hilt.android.AndroidEntryPoint
@@ -40,7 +42,10 @@ class RouteDetailFragment : Fragment() {
4042
}
4143

4244
private fun initView() {
43-
45+
//TODO μž„μ‹œ 화면이동 둜직
46+
binding.root.setOnClickListener {
47+
binding.root.findNavController().navigate(R.id.action_routeDetailFragment_to_alarmSetting)
48+
}
4449
}
4550

4651
override fun onDestroyView() {

0 commit comments

Comments
Β (0)