不实用换肤模式,后面采用别的换肤方案

Signed-off-by: 董宏宇 <martindhy@gmail.com>
This commit is contained in:
董宏宇
2021-09-18 19:02:36 +08:00
parent 2da2047f1e
commit bb4926a7ee
17 changed files with 114 additions and 249 deletions

View File

@@ -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);
// }
}