diff --git a/app/src/main/java/org/fossasia/susi/ai/device/managedevices/MusicServersFragment.kt b/app/src/main/java/org/fossasia/susi/ai/device/managedevices/MusicServersFragment.kt index 029159f0f5..909c7657e0 100644 --- a/app/src/main/java/org/fossasia/susi/ai/device/managedevices/MusicServersFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/device/managedevices/MusicServersFragment.kt @@ -1,14 +1,22 @@ package org.fossasia.susi.ai.device.managedevices +import android.content.Context +import android.net.wifi.WifiManager import android.os.Bundle import android.support.v4.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import kotlinx.android.synthetic.main.fragment_music_servers.susi_music import org.fossasia.susi.ai.R +import org.fossasia.susi.ai.device.managedevices.susimusicservice.SusiMusicFragment +import org.fossasia.susi.ai.device.managedevices.susimusicservice.SusiMusicPresenter +import org.fossasia.susi.ai.device.managedevices.susimusicservice.contract.ISusiMusicFragmentView +import org.fossasia.susi.ai.device.managedevices.susimusicservice.contract.ISusiMusicServicePresenter -class MusicServersFragment : Fragment() { - +class MusicServersFragment : Fragment(), ISusiMusicFragmentView { + lateinit var mainWifi: WifiManager + lateinit var musicServicePresenter: ISusiMusicServicePresenter override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) } @@ -24,5 +32,15 @@ class MusicServersFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + mainWifi = context?.getSystemService(Context.WIFI_SERVICE) as WifiManager + musicServicePresenter = SusiMusicPresenter(requireContext(), mainWifi) + musicServicePresenter.onAttach(this) + + susi_music.setOnClickListener { + val susiMusicFragment = SusiMusicFragment() + fragmentManager?.beginTransaction() + ?.replace(R.id.manage_device_container, susiMusicFragment) + ?.commit() + } } } diff --git a/app/src/main/java/org/fossasia/susi/ai/device/managedevices/susimusicservice/SusiMusicFragment.kt b/app/src/main/java/org/fossasia/susi/ai/device/managedevices/susimusicservice/SusiMusicFragment.kt new file mode 100644 index 0000000000..8c5c4bfd67 --- /dev/null +++ b/app/src/main/java/org/fossasia/susi/ai/device/managedevices/susimusicservice/SusiMusicFragment.kt @@ -0,0 +1,31 @@ +package org.fossasia.susi.ai.device.managedevices.susimusicservice + +import android.os.Bundle +import android.support.v4.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.webkit.WebViewClient +import kotlinx.android.synthetic.main.fragment_susi_music.* +import org.fossasia.susi.ai.R + +class SusiMusicFragment : Fragment() { + + private lateinit var musicServerIp: String + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_susi_music, container, false) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + musicServerIp = "https://github.com/fossasia/susi_android" + susi_music_view.webViewClient = WebViewClient() + susi_music_view.loadUrl(musicServerIp) + } +} diff --git a/app/src/main/java/org/fossasia/susi/ai/device/managedevices/susimusicservice/SusiMusicPresenter.kt b/app/src/main/java/org/fossasia/susi/ai/device/managedevices/susimusicservice/SusiMusicPresenter.kt new file mode 100644 index 0000000000..232d7ba39b --- /dev/null +++ b/app/src/main/java/org/fossasia/susi/ai/device/managedevices/susimusicservice/SusiMusicPresenter.kt @@ -0,0 +1,14 @@ +package org.fossasia.susi.ai.device.managedevices.susimusicservice + +import android.content.Context +import android.net.wifi.WifiManager +import org.fossasia.susi.ai.device.managedevices.susimusicservice.contract.ISusiMusicFragmentView +import org.fossasia.susi.ai.device.managedevices.susimusicservice.contract.ISusiMusicServicePresenter + +class SusiMusicPresenter(context: Context, manager: WifiManager) : ISusiMusicServicePresenter { + private var susiMusicView: ISusiMusicFragmentView? = null + + override fun onAttach(susiMusicView: ISusiMusicFragmentView) { + this.susiMusicView = susiMusicView + } +} \ No newline at end of file diff --git a/app/src/main/java/org/fossasia/susi/ai/device/managedevices/susimusicservice/contract/ISusiMusicFragmentView.kt b/app/src/main/java/org/fossasia/susi/ai/device/managedevices/susimusicservice/contract/ISusiMusicFragmentView.kt new file mode 100644 index 0000000000..8eeaa8597e --- /dev/null +++ b/app/src/main/java/org/fossasia/susi/ai/device/managedevices/susimusicservice/contract/ISusiMusicFragmentView.kt @@ -0,0 +1,3 @@ +package org.fossasia.susi.ai.device.managedevices.susimusicservice.contract + +interface ISusiMusicFragmentView \ No newline at end of file diff --git a/app/src/main/java/org/fossasia/susi/ai/device/managedevices/susimusicservice/contract/ISusiMusicServicePresenter.kt b/app/src/main/java/org/fossasia/susi/ai/device/managedevices/susimusicservice/contract/ISusiMusicServicePresenter.kt new file mode 100644 index 0000000000..554662bb87 --- /dev/null +++ b/app/src/main/java/org/fossasia/susi/ai/device/managedevices/susimusicservice/contract/ISusiMusicServicePresenter.kt @@ -0,0 +1,5 @@ +package org.fossasia.susi.ai.device.managedevices.susimusicservice.contract + +interface ISusiMusicServicePresenter { + fun onAttach(susiMusicView: ISusiMusicFragmentView) +} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_music_servers.xml b/app/src/main/res/layout/fragment_music_servers.xml index c7993e8525..3c9219c7d8 100644 --- a/app/src/main/res/layout/fragment_music_servers.xml +++ b/app/src/main/res/layout/fragment_music_servers.xml @@ -40,7 +40,44 @@ android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="@dimen/margin_moderate" - android:text="Spotify" + android:text="@string/spotify" + android:textColor="@color/md_black_1000" + android:textSize="@dimen/text_size_medium" + android:textStyle="bold" /> + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_susi_music.xml b/app/src/main/res/layout/fragment_susi_music.xml new file mode 100644 index 0000000000..d0a657be6c --- /dev/null +++ b/app/src/main/res/layout/fragment_susi_music.xml @@ -0,0 +1,13 @@ + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index dd285be627..2f9d2593a6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -583,6 +583,8 @@ Music Services Start with \"Hey Susi\" + Spotify + Susi Music Control Linked account Name Room