mirror of
https://github.com/SimpleMobileTools/Simple-Launcher.git
synced 2025-04-26 07:38:52 +02:00
56 lines
2.2 KiB
Kotlin
56 lines
2.2 KiB
Kotlin
package com.simplemobiletools.launcher.interfaces
|
|
|
|
import androidx.room.*
|
|
import com.simplemobiletools.launcher.models.HomeScreenGridItem
|
|
|
|
@Dao
|
|
interface HomeScreenGridItemsDao {
|
|
@Query("SELECT * FROM home_screen_grid_items")
|
|
fun getAllItems(): List<HomeScreenGridItem>
|
|
|
|
@Query("SELECT * FROM home_screen_grid_items WHERE parent_id = :folderId")
|
|
fun getFolderItems(folderId: Long): List<HomeScreenGridItem>
|
|
|
|
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
|
fun insert(item: HomeScreenGridItem): Long
|
|
|
|
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
|
fun insertAll(items: List<HomeScreenGridItem>)
|
|
|
|
@Query("UPDATE home_screen_grid_items SET title = :title WHERE package_name = :packageName")
|
|
fun updateAppTitle(title: String, packageName: String)
|
|
|
|
@Query("UPDATE home_screen_grid_items SET title = :title WHERE id = :id")
|
|
fun updateItemTitle(title: String, id: Long): Int
|
|
|
|
@Query("UPDATE home_screen_grid_items SET `left` = :left, `top` = :top, `right` = :right, `bottom` = :bottom, `page` = :page, `docked` = :docked , `parent_id` = :parentId WHERE id = :id")
|
|
fun updateItemPosition(left: Int, top: Int, right: Int, bottom: Int, page: Int, docked: Boolean, parentId: Long?, id: Long)
|
|
|
|
@Query("DELETE FROM home_screen_grid_items WHERE id = :id")
|
|
fun deleteItemById(id: Long)
|
|
|
|
@Query("DELETE FROM home_screen_grid_items WHERE parent_id = :id")
|
|
fun deleteItemsWithParentId(id: Long)
|
|
|
|
@Transaction
|
|
fun deleteById(id: Long) {
|
|
deleteItemById(id)
|
|
deleteItemsWithParentId(id)
|
|
}
|
|
|
|
@Query("DELETE FROM home_screen_grid_items WHERE package_name = :packageName")
|
|
fun deleteItemByPackageName(packageName: String)
|
|
|
|
@Query("DELETE FROM home_screen_grid_items WHERE parent_id IN (SELECT id FROM home_screen_grid_items WHERE package_name = :packageName)")
|
|
fun deleteItemsByParentPackageName(packageName: String)
|
|
|
|
@Query("UPDATE home_screen_grid_items SET `left` = `left` + :shiftBy WHERE parent_id == :folderId AND `left` >= :shiftFrom")
|
|
fun shiftFolderItems(folderId: Long, shiftFrom: Int, shiftBy: Int)
|
|
|
|
@Transaction
|
|
fun deleteByPackageName(packageName: String) {
|
|
deleteItemByPackageName(packageName)
|
|
deleteItemsByParentPackageName(packageName)
|
|
}
|
|
}
|