Skip to content

Instantly share code, notes, and snippets.

@mehdok
mehdok / CalendarClientHelper.java
Created May 8, 2017 13:25
Authentication with microsoft ADAL v2
getAuthenticationContext().acquireToken(
mContextActivity,
Constants.SCOPES.split(" "),
null,
Constants.CLIENT_ID,
Constants.REDIRECT_URI,
PromptBehavior.Auto,
new AuthenticationCallback<AuthenticationResult>() {
@Override
public void onSuccess(final AuthenticationResult authenticationResult) {
@mehdok
mehdok / CalendarClientHelper.java
Created May 8, 2017 13:28
Getting list of ServiceInfos with Microsoft ADAL v2
DiscoveryClient discoveryClient =
new DiscoveryClient(Constants.DISCOVERY_RESOURCE_URL, dependencyResolver);
try {
ListenableFuture<List<ServiceInfo>> services = discoveryClient.getServices().read();
Futures.addCallback(services, new FutureCallback<List<ServiceInfo>>() {
@Override
public void onSuccess(List<ServiceInfo> serviceInfos) {
mServices = serviceInfos;
}
@mehdok
mehdok / DiacriticInsensitiveSearch.java
Last active July 19, 2017 17:38
search trough a string by ignoring arabic diacritics.
import java.text.Collator;
import java.util.Locale;
/**
* This class contains 2 methods for searching in arabic strings by ignoring Diacritic
* <p>
* {@link #searchInStringWordByWord(String, String, int)} is super fast but limited to search by word (witch in many
* case id what you need)
* <p>
* {@link #searchInStringLetterByLetter(String, String, int)} is slow but it can search anything from a letter to many
import RKCommon
import RxSwift
import UIKit
enum SocialSigninCoordinationResult {
case successGoogle(Bool)
case successFacebook
case error(Error)
case cancel
}
apply plugin: 'kotlin-multiplatform'
apply plugin: 'kotlinx-serialization'
kotlin {
sourceSets {
commonMain {
dependencies {
implementation 'org.jetbrains.kotlin:kotlin-stdlib'
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:$coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:$serialization_version"
import kotlin.coroutines.*
import kotlinx.coroutines.*
import platform.darwin.*
internal actual val dispatcher: CoroutineDispatcher = NsQueueDispatcher(dispatch_get_main_queue())
internal class NsQueueDispatcher(private val dispatchQueue: dispatch_queue_t) : CoroutineDispatcher() {
override fun dispatch(context: CoroutineContext, block: Runnable) {
dispatch_async(dispatchQueue) {
block.run()
var isLoading: Bool = false {
didSet {
showLoading()
}
}
yourButton.rx.tap.asObservable().bind(to: viewModel.someObserver).disposed(by: bag)
var postList = BehaviorRelay<[Post]?>(value: nil)
postList.bindTo(to: showList).disposed(by: bag)
public var rx_startLoading: AnyObserver<Bool> {
return Binder(self, binding: { [weak self] (view, visible) in
self?.showLoaingLayer(show: visible)
}).asObserver()
}