- Added CryptoNetEvents fired from Service classes
This commit is contained in:
parent
df60afb203
commit
4135217548
4 changed files with 112 additions and 0 deletions
|
@ -0,0 +1,21 @@
|
|||
package cy.agorise.crystalwallet.requestmanagers;
|
||||
|
||||
import cy.agorise.crystalwallet.enums.CryptoCoin;
|
||||
|
||||
/**
|
||||
* An event fired from the service
|
||||
*
|
||||
*
|
||||
* Created by Henry Varona on 4/28/2018.
|
||||
*/
|
||||
|
||||
public abstract class CryptoNetEvent {
|
||||
/**
|
||||
* The cryptocoin this events belongs to
|
||||
*/
|
||||
protected CryptoCoin coin;
|
||||
|
||||
protected CryptoNetEvent(CryptoCoin coin){
|
||||
this.coin = coin;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
package cy.agorise.crystalwallet.requestmanagers;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* This class will be used to communicate events related to crypto net accounts data
|
||||
*
|
||||
* Created by Henry Varona on 4/28/2018.
|
||||
*/
|
||||
|
||||
public class CryptoNetEvents {
|
||||
private List<CryptoNetEventsListener> listeners;
|
||||
private static CryptoNetEvents instance;
|
||||
|
||||
/**
|
||||
* Private constructor for singleton pattern
|
||||
*/
|
||||
private void CryptoNetEvents(){
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets an instance of this manager
|
||||
* @return the instance to manage the cryptonetinforequest
|
||||
*/
|
||||
public static CryptoNetEvents getInstance(){
|
||||
if (CryptoNetEvents.instance == null){
|
||||
CryptoNetEvents.instance = new CryptoNetEvents();
|
||||
CryptoNetEvents.instance.listeners = new ArrayList<>();
|
||||
}
|
||||
|
||||
return CryptoNetEvents.instance;
|
||||
}
|
||||
|
||||
public void fireEvent(CryptoNetEvent event){
|
||||
for (int i=0;i<this.listeners.size();i++){
|
||||
this.listeners.get(i).onCryptoNetEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
public void removeListener(CryptoNetEventsListener listener){
|
||||
this.listeners.remove(listener);
|
||||
}
|
||||
|
||||
public void addListener(CryptoNetEventsListener listener){
|
||||
this.listeners.add(listener);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package cy.agorise.crystalwallet.requestmanagers;
|
||||
|
||||
/**
|
||||
* Service Events Listener
|
||||
* Created by Henry Varona on 4/28/2018.
|
||||
*/
|
||||
|
||||
public interface CryptoNetEventsListener {
|
||||
|
||||
public void onCryptoNetEvent(CryptoNetEvent event);
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package cy.agorise.crystalwallet.requestmanagers;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import cy.agorise.crystalwallet.enums.CryptoCoin;
|
||||
import cy.agorise.crystalwallet.models.CryptoCurrency;
|
||||
import cy.agorise.crystalwallet.models.CryptoNetAccount;
|
||||
|
||||
/**
|
||||
* This event gets fired when a user crypto net account receives funds
|
||||
*
|
||||
* Created by henry on 4/28/2018.
|
||||
*/
|
||||
|
||||
public class ReceivedFundsCryptoNetEvent extends CryptoNetEvent {
|
||||
|
||||
private CryptoNetAccount account;
|
||||
|
||||
public ReceivedFundsCryptoNetEvent(CryptoCoin coin, CryptoNetAccount account) {
|
||||
super(coin);
|
||||
this.account = account;
|
||||
}
|
||||
|
||||
public CryptoNetAccount getAccount() {
|
||||
return this.account;
|
||||
}
|
||||
|
||||
public void setAccount(CryptoNetAccount account) {
|
||||
this.account = account;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in a new issue