Search in sources :

Example 1 with DividerDecoration

use of com.xxf.view.recyclerview.itemdecorations.DividerDecoration in project xxf_android by NBXXF.

the class StateActivity method onCreate.

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    List<Observable<Boolean>> datas = new ArrayList<>();
    datas.add(Observable.fromCallable(new Callable<Boolean>() {

        @Override
        public Boolean call() throws Exception {
            throw new RuntimeException("xxx");
        }
    }));
    datas.add(Observable.fromCallable(new Callable<Boolean>() {

        @Override
        public Boolean call() throws Exception {
            return true;
        }
    }));
    Observable.concatDelayError(datas).observeOn(AndroidSchedulers.mainThread(), true).doOnError(new Consumer<Throwable>() {

        @Override
        public void accept(Throwable throwable) throws Throwable {
            Log.d("=======>data error:", "" + throwable);
        }
    }).subscribe(new Consumer<Boolean>() {

        @Override
        public void accept(Boolean aBoolean) throws Throwable {
            Log.d("=======>data:", "" + aBoolean);
        }
    });
    stateBinding = ActivityStateBinding.inflate(getLayoutInflater(), null, false);
    // stateBinding.grayLayout.setGrayColor(true);
    setContentView(stateBinding.getRoot());
    // TestViewModel viewModel = XXF.getViewModel(this, TestViewModel.class);
    stateBinding.recyclerView.setAdapter(testAdaper = new TestAdaper());
    // new ItemTouchHelper(new SimpleItemTouchHelperCallback(testAdaper)).attachToRecyclerView(stateBinding.recyclerView);
    // stateBinding.recyclerView.addItemDecoration(new GridItemDecoration(DensityUtil.dip2px(5)));
    stateBinding.recyclerView.setLayoutManager(new LinearLayoutManager(this));
    // stateBinding.recyclerView.addItemDecoration(ItemDecorationFactory.createHorizontalItemDecoration(new HorizontalDividerItemDecoration.Builder(this).size(DensityUtil.dip2px(20)).color(Color.RED)));
    DividerDecoration dividerItemDecoration = new DividerDecoration(this, Color.YELLOW, DensityUtil.dip2px(20));
    stateBinding.recyclerView.addItemDecoration(dividerItemDecoration);
    stateBinding.btnTest.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // ShareUtil.shareQQ(StateActivity.this, "xxxx");
            SystemUtils.shareText(StateActivity.this, "xxxx", null).compose(XXF.bindToErrorNotice()).subscribe();
        }
    });
    stateBinding.btnLoad.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            new ScrollShotting(stateBinding.recyclerView, 200, Color.WHITE) {

                @Override
                public void onShot(@NotNull Bitmap bitmap) {
                    File my_images = new File(getApplication().getExternalFilesDir(Environment.DIRECTORY_PICTURES), "image");
                    my_images.mkdirs();
                    File file = new File(new File(getApplication().getExternalFilesDir(Environment.DIRECTORY_PICTURES), "image"), "default_image2.jpg");
                    boolean b = BitmapUtils.INSTANCE.bitmapToFile(bitmap, file);
                    ToastUtils.showToast("设置:" + b);
                    SystemUtils.shareFile(StateActivity.this, file.getAbsolutePath(), FileProvider7.INSTANCE.getAuthority(getApplication()), SystemUtils.SHARE_WEIBO_CIRCLE_COMPONENT).compose(XXF.bindToErrorNotice()).subscribe();
                }
            }.start();
        }
    });
    testAdaper.bindData(true, new ArrayList<>());
    loadData();
    stateBinding.btnDownload.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            /*  XXF.getFileService()
                        .getPrivateFileDir()
                        .flatMap(new Function<File, ObservableSource<File>>() {
                            @Override
                            public ObservableSource<File> apply(File file) throws Throwable {
                                return XXF.getFileService()
                                        .download("http://vfx.mtime.cn/Video/2019/02/04/mp4/190204084208765161.mp4", new File(file, "test.mp4").getAbsolutePath());
                            }
                        })
                        .compose(XXF.bindToProgressHud())
                        .subscribe();*/
            XXF.getFileService().getFilesDir(false, false).flatMap(new Function<File, Observable<DownloadTask>>() {

                @Override
                public Observable<DownloadTask> apply(File file) throws Throwable {
                    return XXF.getFileService().downloadTask("http://vfx.mtime.cn/Video/2019/02/04/mp4/190204084208765161.mp4", new File(file, "test.mp4").getAbsolutePath());
                }
            }).compose(new ProgressHUDTransformerImpl<DownloadTask>(StateActivity.this) {

                @Override
                public void onNext(DownloadTask downloadTask) {
                    super.onNext(downloadTask);
                    getSafeProgressHUD().updateStateText((downloadTask.getCurrent() * 1.0f / downloadTask.getDuration()) * 100 + "%");
                }
            }.setDismissOnNext(false)).to(XXF.bindLifecycle(StateActivity.this)).subscribe(new Consumer<DownloadTask>() {

                @Override
                public void accept(DownloadTask downloadTask) throws Throwable {
                    Log.d("", "=========>task2:" + downloadTask);
                }
            });
        }
    });
}
Also used : DividerDecoration(com.xxf.view.recyclerview.itemdecorations.DividerDecoration) ArrayList(java.util.ArrayList) DownloadTask(com.xxf.arch.model.DownloadTask) LinearLayoutManager(androidx.recyclerview.widget.LinearLayoutManager) View(android.view.View) NotNull(org.jetbrains.annotations.NotNull) Observable(io.reactivex.rxjava3.core.Observable) Callable(java.util.concurrent.Callable) Bitmap(android.graphics.Bitmap) Consumer(io.reactivex.rxjava3.functions.Consumer) File(java.io.File)

Aggregations

Bitmap (android.graphics.Bitmap)1 View (android.view.View)1 LinearLayoutManager (androidx.recyclerview.widget.LinearLayoutManager)1 DownloadTask (com.xxf.arch.model.DownloadTask)1 DividerDecoration (com.xxf.view.recyclerview.itemdecorations.DividerDecoration)1 Observable (io.reactivex.rxjava3.core.Observable)1 Consumer (io.reactivex.rxjava3.functions.Consumer)1 File (java.io.File)1 ArrayList (java.util.ArrayList)1 Callable (java.util.concurrent.Callable)1 NotNull (org.jetbrains.annotations.NotNull)1