aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/activities/TabCustomizerActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/activities/TabCustomizerActivity.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/activities/TabCustomizerActivity.kt40
1 files changed, 27 insertions, 13 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/TabCustomizerActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/TabCustomizerActivity.kt
index 7f632940..6ad7d3f2 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/activities/TabCustomizerActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/TabCustomizerActivity.kt
@@ -25,6 +25,7 @@ import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.RecyclerView
import ca.allanwang.kau.kotlin.lazyContext
+import ca.allanwang.kau.utils.launchMain
import ca.allanwang.kau.utils.scaleXY
import ca.allanwang.kau.utils.setIcon
import ca.allanwang.kau.utils.withAlpha
@@ -33,14 +34,19 @@ import com.mikepenz.fastadapter_extensions.drag.ItemTouchCallback
import com.mikepenz.fastadapter_extensions.drag.SimpleDragCallback
import com.mikepenz.google_material_typeface_library.GoogleMaterial
import com.pitchedapps.frost.R
-import com.pitchedapps.frost.dbflow.TAB_COUNT
-import com.pitchedapps.frost.dbflow.loadFbTabs
-import com.pitchedapps.frost.dbflow.save
+import com.pitchedapps.frost.db.GenericDao
+import com.pitchedapps.frost.db.TAB_COUNT
+import com.pitchedapps.frost.db.getTabs
+import com.pitchedapps.frost.db.saveTabs
import com.pitchedapps.frost.facebook.FbItem
import com.pitchedapps.frost.iitems.TabIItem
+import com.pitchedapps.frost.utils.L
import com.pitchedapps.frost.utils.Prefs
import com.pitchedapps.frost.utils.setFrostColors
import kotlinx.android.synthetic.main.activity_tab_customizer.*
+import kotlinx.coroutines.NonCancellable
+import kotlinx.coroutines.launch
+import org.koin.android.ext.android.inject
import java.util.Collections
/**
@@ -48,6 +54,8 @@ import java.util.Collections
*/
class TabCustomizerActivity : BaseActivity() {
+ private val genericDao: GenericDao by inject()
+
private val adapter = FastItemAdapter<TabIItem>()
private val wobble = lazyContext { AnimationUtils.loadAnimation(it, R.anim.rotate_delta) }
@@ -65,24 +73,30 @@ class TabCustomizerActivity : BaseActivity() {
divider.setBackgroundColor(Prefs.textColor.withAlpha(30))
instructions.setTextColor(Prefs.textColor)
- val tabs = loadFbTabs().toMutableList()
- val remaining = FbItem.values().filter { it.name[0] != '_' }.toMutableList()
- remaining.removeAll(tabs)
- tabs.addAll(remaining)
+ launch {
+ val tabs = genericDao.getTabs().toMutableList()
+ L.d { "Tabs $tabs" }
+ val remaining = FbItem.values().filter { it.name[0] != '_' }.toMutableList()
+ remaining.removeAll(tabs)
+ tabs.addAll(remaining)
+ adapter.set(tabs.map(::TabIItem))
- adapter.add(tabs.map(::TabIItem))
- bindSwapper(adapter, tab_recycler)
+ bindSwapper(adapter, tab_recycler)
- adapter.withOnClickListener { view, _, _, _ -> view!!.wobble(); true }
+ adapter.withOnClickListener { view, _, _, _ -> view!!.wobble(); true }
+ }
setResult(Activity.RESULT_CANCELED)
fab_save.setIcon(GoogleMaterial.Icon.gmd_check, Prefs.iconColor)
fab_save.backgroundTintList = ColorStateList.valueOf(Prefs.accentColor)
fab_save.setOnClickListener {
- adapter.adapterItems.subList(0, TAB_COUNT).map(TabIItem::item).save()
- setResult(Activity.RESULT_OK)
- finish()
+ launchMain(NonCancellable) {
+ val tabs = adapter.adapterItems.subList(0, TAB_COUNT).map(TabIItem::item)
+ genericDao.saveTabs(tabs)
+ setResult(Activity.RESULT_OK)
+ finish()
+ }
}
fab_cancel.setIcon(GoogleMaterial.Icon.gmd_close, Prefs.iconColor)
fab_cancel.backgroundTintList = ColorStateList.valueOf(Prefs.accentColor)