package im.actor.sdk; import android.net.Uri; import android.provider.Settings; import android.support.v4.app.Fragment; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import im.actor.core.RawUpdatesHandler; import im.actor.core.entity.Peer; import im.actor.sdk.controllers.conversation.ChatFragment; import im.actor.sdk.controllers.conversation.attach.AbsAttachFragment; import im.actor.sdk.controllers.conversation.inputbar.InputBarFragment; import im.actor.sdk.controllers.conversation.mentions.AutocompleteFragment; import im.actor.sdk.controllers.conversation.messages.BubbleLayouter; import im.actor.sdk.controllers.conversation.quote.QuoteFragment; import im.actor.sdk.controllers.dialogs.DialogsDefaultFragment; import im.actor.sdk.intents.ActorIntent; import im.actor.sdk.intents.ActorIntentFragmentActivity; import static im.actor.sdk.util.ActorSDKMessenger.messenger; /** * Base Implementation of Actor SDK Delegate. This class is recommended to subclass instead * of implementing ActorSDKDelegate */ public class BaseActorSDKDelegate implements ActorSDKDelegate { @Override public ActorIntent getAuthStartIntent() { return null; } @Override public ActorIntent getStartAfterLoginIntent() { return null; } @Override public ActorIntent getStartIntent() { return null; } @Nullable @Override public Fragment fragmentForRoot() { return null; } @Nullable @Override public Fragment fragmentForProfile(int uid) { return null; } @Nullable @Override public Fragment fragmentForCall(long callId) { return null; } @Override public Fragment fragmentForGroupInfo(int gid) { return null; } @Nullable @Override public AbsAttachFragment fragmentForAttachMenu(Peer peer) { return null; } @Nullable @Override public ChatFragment fragmentForChat(Peer peer) { return null; } @Nullable @Override public InputBarFragment fragmentForChatInput() { return null; } @Override public AutocompleteFragment fragmentForAutocomplete(Peer peer) { return null; } @Override public QuoteFragment fragmentForQuote() { return null; } @Nullable @Override public Fragment fragmentForToolbar(Peer peer) { return null; } @Override public ActorIntentFragmentActivity getSettingsIntent() { return null; } @Override public ActorIntentFragmentActivity getChatSettingsIntent() { return null; } @Override public ActorIntentFragmentActivity getSecuritySettingsIntent() { return null; } @Override public ActorIntent getChatIntent(Peer peer, boolean compose) { return null; } public Uri getNotificationSoundForPeer(Peer peer) { String globalSound = messenger().getPreferences().getString("userNotificationSound_" + peer.getPeerId()); if (globalSound != null && !globalSound.equals("none")) { return Uri.parse(globalSound); } return getNotificationSound(); } public int getNotificationColorForPeer(Peer peer) { return getNotificationColor(); } public Uri getNotificationSound() { String globalSound = messenger().getPreferences().getString("globalNotificationSound"); if (globalSound != null) { if (globalSound.equals("none")) { return null; } else { return Uri.parse(globalSound); } } return Settings.System.DEFAULT_NOTIFICATION_URI; } public int getNotificationColor() { return ActorSDK.sharedActor().style.getMainColor(); } @Override public RawUpdatesHandler getRawUpdatesHandler() { return null; } @Override public void configureChatViewHolders(ArrayList<BubbleLayouter> layouters) { } @Override public DialogsDefaultFragment fragmentForDialogs() { return null; } }