Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/puyang1017/mvp
Browse files Browse the repository at this point in the history
  • Loading branch information
puyang1017 committed Aug 23, 2019
2 parents 1075f16 + c3f858e commit 957b743
Show file tree
Hide file tree
Showing 3 changed files with 165 additions and 2 deletions.
2 changes: 1 addition & 1 deletion conf.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ ext {
"scalablevideoview" : 'com.yqritc:android-scalablevideoview:1.0.4',
"mqttv3" : 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0',
"SmartRefreshLayout" : 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-18',
"fragmentation" : 'me.yokeyword:fragmentation:1.3.7',
"fragmentation" : 'com.github.puyang1017:Fragmentation:2.0.0',
"facebookrebound" : 'com.facebook.rebound:rebound:0.3.8',
]

Expand Down
2 changes: 1 addition & 1 deletion puymvpjava/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ dependencies {
api fileTree(include: ['*.jar'], dir: 'libs')
api 'androidx.appcompat:appcompat:1.0.2'
api 'com.google.android.material:material:1.0.0'
api 'androidx.annotation:annotation:1.0.0'
api 'androidx.annotation:annotation:1.1.0'
api rootProject.ext.dependencies["xrecyclerview"]
api rootProject.ext.dependencies["butterknife"]
annotationProcessor rootProject.ext.dependencies["butterknife-apt"]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
package com.android.puy.puymvpjava.mvp;

import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.Nullable;
import butterknife.Unbinder;
import com.android.puy.puymvpjava.XDroidConf;
import com.android.puy.puymvpjava.customs.material.MaterialRippleLayout;
import com.android.puy.puymvpjava.event.BusProvider;
import com.android.puy.puymvpjava.kit.KnifeKit;
import com.tbruyelle.rxpermissions2.RxPermissions;
import me.yokeyword.fragmentation_swipeback.SwipeBackFragment;
import org.greenrobot.eventbus.EventBus;


public abstract class XBackFragmentation<P extends IPresent> extends SwipeBackFragment implements IView<P> {

private VDelegate vDelegate;
private P p;
protected Activity context;
private View rootView;
protected LayoutInflater layoutInflater;

private RxPermissions rxPermissions;

private Unbinder unbinder;


@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
layoutInflater = inflater;
if (rootView == null && getLayoutId() > 0) {
rootView = inflater.inflate(getLayoutId(), null);
bindUI(rootView);
} else {
ViewGroup viewGroup = (ViewGroup) rootView.getParent();
if (viewGroup != null) {
viewGroup.removeView(rootView);
}
}
return rootView;
}


@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (useRxBus()) {
BusProvider.getBus().register(this);
}
if (useEventBus()) {
EventBus.getDefault().register(this);
}
bindEvent();
initData(savedInstanceState);
}

@Override
public void bindUI(View rootView) {
unbinder = KnifeKit.bind(this, rootView);
}

protected VDelegate getvDelegate() {
if (vDelegate == null) {
vDelegate = VDelegateBase.create(context);
}
return vDelegate;
}

protected P getP() {
if (p == null) {
p = newP();
if (p != null) {
p.attachV(this);
}
}
return p;
}

@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof Activity) {
this.context = (Activity) context;
}
}

@Override
public void onDetach() {
super.onDetach();
context = null;
}

@Override
public boolean useEventBus() {
return false;
}

@Override
public boolean useRxBus() {
return false;
}


@Override
public void onDestroyView() {
super.onDestroyView();
if (useRxBus()) {
BusProvider.getBus().unregister(this);
}
if (useEventBus()) {
EventBus.getDefault().unregister(this);
}
if (getP() != null) {
getP().detachV();
}
getvDelegate().destory();

p = null;
vDelegate = null;
}

protected RxPermissions getRxPermissions() {
rxPermissions = new RxPermissions(getActivity());
rxPermissions.setLogging(XDroidConf.DEV);
return rxPermissions;
}

@Override
public int getOptionsMenuId() {
return 0;
}

@Override
public void bindEvent() {

}

public void setMaterialRipple(View... views) {
for (View view : views) {
MaterialRippleLayout.on(view)
.rippleColor(Color.BLACK)
.create();
}
}

@Override
public void onSupportVisible() {
super.onSupportVisible();
//在onSupportVisible实现沉浸式
initImmersionBar();
}

public void initImmersionBar() {
}

}

0 comments on commit 957b743

Please sign in to comment.