/ActivityResultHelper

This is a tools lib for getting ActivityResult more convenience

Primary LanguageJavaApache License 2.0Apache-2.0

ActivityResultHelper

This is a tools lib for getting ActivityResult more convenience

  • support RxJava
  • support Fragment
  • support FragmentActivity
  • support all Context that is related to FragmentActivity, such as Dialog#getContext()

Config

Add it in your root build.gradle at the end of repositories

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Add the dependency

normal

implementation 'com.github.xiaojinzi123.ActivityResultHelper:activity-result:<version>'

rxjava extend

implementation 'com.github.xiaojinzi123.ActivityResultHelper:activity-result-rxjava:<version>'

<version> replace with the real version!

Usage

Get ActivityResult

ActivityResultHelper.with(fragmentActivity)
                .target(SecondAct.class)
                //.target(new Intent(this, SecondAct.class))
                .requestCodeRandom()
                .startForResult(new Callback<ActivityResult>() {
                    @Override
                    public void accept(@NonNull ActivityResult activityResult) {
                        // todo
                    }
                });

Get Intent(without resultCode match)

ActivityResultHelper.with(fragment)
                .target(ThirdAct.class)
                .requestCodeRandom()
                .startForIntent(new Callback<Intent>() {
                    @Override
                    public void accept(@NonNull Intent intent) {
                        // todo
                    }
                });

Get Intent(resultCode match)

ActivityResultHelper.with(context)
                .target(ThirdAct.class)
                .requestCodeRandom()
                .startForIntent(RESULT_OK, new Callback<Intent>() {
                    @Override
                    public void accept(@NonNull Intent intent) {
                        // todo
                    }
                });

Use with RxJava

ActivityResult Get

RxActivityResultHelper.with(this)
                // .target(ThirdAct.class)
                .target(new Intent(this, ThirdAct.class))
                .requestCodeRandom()
                .call()
                .subscribe(new Consumer<ActivityResult>() {
                    @Override
                    public void accept(ActivityResult activityResult) throws Exception {
                        // todo
                    }
                });

Intent Get

RxActivityResultHelper.with(this)
                // .target(ThirdAct.class)
                .target(new Intent(this, ThirdAct.class))
                .requestCodeRandom()
                .intentCall(RESULT_OK)
                .subscribe(new Consumer<Intent>() {
                    @Override
                    public void accept(Intent intent) throws Exception {
                        // doto
                    }
                });