public static InterfaceAdapter ui () { return ChatSDK.ui(); }
protected void afterLogin() { // We pass the extras in case this activity was laucned by a push. In that case // we can load up the thread the message belongs to ChatSDK.ui().startMainActivity(this, extras); }
protected void onActivityResult(int requestCode, int resultCode, Intent data) { for(ChatOption option : ChatSDK.ui().getChatOptions()) { } }
public PagerAdapterTabs(FragmentManager fm) { super(fm); tabs = ChatSDK.ui().defaultTabs(); }
public void startProfilePicturesActivity(Context context, String userEntityID) { Intent intent = new Intent(context, getProfilePicturesActivity()); intent.putExtra(InterfaceManager.USER_ENTITY_ID, userEntityID); intent.putExtra(KeyGridPadding, gridPadding); intent.putExtra(KeyPictureMargin, pictureMargin); intent.putExtra(KeyPicturesPerRow, picturesPerRow); intent.putExtra(KeyMaxPictures, maxPictures); intent.putExtra(KeyHideButton, hideButton); intent.putExtra(KeyLimitWarning, getLimitWarning()); ChatSDK.ui().startActivity(context, intent); }
public void launchFromPush (Bundle bundle) { if (bundle != null) { String threadID = bundle.getString(InterfaceManager.THREAD_ENTITY_ID); if (threadID != null && !threadID.isEmpty()) { ChatSDK.ui().startChatActivityForID(getBaseContext(), threadID); } } }
public boolean showLocalNotificationsForTab (TabLayout.Tab tab) { // Don't show notifications on the threads tabs Tab t = adapter.getTabs().get(tab.getPosition()); Class privateThreadsFragmentClass = ChatSDK.ui().privateThreadsFragment().getClass(); return !t.fragment.getClass().isAssignableFrom(privateThreadsFragmentClass); }
@Override public void showOptions() { removeUserFromChatOnExit = false; optionsHandler = ChatSDK.ui().getChatOptionsHandler(this); optionsHandler.show(this); }
/** * Open the add users context, Here you can see your contact list and add users to this chat. * The default add users context will remove contacts that is already in this chat. */ protected void startAddUsersActivity() { Intent intent = new Intent(this, ChatSDK.ui().getSelectContactActivity()); intent.putExtra(SelectContactActivity.MODE, SelectContactActivity.MODE_ADD_TO_CONVERSATION); intent.putExtra(InterfaceManager.THREAD_ENTITY_ID, thread.getEntityID()); intent.putExtra(LIST_POS, listPos); intent.putExtra(ANIMATE_EXIT, true); startActivityForResult(intent, ADD_USERS); overridePendingTransition(R.anim.slide_bottom_top, R.anim.dummy); }
/** * Open the thread details context, Admin user can change thread name an messageImageView there. */ protected void openThreadDetailsActivity() { // Showing the pick friends context. Intent intent = new Intent(this, ChatSDK.ui().getThreadDetailsActivity()); intent.putExtra(InterfaceManager.THREAD_ENTITY_ID, thread.getEntityID()); intent.putExtra(LIST_POS, listPos); intent.putExtra(ANIMATE_EXIT, true); startActivityForResult(intent, SHOW_DETAILS); overridePendingTransition(R.anim.slide_bottom_top, R.anim.dummy); }
@Override public boolean onOptionsItemSelected(MenuItem item){ /* Cant use switch in the library*/ int id = item.getItemId(); if (id == R.id.action_chat_sdk_add) { ChatSDK.ui().startSelectContactsActivity(getContext()); return true; } return super.onOptionsItemSelected(item); }
@Override public AbstractMessageViewHolder onCreateViewHolder(ViewGroup parent, int type) { int viewType = (int) Math.ceil(type / MessageType.Max); int messageType = type - viewType * MessageType.Max; MessageDisplayHandler handler = ChatSDK.ui().getMessageHandler(new MessageType(messageType)); return handler.newViewHolder(viewType == ViewTypeReply, activity); }
protected void logout () { disposableList.add(ChatSDK.auth().logout() .observeOn(AndroidSchedulers.mainThread()) .subscribe(() -> ChatSDK.ui().startLoginActivity(getApplicationContext(), false), throwable -> { ChatSDK.logError(throwable); Toast.makeText(EditProfileActivity.this, throwable.getLocalizedMessage(), Toast.LENGTH_SHORT).show(); })); }
public void updateLocalNotificationsForTab () { TabLayout.Tab tab = tabLayout.getTabAt(tabLayout.getSelectedTabPosition()); ChatSDK.ui().setLocalNotificationHandler(thread -> showLocalNotificationsForTab(tab)); }
public static String payloadAsString (Message message) { MessageDisplayHandler handler = ChatSDK.ui().getMessageHandler(message.getMessageType()); if (handler != null) { return handler.displayName(message); } return t(R.string.unknown_message); }
public void createMessageNotification(Message message) { Context context = ChatSDK.shared().context(); String threadID = message.getThread().getEntityID(); Intent openChatIntent = new Intent(context, ChatSDK.ui().getChatActivity()); openChatIntent.putExtra(InterfaceManager.THREAD_ENTITY_ID, threadID); openChatIntent.setAction(threadID); openChatIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); createMessageNotification(context, openChatIntent, message.getSender().getEntityID(), message.getSender().getName(), message.getText()); }
public void showSettings() { ChatSDK.ui().startEditProfileActivity(getContext(), ChatSDK.currentUser().getEntityID()); }
public void initViews() { searchField = mainView.findViewById(R.id.search_field); listThreads = mainView.findViewById(R.id.list_threads); adapter = new ThreadsListAdapter(getActivity()); listThreads.setLayoutManager(new LinearLayoutManager(this.getActivity())); listThreads.setAdapter(adapter); Disposable d = adapter.onClickObservable().subscribe(thread -> { ChatSDK.ui().startChatActivityForID(getContext(), thread.getEntityID()); }); }
protected Single<Thread> createAndOpenThread (String name, List<User> users) { return ChatSDK.thread().createThread(name, users) .observeOn(AndroidSchedulers.mainThread()) .doOnSuccess(thread -> { if (thread != null) { ChatSDK.ui().startChatActivityForID(getApplicationContext(), thread.getEntityID()); } }).doOnError(throwable -> ToastHelper.show(getApplicationContext(), R.string.create_thread_with_users_fail_toast)); }
@Override public void onBindViewHolder(AbstractMessageViewHolder holder, int position) { MessageListItem messageItem = getMessageItems().get(position); Message message = messageItem.getMessage(); holder.setMessage(message); if (message.getMessageStatus().equals(MessageSendStatus.Uploading) || (messageItem.progress > 0 && messageItem.progress < 1)) { holder.showProgressBar(messageItem.progress); } else { holder.hideProgressBar(); } for(MessageDisplayHandler handler : ChatSDK.ui().getMessageHandlers()) { handler.updateMessageCellView(messageItem.message, holder, activity); } }