Skip to content

Commit

Permalink
fix tests and package
Browse files Browse the repository at this point in the history
  • Loading branch information
Diego Marcher committed Dec 29, 2020
1 parent 0a20694 commit 7d97a19
Show file tree
Hide file tree
Showing 55 changed files with 261 additions and 496 deletions.
7 changes: 7 additions & 0 deletions events/src/main/java/com/nerdscorner/mvplib/events/bus/Bus.kt
Original file line number Diff line number Diff line change
Expand Up @@ -124,18 +124,21 @@ class Bus private constructor(private val eventBus: EventBus) {
/**
* Returns the default event bus
*/
@JvmStatic
fun getDefaultEventBus() = Bus(EventBus.getDefault())

/**
* Returns a new instance of the event bus
*/
@JvmStatic
fun getNewEventBus() = Bus(EventBus())

/**
* Register a subscriber to the default event bus
*
* @param subscriber the object to subscribe
*/
@JvmStatic
fun registerDefault(subscriber: Any) {
if (!isRegisteredDefault(subscriber)) {
defaultBus.register(subscriber)
Expand All @@ -147,6 +150,7 @@ class Bus private constructor(private val eventBus: EventBus) {
*
* @param subscriber the object to unsubscribe
*/
@JvmStatic
fun unregisterDefault(subscriber: Any) {
defaultBus.unregister(subscriber)
}
Expand All @@ -157,11 +161,13 @@ class Bus private constructor(private val eventBus: EventBus) {
* @param subscriber object to check
* @return boolean if the object is already registered
*/
@JvmStatic
fun isRegisteredDefault(subscriber: Any) = defaultBus.isRegistered(subscriber)

/**
* Posts the given event to the default event bus on the given thread.
*/
@JvmStatic
fun postDefault(event: Any, threadMode: ThreadMode = ThreadMode.POSTING) {
defaultBus.post(event, threadMode)
}
Expand All @@ -170,6 +176,7 @@ class Bus private constructor(private val eventBus: EventBus) {
* Posts the given event to the default event bus and holds on to the event (because it is sticky). The most recent sticky
* event of an event's type is kept in memory for future access by subscribers using [Subscribe.sticky].
*/
@JvmStatic
fun postStickyDefault(event: Any) {
defaultBus.postSticky(event)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,7 @@ package com.nerdscorner.mvplib.events.model

import com.nerdscorner.mvplib.events.bus.Bus

open class BaseEventsModel {

@JvmField
protected var bus: Bus

constructor() {
bus = Bus.defaultBus
}

constructor(bus: Bus) {
this.bus = bus
}
open class BaseEventsModel(@JvmField protected var bus: Bus = Bus.defaultBus) {

@JvmName("setBusValue")
fun setBus(bus: Bus) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,7 @@ package com.nerdscorner.mvplib.events.model

import com.nerdscorner.mvplib.events.bus.Bus

open class BaseWidgetModel {

@JvmField
protected var bus: Bus

constructor() {
bus = Bus.defaultBus
}

constructor(bus: Bus) {
this.bus = bus
}
open class BaseWidgetModel(@JvmField protected var bus: Bus = Bus.defaultBus) {

@JvmName("setBusValue")
fun setBus(bus: Bus) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ abstract class BaseActivityView @JvmOverloads constructor(activity: AppCompatAct
this.bus = bus
}

fun onDestroy() {}

fun onClick(@IdRes id: Int, event: Any, threadMode: ThreadMode = ThreadMode.POSTING, block: (View) -> Unit = {}) {
activity?.findViewById<View>(id)?.setOnClickListener {
bus.post(event, threadMode)
Expand All @@ -50,6 +48,7 @@ abstract class BaseActivityView @JvmOverloads constructor(activity: AppCompatAct
}
}

@Suppress("UNCHECKED_CAST")
override fun <T : Fragment> findFragmentByTag(tag: String?) = fragmentManager?.findFragmentByTag(tag) as? T

override fun existsFragmentWithTag(tag: String?) = findFragmentByTag<Fragment>(tag) != null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ abstract class BaseFragmentView @JvmOverloads constructor(fragment: Fragment, bu
return fragmentRef.get()?.activity
}

@JvmName("busSetter")
@JvmName("setBusValue")
fun setBus(bus: Bus) {
this.bus = bus
}
Expand Down Expand Up @@ -63,6 +63,7 @@ abstract class BaseFragmentView @JvmOverloads constructor(fragment: Fragment, bu
}
}

@Suppress("UNCHECKED_CAST")
override fun <T : Fragment> findFragmentByTag(tag: String?) = childFragmentManager?.findFragmentByTag(tag) as? T

override fun existsFragmentWithTag(tag: String?) = findFragmentByTag<Fragment>(tag) != null
Expand Down
40 changes: 23 additions & 17 deletions events/src/main/java/com/nerdscorner/mvplib/events/view/BaseView.kt
Original file line number Diff line number Diff line change
Expand Up @@ -17,57 +17,63 @@ abstract class BaseView(@JvmField protected var bus: Bus = Bus.defaultBus) {
open fun unbind() {}

fun showToast(@StringRes textResId: Int) {
val activity = activity ?: return
Toast.makeText(activity, textResId, Toast.LENGTH_SHORT).show()
withActivity {
Toast.makeText(this, textResId, Toast.LENGTH_SHORT).show()
}
}

fun showToast(@StringRes textResId: Int, vararg args: Any) {
val activity = activity ?: return
Toast.makeText(activity, activity.getString(textResId, *args), Toast.LENGTH_SHORT).show()
withActivity {
Toast.makeText(this, getString(textResId, *args), Toast.LENGTH_SHORT).show()
}
}

fun showToast(text: String?) {
val activity = activity ?: return
Toast.makeText(activity, text, Toast.LENGTH_SHORT).show()
withActivity {
Toast.makeText(this, text, Toast.LENGTH_SHORT).show()
}
}

fun showToast(duration: Int, @StringRes textResId: Int) {
val activity = activity ?: return
Toast.makeText(activity, activity.getString(textResId), duration).show()
withActivity {
Toast.makeText(this, getString(textResId), duration).show()
}
}

fun showToast(duration: Int, text: String?) {
val activity = activity ?: return
Toast.makeText(activity, text, duration).show()
withActivity {
Toast.makeText(this, text, duration).show()
}
}

fun showToast(duration: Int, @StringRes textResId: Int, vararg args: Any) {
val activity = activity ?: return
Toast.makeText(activity, activity.getString(textResId, *args), duration).show()
withActivity {
Toast.makeText(this, getString(textResId, *args), duration).show()
}
}

inline fun withActivity(block: Activity.() -> Unit) {
activity?.run {
if (!isFinishing) {
if (isFinishing.not()) {
block(this)
}
}
}

fun onClick(view: View, event: Any, threadMode: ThreadMode = ThreadMode.POSTING, block: (View) -> Unit = {}) {
view.setOnClickListener {
fun onClick(view: View?, event: Any, threadMode: ThreadMode = ThreadMode.POSTING, block: (View) -> Unit = {}) {
view?.setOnClickListener {
bus.post(event, threadMode)
block(it)
}
}

fun onClick(vararg view: View, event: Any, threadMode: ThreadMode = ThreadMode.POSTING, block: (View) -> Unit = {}) {
fun onClick(vararg view: View?, event: Any, threadMode: ThreadMode = ThreadMode.POSTING, block: (View) -> Unit = {}) {
val onClickListener = View.OnClickListener {
bus.post(event, threadMode)
block(it)
}
view.forEach {
it.setOnClickListener(onClickListener)
it?.setOnClickListener(onClickListener)
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.nerdscorner.mvplib.events.view

import android.app.Activity
import android.content.Context
import android.view.View
import android.widget.Toast
Expand All @@ -19,39 +20,51 @@ abstract class BaseWidgetView constructor(view: View, @JvmField protected var bu
val context: Context?
get() = viewRef.get()?.context

@JvmName("busSetter")
@JvmName("setBusValue")
fun setBus(bus: Bus) {
this.bus = bus
}

fun showToast(@StringRes textResId: Int) {
val context = context ?: return
Toast.makeText(context, textResId, Toast.LENGTH_SHORT).show()
withContext {
Toast.makeText(this, textResId, Toast.LENGTH_SHORT).show()
}
}

fun showToast(@StringRes textResId: Int, vararg args: Any) {
val context = context ?: return
Toast.makeText(context, context.getString(textResId, *args), Toast.LENGTH_SHORT).show()
withContext {
Toast.makeText(this, getString(textResId, *args), Toast.LENGTH_SHORT).show()
}
}

fun showToast(text: String?) {
val context = context ?: return
Toast.makeText(context, text, Toast.LENGTH_SHORT).show()
withContext {
Toast.makeText(this, text, Toast.LENGTH_SHORT).show()
}
}

fun showToast(duration: Int, @StringRes textResId: Int) {
val context = context ?: return
Toast.makeText(context, context.getString(textResId), duration).show()
withContext {
Toast.makeText(this, getString(textResId), duration).show()
}
}

fun showToast(duration: Int, text: String?) {
val context = context ?: return
Toast.makeText(context, text, duration).show()
withContext {
Toast.makeText(this, text, duration).show()
}
}

fun showToast(duration: Int, @StringRes textResId: Int, vararg args: Any) {
val context = context ?: return
Toast.makeText(context, context.getString(textResId, *args), duration).show()
withContext {
Toast.makeText(this, getString(textResId, *args), duration).show()
}
}

inline fun withContext(block: Context.() -> Unit) {
context?.run {
block(this)
}
}

fun onClick(@IdRes id: Int, event: Any, threadMode: ThreadMode = ThreadMode.POSTING, block: (View) -> Unit = {}) {
Expand All @@ -71,20 +84,20 @@ abstract class BaseWidgetView constructor(view: View, @JvmField protected var bu
}
}

fun onClick(view: View, event: Any, threadMode: ThreadMode = ThreadMode.POSTING, block: (View) -> Unit = {}) {
view.setOnClickListener {
fun onClick(view: View?, event: Any, threadMode: ThreadMode = ThreadMode.POSTING, block: (View) -> Unit = {}) {
view?.setOnClickListener {
bus.post(event, threadMode)
block(it)
}
}

fun onClick(vararg view: View, event: Any, threadMode: ThreadMode = ThreadMode.POSTING, block: (View) -> Unit = {}) {
fun onClick(vararg view: View?, event: Any, threadMode: ThreadMode = ThreadMode.POSTING, block: (View) -> Unit = {}) {
val onClickListener = View.OnClickListener {
bus.post(event, threadMode)
block(it)
}
view.forEach {
it.setOnClickListener(onClickListener)
it?.setOnClickListener(onClickListener)
}
}
}
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ org.gradle.jvmargs=-Xmx1536m
# org.gradle.parallel=true
#android.enableUnitTestBinaryResources=true

eventsLibVersion=8.0.0
eventsLibVersion=8.0.1
android.useAndroidX=true
android.enableJetifier=true
15 changes: 7 additions & 8 deletions testapp/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,21 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<activity android:name="com.nerdscorner.mvplib.testapp.events.ui.activities.JavaExampleActivity">
</activity>
<activity android:name=".events.ui.activities.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<action android:name="android.intent.action.VIEW"/>

<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".events.behaviour.BehaviourEventsMainActivity">
<activity android:name=".events.ui.activities.AttributeEventsMainActivity">
</activity>
<activity android:name=".events.attribute.activities.AttributeEventsMainActivity">
</activity>
<activity android:name=".events.inheritance.activities.InheritanceEventsMainActivity"/>
<activity android:name=".events.inheritance.fragments.AttributeEventsForFragmentsMainActivity"/>
<activity android:name=".events.attribute.fragments.AttributeEventsForFragmentsMainActivity"/>
<activity android:name=".events.widgets.WidgetsExampleActivity"/>
<activity android:name=".ui.activities.InheritanceEventsMainActivity"/>
<activity android:name=".ui.fragments.AttributeEventsForFragmentsMainActivity"/>
<activity android:name=".ui.activities.WidgetsExampleActivity"/>
</application>

</manifest>

This file was deleted.

Loading

0 comments on commit 7d97a19

Please sign in to comment.