sduduzog 7 years ago
parent
commit
b4d90a9126

+ 2 - 2
app/build.gradle

@@ -10,10 +10,10 @@ android {
         applicationId "com.sduduzog.slimlauncher"
         minSdkVersion 15
         targetSdkVersion 28
-        versionCode 2
+        versionCode 3
         versionName "0.1.2"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
-        versionNameSuffix 'preview'
+        versionNameSuffix '-beta1'
     }
     buildTypes {
         release {

+ 5 - 5
app/src/main/java/com/sduduzog/slimlauncher/data/App.kt

@@ -5,12 +5,12 @@ import android.arch.persistence.room.Entity
 import android.arch.persistence.room.PrimaryKey
 
 @Entity(tableName = "apps")
-class App(
+class App{
         @field:ColumnInfo(name = "app_name")
-        var appName: String,
+        lateinit var appName: String
         @PrimaryKey
         @field:ColumnInfo(name = "package_name")
-        var packageName: String,
+        lateinit var packageName: String
         @field:ColumnInfo(name = "activity_name")
-        var activityName: String
-)
+        lateinit var activityName: String
+}

+ 1 - 1
app/src/main/java/com/sduduzog/slimlauncher/data/AppDao.kt

@@ -19,7 +19,7 @@ interface AppDao {
     @Update
     fun update(app: App)
 
-    @Insert(onConflict = OnConflictStrategy.IGNORE)
+    @Insert
     fun addHomeApp(app: HomeApp)
 
     @Query("DELETE FROM apps")

+ 8 - 27
app/src/main/java/com/sduduzog/slimlauncher/data/AppRepository.kt

@@ -15,6 +15,8 @@ class AppRepository(application: Application) {
     private var _apps: LiveData<List<App>> = appDao.apps
     private var _homeApps: LiveData<List<HomeApp>> = appDao.homeApps
 
+    private val TAG: String = "REPO"
+
     private var pm: PackageManager = application.packageManager
 
     val homeApps: LiveData<List<HomeApp>>
@@ -23,7 +25,7 @@ class AppRepository(application: Application) {
     val apps: LiveData<List<App>>
     get() = _apps
 
-    fun insert(app: App) {
+    fun insert(app: HomeApp) {
         InsertAsyncTask(appDao).execute(app)
     }
 
@@ -31,27 +33,11 @@ class AppRepository(application: Application) {
         DeleteAsyncTask(appDao).execute(app)
     }
 
-    fun update(app: App) {
-        UpdateAsyncTask(appDao).execute(app)
-    }
-
     fun updateApps() {
         UpdateAppsAsyncTask(appDao).execute(pm)
     }
 
-    fun insertHomeApp(home: HomeApp) {
-    InsertHomeAsyncTask(appDao).execute(home)
-    }
-
-    private class InsertAsyncTask internal constructor(private val mAsyncTaskDao: AppDao) : AsyncTask<App, Void, Void>() {
-
-        override fun doInBackground(vararg params: App): Void? {
-            mAsyncTaskDao.insert(params[0])
-            return null
-        }
-    }
-
-    private class InsertHomeAsyncTask internal constructor(private val mAsyncTaskDao: AppDao) : AsyncTask<HomeApp, Void, Void>() {
+    private class InsertAsyncTask internal constructor(private val mAsyncTaskDao: AppDao) : AsyncTask<HomeApp, Void, Void>() {
 
         override fun doInBackground(vararg params: HomeApp): Void? {
             mAsyncTaskDao.addHomeApp(params[0])
@@ -67,14 +53,6 @@ class AppRepository(application: Application) {
         }
     }
 
-    private class UpdateAsyncTask internal constructor(private val mAsyncTaskDao: AppDao) : AsyncTask<App, Void, Void>() {
-
-        override fun doInBackground(vararg params: App): Void? {
-            mAsyncTaskDao.update(params[0])
-            return null
-        }
-    }
-
     private class UpdateAppsAsyncTask internal constructor(private val mAsyncTaskDao: AppDao) : AsyncTask<PackageManager, Void, Void>() {
 
         override fun doInBackground(vararg params: PackageManager): Void? {
@@ -90,7 +68,10 @@ class AppRepository(application: Application) {
             for (i in launchables.indices) {
                 val item = launchables[i]
                 val activity = item.activityInfo
-                val app = App(activity.loadLabel(pm).toString(), activity.name, activity.applicationInfo.packageName)
+                val app = App()
+                app.appName = launchables[i].loadLabel(pm).toString()
+                app.packageName = activity.applicationInfo.packageName
+                app.activityName = activity.name
                 mAsyncTaskDao.insert(app)
             }
             return null

+ 9 - 9
app/src/main/java/com/sduduzog/slimlauncher/data/HomeApp.kt

@@ -5,12 +5,12 @@ import android.arch.persistence.room.Entity
 import android.arch.persistence.room.PrimaryKey
 
 @Entity(tableName = "home_apps")
-class HomeApp(
-        @field:ColumnInfo(name = "app_name")
-        var appName: String,
-        @PrimaryKey
-        @field:ColumnInfo(name = "package_name")
-        var packageName: String,
-        @field:ColumnInfo(name = "activity_name")
-        var activityName: String
-)
+class HomeApp{
+    @field:ColumnInfo(name = "app_name")
+    lateinit var appName: String
+    @PrimaryKey
+    @field:ColumnInfo(name = "package_name")
+    lateinit var packageName: String
+    @field:ColumnInfo(name = "activity_name")
+    lateinit var activityName: String
+}

+ 4 - 2
app/src/main/java/com/sduduzog/slimlauncher/ui/apps/AppsFragment.kt

@@ -13,7 +13,6 @@ import android.view.ViewGroup
 import androidx.navigation.Navigation
 import com.sduduzog.slimlauncher.R
 import com.sduduzog.slimlauncher.data.App
-import com.sduduzog.slimlauncher.data.HomeApp
 import com.sduduzog.slimlauncher.ui.main.MainViewModel
 import java.util.*
 
@@ -39,7 +38,10 @@ class AppsFragment : Fragment() {
         for (i in launchables.indices) {
             val item = launchables[i]
             val activity = item.activityInfo
-            val app = App(activity.loadLabel(pm).toString(), activity.name, activity.applicationInfo.packageName)
+            val app = App()
+            app.appName = launchables[i].loadLabel(pm).toString()
+            app.packageName = activity.applicationInfo.packageName
+            app.activityName = activity.name
             apps.add(app)
         }
         mAdapter = AppsListAdapter(listOf(), InteractionHandler())

+ 4 - 0
app/src/main/java/com/sduduzog/slimlauncher/ui/main/MainFragment.kt

@@ -6,6 +6,7 @@ import android.content.*
 import android.os.Build
 import android.os.Bundle
 import android.support.v4.app.Fragment
+import android.util.Log
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
@@ -23,6 +24,8 @@ class MainFragment : Fragment() {
     private lateinit var receiver: BroadcastReceiver
     private lateinit var adapter: MainAppsAdapter
 
+    private val TAG: String = "MainFragment"
+
     override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                               savedInstanceState: Bundle?): View {
         return inflater.inflate(R.layout.main_fragment, container, false)
@@ -83,6 +86,7 @@ class MainFragment : Fragment() {
             try {
                 startActivity(intent)
             } catch (e: ActivityNotFoundException) {
+                Log.e(TAG, e.message)
                 Toast.makeText(activity, "${item.appName} seems to be uninstalled, removing from list", Toast.LENGTH_LONG).show()
                 viewModel.deleteApp(item)
             }

+ 5 - 10
app/src/main/java/com/sduduzog/slimlauncher/ui/main/MainViewModel.kt

@@ -27,20 +27,15 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
         _repository.delete(app)
     }
 
-    fun insert(app: App) {
-        _repository.insert(app)
-    }
-
-    fun update(app: App) {
-        _repository.update(app)
-    }
-
     fun updateApps() {
         _repository.updateApps()
     }
 
     fun addToHomeScreen(app: App) {
-        val home = HomeApp(app.appName, app.packageName, app.activityName)
-        _repository.insertHomeApp(home)
+        val home = HomeApp()
+        home.activityName = app.activityName
+        home.appName = app.appName
+        home.packageName = app.packageName
+        _repository.insert(home)
     }
 }