-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
use 1.5.10 kotlin version with compose 1.0.0
- Loading branch information
Souleymane Sidibe
committed
Aug 8, 2021
1 parent
60236f4
commit 1de0675
Showing
18 changed files
with
191 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 10 additions & 0 deletions
10
data/src/main/java/com/soulesidibe/data/datasource/TodoLocalDataSource.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
package com.soulesidibe.data.datasource | ||
|
||
import com.soulesidibe.data.model.TodoData | ||
import com.soulesidibe.domain.entity.TodoEntity | ||
import kotlinx.coroutines.flow.Flow | ||
|
||
interface TodoLocalDataSource { | ||
|
||
fun getAll(): Flow<List<TodoData>> | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package com.soulesidibe.data.model | ||
|
||
import java.util.* | ||
|
||
data class TodoData(val id: String = UUID.randomUUID().toString(), val title: String) |
This file was deleted.
Oops, something went wrong.
8 changes: 4 additions & 4 deletions
8
data/src/main/java/com/soulesidibe/data/model/mapper/mapper.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,12 @@ | ||
package com.soulesidibe.data.model.mapper | ||
|
||
import com.soulesidibe.data.model.TodoDb | ||
import com.soulesidibe.data.model.TodoData | ||
import com.soulesidibe.domain.entity.TodoEntity | ||
|
||
internal fun TodoEntity.toDb(): TodoDb { | ||
return TodoDb(this.id, this.title) | ||
internal fun TodoEntity.toDb(): TodoData { | ||
return TodoData(this.id, this.title) | ||
} | ||
|
||
internal fun TodoDb.toEntity(): TodoEntity { | ||
internal fun TodoData.toEntity(): TodoEntity { | ||
return TodoEntity(id, title) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
40 changes: 40 additions & 0 deletions
40
device/schemas/com.soulesidibe.device.db.TodoDatabase/1.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
{ | ||
"formatVersion": 1, | ||
"database": { | ||
"version": 1, | ||
"identityHash": "b8326ea7d60208f490d5cc177907105b", | ||
"entities": [ | ||
{ | ||
"tableName": "todos", | ||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `title` TEXT NOT NULL, PRIMARY KEY(`id`))", | ||
"fields": [ | ||
{ | ||
"fieldPath": "id", | ||
"columnName": "id", | ||
"affinity": "TEXT", | ||
"notNull": true | ||
}, | ||
{ | ||
"fieldPath": "title", | ||
"columnName": "title", | ||
"affinity": "TEXT", | ||
"notNull": true | ||
} | ||
], | ||
"primaryKey": { | ||
"columnNames": [ | ||
"id" | ||
], | ||
"autoGenerate": false | ||
}, | ||
"indices": [], | ||
"foreignKeys": [] | ||
} | ||
], | ||
"views": [], | ||
"setupQueries": [ | ||
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", | ||
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'b8326ea7d60208f490d5cc177907105b')" | ||
] | ||
} | ||
} |
16 changes: 16 additions & 0 deletions
16
device/src/main/java/com/soulesidibe/device/datasource/TodoLocalDataSourceImpl.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
package com.soulesidibe.device.datasource | ||
|
||
import com.soulesidibe.data.datasource.TodoLocalDataSource | ||
import com.soulesidibe.data.model.TodoData | ||
import com.soulesidibe.device.db.dao.TodoDao | ||
import kotlinx.coroutines.flow.Flow | ||
import kotlinx.coroutines.flow.map | ||
|
||
internal class TodoLocalDataSourceImpl( | ||
private val dao: TodoDao | ||
) : TodoLocalDataSource { | ||
|
||
override fun getAll(): Flow<List<TodoData>> { | ||
return dao.getAll().map { todoDb -> todoDb.map { TodoData(it.id, it.title) } } | ||
} | ||
} |
12 changes: 12 additions & 0 deletions
12
device/src/main/java/com/soulesidibe/device/db/TodoDatabase.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package com.soulesidibe.device.db | ||
|
||
import androidx.room.Database | ||
import androidx.room.RoomDatabase | ||
import com.soulesidibe.device.db.dao.TodoDao | ||
import com.soulesidibe.device.model.TodoDb | ||
|
||
@Database(entities = [TodoDb::class], version = 1) | ||
internal abstract class TodoDatabase: RoomDatabase() { | ||
|
||
abstract fun getTodoDao(): TodoDao | ||
} |
21 changes: 21 additions & 0 deletions
21
device/src/main/java/com/soulesidibe/device/db/dao/TodoDao.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
package com.soulesidibe.device.db.dao | ||
|
||
import androidx.room.Dao | ||
import androidx.room.Delete | ||
import androidx.room.Insert | ||
import androidx.room.Query | ||
import com.soulesidibe.device.model.TodoDb | ||
import kotlinx.coroutines.flow.Flow | ||
|
||
@Dao | ||
interface TodoDao { | ||
|
||
@Query("select * from todos") | ||
fun getAll(): Flow<List<TodoDb>> | ||
|
||
@Insert | ||
suspend fun insert(todoDb: TodoDb): Long | ||
|
||
@Delete | ||
suspend fun delete(todoDb: TodoDb) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package com.soulesidibe.device | ||
|
||
import androidx.room.Room | ||
import com.soulesidibe.data.datasource.TodoLocalDataSource | ||
import com.soulesidibe.device.datasource.TodoLocalDataSourceImpl | ||
import com.soulesidibe.device.db.TodoDatabase | ||
import org.koin.android.ext.koin.androidContext | ||
import org.koin.dsl.module | ||
|
||
|
||
val deviceModule = module { | ||
|
||
single { | ||
Room.databaseBuilder(androidContext(), TodoDatabase::class.java, "todos_db") | ||
.build() | ||
} | ||
single { get<TodoDatabase>().getTodoDao() } | ||
single<TodoLocalDataSource> { TodoLocalDataSourceImpl(get()) } | ||
} |
10 changes: 10 additions & 0 deletions
10
device/src/main/java/com/soulesidibe/device/model/TodoDb.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
package com.soulesidibe.device.model | ||
|
||
import androidx.room.Entity | ||
import androidx.room.PrimaryKey | ||
|
||
@Entity(tableName = "todos") | ||
data class TodoDb( | ||
@PrimaryKey val id: String, | ||
val title: String | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters