mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-18 06:47:02 +05:30
all: refactor package structure and naming
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
parent
c8081da596
commit
7bb1fd6947
23 changed files with 42 additions and 106 deletions
|
@ -6,7 +6,7 @@ plugins {
|
||||||
|
|
||||||
android {
|
android {
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "dev.msfjarvis.todo"
|
applicationId "dev.msfjarvis.lobsters"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.todo
|
package dev.msfjarvis.lobsters
|
||||||
|
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
|
@ -8,8 +8,8 @@ import androidx.ui.test.onNodeWithTag
|
||||||
import androidx.ui.test.onNodeWithText
|
import androidx.ui.test.onNodeWithText
|
||||||
import androidx.ui.test.performClick
|
import androidx.ui.test.performClick
|
||||||
import androidx.ui.test.performTextInput
|
import androidx.ui.test.performTextInput
|
||||||
import dev.msfjarvis.todo.data.model.TodoItem
|
import dev.msfjarvis.lobsters.data.model.TodoItem
|
||||||
import dev.msfjarvis.todo.ui.TodoTheme
|
import dev.msfjarvis.lobsters.ui.TodoTheme
|
||||||
import org.junit.Ignore
|
import org.junit.Ignore
|
||||||
import org.junit.Rule
|
import org.junit.Rule
|
||||||
import org.junit.Test
|
import org.junit.Test
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="dev.msfjarvis.todo">
|
package="dev.msfjarvis.lobsters">
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:name=".Application"
|
android:name=".Application"
|
||||||
|
@ -9,11 +9,11 @@
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/Theme.ComposeToDo">
|
android:theme="@style/Theme.Lobsters">
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:theme="@style/Theme.ComposeToDo.NoActionBar">
|
android:theme="@style/Theme.Lobsters.NoActionBar">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.todo
|
package dev.msfjarvis.lobsters
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import dagger.hilt.android.HiltAndroidApp
|
import dagger.hilt.android.HiltAndroidApp
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.todo
|
package dev.msfjarvis.lobsters
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
@ -30,12 +30,12 @@ import androidx.compose.ui.text.input.TextFieldValue
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.ui.tooling.preview.Preview
|
import androidx.ui.tooling.preview.Preview
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.msfjarvis.todo.compose.utils.IconResource
|
import dev.msfjarvis.lobsters.compose.utils.IconResource
|
||||||
import dev.msfjarvis.todo.data.model.TodoItem
|
import dev.msfjarvis.lobsters.data.model.TodoItem
|
||||||
import dev.msfjarvis.todo.data.source.TodoDatabase
|
import dev.msfjarvis.lobsters.data.source.TodoDatabase
|
||||||
import dev.msfjarvis.todo.ui.ListContent
|
import dev.msfjarvis.lobsters.ui.ListContent
|
||||||
import dev.msfjarvis.todo.ui.TodoTheme
|
import dev.msfjarvis.lobsters.ui.TodoTheme
|
||||||
import dev.msfjarvis.todo.urllauncher.UrlLauncher
|
import dev.msfjarvis.lobsters.urllauncher.UrlLauncher
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.todo.compose.utils
|
package dev.msfjarvis.lobsters.compose.utils
|
||||||
|
|
||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
import androidx.compose.foundation.Icon
|
import androidx.compose.foundation.Icon
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.todo.di
|
package dev.msfjarvis.lobsters.di
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.room.Room
|
import androidx.room.Room
|
||||||
|
@ -7,7 +7,7 @@ import dagger.Provides
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||||
import dagger.hilt.components.SingletonComponent
|
import dagger.hilt.components.SingletonComponent
|
||||||
import dev.msfjarvis.todo.data.source.TodoDatabase
|
import dev.msfjarvis.lobsters.data.source.TodoDatabase
|
||||||
|
|
||||||
@InstallIn(SingletonComponent::class)
|
@InstallIn(SingletonComponent::class)
|
||||||
@Module
|
@Module
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.todo.di
|
package dev.msfjarvis.lobsters.di
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
|
@ -6,8 +6,8 @@ import dagger.Provides
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
import dagger.hilt.android.components.ActivityComponent
|
import dagger.hilt.android.components.ActivityComponent
|
||||||
import dagger.hilt.android.qualifiers.ActivityContext
|
import dagger.hilt.android.qualifiers.ActivityContext
|
||||||
import dev.msfjarvis.todo.urllauncher.UrlLauncher
|
import dev.msfjarvis.lobsters.urllauncher.UrlLauncher
|
||||||
import dev.msfjarvis.todo.urllauncher.UrlLauncherImpl
|
import dev.msfjarvis.lobsters.urllauncher.UrlLauncherImpl
|
||||||
|
|
||||||
@InstallIn(ActivityComponent::class)
|
@InstallIn(ActivityComponent::class)
|
||||||
@Module
|
@Module
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.todo.ui
|
package dev.msfjarvis.lobsters.ui
|
||||||
|
|
||||||
import androidx.compose.animation.AnimatedVisibility
|
import androidx.compose.animation.AnimatedVisibility
|
||||||
import androidx.compose.animation.EnterTransition
|
import androidx.compose.animation.EnterTransition
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.todo.ui
|
package dev.msfjarvis.lobsters.ui
|
||||||
|
|
||||||
import androidx.compose.animation.animate
|
import androidx.compose.animation.animate
|
||||||
import androidx.compose.foundation.Box
|
import androidx.compose.foundation.Box
|
||||||
|
@ -17,7 +17,7 @@ import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import dev.msfjarvis.todo.data.model.TodoItem
|
import dev.msfjarvis.lobsters.data.model.TodoItem
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ListContent(
|
fun ListContent(
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.todo.ui
|
package dev.msfjarvis.lobsters.ui
|
||||||
|
|
||||||
import androidx.compose.foundation.Text
|
import androidx.compose.foundation.Text
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
|
@ -14,7 +14,7 @@ import androidx.compose.ui.text.TextStyle
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import dev.msfjarvis.todo.data.model.TodoItem
|
import dev.msfjarvis.lobsters.data.model.TodoItem
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun LazyItemScope.TodoRowItem(
|
fun LazyItemScope.TodoRowItem(
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.todo.ui
|
package dev.msfjarvis.lobsters.ui
|
||||||
|
|
||||||
import androidx.compose.foundation.isSystemInDarkTheme
|
import androidx.compose.foundation.isSystemInDarkTheme
|
||||||
import androidx.compose.material.MaterialTheme
|
import androidx.compose.material.MaterialTheme
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.todo.urllauncher
|
package dev.msfjarvis.lobsters.urllauncher
|
||||||
|
|
||||||
interface UrlLauncher {
|
interface UrlLauncher {
|
||||||
fun launch(url: String)
|
fun launch(url: String)
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.todo.urllauncher
|
package dev.msfjarvis.lobsters.urllauncher
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
|
@ -1,64 +0,0 @@
|
||||||
package dev.msfjarvis.todo.ui
|
|
||||||
|
|
||||||
import androidx.compose.foundation.Text
|
|
||||||
import androidx.compose.foundation.clickable
|
|
||||||
import androidx.compose.foundation.layout.Row
|
|
||||||
import androidx.compose.foundation.layout.padding
|
|
||||||
import androidx.compose.foundation.lazy.LazyItemScope
|
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
|
||||||
import androidx.compose.material.Card
|
|
||||||
import androidx.compose.material.ListItem
|
|
||||||
import androidx.compose.material.MaterialTheme
|
|
||||||
import androidx.compose.material.Switch
|
|
||||||
import androidx.compose.material.ripple.RippleIndication
|
|
||||||
import androidx.compose.runtime.Composable
|
|
||||||
import androidx.compose.runtime.getValue
|
|
||||||
import androidx.compose.runtime.mutableStateOf
|
|
||||||
import androidx.compose.runtime.remember
|
|
||||||
import androidx.compose.runtime.setValue
|
|
||||||
import androidx.compose.ui.Modifier
|
|
||||||
import androidx.compose.ui.text.TextStyle
|
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
|
||||||
import androidx.compose.ui.unit.dp
|
|
||||||
import androidx.compose.ui.unit.sp
|
|
||||||
import dev.msfjarvis.todo.data.model.TodoItem
|
|
||||||
|
|
||||||
@Suppress("Unused")
|
|
||||||
@Composable
|
|
||||||
fun LazyItemScope.WireGuardItem(item: TodoItem) {
|
|
||||||
var checked by remember { mutableStateOf(false) }
|
|
||||||
Row(
|
|
||||||
modifier = Modifier
|
|
||||||
.padding(vertical = 8.dp)
|
|
||||||
.fillParentMaxWidth(),
|
|
||||||
) {
|
|
||||||
Card(
|
|
||||||
shape = RoundedCornerShape(8.dp),
|
|
||||||
modifier = Modifier
|
|
||||||
.clickable(onClick = { checked = !checked }, indication = RippleIndication())
|
|
||||||
.fillParentMaxWidth(),
|
|
||||||
backgroundColor = MaterialTheme.colors.secondary
|
|
||||||
) {
|
|
||||||
ListItem(
|
|
||||||
text = {
|
|
||||||
Text(
|
|
||||||
text = item.title,
|
|
||||||
style = TextStyle(
|
|
||||||
fontSize = 20.sp,
|
|
||||||
textAlign = TextAlign.Left
|
|
||||||
),
|
|
||||||
modifier = Modifier.padding(horizontal = 8.dp, vertical = 16.dp),
|
|
||||||
color = MaterialTheme.colors.onSecondary
|
|
||||||
)
|
|
||||||
},
|
|
||||||
trailing = {
|
|
||||||
Switch(
|
|
||||||
checked = checked,
|
|
||||||
onCheckedChange = { checked = it },
|
|
||||||
color = MaterialTheme.colors.onSecondary,
|
|
||||||
)
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +1,6 @@
|
||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<!-- Base application theme. -->
|
<!-- Base application theme. -->
|
||||||
<style name="Theme.ComposeToDo" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
|
<style name="Theme.Lobsters" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
|
||||||
<!-- Primary brand color. -->
|
<!-- Primary brand color. -->
|
||||||
<item name="colorPrimary">@color/purple_200</item>
|
<item name="colorPrimary">@color/purple_200</item>
|
||||||
<item name="colorPrimaryVariant">@color/black</item>
|
<item name="colorPrimaryVariant">@color/black</item>
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Compose-ToDo</string>
|
<string name="app_name">lobste.rs</string>
|
||||||
</resources>
|
</resources>
|
|
@ -1,6 +1,6 @@
|
||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<!-- Base application theme. -->
|
<!-- Base application theme. -->
|
||||||
<style name="Theme.ComposeToDo" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
|
<style name="Theme.Lobsters" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
|
||||||
<!-- Primary brand color. -->
|
<!-- Primary brand color. -->
|
||||||
<item name="colorPrimary">@color/white</item>
|
<item name="colorPrimary">@color/white</item>
|
||||||
<item name="colorPrimaryVariant">@color/white</item>
|
<item name="colorPrimaryVariant">@color/white</item>
|
||||||
|
@ -15,12 +15,12 @@
|
||||||
<!-- Customize your theme here. -->
|
<!-- Customize your theme here. -->
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Theme.ComposeToDo.NoActionBar">
|
<style name="Theme.Lobsters.NoActionBar">
|
||||||
<item name="windowActionBar">false</item>
|
<item name="windowActionBar">false</item>
|
||||||
<item name="windowNoTitle">true</item>
|
<item name="windowNoTitle">true</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Theme.ComposeToDo.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
|
<style name="Theme.Lobsters.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
|
||||||
|
|
||||||
<style name="Theme.ComposeToDo.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
|
<style name="Theme.Lobsters.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
|
||||||
</resources>
|
</resources>
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.todo.data.model
|
package dev.msfjarvis.lobsters.data.model
|
||||||
|
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
import androidx.room.PrimaryKey
|
import androidx.room.PrimaryKey
|
|
@ -13,7 +13,7 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.todo.data.source
|
package dev.msfjarvis.lobsters.data.source
|
||||||
|
|
||||||
import androidx.room.TypeConverter
|
import androidx.room.TypeConverter
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
|
@ -1,9 +1,9 @@
|
||||||
package dev.msfjarvis.todo.data.source
|
package dev.msfjarvis.lobsters.data.source
|
||||||
|
|
||||||
import androidx.room.Database
|
import androidx.room.Database
|
||||||
import androidx.room.RoomDatabase
|
import androidx.room.RoomDatabase
|
||||||
import androidx.room.TypeConverters
|
import androidx.room.TypeConverters
|
||||||
import dev.msfjarvis.todo.data.model.TodoItem
|
import dev.msfjarvis.lobsters.data.model.TodoItem
|
||||||
|
|
||||||
@Database(
|
@Database(
|
||||||
entities = [
|
entities = [
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.todo.data.source
|
package dev.msfjarvis.lobsters.data.source
|
||||||
|
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
||||||
import androidx.room.Delete
|
import androidx.room.Delete
|
||||||
|
@ -6,7 +6,7 @@ import androidx.room.Insert
|
||||||
import androidx.room.OnConflictStrategy
|
import androidx.room.OnConflictStrategy
|
||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import androidx.room.Update
|
import androidx.room.Update
|
||||||
import dev.msfjarvis.todo.data.model.TodoItem
|
import dev.msfjarvis.lobsters.data.model.TodoItem
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,3 +1,3 @@
|
||||||
rootProject.name = "Compose-ToDo"
|
rootProject.name = "lobste.rs"
|
||||||
include ':app'
|
include ':app'
|
||||||
include ':data'
|
include ':data'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue