diff --git a/app/src/main/java/net/helcel/cowspent/android/account/AccountActivity.kt b/app/src/main/java/net/helcel/cowspent/android/account/AccountActivity.kt index 3250acf..98735b7 100644 --- a/app/src/main/java/net/helcel/cowspent/android/account/AccountActivity.kt +++ b/app/src/main/java/net/helcel/cowspent/android/account/AccountActivity.kt @@ -13,8 +13,8 @@ import android.webkit.WebView import android.webkit.WebViewClient import android.widget.Toast import androidx.activity.OnBackPressedCallback -import androidx.activity.enableEdgeToEdge import androidx.activity.compose.setContent +import androidx.activity.enableEdgeToEdge import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.compose.foundation.layout.Box @@ -33,7 +33,6 @@ import androidx.lifecycle.lifecycleScope import androidx.preference.PreferenceManager import com.nextcloud.android.sso.AccountImporter import com.nextcloud.android.sso.helper.SingleAccountHelper -import com.nextcloud.android.sso.model.SingleSignOnAccount import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext diff --git a/app/src/main/java/net/helcel/cowspent/android/currencies/ManageCurrenciesScreen.kt b/app/src/main/java/net/helcel/cowspent/android/currencies/ManageCurrenciesScreen.kt index 962f2d8..5e3c8ee 100644 --- a/app/src/main/java/net/helcel/cowspent/android/currencies/ManageCurrenciesScreen.kt +++ b/app/src/main/java/net/helcel/cowspent/android/currencies/ManageCurrenciesScreen.kt @@ -4,11 +4,32 @@ import android.annotation.SuppressLint import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.background import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.imePadding +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.* +import androidx.compose.material.Card +import androidx.compose.material.Icon +import androidx.compose.material.IconButton +import androidx.compose.material.LocalTextStyle +import androidx.compose.material.MaterialTheme +import androidx.compose.material.OutlinedTextField +import androidx.compose.material.Scaffold +import androidx.compose.material.Surface +import androidx.compose.material.Text +import androidx.compose.material.TextFieldDefaults +import androidx.compose.material.TopAppBar import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material.icons.filled.Add @@ -28,10 +49,9 @@ import androidx.compose.ui.unit.sp import kotlinx.coroutines.delay import net.helcel.cowspent.R import net.helcel.cowspent.android.helper.AlertDialog -import net.helcel.cowspent.android.helper.TextIcon -import net.helcel.cowspent.android.helper.TextIconDisplay import net.helcel.cowspent.android.helper.formatAmount import net.helcel.cowspent.model.DBCurrency +import kotlin.time.Duration.Companion.milliseconds @Composable fun ManageCurrenciesScreen( @@ -96,7 +116,7 @@ fun ManageCurrenciesScreen( ) { LaunchedEffect(viewModel.mainCurrencyName) { if (viewModel.mainCurrencyName.isNotEmpty()) { - delay(500) + delay(500.milliseconds) onSaveMain() } } diff --git a/app/src/main/java/net/helcel/cowspent/android/helper/QrCodeScannerActivity.kt b/app/src/main/java/net/helcel/cowspent/android/helper/QrCodeScannerActivity.kt index f5ba6fd..2204e41 100644 --- a/app/src/main/java/net/helcel/cowspent/android/helper/QrCodeScannerActivity.kt +++ b/app/src/main/java/net/helcel/cowspent/android/helper/QrCodeScannerActivity.kt @@ -4,37 +4,49 @@ import android.Manifest import android.content.Intent import android.content.pm.PackageManager import android.os.Bundle -import android.os.VibrationEffect -import android.os.Vibrator import android.util.Log -import androidx.activity.enableEdgeToEdge import androidx.activity.compose.setContent +import androidx.activity.enableEdgeToEdge import androidx.annotation.OptIn import androidx.appcompat.app.AppCompatActivity -import net.helcel.cowspent.theme.ThemeUtils -import androidx.camera.core.* +import androidx.camera.core.CameraSelector +import androidx.camera.core.ExperimentalGetImage +import androidx.camera.core.ImageAnalysis +import androidx.camera.core.ImageProxy import androidx.camera.lifecycle.ProcessCameraProvider import androidx.camera.view.PreviewView import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding -import androidx.compose.material.* +import androidx.compose.material.Icon +import androidx.compose.material.IconButton +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Scaffold +import androidx.compose.material.Text +import androidx.compose.material.TopAppBar import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack -import androidx.compose.runtime.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext -import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.viewinterop.AndroidView import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat -import com.google.zxing.* +import androidx.lifecycle.compose.LocalLifecycleOwner +import com.google.zxing.BarcodeFormat +import com.google.zxing.BinaryBitmap +import com.google.zxing.DecodeHintType +import com.google.zxing.MultiFormatReader +import com.google.zxing.PlanarYUVLuminanceSource +import com.google.zxing.Result import com.google.zxing.common.HybridBinarizer import net.helcel.cowspent.R import net.helcel.cowspent.android.main.MainConstants +import net.helcel.cowspent.theme.ThemeUtils import java.util.concurrent.ExecutorService import java.util.concurrent.Executors diff --git a/app/src/main/java/net/helcel/cowspent/android/main/BillsListComponents.kt b/app/src/main/java/net/helcel/cowspent/android/main/BillsListComponents.kt index 0d30465..5468ee8 100644 --- a/app/src/main/java/net/helcel/cowspent/android/main/BillsListComponents.kt +++ b/app/src/main/java/net/helcel/cowspent/android/main/BillsListComponents.kt @@ -2,9 +2,25 @@ package net.helcel.cowspent.android.main import androidx.compose.foundation.background import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.offset +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material.* +import androidx.compose.material.Button +import androidx.compose.material.Divider +import androidx.compose.material.Icon +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Surface +import androidx.compose.material.Text import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Receipt import androidx.compose.material.icons.filled.Repeat @@ -16,7 +32,6 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import net.helcel.cowspent.R -import net.helcel.cowspent.android.helper.formatAmount import net.helcel.cowspent.android.helper.MemberAvatar import net.helcel.cowspent.model.DBBill import net.helcel.cowspent.model.DBMember diff --git a/app/src/main/java/net/helcel/cowspent/android/main/BillsListViewActivity.kt b/app/src/main/java/net/helcel/cowspent/android/main/BillsListViewActivity.kt index 799a8f5..848be87 100644 --- a/app/src/main/java/net/helcel/cowspent/android/main/BillsListViewActivity.kt +++ b/app/src/main/java/net/helcel/cowspent/android/main/BillsListViewActivity.kt @@ -1,12 +1,10 @@ package net.helcel.cowspent.android.main -import android.Manifest import android.app.SearchManager import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter -import android.content.pm.PackageManager import android.graphics.BitmapFactory import android.net.Uri import android.os.Build @@ -26,10 +24,8 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.AddCircleOutline import androidx.compose.material.icons.filled.Sync import androidx.compose.ui.graphics.vector.ImageVector -import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import androidx.core.content.edit -import androidx.core.net.toUri import androidx.lifecycle.lifecycleScope import androidx.preference.PreferenceManager import com.nextcloud.android.sso.helper.SingleAccountHelper @@ -49,7 +45,6 @@ import net.helcel.cowspent.model.Category import net.helcel.cowspent.model.DBBill import net.helcel.cowspent.model.DBProject import net.helcel.cowspent.model.GroupedBill -import net.helcel.cowspent.model.ProjectType import net.helcel.cowspent.persistence.CowspentSQLiteOpenHelper import net.helcel.cowspent.persistence.CowspentServerSyncHelper import net.helcel.cowspent.theme.ThemeUtils diff --git a/app/src/main/java/net/helcel/cowspent/util/SupportUtil.kt b/app/src/main/java/net/helcel/cowspent/util/SupportUtil.kt index 00766a4..74f5f5d 100644 --- a/app/src/main/java/net/helcel/cowspent/util/SupportUtil.kt +++ b/app/src/main/java/net/helcel/cowspent/util/SupportUtil.kt @@ -1,11 +1,12 @@ package net.helcel.cowspent.util -import android.app.NotificationChannel -import android.app.NotificationManager import android.content.Context import android.content.pm.PackageManager import android.util.Log -import net.helcel.cowspent.model.* +import net.helcel.cowspent.model.CreditDebt +import net.helcel.cowspent.model.DBBill +import net.helcel.cowspent.model.DBMember +import net.helcel.cowspent.model.Transaction import net.helcel.cowspent.persistence.CowspentSQLiteOpenHelper import org.json.JSONException import org.json.JSONObject