@@ -17,10 +17,8 @@ import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.app.AppCompatDelegate;
|
||||
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.skin.support.MogoSkinManager;
|
||||
import com.mogo.utils.SoftKeyBoardJobber;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
import com.mogo.utils.permissions.PermissionsDialogUtils;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
@@ -28,7 +26,7 @@ import com.mogo.utils.permissions.PermissionsDialogUtils;
|
||||
* <p>
|
||||
* mvp 的 activity
|
||||
*/
|
||||
public abstract class MvpActivity< V extends IView, P extends Presenter< V > >
|
||||
public abstract class MvpActivity<V extends IView, P extends Presenter<V>>
|
||||
extends AppCompatActivity implements IView {
|
||||
|
||||
protected static final String TAG = "MvpActivity";
|
||||
@@ -36,17 +34,17 @@ public abstract class MvpActivity< V extends IView, P extends Presenter< V > >
|
||||
protected P mPresenter;
|
||||
|
||||
@Override
|
||||
protected void onCreate( @Nullable Bundle savedInstanceState ) {
|
||||
super.onCreate( savedInstanceState );
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
beforeSetContentView(savedInstanceState);
|
||||
if ( DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_BYD ) {
|
||||
requestWindowFeature( Window.FEATURE_NO_TITLE );
|
||||
getWindow().setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN );
|
||||
if (DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_BYD) {
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
}
|
||||
setContentView( getLayoutId() );
|
||||
setContentView(getLayoutId());
|
||||
initViews();
|
||||
mPresenter = createPresenter();
|
||||
getLifecycle().addObserver( mPresenter );
|
||||
getLifecycle().addObserver(mPresenter);
|
||||
//申请悬浮窗权限
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
// 检查是否有悬浮窗权限
|
||||
@@ -98,12 +96,12 @@ public abstract class MvpActivity< V extends IView, P extends Presenter< V > >
|
||||
//for new api versions.
|
||||
View decorView = getWindow().getDecorView();
|
||||
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY ;
|
||||
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
|
||||
decorView.setSystemUiVisibility(uiOptions);
|
||||
}
|
||||
}
|
||||
|
||||
protected void beforeSetContentView(Bundle savedInstanceState){
|
||||
protected void beforeSetContentView(Bundle savedInstanceState) {
|
||||
|
||||
}
|
||||
|
||||
@@ -134,16 +132,16 @@ public abstract class MvpActivity< V extends IView, P extends Presenter< V > >
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean dispatchTouchEvent( MotionEvent ev ) {
|
||||
if ( ev.getAction() == MotionEvent.ACTION_DOWN && enableDispatchTouchEventToDismissSoftKeyBoard() ) {
|
||||
SoftKeyBoardJobber.hideIfNecessary( this, ev );
|
||||
return super.dispatchTouchEvent( ev );
|
||||
public boolean dispatchTouchEvent(MotionEvent ev) {
|
||||
if (ev.getAction() == MotionEvent.ACTION_DOWN && enableDispatchTouchEventToDismissSoftKeyBoard()) {
|
||||
SoftKeyBoardJobber.hideIfNecessary(this, ev);
|
||||
return super.dispatchTouchEvent(ev);
|
||||
}
|
||||
// 必不可少,否则所有的组件都不会有TouchEvent了
|
||||
if ( getWindow().superDispatchTouchEvent( ev ) ) {
|
||||
if (getWindow().superDispatchTouchEvent(ev)) {
|
||||
return true;
|
||||
}
|
||||
return onTouchEvent( ev );
|
||||
return onTouchEvent(ev);
|
||||
}
|
||||
|
||||
protected boolean enableDispatchTouchEventToDismissSoftKeyBoard() {
|
||||
@@ -153,17 +151,17 @@ public abstract class MvpActivity< V extends IView, P extends Presenter< V > >
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
getLifecycle().removeObserver( mPresenter );
|
||||
if ( mPresenter != null ) {
|
||||
getLifecycle().removeObserver( mPresenter );
|
||||
getLifecycle().removeObserver(mPresenter);
|
||||
if (mPresenter != null) {
|
||||
getLifecycle().removeObserver(mPresenter);
|
||||
}
|
||||
mPresenter = null;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public AppCompatDelegate getDelegate() {
|
||||
return MogoSkinManager.getInstance().getInstaller().getSkinAppCompatDelegate(this,
|
||||
super.getDelegate(), this);
|
||||
}
|
||||
// @NonNull
|
||||
// @Override
|
||||
// public AppCompatDelegate getDelegate() {
|
||||
// return MogoSkinManager.getInstance().getInstaller().getSkinAppCompatDelegate(this,
|
||||
// super.getDelegate(), this);
|
||||
// }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user