diff --git a/app/build.gradle.kts b/app/build.gradle.kts index be58197..c83abfc 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -7,6 +7,9 @@ android { namespace = "com.jihyun.floclonecoding" compileSdk = 34 + viewBinding { + enable = true + } defaultConfig { applicationId = "com.jihyun.floclonecoding" minSdk = 24 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ca04ff..6980924 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,6 +21,9 @@ + \ No newline at end of file diff --git a/app/src/main/java/com/jihyun/floclonecoding/AlbumFragment.kt b/app/src/main/java/com/jihyun/floclonecoding/AlbumFragment.kt new file mode 100644 index 0000000..85609ec --- /dev/null +++ b/app/src/main/java/com/jihyun/floclonecoding/AlbumFragment.kt @@ -0,0 +1,43 @@ +package com.jihyun.floclonecoding + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import androidx.fragment.app.Fragment +import com.google.android.material.tabs.TabLayoutMediator +import com.jihyun.floclonecoding.databinding.FragmentAlbumBinding + +class AlbumFragment : Fragment() { + lateinit var binding : FragmentAlbumBinding + + private val information = arrayListOf("수록곡", "상세정보", "영상") + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentAlbumBinding.inflate(inflater, container, false) + + binding.albumAlbumIv.setOnClickListener { + (context as MainActivity).supportFragmentManager.beginTransaction(). + replace(R.id.main_frm,HomeFragment()). + commitAllowingStateLoss() + } + + val albumAdapter = AlbumVPAdapter(this) + binding.albumContentVp.adapter = albumAdapter + TabLayoutMediator(binding.albumContentTb, binding.albumContentVp) { + tab, position -> + tab.text = information[position] + }.attach() + +// Toast 코드 +// binding.songLalacLayout.setOnClickListener { +// Toast.makeText(activity,"LILAC",Toast.LENGTH_SHORT).show() +// } + return binding.root + } +} \ No newline at end of file diff --git a/app/src/main/java/com/jihyun/floclonecoding/AlbumVPAdapter.kt b/app/src/main/java/com/jihyun/floclonecoding/AlbumVPAdapter.kt new file mode 100644 index 0000000..2623446 --- /dev/null +++ b/app/src/main/java/com/jihyun/floclonecoding/AlbumVPAdapter.kt @@ -0,0 +1,16 @@ +package com.jihyun.floclonecoding + +import androidx.fragment.app.Fragment +import androidx.viewpager2.adapter.FragmentStateAdapter + +class AlbumVPAdapter(fragment:Fragment) : FragmentStateAdapter(fragment) { + override fun getItemCount(): Int = 3 + + override fun createFragment(position: Int): Fragment { + return when(position){ + 0 -> SongFragment() + 1 -> DetailFragment() + else -> VideoFragment() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/jihyun/floclonecoding/BannerFragment.kt b/app/src/main/java/com/jihyun/floclonecoding/BannerFragment.kt new file mode 100644 index 0000000..cea8be1 --- /dev/null +++ b/app/src/main/java/com/jihyun/floclonecoding/BannerFragment.kt @@ -0,0 +1,24 @@ +package com.jihyun.floclonecoding + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.jihyun.floclonecoding.databinding.FragmentBannerBinding + +class BannerFragment(val imgRes : Int) : Fragment() { + + lateinit var binding : FragmentBannerBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentBannerBinding.inflate(inflater, container, false) + + binding.bannerImageIv.setImageResource(imgRes) + return binding.root + } +} \ No newline at end of file diff --git a/app/src/main/java/com/jihyun/floclonecoding/BannerVPAdapter.kt b/app/src/main/java/com/jihyun/floclonecoding/BannerVPAdapter.kt new file mode 100644 index 0000000..1478069 --- /dev/null +++ b/app/src/main/java/com/jihyun/floclonecoding/BannerVPAdapter.kt @@ -0,0 +1,18 @@ +package com.jihyun.floclonecoding + +import androidx.fragment.app.Fragment +import androidx.viewpager2.adapter.FragmentStateAdapter + +class BannerVPAdapter(fragment: Fragment) :FragmentStateAdapter(fragment) { + + private val fragmentlist : ArrayList = ArrayList() + //private: 외부에서 쓰는 거 방지! + override fun getItemCount(): Int = fragmentlist.size + + override fun createFragment(position: Int): Fragment = fragmentlist[position] + + fun addFragment(fragment: Fragment){ + fragmentlist.add(fragment) + notifyItemInserted(fragmentlist.size-1) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/jihyun/floclonecoding/DetailFragment.kt b/app/src/main/java/com/jihyun/floclonecoding/DetailFragment.kt new file mode 100644 index 0000000..4b1b3f4 --- /dev/null +++ b/app/src/main/java/com/jihyun/floclonecoding/DetailFragment.kt @@ -0,0 +1,23 @@ +package com.jihyun.floclonecoding + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.jihyun.floclonecoding.databinding.FragmentDetailBinding + +class DetailFragment : Fragment() { + + lateinit var binding: FragmentDetailBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentDetailBinding.inflate(inflater,container, false) + + return binding.root + } +} \ No newline at end of file diff --git a/app/src/main/java/com/jihyun/floclonecoding/HomeFragment.kt b/app/src/main/java/com/jihyun/floclonecoding/HomeFragment.kt new file mode 100644 index 0000000..6e873b0 --- /dev/null +++ b/app/src/main/java/com/jihyun/floclonecoding/HomeFragment.kt @@ -0,0 +1,38 @@ +package com.jihyun.floclonecoding + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.viewpager2.widget.ViewPager2 +import com.jihyun.floclonecoding.databinding.FragmentHomeBinding + +class HomeFragment : Fragment() { + + lateinit var binding: FragmentHomeBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentHomeBinding.inflate(inflater, container, false) + + binding.homeAlbumImgIv1.setOnClickListener { + + } + + val bannerAdapter = BannerVPAdapter(this) + bannerAdapter.addFragment(BannerFragment(R.drawable.img_home_viewpager_exp)) + bannerAdapter.addFragment(BannerFragment(R.drawable.img_home_viewpager_exp2)) + bannerAdapter.addFragment(BannerFragment(R.drawable.img_home_viewpager_exp)) + bannerAdapter.addFragment(BannerFragment(R.drawable.img_home_viewpager_exp2)) + + binding.homeBannerVp.adapter = bannerAdapter + binding.homeBannerVp.orientation = ViewPager2.ORIENTATION_HORIZONTAL + + return binding.root + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/jihyun/floclonecoding/LockerFragment.kt b/app/src/main/java/com/jihyun/floclonecoding/LockerFragment.kt new file mode 100644 index 0000000..2689908 --- /dev/null +++ b/app/src/main/java/com/jihyun/floclonecoding/LockerFragment.kt @@ -0,0 +1,4 @@ +package com.jihyun.floclonecoding + +class LockerFragment { +} \ No newline at end of file diff --git a/app/src/main/java/com/jihyun/floclonecoding/LookFragment.kt b/app/src/main/java/com/jihyun/floclonecoding/LookFragment.kt new file mode 100644 index 0000000..a51f9d5 --- /dev/null +++ b/app/src/main/java/com/jihyun/floclonecoding/LookFragment.kt @@ -0,0 +1,4 @@ +package com.jihyun.floclonecoding + +class LookFragment { +} \ No newline at end of file diff --git a/app/src/main/java/com/jihyun/floclonecoding/MainActivity.kt b/app/src/main/java/com/jihyun/floclonecoding/MainActivity.kt index 5d08653..22604e4 100644 --- a/app/src/main/java/com/jihyun/floclonecoding/MainActivity.kt +++ b/app/src/main/java/com/jihyun/floclonecoding/MainActivity.kt @@ -1,20 +1,40 @@ package com.jihyun.floclonecoding +import android.content.Intent import android.os.Bundle +import android.util.Log import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat +import com.jihyun.floclonecoding.databinding.ActivityMainBinding class MainActivity : AppCompatActivity() { + + lateinit var binding: ActivityMainBinding + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - enableEdgeToEdge() - setContentView(R.layout.activity_main) - 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 + binding = ActivityMainBinding.inflate(layoutInflater) + setContentView(binding.root) + + val song = Song(binding.mainMiniplayerTitleTv.text.toString(), binding.mainMiniplayerSingerTv.text.toString()) + + + binding.mainPlayerCl.setOnClickListener { + //startActivity(Intent(this, SongActivity::class.java)) + val intent = Intent(this, SongActivity::class.java) + intent.putExtra("title", song.title) + intent.putExtra("singer", song.singer) + startActivity(intent) } + initBottomNavigation() + + Log.d("Song", song.title + song.singer) + + } + } + + private fun initBottomNavigation() { + TODO("Not yet implemented") } -} \ No newline at end of file diff --git a/app/src/main/java/com/jihyun/floclonecoding/SearchFragment.kt b/app/src/main/java/com/jihyun/floclonecoding/SearchFragment.kt new file mode 100644 index 0000000..c47f331 --- /dev/null +++ b/app/src/main/java/com/jihyun/floclonecoding/SearchFragment.kt @@ -0,0 +1,4 @@ +package com.jihyun.floclonecoding + +class SearchFragment { +} \ No newline at end of file diff --git a/app/src/main/java/com/jihyun/floclonecoding/Song.kt b/app/src/main/java/com/jihyun/floclonecoding/Song.kt new file mode 100644 index 0000000..62c4cc3 --- /dev/null +++ b/app/src/main/java/com/jihyun/floclonecoding/Song.kt @@ -0,0 +1,6 @@ +package com.jihyun.floclonecoding + +data class Song( + val title : String = "", + val singer : String = "" +) diff --git a/app/src/main/java/com/jihyun/floclonecoding/SongActivity.kt b/app/src/main/java/com/jihyun/floclonecoding/SongActivity.kt new file mode 100644 index 0000000..1c8c208 --- /dev/null +++ b/app/src/main/java/com/jihyun/floclonecoding/SongActivity.kt @@ -0,0 +1,44 @@ +package com.jihyun.floclonecoding + +import android.os.Bundle +import android.view.View +import androidx.appcompat.app.AppCompatActivity +import com.jihyun.floclonecoding.databinding.ActivitySongBinding + +class SongActivity : + AppCompatActivity() { + + lateinit var binding : ActivitySongBinding + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivitySongBinding.inflate(layoutInflater) + setContentView(binding.root) + binding.songDownIb.setOnClickListener { + finish() + } + binding.songMiniplayerIv.setOnClickListener { + setPlayerStatus(false) + } + binding.songPauseIv.setOnClickListener { + setPlayerStatus(true) + + } + if (intent.hasExtra("title") && intent.hasExtra("singer")){ + binding.songMusicTitleTv.text=intent.getStringExtra("title") + binding.songSingerNameTv.text=intent.getStringExtra("singer") + } + } + private fun setPlayerStatus(isPlaying: Boolean) { + if(isPlaying){ + binding.songMiniplayerIv.visibility = View.VISIBLE + binding.songPauseIv.visibility = View.GONE + } + else { + binding.songMiniplayerIv.visibility = View.GONE + binding.songPauseIv.visibility = View.VISIBLE + } + } +} + + diff --git a/app/src/main/java/com/jihyun/floclonecoding/SongFragment.kt b/app/src/main/java/com/jihyun/floclonecoding/SongFragment.kt new file mode 100644 index 0000000..b47edc3 --- /dev/null +++ b/app/src/main/java/com/jihyun/floclonecoding/SongFragment.kt @@ -0,0 +1,24 @@ +package com.jihyun.floclonecoding + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.jihyun.floclonecoding.databinding.FragmentDetailBinding +import com.jihyun.floclonecoding.databinding.FragmentSongBinding + +class SongFragment : Fragment() { + + lateinit var binding: FragmentSongBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentSongBinding.inflate(inflater,container, false) + + return binding.root + } +} \ No newline at end of file diff --git a/app/src/main/java/com/jihyun/floclonecoding/VideoFragment.kt b/app/src/main/java/com/jihyun/floclonecoding/VideoFragment.kt new file mode 100644 index 0000000..fd093aa --- /dev/null +++ b/app/src/main/java/com/jihyun/floclonecoding/VideoFragment.kt @@ -0,0 +1,24 @@ +package com.jihyun.floclonecoding + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.jihyun.floclonecoding.databinding.FragmentDetailBinding +import com.jihyun.floclonecoding.databinding.FragmentVideoBinding + +class VideoFragment : Fragment() { + + lateinit var binding: FragmentVideoBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentVideoBinding.inflate(inflater,container, false) + + return binding.root + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/apple_44.png b/app/src/main/res/drawable/apple_44.png new file mode 100644 index 0000000..f365d20 Binary files /dev/null and b/app/src/main/res/drawable/apple_44.png differ diff --git a/app/src/main/res/drawable/btm_color_selector.xml b/app/src/main/res/drawable/btm_color_selector.xml new file mode 100644 index 0000000..3ecf8a7 --- /dev/null +++ b/app/src/main/res/drawable/btm_color_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/btn_actionbar_close.png b/app/src/main/res/drawable/btn_actionbar_close.png new file mode 100644 index 0000000..b6cc3cc Binary files /dev/null and b/app/src/main/res/drawable/btn_actionbar_close.png differ diff --git a/app/src/main/res/drawable/btn_actionbar_instagram.png b/app/src/main/res/drawable/btn_actionbar_instagram.png new file mode 100644 index 0000000..90bc027 Binary files /dev/null and b/app/src/main/res/drawable/btn_actionbar_instagram.png differ diff --git a/app/src/main/res/drawable/btn_arrow_black.png b/app/src/main/res/drawable/btn_arrow_black.png new file mode 100644 index 0000000..cc38ca8 Binary files /dev/null and b/app/src/main/res/drawable/btn_arrow_black.png differ diff --git a/app/src/main/res/drawable/btn_arrow_more.png b/app/src/main/res/drawable/btn_arrow_more.png new file mode 100644 index 0000000..59e410c Binary files /dev/null and b/app/src/main/res/drawable/btn_arrow_more.png differ diff --git a/app/src/main/res/drawable/btn_input_password.png b/app/src/main/res/drawable/btn_input_password.png new file mode 100644 index 0000000..8c2eb18 Binary files /dev/null and b/app/src/main/res/drawable/btn_input_password.png differ diff --git a/app/src/main/res/drawable/btn_input_password_off.png b/app/src/main/res/drawable/btn_input_password_off.png new file mode 100644 index 0000000..8234f53 Binary files /dev/null and b/app/src/main/res/drawable/btn_input_password_off.png differ diff --git a/app/src/main/res/drawable/btn_main_arrow_more.png b/app/src/main/res/drawable/btn_main_arrow_more.png new file mode 100644 index 0000000..59e410c Binary files /dev/null and b/app/src/main/res/drawable/btn_main_arrow_more.png differ diff --git a/app/src/main/res/drawable/btn_main_mike.png b/app/src/main/res/drawable/btn_main_mike.png new file mode 100644 index 0000000..9bddec6 Binary files /dev/null and b/app/src/main/res/drawable/btn_main_mike.png differ diff --git a/app/src/main/res/drawable/btn_main_setting.png b/app/src/main/res/drawable/btn_main_setting.png new file mode 100644 index 0000000..7a8d5d6 Binary files /dev/null and b/app/src/main/res/drawable/btn_main_setting.png differ diff --git a/app/src/main/res/drawable/btn_main_ticket.png b/app/src/main/res/drawable/btn_main_ticket.png new file mode 100644 index 0000000..52b6d64 Binary files /dev/null and b/app/src/main/res/drawable/btn_main_ticket.png differ diff --git a/app/src/main/res/drawable/btn_miniplay_mvpause.png b/app/src/main/res/drawable/btn_miniplay_mvpause.png new file mode 100644 index 0000000..470e046 Binary files /dev/null and b/app/src/main/res/drawable/btn_miniplay_mvpause.png differ diff --git a/app/src/main/res/drawable/btn_miniplay_mvplay.png b/app/src/main/res/drawable/btn_miniplay_mvplay.png new file mode 100644 index 0000000..d118677 Binary files /dev/null and b/app/src/main/res/drawable/btn_miniplay_mvplay.png differ diff --git a/app/src/main/res/drawable/btn_miniplay_pause.png b/app/src/main/res/drawable/btn_miniplay_pause.png new file mode 100644 index 0000000..470e046 Binary files /dev/null and b/app/src/main/res/drawable/btn_miniplay_pause.png differ diff --git a/app/src/main/res/drawable/btn_miniplayer_go_list.png b/app/src/main/res/drawable/btn_miniplayer_go_list.png new file mode 100644 index 0000000..1b2d977 Binary files /dev/null and b/app/src/main/res/drawable/btn_miniplayer_go_list.png differ diff --git a/app/src/main/res/drawable/btn_miniplayer_next.png b/app/src/main/res/drawable/btn_miniplayer_next.png new file mode 100644 index 0000000..3aedba3 Binary files /dev/null and b/app/src/main/res/drawable/btn_miniplayer_next.png differ diff --git a/app/src/main/res/drawable/btn_miniplayer_play.png b/app/src/main/res/drawable/btn_miniplayer_play.png new file mode 100644 index 0000000..f619072 Binary files /dev/null and b/app/src/main/res/drawable/btn_miniplayer_play.png differ diff --git a/app/src/main/res/drawable/btn_miniplayer_previous.png b/app/src/main/res/drawable/btn_miniplayer_previous.png new file mode 100644 index 0000000..d0bf1f6 Binary files /dev/null and b/app/src/main/res/drawable/btn_miniplayer_previous.png differ diff --git a/app/src/main/res/drawable/btn_nugu.png b/app/src/main/res/drawable/btn_nugu.png new file mode 100644 index 0000000..9bddec6 Binary files /dev/null and b/app/src/main/res/drawable/btn_nugu.png differ diff --git a/app/src/main/res/drawable/btn_panel_play_large.png b/app/src/main/res/drawable/btn_panel_play_large.png new file mode 100644 index 0000000..4ac7103 Binary files /dev/null and b/app/src/main/res/drawable/btn_panel_play_large.png differ diff --git a/app/src/main/res/drawable/btn_player_eq_off.png b/app/src/main/res/drawable/btn_player_eq_off.png new file mode 100644 index 0000000..f23d9c6 Binary files /dev/null and b/app/src/main/res/drawable/btn_player_eq_off.png differ diff --git a/app/src/main/res/drawable/btn_player_go_list.png b/app/src/main/res/drawable/btn_player_go_list.png new file mode 100644 index 0000000..1b2d977 Binary files /dev/null and b/app/src/main/res/drawable/btn_player_go_list.png differ diff --git a/app/src/main/res/drawable/btn_player_more.png b/app/src/main/res/drawable/btn_player_more.png new file mode 100644 index 0000000..a8ad9e6 Binary files /dev/null and b/app/src/main/res/drawable/btn_player_more.png differ diff --git a/app/src/main/res/drawable/btn_player_play.png b/app/src/main/res/drawable/btn_player_play.png new file mode 100644 index 0000000..f6c3201 Binary files /dev/null and b/app/src/main/res/drawable/btn_player_play.png differ diff --git a/app/src/main/res/drawable/btn_player_related.png b/app/src/main/res/drawable/btn_player_related.png new file mode 100644 index 0000000..9026fe5 Binary files /dev/null and b/app/src/main/res/drawable/btn_player_related.png differ diff --git a/app/src/main/res/drawable/btn_player_setting.png b/app/src/main/res/drawable/btn_player_setting.png new file mode 100644 index 0000000..0df8f69 Binary files /dev/null and b/app/src/main/res/drawable/btn_player_setting.png differ diff --git a/app/src/main/res/drawable/btn_player_unlike_off.png b/app/src/main/res/drawable/btn_player_unlike_off.png new file mode 100644 index 0000000..b539504 Binary files /dev/null and b/app/src/main/res/drawable/btn_player_unlike_off.png differ diff --git a/app/src/main/res/drawable/btn_player_unlike_on.png b/app/src/main/res/drawable/btn_player_unlike_on.png new file mode 100644 index 0000000..45a43ca Binary files /dev/null and b/app/src/main/res/drawable/btn_player_unlike_on.png differ diff --git a/app/src/main/res/drawable/btn_playlist_select_off.png b/app/src/main/res/drawable/btn_playlist_select_off.png new file mode 100644 index 0000000..62ef45c Binary files /dev/null and b/app/src/main/res/drawable/btn_playlist_select_off.png differ diff --git a/app/src/main/res/drawable/btn_playlist_select_on.png b/app/src/main/res/drawable/btn_playlist_select_on.png new file mode 100644 index 0000000..2d3b6af Binary files /dev/null and b/app/src/main/res/drawable/btn_playlist_select_on.png differ diff --git a/app/src/main/res/drawable/btn_setting_phone.png b/app/src/main/res/drawable/btn_setting_phone.png new file mode 100644 index 0000000..d6de4c6 Binary files /dev/null and b/app/src/main/res/drawable/btn_setting_phone.png differ diff --git a/app/src/main/res/drawable/btn_textbox_close.png b/app/src/main/res/drawable/btn_textbox_close.png new file mode 100644 index 0000000..10f1f63 Binary files /dev/null and b/app/src/main/res/drawable/btn_textbox_close.png differ diff --git a/app/src/main/res/drawable/btn_titlebar_close.png b/app/src/main/res/drawable/btn_titlebar_close.png new file mode 100644 index 0000000..6615def Binary files /dev/null and b/app/src/main/res/drawable/btn_titlebar_close.png differ diff --git a/app/src/main/res/drawable/btn_toggle_off.png b/app/src/main/res/drawable/btn_toggle_off.png new file mode 100644 index 0000000..983360d Binary files /dev/null and b/app/src/main/res/drawable/btn_toggle_off.png differ diff --git a/app/src/main/res/drawable/btn_toggle_on.png b/app/src/main/res/drawable/btn_toggle_on.png new file mode 100644 index 0000000..fb609f4 Binary files /dev/null and b/app/src/main/res/drawable/btn_toggle_on.png differ diff --git a/app/src/main/res/drawable/button_background_black_color.xml b/app/src/main/res/drawable/button_background_black_color.xml new file mode 100644 index 0000000..cad3794 --- /dev/null +++ b/app/src/main/res/drawable/button_background_black_color.xml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/app/src/main/res/drawable/button_background_flo_color.xml b/app/src/main/res/drawable/button_background_flo_color.xml new file mode 100644 index 0000000..d5e92f3 --- /dev/null +++ b/app/src/main/res/drawable/button_background_flo_color.xml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/app/src/main/res/drawable/button_background_gray_color.xml b/app/src/main/res/drawable/button_background_gray_color.xml new file mode 100644 index 0000000..dbcaae2 --- /dev/null +++ b/app/src/main/res/drawable/button_background_gray_color.xml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/app/src/main/res/drawable/button_background_white_color.xml b/app/src/main/res/drawable/button_background_white_color.xml new file mode 100644 index 0000000..32e9583 --- /dev/null +++ b/app/src/main/res/drawable/button_background_white_color.xml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/app/src/main/res/drawable/discovery_banner_aos.jpg b/app/src/main/res/drawable/discovery_banner_aos.jpg new file mode 100644 index 0000000..c905515 Binary files /dev/null and b/app/src/main/res/drawable/discovery_banner_aos.jpg differ diff --git a/app/src/main/res/drawable/fragment_look_chart_background.xml b/app/src/main/res/drawable/fragment_look_chart_background.xml new file mode 100644 index 0000000..64c040f --- /dev/null +++ b/app/src/main/res/drawable/fragment_look_chart_background.xml @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/app/src/main/res/drawable/fragment_look_chip_off_background.xml b/app/src/main/res/drawable/fragment_look_chip_off_background.xml new file mode 100644 index 0000000..43005ce --- /dev/null +++ b/app/src/main/res/drawable/fragment_look_chip_off_background.xml @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/app/src/main/res/drawable/fragment_look_chip_on_background.xml b/app/src/main/res/drawable/fragment_look_chip_on_background.xml new file mode 100644 index 0000000..ce894ed --- /dev/null +++ b/app/src/main/res/drawable/fragment_look_chip_on_background.xml @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/app/src/main/res/drawable/ic_bottom_home_no_select.png b/app/src/main/res/drawable/ic_bottom_home_no_select.png new file mode 100644 index 0000000..69a8ab6 Binary files /dev/null and b/app/src/main/res/drawable/ic_bottom_home_no_select.png differ diff --git a/app/src/main/res/drawable/ic_bottom_home_select.png b/app/src/main/res/drawable/ic_bottom_home_select.png new file mode 100644 index 0000000..c0ff48e Binary files /dev/null and b/app/src/main/res/drawable/ic_bottom_home_select.png differ diff --git a/app/src/main/res/drawable/ic_bottom_locker_no_select.png b/app/src/main/res/drawable/ic_bottom_locker_no_select.png new file mode 100644 index 0000000..a67dec3 Binary files /dev/null and b/app/src/main/res/drawable/ic_bottom_locker_no_select.png differ diff --git a/app/src/main/res/drawable/ic_bottom_locker_select.png b/app/src/main/res/drawable/ic_bottom_locker_select.png new file mode 100644 index 0000000..042489f Binary files /dev/null and b/app/src/main/res/drawable/ic_bottom_locker_select.png differ diff --git a/app/src/main/res/drawable/ic_bottom_look_no_select.png b/app/src/main/res/drawable/ic_bottom_look_no_select.png new file mode 100644 index 0000000..6c2f4f0 Binary files /dev/null and b/app/src/main/res/drawable/ic_bottom_look_no_select.png differ diff --git a/app/src/main/res/drawable/ic_bottom_look_select.png b/app/src/main/res/drawable/ic_bottom_look_select.png new file mode 100644 index 0000000..3d169e4 Binary files /dev/null and b/app/src/main/res/drawable/ic_bottom_look_select.png differ diff --git a/app/src/main/res/drawable/ic_bottom_my_no_select.png b/app/src/main/res/drawable/ic_bottom_my_no_select.png new file mode 100644 index 0000000..a67dec3 Binary files /dev/null and b/app/src/main/res/drawable/ic_bottom_my_no_select.png differ diff --git a/app/src/main/res/drawable/ic_bottom_my_select.png b/app/src/main/res/drawable/ic_bottom_my_select.png new file mode 100644 index 0000000..042489f Binary files /dev/null and b/app/src/main/res/drawable/ic_bottom_my_select.png differ diff --git a/app/src/main/res/drawable/ic_bottom_search_no_select.png b/app/src/main/res/drawable/ic_bottom_search_no_select.png new file mode 100644 index 0000000..a77b8c5 Binary files /dev/null and b/app/src/main/res/drawable/ic_bottom_search_no_select.png differ diff --git a/app/src/main/res/drawable/ic_bottom_search_select.png b/app/src/main/res/drawable/ic_bottom_search_select.png new file mode 100644 index 0000000..d5c8a72 Binary files /dev/null and b/app/src/main/res/drawable/ic_bottom_search_select.png differ diff --git a/app/src/main/res/drawable/ic_browse_arrow_right.png b/app/src/main/res/drawable/ic_browse_arrow_right.png new file mode 100644 index 0000000..71b588b Binary files /dev/null and b/app/src/main/res/drawable/ic_browse_arrow_right.png differ diff --git a/app/src/main/res/drawable/ic_flo_logo.png b/app/src/main/res/drawable/ic_flo_logo.png new file mode 100644 index 0000000..643224d Binary files /dev/null and b/app/src/main/res/drawable/ic_flo_logo.png differ diff --git a/app/src/main/res/drawable/ic_main_facebook.png b/app/src/main/res/drawable/ic_main_facebook.png new file mode 100644 index 0000000..83e9732 Binary files /dev/null and b/app/src/main/res/drawable/ic_main_facebook.png differ diff --git a/app/src/main/res/drawable/ic_main_facebook_btn.png b/app/src/main/res/drawable/ic_main_facebook_btn.png new file mode 100644 index 0000000..83e9732 Binary files /dev/null and b/app/src/main/res/drawable/ic_main_facebook_btn.png differ diff --git a/app/src/main/res/drawable/ic_main_instagram.png b/app/src/main/res/drawable/ic_main_instagram.png new file mode 100644 index 0000000..398ce61 Binary files /dev/null and b/app/src/main/res/drawable/ic_main_instagram.png differ diff --git a/app/src/main/res/drawable/ic_main_instagram_btn.png b/app/src/main/res/drawable/ic_main_instagram_btn.png new file mode 100644 index 0000000..398ce61 Binary files /dev/null and b/app/src/main/res/drawable/ic_main_instagram_btn.png differ diff --git a/app/src/main/res/drawable/ic_main_twitter.png b/app/src/main/res/drawable/ic_main_twitter.png new file mode 100644 index 0000000..6ddc68e Binary files /dev/null and b/app/src/main/res/drawable/ic_main_twitter.png differ diff --git a/app/src/main/res/drawable/ic_main_twitter_btn.png b/app/src/main/res/drawable/ic_main_twitter_btn.png new file mode 100644 index 0000000..6ddc68e Binary files /dev/null and b/app/src/main/res/drawable/ic_main_twitter_btn.png differ diff --git a/app/src/main/res/drawable/ic_main_youtube.png b/app/src/main/res/drawable/ic_main_youtube.png new file mode 100644 index 0000000..0c4ec93 Binary files /dev/null and b/app/src/main/res/drawable/ic_main_youtube.png differ diff --git a/app/src/main/res/drawable/ic_main_youtube_btn.png b/app/src/main/res/drawable/ic_main_youtube_btn.png new file mode 100644 index 0000000..0c4ec93 Binary files /dev/null and b/app/src/main/res/drawable/ic_main_youtube_btn.png differ diff --git a/app/src/main/res/drawable/ic_my_like_off.png b/app/src/main/res/drawable/ic_my_like_off.png new file mode 100644 index 0000000..c06e139 Binary files /dev/null and b/app/src/main/res/drawable/ic_my_like_off.png differ diff --git a/app/src/main/res/drawable/ic_my_like_on.png b/app/src/main/res/drawable/ic_my_like_on.png new file mode 100644 index 0000000..22577c0 Binary files /dev/null and b/app/src/main/res/drawable/ic_my_like_on.png differ diff --git a/app/src/main/res/drawable/ico_20_logo_tid_white.png b/app/src/main/res/drawable/ico_20_logo_tid_white.png new file mode 100644 index 0000000..c6f4d4f Binary files /dev/null and b/app/src/main/res/drawable/ico_20_logo_tid_white.png differ diff --git a/app/src/main/res/drawable/icon_browse_arrow_right.png b/app/src/main/res/drawable/icon_browse_arrow_right.png new file mode 100644 index 0000000..71b588b Binary files /dev/null and b/app/src/main/res/drawable/icon_browse_arrow_right.png differ diff --git a/app/src/main/res/drawable/img_album_exp.png b/app/src/main/res/drawable/img_album_exp.png new file mode 100644 index 0000000..6e3f38a Binary files /dev/null and b/app/src/main/res/drawable/img_album_exp.png differ diff --git a/app/src/main/res/drawable/img_album_exp2.png b/app/src/main/res/drawable/img_album_exp2.png new file mode 100644 index 0000000..28ea3ee Binary files /dev/null and b/app/src/main/res/drawable/img_album_exp2.png differ diff --git a/app/src/main/res/drawable/img_album_exp3.jpg b/app/src/main/res/drawable/img_album_exp3.jpg new file mode 100644 index 0000000..6641600 Binary files /dev/null and b/app/src/main/res/drawable/img_album_exp3.jpg differ diff --git a/app/src/main/res/drawable/img_album_exp4.jpg b/app/src/main/res/drawable/img_album_exp4.jpg new file mode 100644 index 0000000..aecebb6 Binary files /dev/null and b/app/src/main/res/drawable/img_album_exp4.jpg differ diff --git a/app/src/main/res/drawable/img_album_exp5.jpg b/app/src/main/res/drawable/img_album_exp5.jpg new file mode 100644 index 0000000..6a8d870 Binary files /dev/null and b/app/src/main/res/drawable/img_album_exp5.jpg differ diff --git a/app/src/main/res/drawable/img_album_exp6.jpg b/app/src/main/res/drawable/img_album_exp6.jpg new file mode 100644 index 0000000..48202f2 Binary files /dev/null and b/app/src/main/res/drawable/img_album_exp6.jpg differ diff --git a/app/src/main/res/drawable/img_album_lp.png b/app/src/main/res/drawable/img_album_lp.png new file mode 100644 index 0000000..29fb1b4 Binary files /dev/null and b/app/src/main/res/drawable/img_album_lp.png differ diff --git a/app/src/main/res/drawable/img_default_4_x_1.png b/app/src/main/res/drawable/img_default_4_x_1.png new file mode 100644 index 0000000..926d34f Binary files /dev/null and b/app/src/main/res/drawable/img_default_4_x_1.png differ diff --git a/app/src/main/res/drawable/img_first_album_default.png b/app/src/main/res/drawable/img_first_album_default.png new file mode 100644 index 0000000..926d34f Binary files /dev/null and b/app/src/main/res/drawable/img_first_album_default.png differ diff --git a/app/src/main/res/drawable/img_home_viewpager_exp.png b/app/src/main/res/drawable/img_home_viewpager_exp.png new file mode 100644 index 0000000..da78032 Binary files /dev/null and b/app/src/main/res/drawable/img_home_viewpager_exp.png differ diff --git a/app/src/main/res/drawable/img_home_viewpager_exp2.png b/app/src/main/res/drawable/img_home_viewpager_exp2.png new file mode 100644 index 0000000..50fa4be Binary files /dev/null and b/app/src/main/res/drawable/img_home_viewpager_exp2.png differ diff --git a/app/src/main/res/drawable/img_jenre_exp_1.png b/app/src/main/res/drawable/img_jenre_exp_1.png new file mode 100644 index 0000000..0d43e8e Binary files /dev/null and b/app/src/main/res/drawable/img_jenre_exp_1.png differ diff --git a/app/src/main/res/drawable/img_jenre_exp_2.png b/app/src/main/res/drawable/img_jenre_exp_2.png new file mode 100644 index 0000000..f03efb2 Binary files /dev/null and b/app/src/main/res/drawable/img_jenre_exp_2.png differ diff --git a/app/src/main/res/drawable/img_jenre_exp_3.png b/app/src/main/res/drawable/img_jenre_exp_3.png new file mode 100644 index 0000000..51de684 Binary files /dev/null and b/app/src/main/res/drawable/img_jenre_exp_3.png differ diff --git a/app/src/main/res/drawable/img_potcast_exp.png b/app/src/main/res/drawable/img_potcast_exp.png new file mode 100644 index 0000000..50a46e0 Binary files /dev/null and b/app/src/main/res/drawable/img_potcast_exp.png differ diff --git a/app/src/main/res/drawable/img_video_exp.png b/app/src/main/res/drawable/img_video_exp.png new file mode 100644 index 0000000..7f6b05f Binary files /dev/null and b/app/src/main/res/drawable/img_video_exp.png differ diff --git a/app/src/main/res/drawable/kakako_44.png b/app/src/main/res/drawable/kakako_44.png new file mode 100644 index 0000000..243298e Binary files /dev/null and b/app/src/main/res/drawable/kakako_44.png differ diff --git a/app/src/main/res/drawable/main_btm_color_selector.xml b/app/src/main/res/drawable/main_btm_color_selector.xml new file mode 100644 index 0000000..3ecf8a7 --- /dev/null +++ b/app/src/main/res/drawable/main_btm_color_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/main_btm_home_selector.xml b/app/src/main/res/drawable/main_btm_home_selector.xml new file mode 100644 index 0000000..b018478 --- /dev/null +++ b/app/src/main/res/drawable/main_btm_home_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/main_btm_look_selector.xml b/app/src/main/res/drawable/main_btm_look_selector.xml new file mode 100644 index 0000000..89ced75 --- /dev/null +++ b/app/src/main/res/drawable/main_btm_look_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/main_btm_my_selector.xml b/app/src/main/res/drawable/main_btm_my_selector.xml new file mode 100644 index 0000000..d6739bf --- /dev/null +++ b/app/src/main/res/drawable/main_btm_my_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/main_btm_search_selector.xml b/app/src/main/res/drawable/main_btm_search_selector.xml new file mode 100644 index 0000000..e6e823f --- /dev/null +++ b/app/src/main/res/drawable/main_btm_search_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/naver_44.png b/app/src/main/res/drawable/naver_44.png new file mode 100644 index 0000000..d984487 Binary files /dev/null and b/app/src/main/res/drawable/naver_44.png differ diff --git a/app/src/main/res/drawable/nugu_btn_down.png b/app/src/main/res/drawable/nugu_btn_down.png new file mode 100644 index 0000000..03a04c5 Binary files /dev/null and b/app/src/main/res/drawable/nugu_btn_down.png differ diff --git a/app/src/main/res/drawable/nugu_btn_pause_32.png b/app/src/main/res/drawable/nugu_btn_pause_32.png new file mode 100644 index 0000000..9388aa3 Binary files /dev/null and b/app/src/main/res/drawable/nugu_btn_pause_32.png differ diff --git a/app/src/main/res/drawable/nugu_btn_play_32.png b/app/src/main/res/drawable/nugu_btn_play_32.png new file mode 100644 index 0000000..b781e4c Binary files /dev/null and b/app/src/main/res/drawable/nugu_btn_play_32.png differ diff --git a/app/src/main/res/drawable/nugu_btn_random_inactive.png b/app/src/main/res/drawable/nugu_btn_random_inactive.png new file mode 100644 index 0000000..fe4f880 Binary files /dev/null and b/app/src/main/res/drawable/nugu_btn_random_inactive.png differ diff --git a/app/src/main/res/drawable/nugu_btn_repeat_inactive.png b/app/src/main/res/drawable/nugu_btn_repeat_inactive.png new file mode 100644 index 0000000..1e4044d Binary files /dev/null and b/app/src/main/res/drawable/nugu_btn_repeat_inactive.png differ diff --git a/app/src/main/res/drawable/nugu_btn_skip_next_32.png b/app/src/main/res/drawable/nugu_btn_skip_next_32.png new file mode 100644 index 0000000..fc02f28 Binary files /dev/null and b/app/src/main/res/drawable/nugu_btn_skip_next_32.png differ diff --git a/app/src/main/res/drawable/nugu_btn_skip_previous_32.png b/app/src/main/res/drawable/nugu_btn_skip_previous_32.png new file mode 100644 index 0000000..03ec854 Binary files /dev/null and b/app/src/main/res/drawable/nugu_btn_skip_previous_32.png differ diff --git a/app/src/main/res/drawable/splash.xml b/app/src/main/res/drawable/splash.xml new file mode 100644 index 0000000..ace8a7d --- /dev/null +++ b/app/src/main/res/drawable/splash.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/textview_background_radius.xml b/app/src/main/res/drawable/textview_background_radius.xml new file mode 100644 index 0000000..53beead --- /dev/null +++ b/app/src/main/res/drawable/textview_background_radius.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + diff --git a/app/src/main/res/drawable/textview_background_select_color_radius.xml b/app/src/main/res/drawable/textview_background_select_color_radius.xml new file mode 100644 index 0000000..ea8dc88 --- /dev/null +++ b/app/src/main/res/drawable/textview_background_select_color_radius.xml @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable/widget_black_play.png b/app/src/main/res/drawable/widget_black_play.png new file mode 100644 index 0000000..0ec2700 Binary files /dev/null and b/app/src/main/res/drawable/widget_black_play.png differ diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 86a5d97..1ff30f6 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -2,18 +2,111 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + app:menu="@menu/bottom_nav_menu" /> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_song.xml b/app/src/main/res/layout/activity_song.xml new file mode 100644 index 0000000..303dbfb --- /dev/null +++ b/app/src/main/res/layout/activity_song.xml @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_album.xml b/app/src/main/res/layout/fragment_album.xml new file mode 100644 index 0000000..a159a46 --- /dev/null +++ b/app/src/main/res/layout/fragment_album.xml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_banner.xml b/app/src/main/res/layout/fragment_banner.xml new file mode 100644 index 0000000..37c2ef8 --- /dev/null +++ b/app/src/main/res/layout/fragment_banner.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detail.xml b/app/src/main/res/layout/fragment_detail.xml new file mode 100644 index 0000000..413125c --- /dev/null +++ b/app/src/main/res/layout/fragment_detail.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml new file mode 100644 index 0000000..f0ae8d2 --- /dev/null +++ b/app/src/main/res/layout/fragment_home.xml @@ -0,0 +1,789 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_locker.xml b/app/src/main/res/layout/fragment_locker.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_locker.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_look.xml b/app/src/main/res/layout/fragment_look.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_look.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_search.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_song.xml b/app/src/main/res/layout/fragment_song.xml new file mode 100644 index 0000000..d362933 --- /dev/null +++ b/app/src/main/res/layout/fragment_song.xml @@ -0,0 +1,568 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_video.xml b/app/src/main/res/layout/fragment_video.xml new file mode 100644 index 0000000..e86dad1 --- /dev/null +++ b/app/src/main/res/layout/fragment_video.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/bottom_nav_menu.xml b/app/src/main/res/menu/bottom_nav_menu.xml new file mode 100644 index 0000000..9a55b1a --- /dev/null +++ b/app/src/main/res/menu/bottom_nav_menu.xml @@ -0,0 +1,28 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index c8524cd..7308510 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,5 +1,19 @@ + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 #FF000000 #FFFFFFFF + + #9cbee2 + #062342 + #6bb2ff + + #00ff0000 + #3f3fff + #a8a8a8 + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 76cb380..ba086b2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,5 @@ Flo Clone Coding + In my Bed + bear \ No newline at end of file