Skip to content

Instantly share code, notes, and snippets.

View PhilippeBoisney's full-sized avatar
🏠
Working from home

Boisney Philippe PhilippeBoisney

🏠
Working from home
View GitHub Profile
static func toModels(entities: Results<ListeDeCourseStateEntity>) -> Array<ListeDeCourseStateModel> {
var list: Array<ListeDeCourseStateModel> = Array<ListeDeCourseStateModel>()
for entity in entities {
list.append(entity.toModel())
}
return list
}
if let town = item["place"]["address"]["city"]["name"].string {
rucheOfUser.town = town
}
if let town = item["place"].dictionary {
if let town = town["address"]?.dictionary {
if let town = town["city"]?.dictionary {
if let town = town["name"]?.string {
rucheOfUser.town = town
}
}
}
}
let transform = CATransform3DTranslate(transform, (pow(x,3) - (x * 25)) * subsWeights[index].x, (pow(x,3) - (x * 20)) * subsWeights[index].y, 0 )
var tmpX : CGFloat = pow(x,3)
tmpX.subtract(x.multiplied(by: 25))
tmpX.multiply(by: subsWeights[index].x)
var tmpY : CGFloat = pow(x,3)
tmpY.subtract(x.multiplied(by: 20))
tmpY.multiply(by: subsWeights[index].y)
let transform = CATransform3DTranslate(transform, tmpX, tmpY, 0 )
func observableOnGetAllRepas(email: String, password: String) -> Observable<[GTLUsersApiRecette]?> {
return Observable<[GTLUsersApiRecette]?>.create { (observer) -> Disposable in
let query = self.appengineHttpManager.getAllRepasFromAppEngine(email: email, password: password, completion: { (response) in
if let _ = response.email {
if let recettes: [GTLUsersApiRecette] = response.listOfRecette as? [GTLUsersApiRecette] {
print("Before parsing recipes: "+recettes.count.description)
observer.onNext(recettes)
func observableOnGetAllRepas(email: String, password: String) -> Observable<[GTLUsersApiRecette]?> {
return Observable<[GTLUsersApiRecette]?>.create { (observer) -> Disposable in
let query = self.appengineHttpManager.getAllRepasFromAppEngine(email: email, password: password, completion: { (response) in
if let _ = response.email {
if let recettes: [GTLUsersApiRecette] = response.listOfRecette as? [GTLUsersApiRecette] {
observer.onNext(recettes)
observer.onCompleted()
public class MainFragment extends Fragment {
...
// 1 - Create a disposable
private Disposable disposable;
@Override
public void onDestroy() {
// 2 - Unsubscribe
public class MainFragment extends Fragment {
...
// ------------------
// RX JAVA
// ------------------
// 3 - Create an observable that will run a long request...
private Observable<String> getObservable(){
@PhilippeBoisney
PhilippeBoisney / RxJavaLoader.java
Last active December 20, 2017 16:53
RxJavaLoader was created to handle better rotations during RxJava2 streams. Basically, this one put the observable safely inside a loader and resume it after rotation occurred. More informations about it's implementation : https://medium.com/@Phil_Boisney/rxjava-2-android-how-to-proper-handle-rotations-with-connectableobservable-loader-9356ff47df61
public class RxJavaLoader<T> extends Loader<T> {
private final Observable<T> observable;
private final BehaviorSubject<T> cache = BehaviorSubject.create();
private Disposable disposable;
private RxJavaLoader(Context context, Observable<T> observable) {
super(context);
this.observable = observable;