Refactor top-level packages

This commit is contained in:
2020-05-16 11:00:37 +02:00
parent 763e386bec
commit 749be67b72
34 changed files with 101 additions and 92 deletions

View File

@@ -26,22 +26,22 @@
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
tools:targetApi="m"> tools:targetApi="m">
<activity <activity
android:name="io.bartek.ttsserver.help.HelpActivity" android:name="io.bartek.ttsserver.ui.help.HelpActivity"
android:parentActivityName=".ttsserver.MainActivity" /> android:parentActivityName=".ttsserver.ui.main.MainActivity" />
<activity <activity
android:name="io.bartek.ttsserver.preference.PreferencesActivity" android:name="io.bartek.ttsserver.ui.preference.PreferencesActivity"
android:label="@string/title_activity_preferences" android:label="@string/title_activity_preferences"
android:parentActivityName=".ttsserver.MainActivity" /> android:parentActivityName=".ttsserver.ui.main.MainActivity" />
<service <service
android:name="io.bartek.ttsserver.service.ForegroundService" android:name="io.bartek.ttsserver.service.foreground.ForegroundService"
android:enabled="true" android:enabled="true"
android:exported="true" android:exported="true"
android:permission="io.bartek.permission.TTS_HTTP_SERVICE" /> android:permission="io.bartek.permission.TTS_HTTP_SERVICE" />
<activity <activity
android:name=".ttsserver.MainActivity" android:name=".ttsserver.ui.main.MainActivity"
android:launchMode="singleTop"> android:launchMode="singleTop">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />

View File

@@ -1,7 +1,7 @@
package io.bartek.ttsserver package io.bartek.ttsserver
import dagger.android.support.DaggerApplication import dagger.android.support.DaggerApplication
import io.bartek.ttsserver.di.DaggerAppComponent import io.bartek.ttsserver.di.component.DaggerAppComponent
class TTSApplication : DaggerApplication() { class TTSApplication : DaggerApplication() {
override fun applicationInjector() = DaggerAppComponent.builder().create(this).let { override fun applicationInjector() = DaggerAppComponent.builder().create(this).let {

View File

@@ -1,11 +1,11 @@
package io.bartek.ttsserver.sonos.queue package io.bartek.ttsserver.core.sonos.queue
import android.content.SharedPreferences import android.content.SharedPreferences
import io.bartek.ttsserver.preference.PreferenceKey import io.bartek.ttsserver.ui.preference.PreferenceKey
import io.bartek.ttsserver.sonos.worker.SonosWorker import io.bartek.ttsserver.core.sonos.worker.SonosWorker
import io.bartek.ttsserver.tts.engine.TTSEngine import io.bartek.ttsserver.core.tts.engine.TTSEngine
import io.bartek.ttsserver.util.NetworkUtil import io.bartek.ttsserver.core.util.NetworkUtil
import io.bartek.ttsserver.web.dto.SonosDTO import io.bartek.ttsserver.core.web.dto.SonosDTO
import java.util.concurrent.BlockingQueue import java.util.concurrent.BlockingQueue
import java.util.concurrent.LinkedBlockingQueue import java.util.concurrent.LinkedBlockingQueue

View File

@@ -1,12 +1,12 @@
package io.bartek.ttsserver.sonos.worker package io.bartek.ttsserver.core.sonos.worker
import com.vmichalak.sonoscontroller.SonosDevice import com.vmichalak.sonoscontroller.SonosDevice
import com.vmichalak.sonoscontroller.SonosDiscovery import com.vmichalak.sonoscontroller.SonosDiscovery
import com.vmichalak.sonoscontroller.model.PlayState import com.vmichalak.sonoscontroller.model.PlayState
import io.bartek.ttsserver.service.ForegroundService import io.bartek.ttsserver.service.foreground.ForegroundService
import io.bartek.ttsserver.service.ServiceState import io.bartek.ttsserver.service.state.ServiceState
import io.bartek.ttsserver.tts.engine.TTSEngine import io.bartek.ttsserver.core.tts.engine.TTSEngine
import io.bartek.ttsserver.web.dto.SonosDTO import io.bartek.ttsserver.core.web.dto.SonosDTO
import java.util.concurrent.BlockingQueue import java.util.concurrent.BlockingQueue
class SonosWorker( class SonosWorker(

View File

@@ -1,13 +1,13 @@
package io.bartek.ttsserver.tts.engine package io.bartek.ttsserver.core.tts.engine
import android.content.Context import android.content.Context
import android.speech.tts.TextToSpeech import android.speech.tts.TextToSpeech
import io.bartek.ttsserver.tts.exception.TTSException import io.bartek.ttsserver.core.tts.exception.TTSException
import io.bartek.ttsserver.tts.listener.Lock import io.bartek.ttsserver.core.tts.listener.Lock
import io.bartek.ttsserver.tts.listener.TTSProcessListener import io.bartek.ttsserver.core.tts.listener.TTSProcessListener
import io.bartek.ttsserver.tts.model.TTSStream import io.bartek.ttsserver.core.tts.model.TTSStream
import io.bartek.ttsserver.tts.status.TTSStatus import io.bartek.ttsserver.core.tts.status.TTSStatus
import io.bartek.ttsserver.tts.status.TTSStatusHolder import io.bartek.ttsserver.core.tts.status.TTSStatusHolder
import java.io.BufferedInputStream import java.io.BufferedInputStream
import java.io.File import java.io.File
import java.io.FileInputStream import java.io.FileInputStream

View File

@@ -1,3 +1,3 @@
package io.bartek.ttsserver.tts.exception package io.bartek.ttsserver.core.tts.exception
class TTSException : Exception("TTS process failed") class TTSException : Exception("TTS process failed")

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.tts.listener package io.bartek.ttsserver.core.tts.listener
@Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN") @Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN")
// TODO: Investigate the Kotlin way to achieve the same // TODO: Investigate the Kotlin way to achieve the same

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.tts.listener package io.bartek.ttsserver.core.tts.listener
import android.speech.tts.UtteranceProgressListener import android.speech.tts.UtteranceProgressListener

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.tts.model package io.bartek.ttsserver.core.tts.model
import java.io.InputStream import java.io.InputStream

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.tts.status package io.bartek.ttsserver.core.tts.status
import android.speech.tts.TextToSpeech import android.speech.tts.TextToSpeech

View File

@@ -1,7 +1,6 @@
package io.bartek.ttsserver.tts.status package io.bartek.ttsserver.core.tts.status
import android.speech.tts.TextToSpeech import android.speech.tts.TextToSpeech
import io.bartek.ttsserver.tts.status.TTSStatus
class TTSStatusHolder : TextToSpeech.OnInitListener { class TTSStatusHolder : TextToSpeech.OnInitListener {
var status = TTSStatus.UNLOADED var status = TTSStatus.UNLOADED

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.util package io.bartek.ttsserver.core.util
import android.content.Context import android.content.Context
import android.content.Context.WIFI_SERVICE import android.content.Context.WIFI_SERVICE

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.web.dto package io.bartek.ttsserver.core.web.dto
import org.json.JSONObject import org.json.JSONObject
import java.util.* import java.util.*

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.web.dto package io.bartek.ttsserver.core.web.dto
import fi.iki.elonen.NanoHTTPD.Response import fi.iki.elonen.NanoHTTPD.Response
import fi.iki.elonen.NanoHTTPD.ResponseException import fi.iki.elonen.NanoHTTPD.ResponseException

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.web.dto package io.bartek.ttsserver.core.web.dto
import org.json.JSONObject import org.json.JSONObject
import java.util.* import java.util.*

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.web.endpoint package io.bartek.ttsserver.core.web.endpoint
enum class Endpoint(val uri: String, val id: Int) { enum class Endpoint(val uri: String, val id: Int) {
UNKNOWN("/", 1), UNKNOWN("/", 1),

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.web.endpoint package io.bartek.ttsserver.core.web.endpoint
import android.content.UriMatcher import android.content.UriMatcher
import android.net.Uri import android.net.Uri

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.web.server package io.bartek.ttsserver.core.web.server
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
@@ -7,16 +7,16 @@ import android.net.Uri
import androidx.localbroadcastmanager.content.LocalBroadcastManager import androidx.localbroadcastmanager.content.LocalBroadcastManager
import fi.iki.elonen.NanoHTTPD import fi.iki.elonen.NanoHTTPD
import fi.iki.elonen.NanoHTTPD.Response.Status.* import fi.iki.elonen.NanoHTTPD.Response.Status.*
import io.bartek.ttsserver.preference.PreferenceKey import io.bartek.ttsserver.ui.preference.PreferenceKey
import io.bartek.ttsserver.service.ForegroundService import io.bartek.ttsserver.service.foreground.ForegroundService
import io.bartek.ttsserver.service.ServiceState import io.bartek.ttsserver.service.state.ServiceState
import io.bartek.ttsserver.sonos.queue.SonosQueue import io.bartek.ttsserver.core.sonos.queue.SonosQueue
import io.bartek.ttsserver.tts.engine.TTSEngine import io.bartek.ttsserver.core.tts.engine.TTSEngine
import io.bartek.ttsserver.tts.status.TTSStatus import io.bartek.ttsserver.core.tts.status.TTSStatus
import io.bartek.ttsserver.web.dto.BaseDTO import io.bartek.ttsserver.core.web.dto.BaseDTO
import io.bartek.ttsserver.web.dto.SonosDTO import io.bartek.ttsserver.core.web.dto.SonosDTO
import io.bartek.ttsserver.web.endpoint.Endpoint import io.bartek.ttsserver.core.web.endpoint.Endpoint
import io.bartek.ttsserver.web.endpoint.EndpointMatcher import io.bartek.ttsserver.core.web.endpoint.EndpointMatcher
import java.io.BufferedInputStream import java.io.BufferedInputStream
import java.io.File import java.io.File
import java.io.FileInputStream import java.io.FileInputStream

View File

@@ -1,10 +1,10 @@
package io.bartek.ttsserver.web.server package io.bartek.ttsserver.core.web.server
import android.content.Context import android.content.Context
import android.content.SharedPreferences import android.content.SharedPreferences
import io.bartek.ttsserver.preference.PreferenceKey import io.bartek.ttsserver.ui.preference.PreferenceKey
import io.bartek.ttsserver.sonos.queue.SonosQueue import io.bartek.ttsserver.core.sonos.queue.SonosQueue
import io.bartek.ttsserver.tts.engine.TTSEngine import io.bartek.ttsserver.core.tts.engine.TTSEngine
class WebServerFactory( class WebServerFactory(
private val preferences: SharedPreferences, private val preferences: SharedPreferences,

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.di package io.bartek.ttsserver.di.component
import android.content.Context import android.content.Context
import dagger.BindsInstance import dagger.BindsInstance
@@ -6,6 +6,8 @@ import dagger.Component
import dagger.android.AndroidInjector import dagger.android.AndroidInjector
import dagger.android.support.AndroidSupportInjectionModule import dagger.android.support.AndroidSupportInjectionModule
import io.bartek.ttsserver.TTSApplication import io.bartek.ttsserver.TTSApplication
import io.bartek.ttsserver.di.module.AndroidModule
import io.bartek.ttsserver.di.module.TTSModule
import javax.inject.Singleton import javax.inject.Singleton
@Singleton @Singleton

View File

@@ -1,11 +1,11 @@
package io.bartek.ttsserver.di package io.bartek.ttsserver.di.module
import dagger.Module import dagger.Module
import dagger.android.ContributesAndroidInjector import dagger.android.ContributesAndroidInjector
import io.bartek.ttsserver.MainActivity import io.bartek.ttsserver.ui.main.MainActivity
import io.bartek.ttsserver.help.HelpActivity import io.bartek.ttsserver.ui.help.HelpActivity
import io.bartek.ttsserver.preference.PreferencesActivity import io.bartek.ttsserver.ui.preference.PreferencesActivity
import io.bartek.ttsserver.service.ForegroundService import io.bartek.ttsserver.service.foreground.ForegroundService
@Module @Module
abstract class AndroidModule { abstract class AndroidModule {

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.di package io.bartek.ttsserver.di.module
import android.content.Context import android.content.Context
import android.content.SharedPreferences import android.content.SharedPreferences
@@ -6,12 +6,12 @@ import android.speech.tts.TextToSpeech
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import dagger.Module import dagger.Module
import dagger.Provides import dagger.Provides
import io.bartek.ttsserver.service.ForegroundNotificationFactory import io.bartek.ttsserver.service.notification.ForegroundNotificationFactory
import io.bartek.ttsserver.sonos.queue.SonosQueue import io.bartek.ttsserver.core.sonos.queue.SonosQueue
import io.bartek.ttsserver.tts.engine.TTSEngine import io.bartek.ttsserver.core.tts.engine.TTSEngine
import io.bartek.ttsserver.tts.status.TTSStatusHolder import io.bartek.ttsserver.core.tts.status.TTSStatusHolder
import io.bartek.ttsserver.util.NetworkUtil import io.bartek.ttsserver.core.util.NetworkUtil
import io.bartek.ttsserver.web.server.WebServerFactory import io.bartek.ttsserver.core.web.server.WebServerFactory
import javax.inject.Singleton import javax.inject.Singleton
@Module @Module
@@ -61,5 +61,8 @@ class TTSModule {
@Provides @Provides
@Singleton @Singleton
fun foregroundNotificationFactory(context: Context) = ForegroundNotificationFactory(context) fun foregroundNotificationFactory(context: Context) =
ForegroundNotificationFactory(
context
)
} }

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.service package io.bartek.ttsserver.service.foreground
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
@@ -6,9 +6,11 @@ import android.content.Intent
import android.content.SharedPreferences import android.content.SharedPreferences
import android.os.PowerManager import android.os.PowerManager
import dagger.android.DaggerService import dagger.android.DaggerService
import io.bartek.ttsserver.preference.PreferenceKey import io.bartek.ttsserver.ui.preference.PreferenceKey
import io.bartek.ttsserver.web.server.WebServer import io.bartek.ttsserver.core.web.server.WebServer
import io.bartek.ttsserver.web.server.WebServerFactory import io.bartek.ttsserver.core.web.server.WebServerFactory
import io.bartek.ttsserver.service.notification.ForegroundNotificationFactory
import io.bartek.ttsserver.service.state.ServiceState
import javax.inject.Inject import javax.inject.Inject
@@ -57,7 +59,9 @@ class ForegroundService : DaggerService() {
isServiceStarted = true isServiceStarted = true
wakeLock = wakeLock =
(getSystemService(Context.POWER_SERVICE) as PowerManager).run { (getSystemService(Context.POWER_SERVICE) as PowerManager).run {
newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, WAKELOCK_TAG).apply { newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
WAKELOCK_TAG
).apply {
acquire() acquire()
} }
} }

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.service package io.bartek.ttsserver.service.notification
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Notification import android.app.Notification
@@ -9,7 +9,7 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Build import android.os.Build
import io.bartek.R import io.bartek.R
import io.bartek.ttsserver.MainActivity import io.bartek.ttsserver.ui.main.MainActivity
class ForegroundNotificationFactory(private val context: Context) { class ForegroundNotificationFactory(private val context: Context) {
private val oreo: Boolean private val oreo: Boolean
@@ -57,7 +57,9 @@ class ForegroundNotificationFactory(private val context: Context) {
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
@SuppressLint("NewApi") @SuppressLint("NewApi")
private fun provideNotificationBuilder() = private fun provideNotificationBuilder() =
if (oreo) Notification.Builder(context, NOTIFICATION_CHANNEL_ID) if (oreo) Notification.Builder(context,
NOTIFICATION_CHANNEL_ID
)
else Notification.Builder(context) else Notification.Builder(context)
companion object { companion object {

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.service package io.bartek.ttsserver.service.state
enum class ServiceState { enum class ServiceState {
RUNNING, RUNNING,

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.help package io.bartek.ttsserver.ui.help
import android.os.Bundle import android.os.Bundle
import android.webkit.WebView import android.webkit.WebView

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver package io.bartek.ttsserver.ui.main
import android.content.BroadcastReceiver import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
@@ -10,15 +10,14 @@ import android.view.Menu
import android.view.MenuItem import android.view.MenuItem
import android.view.View import android.view.View
import android.widget.TextView import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.AppCompatImageButton import androidx.appcompat.widget.AppCompatImageButton
import androidx.localbroadcastmanager.content.LocalBroadcastManager import androidx.localbroadcastmanager.content.LocalBroadcastManager
import dagger.android.support.DaggerAppCompatActivity import dagger.android.support.DaggerAppCompatActivity
import io.bartek.R import io.bartek.R
import io.bartek.ttsserver.help.HelpActivity import io.bartek.ttsserver.ui.help.HelpActivity
import io.bartek.ttsserver.preference.PreferencesActivity import io.bartek.ttsserver.ui.preference.PreferencesActivity
import io.bartek.ttsserver.service.ForegroundService import io.bartek.ttsserver.service.foreground.ForegroundService
import io.bartek.ttsserver.service.ServiceState import io.bartek.ttsserver.service.state.ServiceState
import javax.inject.Inject import javax.inject.Inject

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.preference package io.bartek.ttsserver.ui.preference
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.preference package io.bartek.ttsserver.ui.preference
object PreferenceKey { object PreferenceKey {

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.preference package io.bartek.ttsserver.ui.preference
import android.os.Bundle import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.preference package io.bartek.ttsserver.ui.preference
import android.content.BroadcastReceiver import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
@@ -12,8 +12,8 @@ import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceFragmentCompat
import androidx.preference.SwitchPreference import androidx.preference.SwitchPreference
import io.bartek.R import io.bartek.R
import io.bartek.ttsserver.service.ForegroundService import io.bartek.ttsserver.service.foreground.ForegroundService
import io.bartek.ttsserver.service.ServiceState import io.bartek.ttsserver.service.state.ServiceState
class PreferencesFragment : PreferenceFragmentCompat() { class PreferencesFragment : PreferenceFragmentCompat() {
private lateinit var portPreference: IntEditTextPreference private lateinit var portPreference: IntEditTextPreference

View File

@@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".ttsserver.help.HelpActivity"> tools:context=".ttsserver.ui.help.HelpActivity">
<WebView <WebView
android:id="@+id/help_view" android:id="@+id/help_view"

View File

@@ -5,7 +5,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
tools:context=".ttsserver.MainActivity"> tools:context=".ttsserver.ui.main.MainActivity">
<TextView <TextView
android:id="@+id/prompt_text" android:id="@+id/prompt_text"

View File

@@ -2,7 +2,7 @@
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" <androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory android:title="@string/preference_category_server" app:iconSpaceReserved="false"> <PreferenceCategory android:title="@string/preference_category_server" app:iconSpaceReserved="false">
<io.bartek.ttsserver.preference.IntEditTextPreference <io.bartek.ttsserver.ui.preference.IntEditTextPreference
android:defaultValue="8080" android:defaultValue="8080"
android:inputType="number" android:inputType="number"
android:key="preference_port" android:key="preference_port"