diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f4689def01026e6b32088f758fffbe759f25c953..d7b29b283f5d79f8a3a620aeb30fc53c5d8d052f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,9 +10,9 @@ <application android:name=".QuasselDroid" android:allowBackup="true" + android:description="@string/app_description" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" - android:description="@string/app_description" android:supportsRtl="true" android:theme="@style/Theme.SplashTheme"> <activity @@ -53,28 +53,40 @@ android:parentActivityName=".ui.setup.accounts.selection.AccountSelectionActivity" android:windowSoftInputMode="adjustResize" /> <activity - android:name=".ui.settings.app.AppSettingsActivity" + android:name=".ui.coresettings.CoreSettingsActivity" + android:exported="false" + android:label="@string/label_settings_core" + android:parentActivityName=".ui.chat.ChatActivity" + android:windowSoftInputMode="adjustResize" /> + <activity + android:name=".ui.coresettings.networkconfig.NetworkConfigActivity" + android:exported="false" + android:label="@string/settings_networkconfig_title" + android:parentActivityName=".ui.chat.ChatActivity" + android:windowSoftInputMode="adjustResize" /> + <activity + android:name=".ui.clientsettings.app.AppSettingsActivity" android:exported="false" - android:label="@string/label_settings" + android:label="@string/label_settings_client" android:parentActivityName=".ui.chat.ChatActivity" android:windowSoftInputMode="adjustResize" /> <activity - android:name=".ui.settings.crash.CrashSettingsActivity" + android:name=".ui.clientsettings.crash.CrashSettingsActivity" android:exported="false" android:label="@string/label_crashes" - android:parentActivityName=".ui.settings.app.AppSettingsActivity" + android:parentActivityName=".ui.clientsettings.app.AppSettingsActivity" android:windowSoftInputMode="adjustResize" /> <activity - android:name=".ui.settings.about.AboutSettingsActivity" + android:name=".ui.clientsettings.about.AboutSettingsActivity" android:exported="false" android:label="@string/label_about" - android:parentActivityName=".ui.settings.app.AppSettingsActivity" + android:parentActivityName=".ui.clientsettings.app.AppSettingsActivity" android:windowSoftInputMode="adjustResize" /> <activity - android:name=".ui.settings.license.LicenseSettingsActivity" + android:name=".ui.clientsettings.license.LicenseSettingsActivity" android:exported="false" android:label="@string/label_license" - android:parentActivityName=".ui.settings.about.AboutSettingsActivity" + android:parentActivityName=".ui.clientsettings.about.AboutSettingsActivity" android:windowSoftInputMode="adjustResize" /> <activity diff --git a/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt b/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt index e85d1de4af1b89f14c6a35d3f3bca787cfd09443..c8324a735f87bff4b5b3f3a6c65041fed1087dea 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt @@ -8,14 +8,18 @@ import de.kuschku.quasseldroid.ui.chat.ChatActivityModule import de.kuschku.quasseldroid.ui.chat.ChatFragmentProvider import de.kuschku.quasseldroid.ui.chat.info.InfoActivity import de.kuschku.quasseldroid.ui.chat.info.InfoFragmentProvider -import de.kuschku.quasseldroid.ui.settings.about.AboutSettingsActivity -import de.kuschku.quasseldroid.ui.settings.about.AboutSettingsFragmentProvider -import de.kuschku.quasseldroid.ui.settings.app.AppSettingsActivity -import de.kuschku.quasseldroid.ui.settings.app.AppSettingsFragmentProvider -import de.kuschku.quasseldroid.ui.settings.crash.CrashSettingsActivity -import de.kuschku.quasseldroid.ui.settings.crash.CrashSettingsFragmentProvider -import de.kuschku.quasseldroid.ui.settings.license.LicenseSettingsActivity -import de.kuschku.quasseldroid.ui.settings.license.LicenseSettingsFragmentProvider +import de.kuschku.quasseldroid.ui.clientsettings.about.AboutSettingsActivity +import de.kuschku.quasseldroid.ui.clientsettings.about.AboutSettingsFragmentProvider +import de.kuschku.quasseldroid.ui.clientsettings.app.AppSettingsActivity +import de.kuschku.quasseldroid.ui.clientsettings.app.AppSettingsFragmentProvider +import de.kuschku.quasseldroid.ui.clientsettings.crash.CrashSettingsActivity +import de.kuschku.quasseldroid.ui.clientsettings.crash.CrashSettingsFragmentProvider +import de.kuschku.quasseldroid.ui.clientsettings.license.LicenseSettingsActivity +import de.kuschku.quasseldroid.ui.clientsettings.license.LicenseSettingsFragmentProvider +import de.kuschku.quasseldroid.ui.coresettings.CoreSettingsActivity +import de.kuschku.quasseldroid.ui.coresettings.CoreSettingsFragmentProvider +import de.kuschku.quasseldroid.ui.coresettings.networkconfig.NetworkConfigActivity +import de.kuschku.quasseldroid.ui.coresettings.networkconfig.NetworkConfigFragmentProvider import de.kuschku.quasseldroid.ui.setup.accounts.edit.AccountEditActivity import de.kuschku.quasseldroid.ui.setup.accounts.selection.AccountSelectionActivity import de.kuschku.quasseldroid.ui.setup.accounts.selection.AccountSelectionFragmentProvider @@ -42,6 +46,12 @@ abstract class ActivityModule { @ContributesAndroidInjector(modules = [LicenseSettingsFragmentProvider::class]) abstract fun bindLicenseSettingsActivity(): LicenseSettingsActivity + @ContributesAndroidInjector(modules = [CoreSettingsFragmentProvider::class]) + abstract fun bindCoreSettingsActivity(): CoreSettingsActivity + + @ContributesAndroidInjector(modules = [NetworkConfigFragmentProvider::class]) + abstract fun bindNetworkConfigActivity(): NetworkConfigActivity + @ContributesAndroidInjector(modules = [AccountSetupFragmentProvider::class]) abstract fun bindAccountSetupActivity(): AccountSetupActivity diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt index 8552ed8d6a65e920bd23f536ef9e015854b5423b..d5be1e3fc90b9faaf0aa237ea5fbfcf9caceec8d 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt @@ -36,7 +36,8 @@ import de.kuschku.quasseldroid.settings.MessageSettings import de.kuschku.quasseldroid.settings.Settings import de.kuschku.quasseldroid.ui.chat.input.Editor import de.kuschku.quasseldroid.ui.chat.input.MessageHistoryAdapter -import de.kuschku.quasseldroid.ui.settings.app.AppSettingsActivity +import de.kuschku.quasseldroid.ui.clientsettings.app.AppSettingsActivity +import de.kuschku.quasseldroid.ui.coresettings.CoreSettingsActivity import de.kuschku.quasseldroid.util.helper.editCommit import de.kuschku.quasseldroid.util.helper.invoke import de.kuschku.quasseldroid.util.helper.retint @@ -403,8 +404,12 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc } true } - R.id.action_settings -> { - startActivity(Intent(applicationContext, AppSettingsActivity::class.java)) + R.id.action_core_settings -> { + startActivity(Intent(this, CoreSettingsActivity::class.java)) + true + } + R.id.action_client_settings -> { + startActivity(Intent(this, AppSettingsActivity::class.java)) true } R.id.action_disconnect -> { diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/info/InfoActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/info/InfoActivity.kt index b8bc0e93a23ce09a8bd02e2c675fde00ba1d748b..bae8074b29ff95b78b9c30a9cafdefee85fd0ca4 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/info/InfoActivity.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/info/InfoActivity.kt @@ -1,5 +1,5 @@ package de.kuschku.quasseldroid.ui.chat.info -import de.kuschku.quasseldroid.ui.settings.SettingsActivity +import de.kuschku.quasseldroid.util.ui.SettingsActivity class InfoActivity : SettingsActivity(InfoFragment()) \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutSettingsActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutSettingsActivity.kt new file mode 100644 index 0000000000000000000000000000000000000000..8997104a51be1d8f632922c46252c952bdb0c820 --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutSettingsActivity.kt @@ -0,0 +1,5 @@ +package de.kuschku.quasseldroid.ui.clientsettings.about + +import de.kuschku.quasseldroid.util.ui.SettingsActivity + +class AboutSettingsActivity : SettingsActivity(AboutSettingsFragment()) \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/AboutSettingsFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutSettingsFragment.kt similarity index 99% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/AboutSettingsFragment.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutSettingsFragment.kt index 9de5af5a606b7e630c51156d6b9944214733a972..3d86df20c4220fbdb0b5dc01bb77a39836bf2a12 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/AboutSettingsFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutSettingsFragment.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings.about +package de.kuschku.quasseldroid.ui.clientsettings.about import android.content.Intent import android.net.Uri diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/AboutSettingsFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutSettingsFragmentProvider.kt similarity index 80% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/AboutSettingsFragmentProvider.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutSettingsFragmentProvider.kt index e12cd9aef80451c27f39cf33e3b631b8bac55e66..29251635e7136978237b8971c1a3b306122eecdd 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/AboutSettingsFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutSettingsFragmentProvider.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings.about +package de.kuschku.quasseldroid.ui.clientsettings.about import dagger.Module import dagger.android.ContributesAndroidInjector diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/Contributor.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/Contributor.kt similarity index 63% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/Contributor.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/Contributor.kt index 30ba46c4bcc0544582e3c3368075b28029d577a4..d90d86e1c772914eee90af71217b5e8279f9a6ee 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/Contributor.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/Contributor.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings.about +package de.kuschku.quasseldroid.ui.clientsettings.about data class Contributor( val name: String, diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/ContributorAdapter.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/ContributorAdapter.kt similarity index 95% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/ContributorAdapter.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/ContributorAdapter.kt index 91ed4cdb322f83658c41c09f83c67b60ea323f62..a5a3e7dfbbcb54437dc0d5de4d67baeb600446d6 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/ContributorAdapter.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/ContributorAdapter.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings.about +package de.kuschku.quasseldroid.ui.clientsettings.about import android.support.v7.widget.RecyclerView import android.view.LayoutInflater diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/Library.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/Library.kt similarity index 67% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/Library.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/Library.kt index 2621adf0921c08907e664c5ab246b6b5ec4eda56..87230d5487c9deadb44e61d671d9dbd5a24299e9 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/Library.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/Library.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings.about +package de.kuschku.quasseldroid.ui.clientsettings.about data class Library( val name: String, diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/LibraryAdapter.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/LibraryAdapter.kt similarity index 92% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/LibraryAdapter.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/LibraryAdapter.kt index f2cfb94bff18f2b1d89fb07c30950b03621df109..f63a6f3ae4e5ab415423dc130f5365abc24ea656 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/LibraryAdapter.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/LibraryAdapter.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings.about +package de.kuschku.quasseldroid.ui.clientsettings.about import android.content.Intent import android.support.v7.widget.RecyclerView @@ -9,7 +9,7 @@ import android.widget.TextView import butterknife.BindView import butterknife.ButterKnife import de.kuschku.quasseldroid.R -import de.kuschku.quasseldroid.ui.settings.license.LicenseSettingsActivity +import de.kuschku.quasseldroid.ui.clientsettings.license.LicenseSettingsActivity class LibraryAdapter(private val libraries: List<Library>) : RecyclerView.Adapter<LibraryAdapter.LibraryViewHolder>() { diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/License.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/License.kt similarity index 73% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/License.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/License.kt index 08e21f53b05644aedcfad004be798ec0c7614cc3..29e4db909c3685f22fb55c0629d030d1302fe41d 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/License.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/License.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings.about +package de.kuschku.quasseldroid.ui.clientsettings.about import android.support.annotation.StringRes diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/app/AppSettingsActivity.kt similarity index 74% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsActivity.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/app/AppSettingsActivity.kt index 7dcbb7f02931096d10e1a04ed83077009891b924..5bb8ffefa471b0449aa37323f1f12f24672f6a1a 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsActivity.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/app/AppSettingsActivity.kt @@ -1,12 +1,12 @@ -package de.kuschku.quasseldroid.ui.settings.app +package de.kuschku.quasseldroid.ui.clientsettings.app import android.content.Intent import android.view.Menu import android.view.MenuItem import de.kuschku.quasseldroid.R -import de.kuschku.quasseldroid.ui.settings.SettingsActivity -import de.kuschku.quasseldroid.ui.settings.about.AboutSettingsActivity -import de.kuschku.quasseldroid.ui.settings.crash.CrashSettingsActivity +import de.kuschku.quasseldroid.ui.clientsettings.about.AboutSettingsActivity +import de.kuschku.quasseldroid.ui.clientsettings.crash.CrashSettingsActivity +import de.kuschku.quasseldroid.util.ui.SettingsActivity class AppSettingsActivity : SettingsActivity(AppSettingsFragment()) { override fun onCreateOptionsMenu(menu: Menu?): Boolean { diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/app/AppSettingsFragment.kt similarity index 97% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsFragment.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/app/AppSettingsFragment.kt index 08abd25c9b46f92a441d8ea30dd7d2ae1997bfa4..7981dc1f0808fa666ddc8a2246126fc63adfb070 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/app/AppSettingsFragment.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings.app +package de.kuschku.quasseldroid.ui.clientsettings.app import android.content.SharedPreferences import android.os.Bundle diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/app/AppSettingsFragmentProvider.kt similarity index 80% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsFragmentProvider.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/app/AppSettingsFragmentProvider.kt index 15b0a5bd5155767b6cda6170cbe5710c4533ff8a..1c005598fa311b93ff02756790d158cb17b4edf4 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/app/AppSettingsFragmentProvider.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings.app +package de.kuschku.quasseldroid.ui.clientsettings.app import dagger.Module import dagger.android.ContributesAndroidInjector diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/crash/CrashAdapter.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashAdapter.kt similarity index 97% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/crash/CrashAdapter.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashAdapter.kt index e65d8d47c4dbbcc45bc88c5b52ff608a9cc917fd..6c6ee0acca84ec803013cfd8645abdaddc516a19 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/crash/CrashAdapter.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashAdapter.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings.crash +package de.kuschku.quasseldroid.ui.clientsettings.crash import android.content.Intent import android.support.v7.recyclerview.extensions.ListAdapter diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashSettingsActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashSettingsActivity.kt new file mode 100644 index 0000000000000000000000000000000000000000..4a2be941aae6b5ef00051fe0c86a4a96a24ebdff --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashSettingsActivity.kt @@ -0,0 +1,5 @@ +package de.kuschku.quasseldroid.ui.clientsettings.crash + +import de.kuschku.quasseldroid.util.ui.SettingsActivity + +class CrashSettingsActivity : SettingsActivity(CrashSettingsFragment()) \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/crash/CrashSettingsFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashSettingsFragment.kt similarity index 98% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/crash/CrashSettingsFragment.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashSettingsFragment.kt index 341a591a84fd58e5813c1d6d8f0905a38f499bea..b3e3fff994a7ba74e0fae4628d42bfd7cba5e89f 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/crash/CrashSettingsFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashSettingsFragment.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings.crash +package de.kuschku.quasseldroid.ui.clientsettings.crash import android.content.Context import android.os.Bundle diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/crash/CrashSettingsFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashSettingsFragmentProvider.kt similarity index 79% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/crash/CrashSettingsFragmentProvider.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashSettingsFragmentProvider.kt index 3cb243e5f8695de64838b5828b1b0f7ce7a2f0b9..7d7c78eab97d8d01402d09d60d1d2e3545445e2b 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/crash/CrashSettingsFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/crash/CrashSettingsFragmentProvider.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings.crash +package de.kuschku.quasseldroid.ui.clientsettings.crash import dagger.Module import dagger.android.ContributesAndroidInjector diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/license/LicenseSettingsActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/license/LicenseSettingsActivity.kt new file mode 100644 index 0000000000000000000000000000000000000000..24177ec86de797e0aa81421f94cb7b428b3616f7 --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/license/LicenseSettingsActivity.kt @@ -0,0 +1,5 @@ +package de.kuschku.quasseldroid.ui.clientsettings.license + +import de.kuschku.quasseldroid.util.ui.SettingsActivity + +class LicenseSettingsActivity : SettingsActivity() \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/license/LicenseSettingsFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/license/LicenseSettingsFragment.kt similarity index 94% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/license/LicenseSettingsFragment.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/license/LicenseSettingsFragment.kt index 5e5fe63c9d1fafee264fe645d07f7f0748880dc5..b597440f8aee9eae5f50a97485178e27de7fb81b 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/license/LicenseSettingsFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/license/LicenseSettingsFragment.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings.license +package de.kuschku.quasseldroid.ui.clientsettings.license import android.os.Bundle import android.text.Html diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/license/LicenseSettingsFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/license/LicenseSettingsFragmentProvider.kt similarity index 79% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/license/LicenseSettingsFragmentProvider.kt rename to app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/license/LicenseSettingsFragmentProvider.kt index 03c5df1fe9dc9b9160166f9128641ceee7ddbde2..86cc6cff6a368e3d45326cbf36a88833ef2adc47 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/license/LicenseSettingsFragmentProvider.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/license/LicenseSettingsFragmentProvider.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings.license +package de.kuschku.quasseldroid.ui.clientsettings.license import dagger.Module import dagger.android.ContributesAndroidInjector diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsActivity.kt new file mode 100644 index 0000000000000000000000000000000000000000..09f567bbbe630a9314576e73050e2b99bb0c2fc6 --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsActivity.kt @@ -0,0 +1,5 @@ +package de.kuschku.quasseldroid.ui.coresettings + +import de.kuschku.quasseldroid.util.ui.SettingsActivity + +class CoreSettingsActivity : SettingsActivity(CoreSettingsFragment()) \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragment.kt new file mode 100644 index 0000000000000000000000000000000000000000..311ba0a6e363e779a2e2db756c88e8c8d336a520 --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragment.kt @@ -0,0 +1,82 @@ +package de.kuschku.quasseldroid.ui.coresettings + +import android.content.Intent +import android.os.Bundle +import android.support.v7.widget.LinearLayoutManager +import android.support.v7.widget.RecyclerView +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import butterknife.BindView +import butterknife.ButterKnife +import de.kuschku.quasseldroid.R +import de.kuschku.quasseldroid.ui.coresettings.networkconfig.NetworkConfigActivity +import de.kuschku.quasseldroid.util.helper.visibleIf +import de.kuschku.quasseldroid.util.service.ServiceBoundFragment + +class CoreSettingsFragment : ServiceBoundFragment() { + @BindView(R.id.list) + lateinit var list: RecyclerView + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle?): View? { + val view = inflater.inflate(R.layout.fragment_coresettings, container, false) + ButterKnife.bind(this, view) + + list.layoutManager = LinearLayoutManager(context) + list.adapter = CoreSettingsAdapter(listOf( + CoreSetting( + getString(R.string.settings_networkconfig_title), + getString(R.string.settings_networkconfig_description), + Intent(requireContext(), NetworkConfigActivity::class.java) + ) + )) + + return view + } + + data class CoreSetting( + val title: CharSequence, + val summary: CharSequence? = null, + val intent: Intent? = null + ) + + class CoreSettingsAdapter(private val data: List<CoreSetting>) : + RecyclerView.Adapter<CoreSettingsAdapter.CoreSettingsViewHolder>() { + override fun getItemCount() = data.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = CoreSettingsViewHolder( + LayoutInflater.from(parent.context).inflate(R.layout.widget_coresetting, parent, false) + ) + + override fun onBindViewHolder(holder: CoreSettingsViewHolder, position: Int) { + holder.bind(data[position]) + } + + class CoreSettingsViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + @BindView(R.id.title) + lateinit var title: TextView + + @BindView(R.id.summary) + lateinit var summary: TextView + + var item: CoreSetting? = null + + init { + ButterKnife.bind(this, itemView) + itemView.setOnClickListener { + item?.intent?.let(itemView.context::startActivity) + } + } + + fun bind(item: CoreSetting) { + this.item = item + + this.title.text = item.title + this.summary.text = item.summary + this.summary.visibleIf(!item.summary.isNullOrBlank()) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragmentProvider.kt new file mode 100644 index 0000000000000000000000000000000000000000..2b0e5768aeeff6dab8ebdc5c9a75b6ffa89b7380 --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragmentProvider.kt @@ -0,0 +1,10 @@ +package de.kuschku.quasseldroid.ui.coresettings + +import dagger.Module +import dagger.android.ContributesAndroidInjector + +@Module +abstract class CoreSettingsFragmentProvider { + @ContributesAndroidInjector + abstract fun CoreSettingsFragmentbind(): CoreSettingsFragment +} \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/SettingsFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/SettingsFragment.kt new file mode 100644 index 0000000000000000000000000000000000000000..7d580fb37d1f8dba18fd833ae34ad62dd199d929 --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/SettingsFragment.kt @@ -0,0 +1,30 @@ +package de.kuschku.quasseldroid.ui.coresettings + +import android.os.Bundle +import android.view.Menu +import android.view.MenuInflater +import android.view.MenuItem +import de.kuschku.quasseldroid.R +import de.kuschku.quasseldroid.util.service.ServiceBoundFragment + +abstract class SettingsFragment : ServiceBoundFragment() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setHasOptionsMenu(true) + } + + override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) { + inflater?.inflate(R.menu.context_setting, menu) + super.onCreateOptionsMenu(menu, inflater) + } + + override fun onOptionsItemSelected(item: MenuItem?) = when (item?.itemId) { + R.id.action_save -> { + onSave() + true + } + else -> super.onOptionsItemSelected(item) + } + + abstract fun onSave() +} \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigActivity.kt new file mode 100644 index 0000000000000000000000000000000000000000..525bed7365faa1bca511cc61dc469862384f75f7 --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigActivity.kt @@ -0,0 +1,5 @@ +package de.kuschku.quasseldroid.ui.coresettings.networkconfig + +import de.kuschku.quasseldroid.util.ui.SettingsActivity + +class NetworkConfigActivity : SettingsActivity(NetworkConfigFragment()) \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragment.kt new file mode 100644 index 0000000000000000000000000000000000000000..972ac1a518f4e1ece6bb322c6d9de7233c8599f7 --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragment.kt @@ -0,0 +1,101 @@ +package de.kuschku.quasseldroid.ui.coresettings.networkconfig + +import android.arch.lifecycle.Observer +import android.os.Bundle +import android.support.v7.widget.SwitchCompat +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.EditText +import butterknife.BindView +import butterknife.ButterKnife +import de.kuschku.libquassel.quassel.syncables.NetworkConfig +import de.kuschku.libquassel.session.ISession +import de.kuschku.quasseldroid.R +import de.kuschku.quasseldroid.ui.coresettings.SettingsFragment +import de.kuschku.quasseldroid.util.helper.setDependent +import de.kuschku.quasseldroid.util.helper.toLiveData + +class NetworkConfigFragment : SettingsFragment() { + private var networkConfig: NetworkConfig? = null + + @BindView(R.id.ping_timeout_enabled) + lateinit var pingTimeoutEnabled: SwitchCompat + + @BindView(R.id.ping_timeout_group) + lateinit var pingTimeoutGroup: ViewGroup + + @BindView(R.id.ping_interval) + lateinit var pingInterval: EditText + + @BindView(R.id.max_ping_count) + lateinit var maxPingCount: EditText + + @BindView(R.id.auto_who_enabled) + lateinit var autoWhoEnabled: SwitchCompat + + @BindView(R.id.auto_who_group) + lateinit var autoWhoGroup: ViewGroup + + @BindView(R.id.auto_who_interval) + lateinit var autoWhoInterval: EditText + + @BindView(R.id.auto_who_nick_limit) + lateinit var autoWhoNickLimit: EditText + + @BindView(R.id.auto_who_delay) + lateinit var autoWhoDelay: EditText + + @BindView(R.id.standard_ctcp) + lateinit var standardCtcp: SwitchCompat + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle?): View? { + val view = inflater.inflate(R.layout.fragment_networksettings, container, false) + ButterKnife.bind(this, view) + + setHasOptionsMenu(true) + + viewModel.session.map { it.map(ISession::networkConfig) }.toLiveData().observe(this, Observer { + it?.orNull()?.let { + this.networkConfig = it + + pingTimeoutEnabled.isChecked = it.pingTimeoutEnabled() + pingInterval.setText(it.pingInterval().toString()) + maxPingCount.setText(it.maxPingCount().toString()) + + autoWhoEnabled.isChecked = it.autoWhoEnabled() + autoWhoInterval.setText(it.autoWhoInterval().toString()) + autoWhoNickLimit.setText(it.autoWhoNickLimit().toString()) + autoWhoDelay.setText(it.autoWhoDelay().toString()) + + standardCtcp.isChecked = it.standardCtcp() + } + }) + + pingTimeoutEnabled.setDependent(pingTimeoutGroup) + autoWhoEnabled.setDependent(autoWhoGroup) + + return view + } + + + override fun onSave() { + networkConfig?.let { + val config = it.copy() + + config.setPingTimeoutEnabled(pingTimeoutEnabled.isChecked) + pingInterval.text.toString().toIntOrNull()?.let(config::setPingInterval) + maxPingCount.text.toString().toIntOrNull()?.let(config::setMaxPingCount) + + config.setAutoWhoEnabled(autoWhoEnabled.isChecked) + autoWhoInterval.text.toString().toIntOrNull()?.let(config::setAutoWhoInterval) + autoWhoNickLimit.text.toString().toIntOrNull()?.let(config::setAutoWhoNickLimit) + autoWhoDelay.text.toString().toIntOrNull()?.let(config::setAutoWhoDelay) + config.setStandardCtcp(standardCtcp.isChecked) + + val properties = config.toVariantMap() + it.requestUpdate(properties) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragmentProvider.kt new file mode 100644 index 0000000000000000000000000000000000000000..f697f8a9363a27c6b95b1af6d2461c40e28b214e --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/networkconfig/NetworkConfigFragmentProvider.kt @@ -0,0 +1,10 @@ +package de.kuschku.quasseldroid.ui.coresettings.networkconfig + +import dagger.Module +import dagger.android.ContributesAndroidInjector + +@Module +abstract class NetworkConfigFragmentProvider { + @ContributesAndroidInjector + abstract fun bindNetworkConfigFragment(): NetworkConfigFragment +} \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/AboutSettingsActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/AboutSettingsActivity.kt deleted file mode 100644 index 5f6d1701ffae3e14f8ff28baf0ce63e740208682..0000000000000000000000000000000000000000 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/about/AboutSettingsActivity.kt +++ /dev/null @@ -1,5 +0,0 @@ -package de.kuschku.quasseldroid.ui.settings.about - -import de.kuschku.quasseldroid.ui.settings.SettingsActivity - -class AboutSettingsActivity : SettingsActivity(AboutSettingsFragment()) \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/crash/CrashSettingsActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/settings/crash/CrashSettingsActivity.kt deleted file mode 100644 index 5d21e0bc9cd57b6ece0408a3af5970ff04445184..0000000000000000000000000000000000000000 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/crash/CrashSettingsActivity.kt +++ /dev/null @@ -1,5 +0,0 @@ -package de.kuschku.quasseldroid.ui.settings.crash - -import de.kuschku.quasseldroid.ui.settings.SettingsActivity - -class CrashSettingsActivity : SettingsActivity(CrashSettingsFragment()) \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/license/LicenseSettingsActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/settings/license/LicenseSettingsActivity.kt deleted file mode 100644 index 01947a6407f984f67581038d97f4fc4ac687ffd2..0000000000000000000000000000000000000000 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/license/LicenseSettingsActivity.kt +++ /dev/null @@ -1,5 +0,0 @@ -package de.kuschku.quasseldroid.ui.settings.license - -import de.kuschku.quasseldroid.ui.settings.SettingsActivity - -class LicenseSettingsActivity : SettingsActivity() \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/helper/SwitchCompatHelper.kt b/app/src/main/java/de/kuschku/quasseldroid/util/helper/SwitchCompatHelper.kt new file mode 100644 index 0000000000000000000000000000000000000000..aff438caa67c1edfb0346a1a91c60ac9b8f2290b --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/util/helper/SwitchCompatHelper.kt @@ -0,0 +1,15 @@ +package de.kuschku.quasseldroid.util.helper + +import android.support.v7.widget.SwitchCompat +import android.view.ViewGroup +import de.kuschku.quasseldroid.util.ui.AnimationHelper + +fun SwitchCompat.setDependent(view: ViewGroup, reverse: Boolean = false) { + this.setOnCheckedChangeListener { _, isChecked -> + if (reverse && !isChecked || !reverse && isChecked) { + AnimationHelper.expand(view) + } else { + AnimationHelper.collapse(view) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/ui/AnimationHelper.kt b/app/src/main/java/de/kuschku/quasseldroid/util/ui/AnimationHelper.kt new file mode 100644 index 0000000000000000000000000000000000000000..0007abab4f83c1e3e9c42e6076ab8be9ac499ba2 --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/util/ui/AnimationHelper.kt @@ -0,0 +1,62 @@ +package de.kuschku.quasseldroid.util.ui + +import android.view.View +import android.view.ViewGroup +import android.view.animation.Animation +import android.view.animation.Transformation +import kotlin.math.roundToLong + +object AnimationHelper { + fun expand(v: ViewGroup) { + v.measure(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) + val targetHeight = v.measuredHeight + + // Older versions of android (pre API 21) cancel animations for views with a height of 0. + v.layoutParams.height = 1 + v.visibility = View.VISIBLE + + v.clearAnimation() + v.startAnimation(object : Animation() { + init { + duration = (targetHeight / v.context.resources.displayMetrics.density).roundToLong() + } + + override fun applyTransformation(interpolatedTime: Float, t: Transformation) { + v.layoutParams.height = if (interpolatedTime == 1f) + ViewGroup.LayoutParams.WRAP_CONTENT + else + (targetHeight * interpolatedTime).toInt() + v.alpha = interpolatedTime + v.requestLayout() + } + + override fun willChangeBounds(): Boolean { + return true + } + }) + } + + fun collapse(v: ViewGroup) { + val initialHeight = v.measuredHeight + v.clearAnimation() + v.startAnimation(object : Animation() { + init { + duration = (initialHeight / v.context.resources.displayMetrics.density).roundToLong() + } + + override fun applyTransformation(interpolatedTime: Float, t: Transformation) { + if (interpolatedTime == 1f) { + v.visibility = View.GONE + } else { + v.layoutParams.height = initialHeight - (initialHeight * interpolatedTime).toInt() + v.alpha = 1 - interpolatedTime + v.requestLayout() + } + } + + override fun willChangeBounds(): Boolean { + return true + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/SettingsActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/util/ui/SettingsActivity.kt similarity index 95% rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/SettingsActivity.kt rename to app/src/main/java/de/kuschku/quasseldroid/util/ui/SettingsActivity.kt index f64b961f167f43f1e9a11ab3ab4446318556b367..30b536ccf769050e253c6ffdf81000cc93972955 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/SettingsActivity.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/ui/SettingsActivity.kt @@ -1,4 +1,4 @@ -package de.kuschku.quasseldroid.ui.settings +package de.kuschku.quasseldroid.util.ui import android.os.Bundle import android.support.v4.app.Fragment diff --git a/app/src/main/res/drawable/ic_message_bulleted.xml b/app/src/main/res/drawable/ic_message_bulleted.xml new file mode 100644 index 0000000000000000000000000000000000000000..2b2d39efaf3fbae955371adab64822b8c809b4f0 --- /dev/null +++ b/app/src/main/res/drawable/ic_message_bulleted.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportHeight="24" + android:viewportWidth="24"> + <path + android:fillColor="#000" + android:pathData="M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M8,14H6V12H8V14M8,11H6V9H8V11M8,8H6V6H8V8M15,14H10V12H15V14M18,11H10V9H18V11M18,8H10V6H18V8Z" /> +</vector> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_coresettings.xml b/app/src/main/res/layout/fragment_coresettings.xml new file mode 100644 index 0000000000000000000000000000000000000000..d84e8ff1d1a6320ca5470f1df23866b6a0e5792b --- /dev/null +++ b/app/src/main/res/layout/fragment_coresettings.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/list" + android:layout_width="match_parent" + android:layout_height="match_parent" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_networksettings.xml b/app/src/main/res/layout/fragment_networksettings.xml new file mode 100644 index 0000000000000000000000000000000000000000..f654040fa37c8b30180ba0149953a21e9419de09 --- /dev/null +++ b/app/src/main/res/layout/fragment_networksettings.xml @@ -0,0 +1,167 @@ +<?xml version="1.0" encoding="utf-8"?> +<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <LinearLayout style="@style/Widget.CoreSettings.Wrapper"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:minHeight="48dp"> + + <android.support.v7.widget.AppCompatImageView + style="@style/Widget.CoreSettings.PrimaryItemIcon" + app:srcCompat="@drawable/ic_history" /> + + <android.support.v7.widget.SwitchCompat + android:id="@+id/ping_timeout_enabled" + style="@style/Widget.CoreSettings.PrimaryItemSwitch" + android:text="@string/settings_networkconfig_ping_timeout" /> + </LinearLayout> + + <LinearLayout + android:id="@+id/ping_timeout_group" + style="@style/Widget.CoreSettings.DependentGroup" + tools:visibility="visible"> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <android.support.design.widget.TextInputLayout + style="@style/Widget.CoreSettings.EditTextLayout" + android:hint="@string/settings_networkconfig_ping_interval"> + + <android.support.design.widget.TextInputEditText + android:id="@+id/ping_interval" + style="@style/Widget.CoreSettings.EditText" + android:inputType="number" + tools:text="30" /> + </android.support.design.widget.TextInputLayout> + + <TextView + style="@style/Widget.CoreSettings.EditTextSuffix" + android:text="@string/settings_networkconfig_ping_interval_unit" /> + </FrameLayout> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <android.support.design.widget.TextInputLayout + style="@style/Widget.CoreSettings.EditTextLayout" + android:hint="@string/settings_networkconfig_max_ping_count"> + + <android.support.design.widget.TextInputEditText + android:id="@+id/max_ping_count" + style="@style/Widget.CoreSettings.EditText" + android:inputType="number" + tools:text="10" /> + </android.support.design.widget.TextInputLayout> + + <TextView + style="@style/Widget.CoreSettings.EditTextSuffix" + android:text="@string/settings_networkconfig_max_ping_count_unit" /> + </FrameLayout> + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:minHeight="48dp"> + + <android.support.v7.widget.AppCompatImageView + style="@style/Widget.CoreSettings.PrimaryItemIcon" + app:srcCompat="@drawable/ic_account" /> + + <android.support.v7.widget.SwitchCompat + android:id="@+id/auto_who_enabled" + style="@style/Widget.CoreSettings.PrimaryItemSwitch" + android:text="@string/settings_networkconfig_auto_who" /> + </LinearLayout> + + <LinearLayout + android:id="@+id/auto_who_group" + style="@style/Widget.CoreSettings.DependentGroup" + tools:visibility="visible"> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <android.support.design.widget.TextInputLayout + style="@style/Widget.CoreSettings.EditTextLayout" + android:hint="@string/settings_networkconfig_auto_who_interval"> + + <android.support.design.widget.TextInputEditText + android:id="@+id/auto_who_interval" + style="@style/Widget.CoreSettings.EditText" + android:inputType="number" + tools:text="90" /> + </android.support.design.widget.TextInputLayout> + + <TextView + style="@style/Widget.CoreSettings.EditTextSuffix" + android:text="@string/settings_networkconfig_auto_who_interval_unit" /> + </FrameLayout> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <android.support.design.widget.TextInputLayout + style="@style/Widget.CoreSettings.EditTextLayout" + android:hint="@string/settings_networkconfig_auto_who_nick_limit"> + + <android.support.design.widget.TextInputEditText + android:id="@+id/auto_who_nick_limit" + style="@style/Widget.CoreSettings.EditText" + android:inputType="number" + tools:text="100" /> + </android.support.design.widget.TextInputLayout> + + <TextView + style="@style/Widget.CoreSettings.EditTextSuffix" + android:text="@string/settings_networkconfig_auto_who_nick_limit_unit" /> + </FrameLayout> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <android.support.design.widget.TextInputLayout + style="@style/Widget.CoreSettings.EditTextLayout" + android:hint="@string/settings_networkconfig_auto_who_delay"> + + <android.support.design.widget.TextInputEditText + android:id="@+id/auto_who_delay" + style="@style/Widget.CoreSettings.EditText" + android:inputType="number" + tools:text="5" /> + </android.support.design.widget.TextInputLayout> + + <TextView + style="@style/Widget.CoreSettings.EditTextSuffix" + android:text="@string/settings_networkconfig_auto_who_delay_unit" /> + </FrameLayout> + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:minHeight="48dp"> + + <android.support.v7.widget.AppCompatImageView + style="@style/Widget.CoreSettings.PrimaryItemIcon" + app:srcCompat="@drawable/ic_message_bulleted" /> + + <android.support.v7.widget.SwitchCompat + android:id="@+id/standard_ctcp" + style="@style/Widget.CoreSettings.PrimaryItemSwitch" + android:text="@string/settings_networkconfig_standard_ctcp" /> + </LinearLayout> + </LinearLayout> +</android.support.v4.widget.NestedScrollView> \ No newline at end of file diff --git a/app/src/main/res/layout/setup_account_edit.xml b/app/src/main/res/layout/setup_account_edit.xml index b95d98987eee13a6cb2d0050c30588d1791b28f3..8c9c4e3954f94b700706fcc9c8e9444d7ec026f9 100644 --- a/app/src/main/res/layout/setup_account_edit.xml +++ b/app/src/main/res/layout/setup_account_edit.xml @@ -23,11 +23,11 @@ android:layout_width="56dp" android:layout_height="68dp"> - <ImageView + <android.support.v7.widget.AppCompatImageView android:layout_width="24dp" android:layout_height="24dp" android:layout_gravity="center_vertical" - android:tint="#757575" + app:tint="?android:textColorSecondary" app:srcCompat="@drawable/ic_pencil" tools:ignore="ContentDescription" /> </FrameLayout> @@ -61,11 +61,11 @@ android:layout_width="56dp" android:layout_height="68dp"> - <ImageView + <android.support.v7.widget.AppCompatImageView android:layout_width="24dp" android:layout_height="24dp" android:layout_gravity="center_vertical" - android:tint="#757575" + app:tint="?android:textColorSecondary" app:srcCompat="@drawable/ic_server_network" tools:ignore="ContentDescription" /> </FrameLayout> @@ -89,10 +89,6 @@ android:inputType="textUri" /> </android.support.design.widget.TextInputLayout> - <android.support.v4.widget.Space - android:layout_width="56dp" - android:layout_height="match_parent" /> - <android.support.design.widget.TextInputLayout android:id="@+id/portWrapper" android:layout_width="match_parent" @@ -125,11 +121,11 @@ android:layout_width="56dp" android:layout_height="68dp"> - <ImageView + <android.support.v7.widget.AppCompatImageView android:layout_width="24dp" android:layout_height="24dp" android:layout_gravity="center_vertical" - android:tint="#757575" + app:tint="?android:textColorSecondary" app:srcCompat="@drawable/ic_account" tools:ignore="ContentDescription" /> </FrameLayout> diff --git a/app/src/main/res/layout/widget_coresetting.xml b/app/src/main/res/layout/widget_coresetting.xml new file mode 100644 index 0000000000000000000000000000000000000000..6d36188e6a5dfef38c83b63cbe95be566ed6cff0 --- /dev/null +++ b/app/src/main/res/layout/widget_coresetting.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="utf-8"?> +<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="wrap_content" + android:background="?android:attr/selectableItemBackground" + android:focusable="true" + android:gravity="center_vertical" + android:minHeight="?android:attr/listPreferredItemHeightSmall" + android:paddingEnd="?android:attr/listPreferredItemPaddingRight" + android:paddingLeft="?android:attr/listPreferredItemPaddingLeft" + android:paddingRight="?android:attr/listPreferredItemPaddingRight" + android:paddingStart="?android:attr/listPreferredItemPaddingLeft"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:paddingBottom="16dp" + android:paddingTop="16dp"> + + <TextView + android:id="@+id/title" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:ellipsize="marquee" + android:singleLine="true" + android:textColor="?colorTextPrimary" + android:textSize="16sp" + tools:text="IRC Config" /> + + <TextView + android:id="@+id/summary" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="?colorTextPrimary" + tools:visibility="gone" /> + </LinearLayout> +</LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/menu/activity_main.xml b/app/src/main/res/menu/activity_main.xml index 214b44fcddda89fd7f2f49353fbbbb8599b642f3..31588b1be1945552498ef613bb364e58feaab064 100644 --- a/app/src/main/res/menu/activity_main.xml +++ b/app/src/main/res/menu/activity_main.xml @@ -4,8 +4,11 @@ android:id="@+id/action_filter_messages" android:title="@string/label_filter_messages" /> <item - android:id="@+id/action_settings" - android:title="@string/label_settings" /> + android:id="@+id/action_core_settings" + android:title="@string/label_settings_core" /> + <item + android:id="@+id/action_client_settings" + android:title="@string/label_settings_client" /> <item android:id="@+id/action_disconnect" android:title="@string/label_disconnect" /> diff --git a/app/src/main/res/menu/context_setting.xml b/app/src/main/res/menu/context_setting.xml new file mode 100644 index 0000000000000000000000000000000000000000..c167e748cc8f1e880eb40aecb8b6efc6763921c7 --- /dev/null +++ b/app/src/main/res/menu/context_setting.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<menu xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto"> + <item + android:id="@+id/action_save" + android:title="@string/label_save" + app:showAsAction="ifRoom" /> +</menu> \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index a3ebc09f144d14d716432918280e34cadb7b8cad..ddffffba4a51bf8743a7496cc0f006a18482b5af 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -41,6 +41,8 @@ <string name="label_save">Speichern</string> <string name="label_select">Auswählen</string> <string name="label_settings">Einstellungen</string> + <string name="label_settings_client">Client-Einstellungen</string> + <string name="label_settings_core">Core-Einstellungen</string> <string name="label_share">Teilen</string> <string name="label_share_crashreport">Absturzbericht Teilen</string> <string name="label_show_hidden">Alle anzeigen</string> diff --git a/app/src/main/res/values-de/strings_properties.xml b/app/src/main/res/values-de/strings_properties.xml index 1403dac82c91101753f03e5e5cd9f0e165cbfd7b..4da1e38c6ec897ba3d3eb0404d25020a8d5b760c 100644 --- a/app/src/main/res/values-de/strings_properties.xml +++ b/app/src/main/res/values-de/strings_properties.xml @@ -7,7 +7,7 @@ <string name="property_ircuser_realname">Realname</string> <string name="property_ircuser_account">Account</string> - <string name="property_group_ircchannel_channel">Channel</string> + <string name="property_group_ircchannel_channel">Kanal</string> <string name="property_ircchannel_topic">Thema</string> <string name="property_ircchannel_topic_action_edit">Thema ändern</string> <string name="property_ircchannel_topic_default">Kein Thema gesetzt</string> diff --git a/app/src/main/res/values-de/strings_settings.xml b/app/src/main/res/values-de/strings_settings.xml new file mode 100644 index 0000000000000000000000000000000000000000..574f8689bdbcee38e567d2a0a7cb6ab5d8109c89 --- /dev/null +++ b/app/src/main/res/values-de/strings_settings.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="settings_networkconfig_title">Network Config</string> + <string name="settings_networkconfig_description" /> + + <string name="settings_networkconfig_ping_timeout">Erkennung von Ping-Zeitüberschreitungen</string> + + <string name="settings_networkconfig_ping_interval">Ping-Intervall</string> + <string name="settings_networkconfig_ping_interval_unit">Sekunden</string> + + <string name="settings_networkconfig_max_ping_count">Verbindungstrennung nach</string> + <string name="settings_networkconfig_max_ping_count_unit">verpassten Pings</string> + + <string name="settings_networkconfig_auto_who">Automatische Suche nach Nutzerinformationen</string> + <string name="settings_networkconfig_auto_who_interval">Aktualisierungs-Intervall</string> + <string name="settings_networkconfig_auto_who_interval_unit">Sekunden</string> + <string name="settings_networkconfig_auto_who_nick_limit">Ignoriere Chats mit mehr als</string> + <string name="settings_networkconfig_auto_who_nick_limit_unit">Nutzern</string> + <string name="settings_networkconfig_auto_who_delay">Mindestabstand zwischen zwei Abfragen</string> + <string name="settings_networkconfig_auto_who_delay_unit">Sekunden</string> + + <string name="settings_networkconfig_standard_ctcp">Standardkonformes CTCP-Verhalten aktivieren</string> +</resources> \ No newline at end of file diff --git a/app/src/main/res/values-v17/styles_widgets.xml b/app/src/main/res/values-v17/styles_widgets.xml new file mode 100644 index 0000000000000000000000000000000000000000..5109234c2ce2b548fcb6e36d033f6609d7ebdd21 --- /dev/null +++ b/app/src/main/res/values-v17/styles_widgets.xml @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <style name="Widget.CoreSettings.Wrapper" parent=""> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:orientation">vertical</item> + <item name="android:paddingStart">?listPreferredItemPaddingLeft</item> + <item name="android:paddingLeft">?listPreferredItemPaddingLeft</item> + <item name="android:paddingEnd">?listPreferredItemPaddingRight</item> + <item name="android:paddingRight">?listPreferredItemPaddingRight</item> + </style> + + <style name="Widget.CoreSettings.PrimaryItemIcon" parent=""> + <item name="android:layout_width">wrap_content</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:layout_gravity">center_vertical</item> + <item name="android:layout_marginRight">32dp</item> + <item name="android:layout_marginEnd">32dp</item> + <item name="tint">?colorTextSecondary</item> + </style> + + <style name="Widget.CoreSettings.DependentGroup" parent=""> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:orientation">vertical</item> + <item name="android:visibility">gone</item> + <item name="android:layout_marginLeft">56dp</item> + <item name="android:layout_marginStart">56dp</item> + </style> + + <style name="Widget.CoreSettings.EditTextLayout" parent=""> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:layout_marginLeft">-4dp</item> + <item name="android:layout_marginStart">-4dp</item> + </style> + + <style name="Widget.CoreSettings.EditTextSuffix" parent=""> + <item name="android:layout_width">wrap_content</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:layout_gravity">bottom|end</item> + <item name="android:layout_marginBottom">12dp</item> + <item name="android:layout_marginEnd">8dp</item> + <item name="android:layout_marginRight">8dp</item> + <item name="android:textColor">?colorTextSecondary</item> + </style> +</resources> \ 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 135be32d8a393cc5b925281161390a8308eed694..e1f5126497a30fc7761a5ff1f4ced5b5898f3f01 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -41,6 +41,8 @@ <string name="label_save">Save</string> <string name="label_select">Select</string> <string name="label_settings">Settings</string> + <string name="label_settings_client">Client Settings</string> + <string name="label_settings_core">Core Settings</string> <string name="label_share">Share</string> <string name="label_share_crashreport">Share Crash Report</string> <string name="label_show_hidden">Show Hidden</string> diff --git a/app/src/main/res/values/strings_settings.xml b/app/src/main/res/values/strings_settings.xml new file mode 100644 index 0000000000000000000000000000000000000000..c6579633b2f9c7f6cdcd3182ab516424dcfcbb20 --- /dev/null +++ b/app/src/main/res/values/strings_settings.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="settings_networkconfig_title">IRC Config</string> + <string name="settings_networkconfig_description" /> + + <string name="settings_networkconfig_ping_timeout">Ping Timeout Detection</string> + + <string name="settings_networkconfig_ping_interval">Ping Interval</string> + <string name="settings_networkconfig_ping_interval_unit">seconds</string> + + <string name="settings_networkconfig_max_ping_count">Disconnect after</string> + <string name="settings_networkconfig_max_ping_count_unit">missed pings</string> + + <string name="settings_networkconfig_auto_who">Automatic User Info Lookup</string> + <string name="settings_networkconfig_auto_who_interval">Update interval</string> + <string name="settings_networkconfig_auto_who_interval_unit">seconds</string> + <string name="settings_networkconfig_auto_who_nick_limit">Ignore channels with more than</string> + <string name="settings_networkconfig_auto_who_nick_limit_unit">users</string> + <string name="settings_networkconfig_auto_who_delay">Minimum delay between requests</string> + <string name="settings_networkconfig_auto_who_delay_unit">seconds</string> + + <string name="settings_networkconfig_standard_ctcp">Standard-Compliant CTCP behavior</string> +</resources> \ No newline at end of file diff --git a/app/src/main/res/values/styles_widgets.xml b/app/src/main/res/values/styles_widgets.xml index ab9c1fb30a793c6786239f9cd3ae8a7df6ea6fba..e4ec1d3473e1d21a0667e3a7a203f02f4dcd3c4c 100644 --- a/app/src/main/res/values/styles_widgets.xml +++ b/app/src/main/res/values/styles_widgets.xml @@ -70,6 +70,66 @@ <item name="android:background">?backgroundMenuItemRounded</item> </style> + <style name="Widget.CoreSettings.Wrapper" parent=""> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:orientation">vertical</item> + <item name="android:paddingLeft">?listPreferredItemPaddingLeft</item> + <item name="android:paddingRight">?listPreferredItemPaddingRight</item> + </style> + + <style name="Widget.CoreSettings.PrimaryItem" parent=""> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:orientation">vertical</item> + <item name="android:visibility">gone</item> + <item name="android:layout_marginLeft">56dp</item> + </style> + + <style name="Widget.CoreSettings.PrimaryItemSwitch" parent=""> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">match_parent</item> + <item name="android:layout_gravity">center_vertical</item> + <item name="android:textColor">?colorTextPrimary</item> + </style> + + <style name="Widget.CoreSettings.PrimaryItemIcon" parent=""> + <item name="android:layout_width">wrap_content</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:layout_gravity">center_vertical</item> + <item name="android:layout_marginRight">32dp</item> + <item name="tint">?colorTextSecondary</item> + </style> + + <style name="Widget.CoreSettings.DependentGroup" parent=""> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:orientation">vertical</item> + <item name="android:visibility">gone</item> + <item name="android:layout_marginLeft">56dp</item> + </style> + + <style name="Widget.CoreSettings.EditTextLayout" parent=""> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:layout_marginLeft">-4dp</item> + </style> + + <style name="Widget.CoreSettings.EditText" parent=""> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:textColor">?colorTextPrimary</item> + </style> + + <style name="Widget.CoreSettings.EditTextSuffix" parent=""> + <item name="android:layout_width">wrap_content</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:layout_gravity">bottom|end</item> + <item name="android:layout_marginBottom">12dp</item> + <item name="android:layout_marginRight">8dp</item> + <item name="android:textColor">?colorTextSecondary</item> + </style> + <!-- NavigationDrawerLayout --> <declare-styleable name="NavigationDrawerLayout"> <attr name="insetBackground" /> diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/NetworkConfig.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/NetworkConfig.kt index bccb74c55aa8b4f49ed547c7458f9d653ebbcd65..2332cef6bd825fe287259f5087e1cf9f04a286bd 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/NetworkConfig.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/NetworkConfig.kt @@ -91,6 +91,12 @@ class NetworkConfig constructor( super.setStandardCtcp(standardCtcp) } + fun copy(): NetworkConfig { + val config = NetworkConfig(SignalProxy.NULL) + config.fromVariantMap(this.toVariantMap()) + return config + } + private var _pingTimeoutEnabled: Boolean = true private var _pingInterval: Int = 30 private var _maxPingCount: Int = 6 diff --git a/lib/src/main/java/de/kuschku/libquassel/session/ISession.kt b/lib/src/main/java/de/kuschku/libquassel/session/ISession.kt index 02cdf68e350df788ec248bcc5995e1befb85ce46..bdbdd4a8afdf5291e98e67e1e12a2e884cba9dbc 100644 --- a/lib/src/main/java/de/kuschku/libquassel/session/ISession.kt +++ b/lib/src/main/java/de/kuschku/libquassel/session/ISession.kt @@ -25,11 +25,11 @@ interface ISession : Closeable { val coreInfo: CoreInfo? val dccConfig: DccConfig? val identities: Map<IdentityId, Identity> - fun live_identities(): Observable<Map<IdentityId, Identity>> + fun liveIdentities(): Observable<Map<IdentityId, Identity>> val ignoreListManager: IgnoreListManager? val ircListHelper: IrcListHelper? val networks: Map<NetworkId, Network> - fun live_networks(): Observable<Map<NetworkId, Network>> + fun liveNetworks(): Observable<Map<NetworkId, Network>> val networkConfig: NetworkConfig? val rpcHandler: RpcHandler? val initStatus: Observable<Pair<Int, Int>> @@ -57,11 +57,11 @@ interface ISession : Closeable { override val coreInfo: CoreInfo? = null override val dccConfig: DccConfig? = null override val identities: Map<IdentityId, Identity> = emptyMap() - override fun live_identities() = Observable.empty<Map<IdentityId, Identity>>() + override fun liveIdentities() = Observable.empty<Map<IdentityId, Identity>>() override val ignoreListManager: IgnoreListManager? = null override val ircListHelper: IrcListHelper? = null override val networks: Map<NetworkId, Network> = emptyMap() - override fun live_networks() = Observable.empty<Map<NetworkId, Network>>() + override fun liveNetworks() = Observable.empty<Map<NetworkId, Network>>() override val networkConfig: NetworkConfig? = null override val initStatus: Observable<Pair<Int, Int>> = Observable.just(0 to 0) override val lag: Observable<Long> = Observable.just(0L) diff --git a/lib/src/main/java/de/kuschku/libquassel/session/Session.kt b/lib/src/main/java/de/kuschku/libquassel/session/Session.kt index 8b96dfd16610adda00b20b28b7cbf0742dddb91e..03f90a5a7e0f23fe67543ec99ef3851b35ed7e1e 100644 --- a/lib/src/main/java/de/kuschku/libquassel/session/Session.kt +++ b/lib/src/main/java/de/kuschku/libquassel/session/Session.kt @@ -47,14 +47,14 @@ class Session( override val identities = mutableMapOf<IdentityId, Identity>() private val live_identities = BehaviorSubject.createDefault(Unit) - override fun live_identities(): Observable<Map<IdentityId, Identity>> = live_identities.map { identities } + override fun liveIdentities(): Observable<Map<IdentityId, Identity>> = live_identities.map { identities } override val ignoreListManager = IgnoreListManager(this) override val ircListHelper = IrcListHelper(this) override val networks = mutableMapOf<NetworkId, Network>() private val live_networks = BehaviorSubject.createDefault(Unit) - override fun live_networks(): Observable<Map<NetworkId, Network>> = live_networks.map { networks } + override fun liveNetworks(): Observable<Map<NetworkId, Network>> = live_networks.map { networks } override val networkConfig = NetworkConfig(this) diff --git a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt index 15ebd4539af45599c987a5e8b44e374e3fe51331..03af6d93358d41d6de9ec44c00f385a70130a18d 100644 --- a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt +++ b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt @@ -100,7 +100,7 @@ class QuasselViewModel : ViewModel() { val session = sessionOptional.orNull() val bufferSyncer = session?.bufferSyncer if (bufferSyncer != null) { - session.live_networks().switchMap { networks -> + session.liveNetworks().switchMap { networks -> bufferSyncer.liveBufferInfos().switchMap { val info = bufferSyncer.bufferInfo(id) val network = networks[info?.networkId] @@ -160,7 +160,7 @@ class QuasselViewModel : ViewModel() { val bufferSyncer = session?.bufferSyncer val bufferInfo = bufferSyncer?.bufferInfo(buffer) if (bufferInfo?.type?.hasFlag(Buffer_Type.ChannelBuffer) == true) { - session.live_networks().switchMap { networks -> + session.liveNetworks().switchMap { networks -> val network = networks[bufferInfo.networkId] val ircChannel = network?.ircChannel(bufferInfo.bufferName) if (ircChannel != null) { @@ -211,7 +211,7 @@ class QuasselViewModel : ViewModel() { val bufferSyncer = session?.bufferSyncer val bufferInfo = bufferSyncer?.bufferInfo(id) if (bufferSyncer != null) { - session.live_networks().switchMap { networks -> + session.liveNetworks().switchMap { networks -> bufferSyncer.liveBufferInfos().switchMap { infos -> if (bufferInfo?.type?.hasFlag( Buffer_Type.ChannelBuffer @@ -319,7 +319,7 @@ class QuasselViewModel : ViewModel() { val bufferSyncer = session?.bufferSyncer val bufferViewConfig = bufferViewConfigOptional.orNull() if (bufferSyncer != null && bufferViewConfig != null) { - session.live_networks().switchMap { networks -> + session.liveNetworks().switchMap { networks -> val hiddenState = when { bufferViewConfig.removedBuffers().contains(buffer) -> BufferHiddenState.HIDDEN_PERMANENT @@ -372,7 +372,7 @@ class QuasselViewModel : ViewModel() { val showHidden = showHiddenRaw ?: false val config = configOptional.orNull() if (bufferSyncer != null && config != null) { - session.live_networks().switchMap { networks -> + session.liveNetworks().switchMap { networks -> config.live_config .debounce(16, TimeUnit.MILLISECONDS) .switchMap { currentConfig ->