74 lines
2.6 KiB
Kotlin
74 lines
2.6 KiB
Kotlin
package pl.edu.amu.wmi.socialaggregator.activity
|
|
|
|
import android.content.Intent
|
|
import android.os.Bundle
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
import androidx.recyclerview.widget.LinearLayoutManager
|
|
import com.jakewharton.rxbinding2.view.RxView
|
|
import io.reactivex.Observable
|
|
import io.reactivex.disposables.CompositeDisposable
|
|
import kotlinx.android.synthetic.main.activity_main.*
|
|
import pl.edu.amu.wmi.socialaggregator.R
|
|
import pl.edu.amu.wmi.socialaggregator.utils.SocialPlatformsManager
|
|
import pl.edu.amu.wmi.socialaggregator.viewholders.PostSummaryRecycler
|
|
import pl.edu.amu.wmi.socialaggregator.viewholders.SocialWithButtonRecycler
|
|
|
|
|
|
class MainActivity : AppCompatActivity() {
|
|
|
|
private val subs = CompositeDisposable()
|
|
|
|
private val TAG = MainActivity::class.java.simpleName
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
super.onCreate(savedInstanceState)
|
|
setContentView(R.layout.activity_main)
|
|
|
|
subs.addAll(
|
|
RxView.clicks(createPostButton)
|
|
.subscribe {
|
|
val intent = Intent(this, NewPostActivity::class.java)
|
|
startActivity(intent)
|
|
},
|
|
RxView.clicks(previousPostsButton)
|
|
.subscribe {
|
|
val intent = Intent(this, PostHistoryActivity::class.java)
|
|
startActivity(intent)
|
|
}
|
|
)
|
|
}
|
|
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
|
SocialPlatformsManager.getAll()
|
|
.forEach { it.onActivityResult(requestCode, resultCode, data) }
|
|
super.onActivityResult(requestCode, resultCode, data)
|
|
}
|
|
|
|
override fun onResume() {
|
|
super.onResume()
|
|
|
|
connectedSocialsRecyclerView.apply {
|
|
layoutManager = LinearLayoutManager(this@MainActivity)
|
|
adapter =
|
|
SocialWithButtonRecycler(SocialPlatformsManager.getAll(), this@MainActivity)
|
|
}
|
|
|
|
previousPostsRecyclerView.apply {
|
|
layoutManager = LinearLayoutManager(this@MainActivity)
|
|
adapter = PostSummaryRecycler(
|
|
Observable.merge(SocialPlatformsManager.getLoggedIn(this@MainActivity)
|
|
.map { social ->
|
|
social.getPosts(this@MainActivity)
|
|
.map { social to it }
|
|
.toObservable()
|
|
})
|
|
)
|
|
}
|
|
}
|
|
|
|
override fun onDestroy() {
|
|
super.onDestroy()
|
|
subs.clear()
|
|
}
|
|
}
|