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

View File

@@ -1,7 +1,7 @@
package io.bartek.ttsserver
import dagger.android.support.DaggerApplication
import io.bartek.ttsserver.di.DaggerAppComponent
import io.bartek.ttsserver.di.component.DaggerAppComponent
class TTSApplication : DaggerApplication() {
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 io.bartek.ttsserver.preference.PreferenceKey
import io.bartek.ttsserver.sonos.worker.SonosWorker
import io.bartek.ttsserver.tts.engine.TTSEngine
import io.bartek.ttsserver.util.NetworkUtil
import io.bartek.ttsserver.web.dto.SonosDTO
import io.bartek.ttsserver.ui.preference.PreferenceKey
import io.bartek.ttsserver.core.sonos.worker.SonosWorker
import io.bartek.ttsserver.core.tts.engine.TTSEngine
import io.bartek.ttsserver.core.util.NetworkUtil
import io.bartek.ttsserver.core.web.dto.SonosDTO
import java.util.concurrent.BlockingQueue
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.SonosDiscovery
import com.vmichalak.sonoscontroller.model.PlayState
import io.bartek.ttsserver.service.ForegroundService
import io.bartek.ttsserver.service.ServiceState
import io.bartek.ttsserver.tts.engine.TTSEngine
import io.bartek.ttsserver.web.dto.SonosDTO
import io.bartek.ttsserver.service.foreground.ForegroundService
import io.bartek.ttsserver.service.state.ServiceState
import io.bartek.ttsserver.core.tts.engine.TTSEngine
import io.bartek.ttsserver.core.web.dto.SonosDTO
import java.util.concurrent.BlockingQueue
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.speech.tts.TextToSpeech
import io.bartek.ttsserver.tts.exception.TTSException
import io.bartek.ttsserver.tts.listener.Lock
import io.bartek.ttsserver.tts.listener.TTSProcessListener
import io.bartek.ttsserver.tts.model.TTSStream
import io.bartek.ttsserver.tts.status.TTSStatus
import io.bartek.ttsserver.tts.status.TTSStatusHolder
import io.bartek.ttsserver.core.tts.exception.TTSException
import io.bartek.ttsserver.core.tts.listener.Lock
import io.bartek.ttsserver.core.tts.listener.TTSProcessListener
import io.bartek.ttsserver.core.tts.model.TTSStream
import io.bartek.ttsserver.core.tts.status.TTSStatus
import io.bartek.ttsserver.core.tts.status.TTSStatusHolder
import java.io.BufferedInputStream
import java.io.File
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")

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")
// 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

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.tts.model
package io.bartek.ttsserver.core.tts.model
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

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 io.bartek.ttsserver.tts.status.TTSStatus
class TTSStatusHolder : TextToSpeech.OnInitListener {
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.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 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.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 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) {
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.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.Intent
@@ -7,16 +7,16 @@ import android.net.Uri
import androidx.localbroadcastmanager.content.LocalBroadcastManager
import fi.iki.elonen.NanoHTTPD
import fi.iki.elonen.NanoHTTPD.Response.Status.*
import io.bartek.ttsserver.preference.PreferenceKey
import io.bartek.ttsserver.service.ForegroundService
import io.bartek.ttsserver.service.ServiceState
import io.bartek.ttsserver.sonos.queue.SonosQueue
import io.bartek.ttsserver.tts.engine.TTSEngine
import io.bartek.ttsserver.tts.status.TTSStatus
import io.bartek.ttsserver.web.dto.BaseDTO
import io.bartek.ttsserver.web.dto.SonosDTO
import io.bartek.ttsserver.web.endpoint.Endpoint
import io.bartek.ttsserver.web.endpoint.EndpointMatcher
import io.bartek.ttsserver.ui.preference.PreferenceKey
import io.bartek.ttsserver.service.foreground.ForegroundService
import io.bartek.ttsserver.service.state.ServiceState
import io.bartek.ttsserver.core.sonos.queue.SonosQueue
import io.bartek.ttsserver.core.tts.engine.TTSEngine
import io.bartek.ttsserver.core.tts.status.TTSStatus
import io.bartek.ttsserver.core.web.dto.BaseDTO
import io.bartek.ttsserver.core.web.dto.SonosDTO
import io.bartek.ttsserver.core.web.endpoint.Endpoint
import io.bartek.ttsserver.core.web.endpoint.EndpointMatcher
import java.io.BufferedInputStream
import java.io.File
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.SharedPreferences
import io.bartek.ttsserver.preference.PreferenceKey
import io.bartek.ttsserver.sonos.queue.SonosQueue
import io.bartek.ttsserver.tts.engine.TTSEngine
import io.bartek.ttsserver.ui.preference.PreferenceKey
import io.bartek.ttsserver.core.sonos.queue.SonosQueue
import io.bartek.ttsserver.core.tts.engine.TTSEngine
class WebServerFactory(
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 dagger.BindsInstance
@@ -6,6 +6,8 @@ import dagger.Component
import dagger.android.AndroidInjector
import dagger.android.support.AndroidSupportInjectionModule
import io.bartek.ttsserver.TTSApplication
import io.bartek.ttsserver.di.module.AndroidModule
import io.bartek.ttsserver.di.module.TTSModule
import javax.inject.Singleton
@Singleton

View File

@@ -1,11 +1,11 @@
package io.bartek.ttsserver.di
package io.bartek.ttsserver.di.module
import dagger.Module
import dagger.android.ContributesAndroidInjector
import io.bartek.ttsserver.MainActivity
import io.bartek.ttsserver.help.HelpActivity
import io.bartek.ttsserver.preference.PreferencesActivity
import io.bartek.ttsserver.service.ForegroundService
import io.bartek.ttsserver.ui.main.MainActivity
import io.bartek.ttsserver.ui.help.HelpActivity
import io.bartek.ttsserver.ui.preference.PreferencesActivity
import io.bartek.ttsserver.service.foreground.ForegroundService
@Module
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.SharedPreferences
@@ -6,12 +6,12 @@ import android.speech.tts.TextToSpeech
import androidx.preference.PreferenceManager
import dagger.Module
import dagger.Provides
import io.bartek.ttsserver.service.ForegroundNotificationFactory
import io.bartek.ttsserver.sonos.queue.SonosQueue
import io.bartek.ttsserver.tts.engine.TTSEngine
import io.bartek.ttsserver.tts.status.TTSStatusHolder
import io.bartek.ttsserver.util.NetworkUtil
import io.bartek.ttsserver.web.server.WebServerFactory
import io.bartek.ttsserver.service.notification.ForegroundNotificationFactory
import io.bartek.ttsserver.core.sonos.queue.SonosQueue
import io.bartek.ttsserver.core.tts.engine.TTSEngine
import io.bartek.ttsserver.core.tts.status.TTSStatusHolder
import io.bartek.ttsserver.core.util.NetworkUtil
import io.bartek.ttsserver.core.web.server.WebServerFactory
import javax.inject.Singleton
@Module
@@ -61,5 +61,8 @@ class TTSModule {
@Provides
@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.content.Context
@@ -6,9 +6,11 @@ import android.content.Intent
import android.content.SharedPreferences
import android.os.PowerManager
import dagger.android.DaggerService
import io.bartek.ttsserver.preference.PreferenceKey
import io.bartek.ttsserver.web.server.WebServer
import io.bartek.ttsserver.web.server.WebServerFactory
import io.bartek.ttsserver.ui.preference.PreferenceKey
import io.bartek.ttsserver.core.web.server.WebServer
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
@@ -57,7 +59,9 @@ class ForegroundService : DaggerService() {
isServiceStarted = true
wakeLock =
(getSystemService(Context.POWER_SERVICE) as PowerManager).run {
newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, WAKELOCK_TAG).apply {
newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
WAKELOCK_TAG
).apply {
acquire()
}
}

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.help
package io.bartek.ttsserver.ui.help
import android.os.Bundle
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.Context
@@ -10,15 +10,14 @@ import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.AppCompatImageButton
import androidx.localbroadcastmanager.content.LocalBroadcastManager
import dagger.android.support.DaggerAppCompatActivity
import io.bartek.R
import io.bartek.ttsserver.help.HelpActivity
import io.bartek.ttsserver.preference.PreferencesActivity
import io.bartek.ttsserver.service.ForegroundService
import io.bartek.ttsserver.service.ServiceState
import io.bartek.ttsserver.ui.help.HelpActivity
import io.bartek.ttsserver.ui.preference.PreferencesActivity
import io.bartek.ttsserver.service.foreground.ForegroundService
import io.bartek.ttsserver.service.state.ServiceState
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.util.AttributeSet

View File

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

View File

@@ -1,4 +1,4 @@
package io.bartek.ttsserver.preference
package io.bartek.ttsserver.ui.preference
import android.os.Bundle
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.Context
@@ -12,8 +12,8 @@ import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import androidx.preference.SwitchPreference
import io.bartek.R
import io.bartek.ttsserver.service.ForegroundService
import io.bartek.ttsserver.service.ServiceState
import io.bartek.ttsserver.service.foreground.ForegroundService
import io.bartek.ttsserver.service.state.ServiceState
class PreferencesFragment : PreferenceFragmentCompat() {
private lateinit var portPreference: IntEditTextPreference

View File

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

View File

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

View File

@@ -2,7 +2,7 @@
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<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:inputType="number"
android:key="preference_port"