Ver Fonte

chore: removed unused resources

beautusg há 7 anos atrás
pai
commit
9db90538a7

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

@@ -5,9 +5,9 @@ import androidx.lifecycle.Observer
 import androidx.room.Room
 import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner
 import androidx.test.platform.app.InstrumentationRegistry
-import com.sduduzog.slimlauncher.data.App
 import com.sduduzog.slimlauncher.data.AppDao
 import com.sduduzog.slimlauncher.data.DataRoomDatabase
+import com.sduduzog.slimlauncher.data.model.HomeApp
 import org.hamcrest.CoreMatchers.equalTo
 import org.junit.After
 import org.junit.Assert.assertThat
@@ -42,16 +42,16 @@ class DBTest {
     @Test
     @Throws(InterruptedException::class)
     fun testInsertLiveDataApps() {
-        val app = App("TestApp", "com.test.test.app", "TestMainActivity")
-        mAppDao!!.insert(app)
+        val app = HomeApp("TestApp", "com.test.test.app", "TestMainActivity", 0)
+        mAppDao!!.add(app)
 
-        var appsInstalled: List<App> = listOf()
+        var appsInstalled: List<HomeApp> = listOf()
 
         val latch = CountDownLatch(1)
 
         val appsLiveData = mAppDao!!.apps
 
-        val observer = Observer<List<App>> {
+        val observer = Observer<List<HomeApp>> {
             appsInstalled = it
             latch.countDown()
         }

+ 0 - 38
app/src/androidTest/java/com/sduduzog/slimlauncher/DataRepositoryTest.kt

@@ -1,38 +0,0 @@
-package com.sduduzog.slimlauncher
-
-import android.app.Application
-import androidx.test.filters.LargeTest
-import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner
-import androidx.test.platform.app.InstrumentationRegistry
-import com.sduduzog.slimlauncher.data.DataRepository
-import org.junit.After
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-
-
-@LargeTest
-@RunWith(AndroidJUnit4ClassRunner::class)
-class DataRepositoryTest {
-
-    private var repository: DataRepository? = null
-
-    @Before
-    fun createRepository(){
-        val context = InstrumentationRegistry.getInstrumentation().targetContext.applicationContext
-        repository = DataRepository.getInstance(context as Application)
-    }
-
-    @After
-    fun closeRepository(){
-        repository = null
-    }
-
-    @Test
-    fun assertList(){
-        val list = listOf(1, 2, 3, 4, 5)
-        val newList = list.distinctBy {
-            it == 2
-        }
-    }
-}

+ 0 - 58
app/src/main/java/com/sduduzog/slimlauncher/data/DataRepository.kt

@@ -1,58 +0,0 @@
-package com.sduduzog.slimlauncher.data
-
-import android.app.Application
-import android.os.AsyncTask
-import androidx.lifecycle.LiveData
-import com.sduduzog.slimlauncher.data.model.Note
-
-class DataRepository(application: Application) {
-
-    private val db: DataRoomDatabase = DataRoomDatabase.getDatabase(application)!!
-    private val noteDao: NoteDao = db.noteDao()
-    private var _notes: LiveData<List<Note>> = noteDao.notes
-
-    val notes: LiveData<List<Note>>
-        get() = _notes
-
-    fun saveNote(note: Note) {
-        SaveNoteAsyncTask(noteDao).execute(note)
-    }
-
-    fun updateNote(note: Note) {
-        UpdateNoteAsyncTask(noteDao).execute(note)
-    }
-
-    private class SaveNoteAsyncTask internal constructor(private val mAsyncTaskDao: NoteDao) : AsyncTask<Note, Void, Void>() {
-
-        override fun doInBackground(vararg params: Note): Void? {
-            val note = params[0]
-            mAsyncTaskDao.saveNote(note)
-            return null
-        }
-    }
-
-    private class UpdateNoteAsyncTask internal constructor(private val mAsyncTaskDao: NoteDao) : AsyncTask<Note, Void, Void>() {
-
-        override fun doInBackground(vararg params: Note): Void? {
-            val note = params[0]
-            mAsyncTaskDao.updateNote(note)
-            return null
-        }
-    }
-
-    companion object {
-
-        @Volatile
-        @JvmStatic
-        private var INSTANCE: DataRepository? = null
-
-        fun getInstance(application: Application): DataRepository {
-            synchronized(DataRepository::class.java) {
-                if (INSTANCE == null) {
-                    INSTANCE = DataRepository(application)
-                }
-                return INSTANCE!!
-            }
-        }
-    }
-}

+ 8 - 0
app/src/main/java/com/sduduzog/slimlauncher/data/MainViewModel.kt

@@ -34,10 +34,18 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
         _appRepository.add(HomeApp.from(app, index))
     }
 
+    fun add(note: Note){
+        _noteRepository.add(note)
+    }
+
     fun update(vararg args: HomeApp) {
         _appRepository.update(*args)
     }
 
+    fun update(vararg args: Note){
+        _noteRepository.update(*args)
+    }
+
     fun remove(app: HomeApp) {
         _appRepository.remove(app)
     }

+ 2 - 2
app/src/main/java/com/sduduzog/slimlauncher/data/NoteDao.kt

@@ -11,10 +11,10 @@ interface NoteDao {
     val notes: LiveData<List<Note>>
 
     @Insert(onConflict = OnConflictStrategy.REPLACE)
-    fun saveNote(note: Note)
+    fun add(note: Note)
 
     @Update
-    fun updateNote(vararg note: Note)
+    fun update(vararg note: Note)
 
     @Delete
     fun remove(vararg note: Note)

+ 24 - 0
app/src/main/java/com/sduduzog/slimlauncher/data/NoteRepository.kt

@@ -13,11 +13,35 @@ class NoteRepository(application: Application) {
 
     val notes: LiveData<List<Note>>
         get() = _notes
+    
+    fun add(args: Note){
+        AddNoteAsyncTask(noteDao).execute(args)
+    }
+
+    fun update(vararg args: Note){
+        UpdateNotesAsyncTask(noteDao).execute(*args)
+    }
 
     fun remove(note: Note) {
         RemoveNoteAsyncTask(noteDao).execute(note)
     }
 
+    private class AddNoteAsyncTask(private val mAsyncTaskDao: NoteDao) : AsyncTask<Note, Void, Void>() {
+
+        override fun doInBackground(vararg params: Note): Void? {
+            mAsyncTaskDao.add(params[0])
+            return null
+        }
+    }
+
+    private class UpdateNotesAsyncTask(private val mAsyncTaskDao: NoteDao) : AsyncTask<Note, Void, Void>() {
+
+        override fun doInBackground(vararg params: Note): Void? {
+            mAsyncTaskDao.update(*params)
+            return null
+        }
+    }
+
     private class RemoveNoteAsyncTask(private val mAsyncTaskDao: NoteDao) : AsyncTask<Note, Void, Void>() {
 
         override fun doInBackground(vararg params: Note): Void? {

+ 6 - 4
app/src/main/java/com/sduduzog/slimlauncher/ui/main/NoteFragment.kt

@@ -9,9 +9,9 @@ import android.view.ViewGroup
 import android.view.inputmethod.InputMethodManager
 import androidx.lifecycle.ViewModelProviders
 import com.sduduzog.slimlauncher.R
+import com.sduduzog.slimlauncher.data.MainViewModel
 import com.sduduzog.slimlauncher.data.model.Note
 import com.sduduzog.slimlauncher.ui.BaseFragment
-import com.sduduzog.slimlauncher.ui.main.notes.NotesViewModel
 import com.sduduzog.slimlauncher.utils.DoubleClickListener
 import kotlinx.android.synthetic.main.note_fragment.*
 import java.security.MessageDigest
@@ -23,7 +23,7 @@ class NoteFragment : BaseFragment() {
     override fun getFragmentView(): View = note_fragment
 
     private lateinit var note: Note
-    private lateinit var viewModel: NotesViewModel
+    private lateinit var viewModel: MainViewModel
     private lateinit var initialDigest: String
 
     override fun onCreate(savedInstanceState: Bundle?) {
@@ -36,7 +36,9 @@ class NoteFragment : BaseFragment() {
             }
         }
         initialDigest = hash(note.title + note.body)
-        viewModel = ViewModelProviders.of(this).get(NotesViewModel::class.java)
+        activity?.let {
+            viewModel = ViewModelProviders.of(it).get(MainViewModel::class.java)
+        } ?: throw Error("Activity null, something here is fucked up")
     }
 
     override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
@@ -93,7 +95,7 @@ class NoteFragment : BaseFragment() {
         val currentDigest = hash(newNote.title + newNote.body)
         if (body.isEmpty()) return
         if (initialDigest == currentDigest) return
-        if (note.id == null) viewModel.saveNote(newNote) else viewModel.updateNote(newNote)
+        if (note.id == null) viewModel.add(newNote) else viewModel.update(newNote)
 
     }
 

+ 0 - 84
app/src/main/java/com/sduduzog/slimlauncher/ui/main/notes/NotesListAdapter.kt

@@ -1,84 +0,0 @@
-package com.sduduzog.slimlauncher.ui.main.notes
-
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.lifecycle.Observer
-import androidx.lifecycle.ViewModelProviders
-import androidx.navigation.Navigation
-import androidx.recyclerview.widget.RecyclerView
-import com.sduduzog.slimlauncher.R
-import com.sduduzog.slimlauncher.data.model.Note
-import com.sduduzog.slimlauncher.utils.OnItemActionListener
-import java.text.SimpleDateFormat
-import java.util.*
-
-class NotesListAdapter(private val fragment: NotesListFragment) : RecyclerView.Adapter<NotesListAdapter.ViewHolder>(), OnItemActionListener {
-
-    private var deletedFrom = 0
-    private var notes: ArrayList<Note> = arrayListOf()
-    private var viewModel = ViewModelProviders.of(fragment).get(NotesViewModel::class.java)
-
-    init {
-        viewModel.notes.observe(fragment, Observer {
-            if (it != null) {
-                updateNotes(it.orEmpty())
-            }
-        })
-    }
-
-    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
-        val view = LayoutInflater.from(parent.context).inflate(R.layout.notes_list_item, parent, false)
-        return ViewHolder(view)
-    }
-
-    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
-        val note = notes[position]
-        with(note.title) {
-            if (this != null && this.isNotEmpty()) {
-                holder.title.text = this
-                holder.title.visibility = View.VISIBLE
-            } else {
-                holder.title.visibility = View.GONE
-            }
-        }
-        holder.body.text = note.body
-        val fWatchDate = SimpleDateFormat("HH:mm, MMMM dd, yyyy", Locale.US)
-        holder.edited.text = fragment.getString(R.string.notes_date_placeholder, fWatchDate.format(note.edited))
-        val bundle = Bundle()
-        bundle.putSerializable("note", note)
-        holder.itemView.setOnClickListener(Navigation.createNavigateOnClickListener(R.id.action_notesFragment_to_noteFragment, bundle))
-    }
-
-    override fun getItemCount() = notes.size
-
-    override fun onViewMoved(oldPosition: Int, newPosition: Int): Boolean {
-        // Do nothing
-        return false
-    }
-
-    override fun onViewSwiped(position: Int) {
-
-    }
-
-    override fun onViewIdle() {
-        // Do nothing
-    }
-
-    private fun updateNotes(newList: List<Note>) {
-        val size = notes.size
-        notes.clear()
-        notes.addAll(newList)
-        if (size > newList.size) {
-            notifyItemRemoved(deletedFrom)
-        } else notifyDataSetChanged()
-    }
-
-    inner class ViewHolder(mView: View) : RecyclerView.ViewHolder(mView) {
-        val title: TextView = mView.findViewById(R.id.item_note_title)
-        val body: TextView = mView.findViewById(R.id.item_note_body)
-        val edited: TextView = mView.findViewById(R.id.item_note_edited)
-    }
-}

+ 0 - 69
app/src/main/java/com/sduduzog/slimlauncher/ui/main/notes/NotesListFragment.kt

@@ -1,69 +0,0 @@
-package com.sduduzog.slimlauncher.ui.main.notes
-
-
-import android.os.Bundle
-import android.util.Log
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.fragment.app.Fragment
-import androidx.navigation.Navigation
-import androidx.recyclerview.widget.ItemTouchHelper
-import androidx.recyclerview.widget.RecyclerView
-import com.sduduzog.slimlauncher.R
-import com.sduduzog.slimlauncher.utils.OnItemActionListener
-import kotlinx.android.synthetic.main.notes_list_fragment.*
-
-
-class NotesListFragment : Fragment() {
-
-    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
-                              savedInstanceState: Bundle?): View? {
-        // Inflate the layout for this fragment
-        return inflater.inflate(R.layout.notes_list_fragment, container, false)
-    }
-
-    override fun onActivityCreated(savedInstanceState: Bundle?) {
-        super.onActivityCreated(savedInstanceState)
-        fab_add_note.setOnClickListener(Navigation.createNavigateOnClickListener(R.id.action_notesFragment_to_noteFragment))
-        fab_add_note.setOnLongClickListener {
-            Log.d("NoteListFragment", "Long press")
-            true
-        }
-
-        val adapter = NotesListAdapter(this)
-
-        notesList.adapter = adapter
-
-        val listener: OnItemActionListener = adapter
-
-        val simpleItemTouchCallback = object : ItemTouchHelper.Callback() {
-
-            override fun getMovementFlags(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder): Int {
-                val swipeFlags = ItemTouchHelper.LEFT or ItemTouchHelper.RIGHT
-                return makeMovementFlags(0, swipeFlags)
-            }
-
-            override fun onMove(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder, target: RecyclerView.ViewHolder): Boolean {
-                // Do nothing
-                return true
-            }
-
-            override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: Int) {
-                listener.onViewSwiped(viewHolder.adapterPosition)
-            }
-        }
-
-        val itemTouchHelper = ItemTouchHelper(simpleItemTouchCallback)
-
-        itemTouchHelper.attachToRecyclerView(notesList)
-        showFabAnimation(fab_add_note)
-    }
-
-    private fun showFabAnimation(targetView: View) {
-        targetView.scaleX = 0f
-        targetView.scaleY = 0f
-        targetView.animate().scaleY(1f).scaleX(1f).duration = 100
-        // Animate fab
-    }
-}

+ 0 - 28
app/src/main/java/com/sduduzog/slimlauncher/ui/main/notes/NotesViewModel.kt

@@ -1,28 +0,0 @@
-package com.sduduzog.slimlauncher.ui.main.notes
-
-import android.app.Application
-import androidx.lifecycle.AndroidViewModel
-import androidx.lifecycle.LiveData
-import com.sduduzog.slimlauncher.data.DataRepository
-import com.sduduzog.slimlauncher.data.model.Note
-
-class NotesViewModel(application: Application) : AndroidViewModel(application) {
-    private var _repository: DataRepository = DataRepository.getInstance(application)
-
-    private var _notes: LiveData<List<Note>>
-
-    init {
-        _notes = _repository.notes
-    }
-
-    val notes: LiveData<List<Note>>
-        get() = _notes
-
-    fun saveNote(note: Note) {
-        _repository.saveNote(note)
-    }
-
-    fun updateNote(note: Note) {
-        _repository.updateNote(note)
-    }
-}

+ 0 - 9
app/src/main/res/drawable/ic_edit.xml

@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z" />
-</vector>

+ 0 - 14
app/src/main/res/drawable/note_item_background.xml

@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle">
-
-    <corners android:radius="8dp" />
-
-    <gradient
-        android:angle="45"
-        android:centerX="0"
-        android:centerY="0"
-        android:endColor="#10000000"
-        android:startColor="#18ffffff" />
-
-</shape>

+ 1 - 1
app/src/main/res/layout/add_app_fragment.xml

@@ -24,7 +24,7 @@
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         tools:ignore="Autofill,LabelFor"
-        android:hint="Search apps" />
+        android:hint="@string/add_apps_fragment_search_apps" />
 
     <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/add_app_fragment_list"

+ 0 - 1
app/src/main/res/layout/customise_apps_fragment.xml

@@ -54,7 +54,6 @@
         android:id="@+id/customise_apps_fragment_counter"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:text="@string/customise_apps_fragment_counter"
         android:textSize="@dimen/_16ssp"
         android:padding="@dimen/_12sdp"
         android:layout_marginRight="8dp"

+ 0 - 38
app/src/main/res/layout/notes_list_fragment.xml

@@ -1,38 +0,0 @@
-<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/frameLayout2"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:fitsSystemWindows="false"
-    tools:context="com.sduduzog.slimlauncher.ui.main.notes.NotesListFragment">
-
-    <com.google.android.material.appbar.AppBarLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content">
-
-        <androidx.appcompat.widget.Toolbar
-            android:layout_height="?attr/actionBarSize"
-            android:layout_width="match_parent"
-            android:layout_marginTop="16dp"
-            app:title="Notes" />
-    </com.google.android.material.appbar.AppBarLayout>
-
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/notesList"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
-        app:layout_behavior="@string/appbar_scrolling_view_behavior"
-        tools:listitem="@layout/notes_list_item" />
-
-    <com.google.android.material.floatingactionbutton.FloatingActionButton
-        android:id="@+id/fab_add_note"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="bottom|end"
-        android:layout_margin="16dp"
-        app:layout_anchorGravity="bottom|end"
-        app:srcCompat="@drawable/ic_edit" />
-
-</androidx.coordinatorlayout.widget.CoordinatorLayout>

+ 0 - 35
app/src/main/res/layout/notes_list_item.xml

@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_margin="4dp"
-    android:background="@drawable/note_item_background"
-    android:orientation="vertical"
-    android:padding="4dp">
-
-    <TextView
-        android:id="@+id/item_note_title"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="4dp"
-        android:text="@string/note_fragment_hint_title"
-        android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
-
-    <TextView
-        android:id="@+id/item_note_body"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:ellipsize="end"
-        android:maxLines="4"
-        android:padding="4dp"
-        android:text="@string/note_fragment_hint_body" />
-
-    <TextView
-        android:id="@+id/item_note_edited"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:alpha="0.5"
-        android:padding="4dp"
-        android:text="@string/main_placeholder_clock"
-        android:textSize="12sp" />
-</LinearLayout>

+ 1 - 2
app/src/main/res/values/strings.xml

@@ -37,7 +37,6 @@
     <string name="no_app_selected_toast_msg">Choose at least one app</string>
     <string name="choose_apps_title">Choose Apps</string>
     <string name="choose_time_format_dialog_title">Choose Time Format</string>
-    <string name="notes_date_placeholder">Edited at %s</string>
     <!-- Content Description For Image Resources-->
     <string name="main_fragment_options">Options</string>
     <string name="options_fragment_about_slim">About Slim</string>
@@ -50,10 +49,10 @@
     <string name="customise_apps_fragment_add">Add</string>
     <string name="menu_rename">Rename</string>
     <string name="menu_remove">Remove</string>
-    <string name="customise_apps_fragment_counter">%d slot(s) left</string>
     <string name="choose_theme_dialog_title">Choose Theme</string>
     <string name="home_fragment_tasks">Tasks</string>
     <string name="notes_fragment_create_new_note">Create New Note</string>
+    <string name="add_apps_fragment_search_apps">Search apps</string>
 
 
 </resources>