Explorar o código

:sparkles: Reset app name to original after renaming

Beautus %!s(int64=6) %!d(string=hai) anos
pai
achega
731ca79817

+ 1 - 1
app/src/androidTest/java/com/sduduzog/slimlauncher/DBTest.kt

@@ -7,7 +7,7 @@ import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner
 import androidx.test.platform.app.InstrumentationRegistry
 import com.sduduzog.slimlauncher.data.BaseDao
 import com.sduduzog.slimlauncher.data.BaseDatabase
-import com.sduduzog.slimlauncher.data.model.HomeApp
+import com.sduduzog.slimlauncher.models.HomeApp
 import org.hamcrest.CoreMatchers.equalTo
 import org.junit.After
 import org.junit.Assert.assertThat

+ 2 - 2
app/src/main/java/com/sduduzog/slimlauncher/adapters/CustomAppsAdapter.kt

@@ -10,7 +10,7 @@ import android.widget.TextView
 import androidx.recyclerview.widget.ItemTouchHelper
 import androidx.recyclerview.widget.RecyclerView
 import com.sduduzog.slimlauncher.R
-import com.sduduzog.slimlauncher.data.model.HomeApp
+import com.sduduzog.slimlauncher.models.HomeApp
 import com.sduduzog.slimlauncher.utils.OnItemActionListener
 import com.sduduzog.slimlauncher.utils.OnShitDoneToAppsListener
 
@@ -29,7 +29,7 @@ class CustomAppsAdapter(private val listener: OnShitDoneToAppsListener) : Recycl
     @SuppressLint("ClickableViewAccessibility")
     override fun onBindViewHolder(holder: ViewHolder, position: Int) {
         val item = apps[position]
-        holder.appName.text = item.appName
+        holder.appName.text = item.appNickname ?: item.appName
         holder.dragHandle.setOnTouchListener { _, motionEvent ->
             if (motionEvent.actionMasked == MotionEvent.ACTION_DOWN) {
                 touchHelper.startDrag(holder)

+ 2 - 2
app/src/main/java/com/sduduzog/slimlauncher/adapters/HomeAdapter.kt

@@ -6,7 +6,7 @@ import android.view.ViewGroup
 import android.widget.TextView
 import androidx.recyclerview.widget.RecyclerView
 import com.sduduzog.slimlauncher.R
-import com.sduduzog.slimlauncher.data.model.HomeApp
+import com.sduduzog.slimlauncher.models.HomeApp
 import com.sduduzog.slimlauncher.utils.OnLaunchAppListener
 
 
@@ -23,7 +23,7 @@ class HomeAdapter(private val listener: OnLaunchAppListener)
 
     override fun onBindViewHolder(holder: ViewHolder, position: Int) {
         val item = apps.elementAt(position)
-        holder.mLabelView.text = item.appName
+        holder.mLabelView.text = item.appNickname ?: item.appName
         holder.mLabelView.setOnClickListener {
             listener.onLaunch(item, it)
         }

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

@@ -2,7 +2,7 @@ package com.sduduzog.slimlauncher.data
 
 import androidx.lifecycle.LiveData
 import androidx.room.*
-import com.sduduzog.slimlauncher.data.model.HomeApp
+import com.sduduzog.slimlauncher.models.HomeApp
 
 @Dao
 interface BaseDao {

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

@@ -6,10 +6,10 @@ import androidx.room.Room
 import androidx.room.RoomDatabase
 import androidx.room.migration.Migration
 import androidx.sqlite.db.SupportSQLiteDatabase
-import com.sduduzog.slimlauncher.data.model.HomeApp
+import com.sduduzog.slimlauncher.models.HomeApp
 
 
-@Database(entities = [HomeApp::class], version = 6, exportSchema = false)
+@Database(entities = [HomeApp::class], version = 7, exportSchema = false)
 abstract class BaseDatabase : RoomDatabase() {
 
     abstract fun baseDao(): BaseDao
@@ -29,7 +29,8 @@ abstract class BaseDatabase : RoomDatabase() {
                                     MIGRATION_2_3,
                                     MIGRATION_3_4,
                                     MIGRATION_4_5,
-                                    MIGRATION_5_6
+                                    MIGRATION_5_6,
+                                    MIGRATION_6_7
                             )
                             .build()
                 }
@@ -80,5 +81,10 @@ abstract class BaseDatabase : RoomDatabase() {
                 database.execSQL("DROP TABLE IF EXISTS `tasks`")
             }
         }
+        private val MIGRATION_6_7 = object : Migration(6, 7){
+            override fun migrate(database: SupportSQLiteDatabase) {
+               database.execSQL("ALTER TABLE `home_apps` ADD COLUMN `app_nickname` TEXT")
+            }
+        }
     }
 }

+ 2 - 0
app/src/main/java/com/sduduzog/slimlauncher/data/model/App.kt

@@ -1,5 +1,7 @@
 package com.sduduzog.slimlauncher.data.model
 
+import com.sduduzog.slimlauncher.models.HomeApp
+
 data class App(
         val appName: String,
         val packageName: String,

+ 0 - 1
app/src/main/java/com/sduduzog/slimlauncher/models/AddAppViewModel.kt

@@ -5,7 +5,6 @@ import androidx.lifecycle.AndroidViewModel
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.Observer
 import com.sduduzog.slimlauncher.data.model.App
-import com.sduduzog.slimlauncher.data.model.HomeApp
 
 class AddAppViewModel(application: Application) : AndroidViewModel(application) {
     private val repository = Repository(application)

+ 4 - 2
app/src/main/java/com/sduduzog/slimlauncher/models/CustomiseAppsViewModel.kt

@@ -3,7 +3,6 @@ package com.sduduzog.slimlauncher.models
 import android.app.Application
 import androidx.lifecycle.AndroidViewModel
 import androidx.lifecycle.LiveData
-import com.sduduzog.slimlauncher.data.model.HomeApp
 
 class CustomiseAppsViewModel(application: Application) : AndroidViewModel(application) {
 
@@ -21,7 +20,10 @@ class CustomiseAppsViewModel(application: Application) : AndroidViewModel(applic
         repository.update(*args)
     }
 
-    fun reset(homeApp: HomeApp) {}
+    fun reset(homeApp: HomeApp) {
+        homeApp.appNickname = null
+        update(homeApp)
+    }
     fun remove(vararg app: HomeApp) {
         repository.remove(*app)
     }

+ 5 - 2
app/src/main/java/com/sduduzog/slimlauncher/data/model/HomeApp.kt → app/src/main/java/com/sduduzog/slimlauncher/models/HomeApp.kt

@@ -1,8 +1,9 @@
-package com.sduduzog.slimlauncher.data.model
+package com.sduduzog.slimlauncher.models
 
 import androidx.room.ColumnInfo
 import androidx.room.Entity
 import androidx.room.PrimaryKey
+import com.sduduzog.slimlauncher.data.model.App
 
 @Entity(tableName = "home_apps")
 data class HomeApp(
@@ -14,7 +15,9 @@ data class HomeApp(
         @field:ColumnInfo(name = "activity_name")
         var activityName: String,
         @field:ColumnInfo(name = "sorting_index")
-        var sortingIndex: Int
+        var sortingIndex: Int,
+        @field:ColumnInfo(name = "app_nickname")
+        var appNickname: String? = null
 ) {
     companion object {
         fun from(app: App, sortingIndex: Int = 0): HomeApp {

+ 0 - 3
app/src/main/java/com/sduduzog/slimlauncher/models/MainViewModel.kt

@@ -3,10 +3,7 @@ package com.sduduzog.slimlauncher.models
 import android.app.Application
 import androidx.lifecycle.AndroidViewModel
 import androidx.lifecycle.LiveData
-import androidx.lifecycle.MutableLiveData
 import com.sduduzog.slimlauncher.data.model.App
-import com.sduduzog.slimlauncher.data.model.HomeApp
-import com.sduduzog.slimlauncher.models.Repository
 
 class MainViewModel(application: Application) : AndroidViewModel(application) {
 

+ 0 - 1
app/src/main/java/com/sduduzog/slimlauncher/models/Repository.kt

@@ -5,7 +5,6 @@ import android.os.AsyncTask
 import androidx.lifecycle.LiveData
 import com.sduduzog.slimlauncher.data.BaseDao
 import com.sduduzog.slimlauncher.data.BaseDatabase
-import com.sduduzog.slimlauncher.data.model.HomeApp
 
 class Repository(application: Application) {
 

+ 1 - 1
app/src/main/java/com/sduduzog/slimlauncher/ui/dialogs/RemoveAllAppsDialog.kt

@@ -5,7 +5,7 @@ import android.app.Dialog
 import android.os.Bundle
 import androidx.fragment.app.DialogFragment
 import com.sduduzog.slimlauncher.R
-import com.sduduzog.slimlauncher.data.model.HomeApp
+import com.sduduzog.slimlauncher.models.HomeApp
 import com.sduduzog.slimlauncher.models.CustomiseAppsViewModel
 
 class RemoveAllAppsDialog : DialogFragment(){

+ 5 - 4
app/src/main/java/com/sduduzog/slimlauncher/ui/dialogs/RenameAppDialog.kt

@@ -8,7 +8,7 @@ import android.widget.Toast
 import androidx.appcompat.app.AlertDialog
 import androidx.fragment.app.DialogFragment
 import com.sduduzog.slimlauncher.R
-import com.sduduzog.slimlauncher.data.model.HomeApp
+import com.sduduzog.slimlauncher.models.HomeApp
 import com.sduduzog.slimlauncher.models.CustomiseAppsViewModel
 import kotlinx.android.synthetic.main.customise_apps_fragment.*
 
@@ -20,9 +20,10 @@ class RenameAppDialog : DialogFragment() {
     override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
         val view = LayoutInflater.from(context).inflate(R.layout.rename_dialog_edit_text, customise_apps_fragment, false)
         val editText: EditText = view.findViewById(R.id.rename_editText)
-        editText.text.append(app.appName)
+        val appName: String = app.appNickname ?: app.appName
+        editText.text.append(appName)
         val builder = AlertDialog.Builder(context!!)
-        builder.setTitle("Rename ${app.appName}")
+        builder.setTitle("Rename $appName")
         builder.setView(view)
         builder.setPositiveButton("DONE") { _, _ ->
             val name = editText.text.toString()
@@ -39,7 +40,7 @@ class RenameAppDialog : DialogFragment() {
 
     private fun updateApp(newName: String) {
         if (newName.isNotEmpty()) {
-            app.appName = newName
+            app.appNickname = newName
             model.update(app)
         } else {
             Toast.makeText(context, "Couldn't save, App name shouldn't be empty", Toast.LENGTH_LONG).show()

+ 1 - 1
app/src/main/java/com/sduduzog/slimlauncher/ui/main/HomeFragment.kt

@@ -13,7 +13,7 @@ import androidx.navigation.Navigation
 import com.sduduzog.slimlauncher.R
 import com.sduduzog.slimlauncher.adapters.HomeAdapter
 import com.sduduzog.slimlauncher.models.MainViewModel
-import com.sduduzog.slimlauncher.data.model.HomeApp
+import com.sduduzog.slimlauncher.models.HomeApp
 import com.sduduzog.slimlauncher.utils.BaseFragment
 import com.sduduzog.slimlauncher.utils.OnLaunchAppListener
 import kotlinx.android.synthetic.main.home_fragment.*

+ 1 - 1
app/src/main/java/com/sduduzog/slimlauncher/ui/options/CustomiseAppsFragment.kt

@@ -13,7 +13,7 @@ import androidx.recyclerview.widget.ItemTouchHelper
 import androidx.recyclerview.widget.RecyclerView
 import com.sduduzog.slimlauncher.R
 import com.sduduzog.slimlauncher.adapters.CustomAppsAdapter
-import com.sduduzog.slimlauncher.data.model.HomeApp
+import com.sduduzog.slimlauncher.models.HomeApp
 import com.sduduzog.slimlauncher.models.CustomiseAppsViewModel
 import com.sduduzog.slimlauncher.ui.dialogs.RemoveAllAppsDialog
 import com.sduduzog.slimlauncher.ui.dialogs.RenameAppDialog

+ 1 - 1
app/src/main/java/com/sduduzog/slimlauncher/utils/OnLaunchAppListener.kt

@@ -1,7 +1,7 @@
 package com.sduduzog.slimlauncher.utils
 
 import android.view.View
-import com.sduduzog.slimlauncher.data.model.HomeApp
+import com.sduduzog.slimlauncher.models.HomeApp
 
 interface OnLaunchAppListener{
     fun onLaunch(app: HomeApp, view: View)

+ 1 - 1
app/src/main/java/com/sduduzog/slimlauncher/utils/OnShitDoneToAppsListener.kt

@@ -1,7 +1,7 @@
 package com.sduduzog.slimlauncher.utils
 
 import android.view.View
-import com.sduduzog.slimlauncher.data.model.HomeApp
+import com.sduduzog.slimlauncher.models.HomeApp
 
 interface OnShitDoneToAppsListener {
     fun onAppsUpdated(list: List<HomeApp>)