diff --git a/app/src/main/java/com/h/pixeldroid/searchDiscover/SearchDiscoverFragment.kt b/app/src/main/java/com/h/pixeldroid/searchDiscover/SearchDiscoverFragment.kt index 966e9846..2226de69 100644 --- a/app/src/main/java/com/h/pixeldroid/searchDiscover/SearchDiscoverFragment.kt +++ b/app/src/main/java/com/h/pixeldroid/searchDiscover/SearchDiscoverFragment.kt @@ -60,12 +60,6 @@ class SearchDiscoverFragment : BaseFragment() { adapter = DiscoverRecyclerViewAdapter() recycler.adapter = adapter - binding.discoverText.setCompoundDrawables(IconicsDrawable(requireContext(), GoogleMaterial.Icon.gmd_explore).apply { - sizeDp = 24 - paddingDp = 20 - color = IconicsColor.colorRes(R.color.colorDrawing) - }, null, null, null) - return binding.root } diff --git a/app/src/main/java/com/h/pixeldroid/utils/db/DBUtils.kt b/app/src/main/java/com/h/pixeldroid/utils/db/DBUtils.kt index 9193bf07..08d3a490 100644 --- a/app/src/main/java/com/h/pixeldroid/utils/db/DBUtils.kt +++ b/app/src/main/java/com/h/pixeldroid/utils/db/DBUtils.kt @@ -49,5 +49,5 @@ fun storeInstance(db: AppDatabase, nodeInfo: NodeInfo?, instance: Instance? = nu ) } ?: throw IllegalArgumentException("Cannot store instance where both are null") - db.instanceDao().insertInstance(dbInstance) + db.instanceDao().insertOrUpdate(dbInstance) } \ No newline at end of file diff --git a/app/src/main/java/com/h/pixeldroid/utils/db/dao/InstanceDao.kt b/app/src/main/java/com/h/pixeldroid/utils/db/dao/InstanceDao.kt index dad64a5a..c4887174 100644 --- a/app/src/main/java/com/h/pixeldroid/utils/db/dao/InstanceDao.kt +++ b/app/src/main/java/com/h/pixeldroid/utils/db/dao/InstanceDao.kt @@ -1,9 +1,6 @@ package com.h.pixeldroid.utils.db.dao -import androidx.room.Dao -import androidx.room.Insert -import androidx.room.OnConflictStrategy -import androidx.room.Query +import androidx.room.* import com.h.pixeldroid.utils.db.entities.InstanceDatabaseEntity @Dao @@ -11,6 +8,19 @@ interface InstanceDao { @Query("SELECT * FROM instances") fun getAll(): List - @Insert(onConflict = OnConflictStrategy.REPLACE) - fun insertInstance(instance: InstanceDatabaseEntity) + /** + * Insert an instance, if it already exists return -1 + */ + @Insert(onConflict = OnConflictStrategy.IGNORE) + fun insertInstance(instance: InstanceDatabaseEntity): Long + + @Update + fun updateInstance(instance: InstanceDatabaseEntity) + + @Transaction + fun insertOrUpdate(instance: InstanceDatabaseEntity) { + if (insertInstance(instance) == -1L) { + updateInstance(instance) + } + } } \ No newline at end of file diff --git a/app/src/main/res/drawable/explore_24dp.xml b/app/src/main/res/drawable/explore_24dp.xml new file mode 100644 index 00000000..bee2993c --- /dev/null +++ b/app/src/main/res/drawable/explore_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/fragment_feed.xml b/app/src/main/res/layout/fragment_feed.xml index 7ab966f2..5b50fd9b 100644 --- a/app/src/main/res/layout/fragment_feed.xml +++ b/app/src/main/res/layout/fragment_feed.xml @@ -5,7 +5,9 @@ android:id="@+id/coordinatorLayout" android:layout_width="match_parent" android:layout_height="match_parent"> - + + app:layout_constraintTop_toBottomOf="@id/errorLayout" + app:drawableStartCompat="@drawable/explore_24dp" /> বাংলা (বাংলাদেশ) Català Deutsch - Esperanto + Español Euskara + English فارسی Français Gaeilge @@ -42,6 +43,7 @@ de es eu + en fa fr gl