Skip to content
Open
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
Original file line number Diff line number Diff line change
@@ -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)
}
Expand All @@ -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()
}
}
}
Original file line number Diff line number Diff line change
@@ -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)
}
}
Original file line number Diff line number Diff line change
@@ -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
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package org.fossasia.susi.ai.device.managedevices.susimusicservice.contract

interface ISusiMusicFragmentView
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package org.fossasia.susi.ai.device.managedevices.susimusicservice.contract

interface ISusiMusicServicePresenter {
fun onAttach(susiMusicView: ISusiMusicFragmentView)
}
39 changes: 38 additions & 1 deletion app/src/main/res/layout/fragment_music_servers.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,44 @@
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="@dimen/margin_moderate"
android:text="Spotify"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

android:tect="spotify"

android:text="@string/spotify"
android:textColor="@color/md_black_1000"
android:textSize="@dimen/text_size_medium"
android:textStyle="bold" />

</LinearLayout>

</LinearLayout>
</android.support.v7.widget.CardView>

<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_moderate"
android:padding="@dimen/padding_medium">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<LinearLayout
android:id="@+id/susi_music"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<android.support.v7.widget.AppCompatImageView
android:layout_width="@dimen/height_width_spotify"
android:layout_height="@dimen/height_width_spotify"
android:src="@drawable/ic_launcher" />

<android.support.v7.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="@dimen/margin_moderate"
android:text="@string/susi_music_service"
android:textColor="@color/md_black_1000"
android:textSize="@dimen/text_size_medium"
android:textStyle="bold" />
Expand Down
13 changes: 13 additions & 0 deletions app/src/main/res/layout/fragment_susi_music.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="org.fossasia.susi.ai.device.managedevices.susimusicservice.SusiMusicFragment">

<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/susi_music_view">
</WebView>
</LinearLayout>
2 changes: 2 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -583,6 +583,8 @@
<!-- Manage Devices -->
<string name="music_services">Music Services</string>
<string name="say_hey_susi">Start with \"Hey Susi\"</string>
<string name="spotify" translatable="false">Spotify</string>
<string name="susi_music_service">Susi Music Control</string>
<string name="linked_account">Linked account</string>
<string name="name">Name</string>
<string name="room_heading">Room</string>
Expand Down