diff --git a/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/RestoreExternalTest.kt b/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/RestoreExternalTest.kt
index 851e375ee..049602077 100755
--- a/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/RestoreExternalTest.kt
+++ b/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/RestoreExternalTest.kt
@@ -2,6 +2,7 @@ package com.github.jameshnsears.quoteunquote.cloud.transfer.restore
import com.github.jameshnsears.quoteunquote.cloud.transfer.TransferUtility
import com.github.jameshnsears.quoteunquote.cloud.transfer.backup.TransferBackup
+import com.github.jameshnsears.quoteunquote.cloud.transfer.backup.restore.TransferRestore
import io.mockk.every
import io.mockk.mockkObject
import org.junit.Assert.assertTrue
diff --git a/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/RestoreOneWidgetTest.kt b/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/RestoreOneWidgetTest.kt
index 690b4fa54..b1841f685 100755
--- a/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/RestoreOneWidgetTest.kt
+++ b/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/RestoreOneWidgetTest.kt
@@ -2,6 +2,7 @@ package com.github.jameshnsears.quoteunquote.cloud.transfer.restore
import android.os.Build
import com.github.jameshnsears.quoteunquote.cloud.transfer.backup.TransferBackup
+import com.github.jameshnsears.quoteunquote.cloud.transfer.backup.restore.TransferRestore
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotEquals
import org.junit.Assert.assertTrue
diff --git a/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/RestoreTwoWidgetsTest.kt b/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/RestoreTwoWidgetsTest.kt
index cf0769b44..9bdfd04d3 100755
--- a/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/RestoreTwoWidgetsTest.kt
+++ b/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/RestoreTwoWidgetsTest.kt
@@ -3,6 +3,7 @@ package com.github.jameshnsears.quoteunquote.cloud.transfer.restore
import com.github.jameshnsears.quoteunquote.cloud.transfer.Transfer
import com.github.jameshnsears.quoteunquote.cloud.transfer.TransferUtility
import com.github.jameshnsears.quoteunquote.cloud.transfer.backup.TransferBackup
+import com.github.jameshnsears.quoteunquote.cloud.transfer.backup.restore.TransferRestore
import com.github.jameshnsears.quoteunquote.database.quotation.QuotationEntity
import io.mockk.every
import io.mockk.mockkObject
diff --git a/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/configure/fragment/sync/SyncJsonSchemaValidationTest.kt b/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/configure/fragment/sync/SyncJsonSchemaValidationTest.kt
index 1a048f6bf..083754a23 100755
--- a/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/configure/fragment/sync/SyncJsonSchemaValidationTest.kt
+++ b/app/src/androidTest/java/com/github/jameshnsears/quoteunquote/configure/fragment/sync/SyncJsonSchemaValidationTest.kt
@@ -2,6 +2,7 @@ package com.github.jameshnsears.quoteunquote.configure.fragment.sync
import androidx.test.core.app.ApplicationProvider.getApplicationContext
import androidx.test.platform.app.InstrumentationRegistry
+import com.github.jameshnsears.quoteunquote.sync.SyncJsonSchemaValidation
import com.github.jameshnsears.quoteunquote.utils.logging.MethodLineLoggingTree
import org.junit.Assert.assertTrue
import org.junit.Test
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/QuoteUnquoteModel.java b/app/src/main/java/com/github/jameshnsears/quoteunquote/QuoteUnquoteModel.java
index c620859ff..87616fd50 100755
--- a/app/src/main/java/com/github/jameshnsears/quoteunquote/QuoteUnquoteModel.java
+++ b/app/src/main/java/com/github/jameshnsears/quoteunquote/QuoteUnquoteModel.java
@@ -15,13 +15,13 @@
import com.github.jameshnsears.quoteunquote.database.history.FavouriteEntity;
import com.github.jameshnsears.quoteunquote.database.quotation.AuthorPOJO;
import com.github.jameshnsears.quoteunquote.database.quotation.QuotationEntity;
+import com.github.jameshnsears.quoteunquote.scraper.Scraper;
+import com.github.jameshnsears.quoteunquote.scraper.ScraperData;
+import com.github.jameshnsears.quoteunquote.scraper.ScraperQuotationException;
+import com.github.jameshnsears.quoteunquote.scraper.ScraperSourceException;
+import com.github.jameshnsears.quoteunquote.scraper.ScraperUrlException;
import com.github.jameshnsears.quoteunquote.utils.ContentSelection;
import com.github.jameshnsears.quoteunquote.utils.ImportHelper;
-import com.github.jameshnsears.quoteunquote.utils.scraper.Scraper;
-import com.github.jameshnsears.quoteunquote.utils.scraper.ScraperData;
-import com.github.jameshnsears.quoteunquote.utils.scraper.ScraperQuotationException;
-import com.github.jameshnsears.quoteunquote.utils.scraper.ScraperSourceException;
-import com.github.jameshnsears.quoteunquote.utils.scraper.ScraperUrlException;
import org.jsoup.nodes.Document;
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/QuoteUnquoteWidget.java b/app/src/main/java/com/github/jameshnsears/quoteunquote/QuoteUnquoteWidget.java
index c657db019..1e9c28cee 100755
--- a/app/src/main/java/com/github/jameshnsears/quoteunquote/QuoteUnquoteWidget.java
+++ b/app/src/main/java/com/github/jameshnsears/quoteunquote/QuoteUnquoteWidget.java
@@ -33,6 +33,7 @@
import com.github.jameshnsears.quoteunquote.configure.fragment.quotations.QuotationsPreferences;
import com.github.jameshnsears.quoteunquote.database.quotation.QuotationEntity;
import com.github.jameshnsears.quoteunquote.listview.ListViewService;
+import com.github.jameshnsears.quoteunquote.scraper.ScraperData;
import com.github.jameshnsears.quoteunquote.utils.ContentSelection;
import com.github.jameshnsears.quoteunquote.utils.ImportHelper;
import com.github.jameshnsears.quoteunquote.utils.IntentFactoryHelper;
@@ -44,7 +45,6 @@
import com.github.jameshnsears.quoteunquote.utils.notification.NotificationsDailyAlarm;
import com.github.jameshnsears.quoteunquote.utils.preference.PreferencesFacade;
import com.github.jameshnsears.quoteunquote.utils.scraper.ScraperAlarm;
-import com.github.jameshnsears.quoteunquote.utils.scraper.ScraperData;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import java.util.concurrent.ExecutorService;
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/CloudServiceRestore.java b/app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/CloudServiceRestore.java
index 83596ef3e..7453ddcba 100755
--- a/app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/CloudServiceRestore.java
+++ b/app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/CloudServiceRestore.java
@@ -10,7 +10,7 @@
import com.github.jameshnsears.quoteunquote.R;
import com.github.jameshnsears.quoteunquote.cloud.transfer.Transfer;
import com.github.jameshnsears.quoteunquote.cloud.transfer.TransferRestoreResponse;
-import com.github.jameshnsears.quoteunquote.cloud.transfer.restore.TransferRestore;
+import com.github.jameshnsears.quoteunquote.cloud.transfer.backup.restore.TransferRestore;
import com.github.jameshnsears.quoteunquote.configure.fragment.sync.SyncFragment;
import com.github.jameshnsears.quoteunquote.configure.fragment.sync.SyncPreferences;
import com.github.jameshnsears.quoteunquote.database.DatabaseRepository;
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/content/tabs/ContentWebFragment.java b/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/content/tabs/ContentWebFragment.java
index fc90098c9..32757e4d8 100755
--- a/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/content/tabs/ContentWebFragment.java
+++ b/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/content/tabs/ContentWebFragment.java
@@ -15,8 +15,8 @@
import com.github.jameshnsears.quoteunquote.configure.fragment.quotations.QuotationsPreferences;
import com.github.jameshnsears.quoteunquote.database.DatabaseRepository;
import com.github.jameshnsears.quoteunquote.databinding.FragmentQuotationsTabDatabaseTabWebBinding;
+import com.github.jameshnsears.quoteunquote.scraper.ScraperData;
import com.github.jameshnsears.quoteunquote.utils.ImportHelper;
-import com.github.jameshnsears.quoteunquote.utils.scraper.ScraperData;
import timber.log.Timber;
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/sync/SyncFragment.java b/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/sync/SyncFragment.java
index 130d5f164..78d761a8a 100755
--- a/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/sync/SyncFragment.java
+++ b/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/sync/SyncFragment.java
@@ -35,11 +35,12 @@
import com.github.jameshnsears.quoteunquote.cloud.CloudServiceRestore;
import com.github.jameshnsears.quoteunquote.cloud.CloudTransferHelper;
import com.github.jameshnsears.quoteunquote.cloud.transfer.Transfer;
-import com.github.jameshnsears.quoteunquote.cloud.transfer.restore.TransferRestore;
+import com.github.jameshnsears.quoteunquote.cloud.transfer.backup.restore.TransferRestore;
import com.github.jameshnsears.quoteunquote.configure.ConfigureActivity;
import com.github.jameshnsears.quoteunquote.configure.fragment.FragmentCommon;
import com.github.jameshnsears.quoteunquote.database.DatabaseRepository;
import com.github.jameshnsears.quoteunquote.databinding.FragmentSyncBinding;
+import com.github.jameshnsears.quoteunquote.sync.SyncJsonSchemaValidation;
import com.google.common.base.Charsets;
import com.google.common.io.CharStreams;
import com.google.gson.Gson;
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/QuoteUnquoteInstructions.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/QuoteUnquoteInstructions.kt
similarity index 100%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/QuoteUnquoteInstructions.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/QuoteUnquoteInstructions.kt
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/TransferCommon.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/TransferCommon.kt
similarity index 100%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/TransferCommon.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/TransferCommon.kt
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/TransferUtility.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/TransferUtility.kt
similarity index 100%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/TransferUtility.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/TransferUtility.kt
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackup.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackup.kt
similarity index 100%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackup.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackup.kt
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupCurrent.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupCurrent.kt
similarity index 100%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupCurrent.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupCurrent.kt
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupFavourite.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupFavourite.kt
similarity index 100%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupFavourite.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupFavourite.kt
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupPrevious.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupPrevious.kt
similarity index 100%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupPrevious.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupPrevious.kt
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupSettings.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupSettings.kt
similarity index 100%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupSettings.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/TransferBackupSettings.kt
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/TransferRestore.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/restore/TransferRestore.kt
similarity index 99%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/TransferRestore.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/restore/TransferRestore.kt
index 8925a01ac..e7b77f9d3 100755
--- a/app/src/main/java/com/github/jameshnsears/quoteunquote/cloud/transfer/restore/TransferRestore.kt
+++ b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/cloud/transfer/backup/restore/TransferRestore.kt
@@ -1,4 +1,4 @@
-package com.github.jameshnsears.quoteunquote.cloud.transfer.restore
+package com.github.jameshnsears.quoteunquote.cloud.transfer.backup.restore
import android.app.AlarmManager
import android.content.Context
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/appearance/tabs/style/AppearanceTextFamilySpinnerAdapter.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/configure/fragment/appearance/tabs/style/AppearanceTextFamilySpinnerAdapter.kt
similarity index 100%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/appearance/tabs/style/AppearanceTextFamilySpinnerAdapter.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/configure/fragment/appearance/tabs/style/AppearanceTextFamilySpinnerAdapter.kt
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/appearance/tabs/style/AppearanceTextStyleSpinnerAdapter.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/configure/fragment/appearance/tabs/style/AppearanceTextStyleSpinnerAdapter.kt
similarity index 100%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/appearance/tabs/style/AppearanceTextStyleSpinnerAdapter.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/configure/fragment/appearance/tabs/style/AppearanceTextStyleSpinnerAdapter.kt
diff --git a/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/content/tabs/ContentCsvComposable.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/content/tabs/ContentCsvComposable.kt
index b9b197210..bfa6dd98f 100644
--- a/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/content/tabs/ContentCsvComposable.kt
+++ b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/content/tabs/ContentCsvComposable.kt
@@ -1,15 +1,19 @@
package com.github.jameshnsears.quoteunquote.configure.fragment.quotations.tabs.content.tabs
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.size
-import androidx.compose.material3.Card
+import androidx.compose.foundation.layout.wrapContentHeight
+import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.CardDefaults
-import androidx.compose.material3.ElevatedCard
import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.OutlinedCard
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
@@ -23,16 +27,26 @@ fun Greeting(
) {
val state = stateFlow.collectAsState()
- if (state.value) {
- ElevatedCard(
+// if (state.value) {
+
+ Box(
+ modifier = Modifier
+ .padding(start = 5.dp, end = 5.dp)
+ ) {
+ OutlinedCard(
elevation = CardDefaults.cardElevation(
- defaultElevation = 6.dp
+ defaultElevation = 4.dp
),
colors = CardDefaults.cardColors(
containerColor = MaterialTheme.colorScheme.surfaceVariant,
),
modifier = Modifier
- .size(width = 240.dp, height = 100.dp)
+ .height(60.dp)
+ .fillMaxWidth()
+ .wrapContentHeight()
+ .clip(RoundedCornerShape(12.dp))
+ .padding(3.dp),
+ shape = RoundedCornerShape(12.dp)
) {
Text(
text = "Hello, $name!",
@@ -42,6 +56,9 @@ fun Greeting(
)
}
}
+
+
+// }
}
@Preview(apiLevel = 34)
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/content/tabs/ContentCsvFragment.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/content/tabs/ContentCsvFragment.kt
similarity index 99%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/content/tabs/ContentCsvFragment.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/content/tabs/ContentCsvFragment.kt
index 37154438a..46a10b0ef 100644
--- a/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/content/tabs/ContentCsvFragment.kt
+++ b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/content/tabs/ContentCsvFragment.kt
@@ -12,13 +12,13 @@ import android.widget.Toast
import androidx.activity.result.ActivityResult
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
-import androidx.compose.material3.MaterialTheme
import androidx.compose.ui.platform.ViewCompositionStrategy
import com.github.jameshnsears.quoteunquote.R
import com.github.jameshnsears.quoteunquote.configure.ConfigureActivity
import com.github.jameshnsears.quoteunquote.configure.fragment.quotations.QuotationsPreferences
import com.github.jameshnsears.quoteunquote.database.DatabaseRepository
import com.github.jameshnsears.quoteunquote.databinding.FragmentQuotationsTabDatabaseTabCsvBinding
+import com.github.jameshnsears.quoteunquote.theme.QuoteUnquoteTheme
import com.github.jameshnsears.quoteunquote.utils.ImportHelper
import com.github.jameshnsears.quoteunquote.utils.ImportHelper.ImportHelperException
import com.google.android.material.snackbar.BaseTransientBottomBar
@@ -62,7 +62,7 @@ class ContentCsvFragment(widgetId: Int) : ContentFragment(widgetId) {
_stateFlow.value = quotationsPreferences!!.databaseExternalCsv
setContent {
- MaterialTheme {
+ QuoteUnquoteTheme {
Greeting(
stateFlow,
":-)",
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/filter/browse/adapter/BrowseData.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/filter/browse/adapter/BrowseData.kt
similarity index 100%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/filter/browse/adapter/BrowseData.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/configure/fragment/quotations/tabs/filter/browse/adapter/BrowseData.kt
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/listview/ListViewLayoutIdHelper.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/listview/ListViewLayoutIdHelper.kt
similarity index 100%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/listview/ListViewLayoutIdHelper.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/listview/ListViewLayoutIdHelper.kt
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/utils/scraper/Scraper.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/scraper/Scraper.kt
similarity index 97%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/utils/scraper/Scraper.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/scraper/Scraper.kt
index d8251d53a..3244e9dbb 100644
--- a/app/src/main/java/com/github/jameshnsears/quoteunquote/utils/scraper/Scraper.kt
+++ b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/scraper/Scraper.kt
@@ -1,4 +1,4 @@
-package com.github.jameshnsears.quoteunquote.utils.scraper
+package com.github.jameshnsears.quoteunquote.scraper
import okhttp3.OkHttpClient
import okhttp3.Request
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/utils/scraper/ScraperData.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/scraper/ScraperData.kt
similarity index 68%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/utils/scraper/ScraperData.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/scraper/ScraperData.kt
index 9870a16a6..0bbaf18a5 100644
--- a/app/src/main/java/com/github/jameshnsears/quoteunquote/utils/scraper/ScraperData.kt
+++ b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/scraper/ScraperData.kt
@@ -1,4 +1,4 @@
-package com.github.jameshnsears.quoteunquote.utils.scraper
+package com.github.jameshnsears.quoteunquote.scraper
data class ScraperData(
val scrapeResult: Boolean = false,
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/utils/scraper/ScraperException.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/scraper/ScraperException.kt
similarity index 87%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/utils/scraper/ScraperException.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/scraper/ScraperException.kt
index 4f3cb96ec..691961778 100644
--- a/app/src/main/java/com/github/jameshnsears/quoteunquote/utils/scraper/ScraperException.kt
+++ b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/scraper/ScraperException.kt
@@ -1,4 +1,4 @@
-package com.github.jameshnsears.quoteunquote.utils.scraper
+package com.github.jameshnsears.quoteunquote.scraper
open class ScraperException(message: String?) : java.lang.Exception(message)
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/sync/SyncJsonSchemaValidation.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/sync/SyncJsonSchemaValidation.kt
similarity index 93%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/sync/SyncJsonSchemaValidation.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/sync/SyncJsonSchemaValidation.kt
index 17864ba3e..77fd49ad4 100755
--- a/app/src/main/java/com/github/jameshnsears/quoteunquote/configure/fragment/sync/SyncJsonSchemaValidation.kt
+++ b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/sync/SyncJsonSchemaValidation.kt
@@ -1,4 +1,4 @@
-package com.github.jameshnsears.quoteunquote.configure.fragment.sync
+package com.github.jameshnsears.quoteunquote.sync
import android.content.Context
import net.pwall.json.schema.JSONSchema
diff --git a/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/theme/Color.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/theme/Color.kt
new file mode 100644
index 000000000..4e2947e48
--- /dev/null
+++ b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/theme/Color.kt
@@ -0,0 +1,11 @@
+package com.github.jameshnsears.quoteunquote.theme
+
+import androidx.compose.ui.graphics.Color
+
+val Purple80 = Color(0xFFD0BCFF)
+val PurpleGrey80 = Color(0xFFCCC2DC)
+val Pink80 = Color(0xFFEFB8C8)
+
+val Purple40 = Color(0xFF6650a4)
+val PurpleGrey40 = Color(0xFF625b71)
+val Pink40 = Color(0xFF7D5260)
\ No newline at end of file
diff --git a/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/theme/Theme.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/theme/Theme.kt
new file mode 100644
index 000000000..443a6a77c
--- /dev/null
+++ b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/theme/Theme.kt
@@ -0,0 +1,64 @@
+package com.github.jameshnsears.quoteunquote.theme
+
+import android.app.Activity
+import android.os.Build
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.dynamicDarkColorScheme
+import androidx.compose.material3.dynamicLightColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.SideEffect
+import androidx.compose.ui.graphics.toArgb
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.platform.LocalView
+import androidx.core.view.WindowCompat
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.FragmentActivity
+
+private val DarkColorScheme = darkColorScheme(
+ primary = Purple80,
+ secondary = PurpleGrey80,
+ tertiary = Pink80,
+)
+
+private val LightColorScheme = lightColorScheme(
+ primary = Purple40,
+ secondary = PurpleGrey40,
+ tertiary = Pink40,
+
+ /* Other default colors to override
+ background = Color(0xFFFFFBFE),
+ surface = Color(0xFFFFFBFE),
+ onPrimary = Color.White,
+ onSecondary = Color.White,
+ onTertiary = Color.White,
+ onBackground = Color(0xFF1C1B1F),
+ onSurface = Color(0xFF1C1B1F),
+ */
+)
+
+@Composable
+fun QuoteUnquoteTheme(
+ darkTheme: Boolean = isSystemInDarkTheme(),
+ // Dynamic color is available on Android 12+
+ dynamicColor: Boolean = true,
+ content: @Composable () -> Unit,
+) {
+ val colorScheme = when {
+ dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
+ val context = LocalContext.current
+ if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
+ }
+
+ darkTheme -> DarkColorScheme
+ else -> LightColorScheme
+ }
+
+ MaterialTheme(
+ colorScheme = colorScheme,
+ typography = Typography,
+ content = content,
+ )
+}
diff --git a/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/theme/Type.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/theme/Type.kt
new file mode 100644
index 000000000..c560b2904
--- /dev/null
+++ b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/theme/Type.kt
@@ -0,0 +1,34 @@
+package com.github.jameshnsears.quoteunquote.theme
+
+import androidx.compose.material3.Typography
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.unit.sp
+
+// Set of Material typography styles to start with
+val Typography = Typography(
+ bodyLarge = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Normal,
+ fontSize = 16.sp,
+ lineHeight = 24.sp,
+ letterSpacing = 0.5.sp,
+ ),
+ /* Other default text styles to override
+ titleLarge = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Normal,
+ fontSize = 22.sp,
+ lineHeight = 28.sp,
+ letterSpacing = 0.sp
+ ),
+ labelSmall = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Medium,
+ fontSize = 11.sp,
+ lineHeight = 16.sp,
+ letterSpacing = 0.5.sp
+ )
+ */
+)
diff --git a/app/src/main/java/com/github/jameshnsears/quoteunquote/utils/notification/NotificationContent.kt b/app/src/main/kotlin/com/github/jameshnsears/quoteunquote/utils/notification/NotificationContent.kt
similarity index 100%
rename from app/src/main/java/com/github/jameshnsears/quoteunquote/utils/notification/NotificationContent.kt
rename to app/src/main/kotlin/com/github/jameshnsears/quoteunquote/utils/notification/NotificationContent.kt
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9debee145..67630b11a 100755
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -79,7 +79,7 @@
CSV file
Import
- \u2022 Export an Internal Database Source for an example
+ \u2022 Export an Internal Database Source for an example CSV file
\u2022 Expected format is Source||Quotation per line
\u2022 File should be UTF-8 encoded
Invalid: %1$s
diff --git a/app/src/test/java/com/github/jameshnsears/quoteunquote/utils/scraper/ScraperTest.kt b/app/src/test/java/com/github/jameshnsears/quoteunquote/utils/scraper/ScraperTest.kt
index 6fb16f76a..eb677c303 100644
--- a/app/src/test/java/com/github/jameshnsears/quoteunquote/utils/scraper/ScraperTest.kt
+++ b/app/src/test/java/com/github/jameshnsears/quoteunquote/utils/scraper/ScraperTest.kt
@@ -1,5 +1,9 @@
package com.github.jameshnsears.quoteunquote.utils.scraper
+import com.github.jameshnsears.quoteunquote.scraper.Scraper
+import com.github.jameshnsears.quoteunquote.scraper.ScraperQuotationException
+import com.github.jameshnsears.quoteunquote.scraper.ScraperSourceException
+import com.github.jameshnsears.quoteunquote.scraper.ScraperUrlException
import io.mockk.every
import io.mockk.spyk
import kotlinx.coroutines.test.runTest