MyFragment.java 6.33 KB
package com.cnlive.strike;


import android.Manifest;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;

import com.cnlive.core.libs.base.frame.fragment.BaseFragment;
import com.cnlive.core.libs.base.interfaces.OnPermissionResponseListener;
import com.cnlive.core.network.model.BaseResult;
import com.cnlive.core.network.HttpConn;
import com.cnlive.core.network.NetCallBack;
import com.cnlive.core.libs.base.util.StatusBarConfig;
import com.cnlive.core.network.request.BaseRequest;
import com.cnlive.strike.network.api.ApiService;
import com.cnlive.strike.network.bean.LetHimNoSeeBean;
import com.cnlive.strike.network.bean.TestBean;
import com.me.yokeyword.fragmentation.anim.DefaultVerticalAnimator;
import com.me.yokeyword.fragmentation.anim.FragmentAnimator;

import java.util.HashMap;
import java.util.Map;

import io.reactivex.Observable;
import io.reactivex.functions.Function;


public class MyFragment extends BaseFragment<MyFragmentView, MyPresenter> {
    public TextView textView;

    @Override
    protected int getViewLayoutId() {
        return R.layout.activity_main1;
    }

    @Override
    protected void initView() {
        super.initView();
        setSwipeBackEnable(true);
        setStatusBarColor(R.color.green, 0);
        setStatusBarTextColor(StatusBarConfig.BLACK);
        textView = baseView.findViewById(R.id.tv1);
        baseView.findViewById(R.id.btn_test2).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                requestPermission(010001, "测试", new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, new OnPermissionResponseListener() {
                    @Override
                    public void onSuccess(String[] permissions) {
                        Log.e(TAG, "onSuccess: ");
                    }

                    @Override
                    public void onFail() {
                        Log.e(TAG, "onFail: ");
                    }
                });
            }
        });
        baseView.findViewById(R.id.btn_test1).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                requestPermission(new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, new OnPermissionResponseListener() {
//                    @Override
//                    public void onSuccess(String[] permissions) {
//                        Log.e(TAG, "onSuccess: ");
//                    }
//
//                    @Override
//                    public void onFail() {
//                        Log.e(TAG, "onFail: ");
//                    }
//                });
                startForResult(new MyFragment1(), 1001);
            }
        });
        baseView.findViewById(R.id.btn_test).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //单个请求
                HttpConn.action(
                        BaseRequest
                                .init()
                                .setUrl("http://gank.io/api/data/")
                                .service(ApiService.class)
                                .getTest(), new NetCallBack<TestBean>() {
                            @Override
                            public void onRequestState(int state) {

                            }

                            @Override
                            public void onSuccess(TestBean data) {
                                Log.e(TAG, "onSuccess: " + data.getResults().size());
                            }

                            @Override
                            public void onFailure(String errCode, String errMsg) {
                                Log.e(TAG, "onFailure: " + errMsg);
                            }
                        }
                );
                //多个请求
                Map<String, String> param = new HashMap<>();
                param.put("sid", "358916");
                HttpConn
                        .action(
                                BaseRequest
                                        .init()
                                        .setUrl("http://gank.io/api/data/")
                                        .service(ApiService.class)
                                        .getTest()
                                        .concatMap(new Function<TestBean, Observable<BaseResult<LetHimNoSeeBean>>>() {
                                            @Override
                                            public Observable<BaseResult<LetHimNoSeeBean>> apply(TestBean testBean) throws Exception {
                                                Log.e(TAG, "apply: " + testBean.getResults().size());
                                                return BaseRequest.init().service(ApiService.class).getLetHimNoSee(param);
                                            }
                                        }), new NetCallBack<BaseResult<LetHimNoSeeBean>>() {
                                    @Override
                                    public void onRequestState(int state) {

                                    }

                                    @Override
                                    public void onSuccess(BaseResult<LetHimNoSeeBean> data) {
                                        Log.e(TAG, "onSuccess: " + data.getData().getDoNotletFsids().size());
                                    }

                                    @Override
                                    public void onFailure(String errCode, String errMsg) {
                                        Log.e(TAG, "onFailure: " + errMsg);
                                    }
                                });


            }
        });
        getPresenter().setData("hha");
        getMvpView().setData("test");
    }

    @Override
    public FragmentAnimator onCreateFragmentAnimator() {
        return new DefaultVerticalAnimator();
    }

    @Override
    public void onFragmentResult(int requestCode, int resultCode, Bundle data) {
        super.onFragmentResult(requestCode, resultCode, data);
        if (requestCode == 1001) {
            setStatusBarColor(R.color.green, 0);

            if (null != data) {
                logError(data.getString("test"));
            }
        }
    }
}