Java Code Examples for io.reactivex.Observable#concat()
The following examples show how to use
io.reactivex.Observable#concat() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ImageUriRequest.java From APlayer with GNU General Public License v3.0 | 6 votes |
private Observable<String> getNeteaseNetworkThumbObservable(UriRequest request) { return Observable.concat(Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> emitter) throws Exception { String imageUrl = SPUtil .getValue(App.getContext(), SPUtil.COVER_KEY.NAME, request.getNeteaseCacheKey(), ""); if (!TextUtils.isEmpty(imageUrl) && UriUtil.isNetworkUri(Uri.parse(imageUrl))) { emitter.onNext(imageUrl); } emitter.onComplete(); } }), Observable.just(isAutoDownloadCover() && !TextUtils.isEmpty(request.getNeteaseSearchKey())) .filter(aBoolean -> aBoolean) .flatMap(aBoolean -> HttpClient.getInstance() .getNeteaseSearch(request.getNeteaseSearchKey(), 0, 1, request.getNeteaseType()) .map(responseBody -> parseNeteaseNetworkImageUrl(request, responseBody)) .firstElement().toObservable())); }
Example 2
Source File: NetworkBoundResource.java From Dagger2-Sample with MIT License | 5 votes |
@MainThread protected NetworkBoundResource() { Observable<Resource<ResultType>> source; if (shouldFetch()) { source = createCall() .subscribeOn(Schedulers.io()) .doOnNext(apiResponse -> saveCallResult(processResponse(apiResponse))) .flatMap(apiResponse -> loadFromDb().toObservable().map(Resource::success)) .doOnError(t -> onFetchFailed()) .onErrorResumeNext(t -> { return loadFromDb() .toObservable() .map(data -> Resource.error(t.getMessage(), data)); }) .observeOn(AndroidSchedulers.mainThread()); } else { source = loadFromDb() .toObservable() .map(Resource::success); } result = Observable.concat( loadFromDb() .toObservable() .map(Resource::loading) .take(1), source ); }
Example 3
Source File: RealRxPermission.java From RxPermission with Apache License 2.0 | 5 votes |
@NonNull @CheckReturnValue @TargetApi(M) Observable<Permission> requestOnM(@NonNull final String... permissions) { final List<Observable<Permission>> list = new ArrayList<>(permissions.length); final List<String> unrequestedPermissions = new ArrayList<>(); // In case of multiple permissions, we create an observable for each of them. // At the end, the observables are combined to have a unique response. for (final String permission : permissions) { if (isGranted(permission)) { list.add(Observable.just(Permission.granted(permission))); } else if (isRevokedByPolicy(permission)) { list.add(Observable.just(Permission.revokedByPolicy(permission))); } else { PublishSubject<Permission> subject = currentPermissionRequests.get(permission); // Create a new subject if not exists if (subject == null) { unrequestedPermissions.add(permission); subject = PublishSubject.create(); currentPermissionRequests.put(permission, subject); } list.add(subject); } } if (!unrequestedPermissions.isEmpty()) { final String[] permissionsToRequest = unrequestedPermissions.toArray(new String[0]); startShadowActivity(permissionsToRequest); } return Observable.concat(Observable.fromIterable(list)); }
Example 4
Source File: RxPermissions.java From GankGirl with GNU Lesser General Public License v2.1 | 5 votes |
@TargetApi(Build.VERSION_CODES.M) private Observable<Permission> requestImplementation(final String... permissions) { List<Observable<Permission>> list = new ArrayList<>(permissions.length); List<String> unrequestedPermissions = new ArrayList<>(); // 在多个权限的情况下,我们为每个人创造一个可观测的。 // 最后,可见结合独特的响应。 for (String permission : permissions) { mRxPermissionsFragment.log("Requesting permission " + permission); if (isGranted(permission)) { // 返回一个授予权限。 list.add(Observable.just(new Permission(permission, true, false))); continue; } if (isRevoked(permission)) { // 返回一个拒绝权限。 list.add(Observable.just(new Permission(permission, false, false))); continue; } PublishSubject<Permission> subject = mRxPermissionsFragment.getSubjectByPermission(permission); // 如果不存在创建一个新的 subject if (subject == null) { unrequestedPermissions.add(permission); subject = PublishSubject.create(); mRxPermissionsFragment.setSubjectForPermission(permission, subject); } list.add(subject); } if (!unrequestedPermissions.isEmpty()) { String[] unrequestedPermissionsArray = unrequestedPermissions.toArray(new String[unrequestedPermissions.size()]); requestPermissionsFromFragment(unrequestedPermissionsArray); } return Observable.concat(Observable.fromIterable(list)); }
Example 5
Source File: RxPermissions.java From RxPermissions with Apache License 2.0 | 5 votes |
@TargetApi(Build.VERSION_CODES.M) private Observable<Permission> requestImplementation(final String... permissions) { List<Observable<Permission>> list = new ArrayList<>(permissions.length); List<String> unrequestedPermissions = new ArrayList<>(); // In case of multiple permissions, we create an Observable for each of them. // At the end, the observables are combined to have a unique response. for (String permission : permissions) { mRxPermissionsFragment.get().log("Requesting permission " + permission); if (isGranted(permission)) { // Already granted, or not Android M // Return a granted Permission object. list.add(Observable.just(new Permission(permission, true, false))); continue; } if (isRevoked(permission)) { // Revoked by a policy, return a denied Permission object. list.add(Observable.just(new Permission(permission, false, false))); continue; } PublishSubject<Permission> subject = mRxPermissionsFragment.get().getSubjectByPermission(permission); // Create a new subject if not exists if (subject == null) { unrequestedPermissions.add(permission); subject = PublishSubject.create(); mRxPermissionsFragment.get().setSubjectForPermission(permission, subject); } list.add(subject); } if (!unrequestedPermissions.isEmpty()) { String[] unrequestedPermissionsArray = unrequestedPermissions.toArray(new String[unrequestedPermissions.size()]); requestPermissionsFromFragment(unrequestedPermissionsArray); } return Observable.concat(Observable.fromIterable(list)); }
Example 6
Source File: ObservableReadStreamAdapterTest.java From vertx-rx with Apache License 2.0 | 4 votes |
@Override protected Observable<Buffer> concat(Observable<Buffer> obs1, Observable<Buffer> obs2) { return Observable.concat(obs1, obs2); }