Skip to content

Commit 37dae1b

Browse files
author
Patrick Jackson
committed
switch to presenter-middleware and ios clean up
1 parent 899c57c commit 37dae1b

26 files changed

+48
-934
lines changed

android/build.gradle

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,6 @@ dependencies {
5858
implementation "android.arch.navigation:navigation-fragment-ktx:$ktxVersion"
5959
implementation "android.arch.navigation:navigation-ui-ktx:$ktxVersion"
6060

61-
implementation "com.facebook.stetho:stetho:$stethoVersion"
62-
implementation "com.facebook.stetho:stetho-okhttp3:$stethoVersion"
6361
implementation "com.github.bumptech.glide:glide:$glideVersion"
6462
implementation "com.github.bumptech.glide:okhttp3-integration:$glideVersion"
6563

@@ -73,7 +71,8 @@ dependencies {
7371
implementation project(':common')
7472
implementation "com.russhwolf:multiplatform-settings:$multiplatformSettingsVersion"
7573
implementation "com.squareup.sqldelight:android-driver:$sqldelightVersion"
76-
implementation "org.reduxkotlin:redux-kotlin:0.2.2"
74+
implementation "org.reduxkotlin:redux-kotlin:0.2.6"
75+
implementation "org.reduxkotlin:presenter-middleware:0.2.10"
7776

7877

7978
kapt 'com.github.bumptech.glide:compiler:4.8.0'
@@ -82,9 +81,6 @@ dependencies {
8281
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
8382

8483
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2'
85-
implementation 'com.google.firebase:firebase-core:16.0.8'
86-
implementation 'com.google.firebase:firebase-auth:16.2.1'
87-
implementation 'com.firebaseui:firebase-ui-auth:4.3.2'
8884
debugImplementation 'com.willowtreeapps.hyperion:hyperion-core:0.9.27'
8985
releaseImplementation 'com.willowtreeapps.hyperion:hyperion-core-no-op:0.9.27'
9086
debugImplementation 'com.willowtreeapps.hyperion:hyperion-measurement:0.9.27'

android/src/main/java/com/jackson/openlibrary/BottomNavigationDialogFragment.kt

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,25 @@ import android.view.LayoutInflater
55
import android.view.View
66
import android.view.ViewGroup
77
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
8-
import com.willowtreeapps.common.external.AttachView
9-
import com.willowtreeapps.common.external.DetachView
10-
import com.willowtreeapps.common.external.rootDispatch
118
import com.willowtreeapps.common.ui.BottomNavSheet
129
import com.willowtreeapps.common.ui.UiActions
1310
import kotlinx.android.synthetic.main.fragment_bottomsheet.*
11+
import org.reduxkotlin.PresenterLifecycleObserver
12+
import org.reduxkotlin.rootDispatch
1413

1514
class BottomNavigationDrawerFragment : BottomSheetDialogFragment(), BottomNavSheet {
1615

17-
// override lateinit var dispatch: Dispatcher
18-
// override var selectorBuilder: SelectorSubscriberBuilder<AppState>? = null
16+
private val presenterObserver = PresenterLifecycleObserver(this)
1917

18+
override fun onCreate(savedInstanceState: Bundle?) {
19+
super.onCreate(savedInstanceState)
20+
lifecycle.addObserver(presenterObserver)
21+
}
2022

2123
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
2224
return inflater.inflate(R.layout.fragment_bottomsheet, container, false)
2325
}
2426

25-
override fun onResume() {
26-
super.onResume()
27-
OpenLibraryApp.dispatch(AttachView(this))
28-
}
29-
30-
override fun onPause() {
31-
super.onPause()
32-
OpenLibraryApp.dispatch(DetachView(this))
33-
}
34-
3527
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
3628
navigation_view.setNavigationItemSelectedListener { menuItem ->
3729
when (menuItem.itemId) {

android/src/main/java/com/jackson/openlibrary/MainActivity.kt

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -94,49 +94,4 @@ class MainActivity : AppCompatActivity() {
9494
fun hideFab() {
9595
fab.hide()
9696
}
97-
98-
var tripleTapDetector: View.OnTouchListener = object : View.OnTouchListener {
99-
internal var handler = Handler()
100-
101-
internal var numberOfTaps = 0
102-
internal var lastTapTimeMs: Long = 0
103-
internal var touchDownMs: Long = 0
104-
105-
override fun onTouch(v: View, event: MotionEvent): Boolean {
106-
107-
when (event.action) {
108-
MotionEvent.ACTION_DOWN -> touchDownMs = System.currentTimeMillis()
109-
MotionEvent.ACTION_UP -> {
110-
handler.removeCallbacksAndMessages(null)
111-
112-
if (System.currentTimeMillis() - touchDownMs > ViewConfiguration.getTapTimeout()) {
113-
//it was not a tap
114-
115-
numberOfTaps = 0
116-
lastTapTimeMs = 0
117-
return true
118-
}
119-
120-
if (numberOfTaps > 0 && System.currentTimeMillis() - lastTapTimeMs < ViewConfiguration.getDoubleTapTimeout()) {
121-
numberOfTaps += 1
122-
} else {
123-
numberOfTaps = 1
124-
}
125-
126-
lastTapTimeMs = System.currentTimeMillis()
127-
128-
if (numberOfTaps == 3) {
129-
Hyperion.open()
130-
//handle triple tap
131-
} else if (numberOfTaps == 2) {
132-
handler.postDelayed({
133-
//handle double tap
134-
}, ViewConfiguration.getDoubleTapTimeout().toLong())
135-
}
136-
}
137-
}
138-
139-
return true
140-
}
141-
}
14297
}

android/src/main/java/com/jackson/openlibrary/OpenLibraryApp.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import android.os.Bundle
66
import androidx.sqlite.db.SupportSQLiteDatabase
77
import androidx.sqlite.db.SupportSQLiteOpenHelper
88
import androidx.sqlite.db.framework.FrameworkSQLiteOpenHelperFactory
9-
import com.google.firebase.FirebaseApp
109
import com.squareup.sqldelight.android.AndroidSqliteDriver
1110
import com.willowtree.common.LibraryDatabase
1211
import com.willowtreeapps.common.LibraryApp
@@ -20,7 +19,6 @@ class OpenLibraryApp : Application() {
2019

2120
override fun onCreate() {
2221
super.onCreate()
23-
FirebaseApp.initializeApp(this)
2422
instance = this
2523
val config = SupportSQLiteOpenHelper.Configuration.builder(this)
2624
.name("database.db")

android/src/main/java/com/jackson/openlibrary/scriminsets/OnInsetsCallback.java

Lines changed: 0 additions & 14 deletions
This file was deleted.

android/src/main/java/com/jackson/openlibrary/scriminsets/ScrimInsetsFrameLayout.java

Lines changed: 0 additions & 135 deletions
This file was deleted.

android/src/main/java/com/jackson/openlibrary/store/BaseLibraryViewFragment.kt

Lines changed: 1 addition & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -2,95 +2,16 @@ package com.jackson.openlibrary.store
22

33
import android.os.Bundle
44
import androidx.fragment.app.Fragment
5-
import androidx.lifecycle.*
6-
import com.willowtreeapps.common.AppState
7-
import com.willowtreeapps.common.external.*
85
import com.willowtreeapps.common.ui.LibraryBaseView
6+
import org.reduxkotlin.*
97

108
abstract class BaseLibraryViewFragment<V: LibraryBaseView>: Fragment(), LibraryBaseView {
11-
129
private val presenterObserver = PresenterLifecycleObserver(this)
13-
private var viewRecreated: Boolean = false
1410

1511
override fun onCreate(savedInstanceState: Bundle?) {
1612
retainInstance = true
1713
lifecycle.addObserver(presenterObserver)
1814
super.onCreate(savedInstanceState)
1915
}
20-
/*
21-
22-
override fun onViewCreated(view: android.view.View, savedInstanceState: Bundle?) {
23-
super.onViewCreated(view, savedInstanceState)
24-
if (savedInstanceState == null)
25-
Logger.d("savedInstanceState == null")
26-
else {
27-
Logger.d("savedInstanceState != null")
28-
viewRecreated = true
29-
}
30-
}
31-
32-
override fun onResume() {
33-
super.onResume()
34-
// OpenLibraryApp.dispatch(AttachView(this))
35-
rootDispatch(AttachView(this))
36-
if (viewRecreated) {
37-
//TODO update view with all state
38-
// presenter?.recreateView()
39-
}
40-
}
41-
42-
*/
43-
44-
/*
45-
override fun onPause() {
46-
super.onPause()
47-
// OpenLibraryApp.dispatch(DetachView(this))
48-
rootDispatch(DetachView(this))
49-
}
50-
51-
override fun onDestroy() {
52-
super.onDestroy()
53-
// rootDispatch(ClearView(this))
54-
// OpenLibraryApp.dispatch(ClearView(this))
55-
}
56-
*/
57-
}
58-
59-
60-
class PresenterLifecycleObserver(val view: ViewWithProvider<*>): LifecycleObserver {
61-
62-
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
63-
fun onAttach() {
64-
rootDispatch(AttachView(view))
65-
}
66-
67-
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
68-
fun onDetach() {
69-
rootDispatch(DetachView(view))
70-
}
71-
72-
@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
73-
fun onClear() {
74-
rootDispatch(ClearView(view))
75-
}
76-
77-
}
78-
79-
/*
80-
class PresenterMiddlewareViewModel: LifecycleObserver, ViewModel() {
81-
82-
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
83-
fun onAttach() {
84-
rootDispatch(AttachView(this))
85-
}
86-
87-
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
88-
fun onDetach() {
89-
rootDispatch(AttachView(this))
90-
}
91-
override fun onCleared() {
92-
super.onCleared()
93-
}
9416
}
9517

96-
*/

android/src/main/java/com/jackson/openlibrary/store/BooksAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class BookViewHolder(itemView: View): RecyclerView.ViewHolder(itemView) {
5757
GlideApp.with(itemView)
5858
.load(book.coverImageUrl)
5959
.into(itemView.ivBookCover)
60-
itemView.setOnClickListener { OpenLibraryApp.dispatch(UiActions.BookTapped(book)) }
60+
itemView.setOnClickListener { OpenLibraryApp.dispatch(UiActions.BookTapped(adapterPosition)) }
6161
}
6262

6363
}

0 commit comments

Comments
 (0)