87 lines
2.5 KiB
Java
87 lines
2.5 KiB
Java
package com.uiuios.aios.base;
|
|
|
|
import android.os.Bundle;
|
|
import android.util.Log;
|
|
import android.view.KeyEvent;
|
|
|
|
import androidx.annotation.CallSuper;
|
|
import androidx.annotation.Nullable;
|
|
|
|
import com.hjq.toast.Toaster;
|
|
import com.tencent.mmkv.MMKV;
|
|
import com.uiuios.aios.R;
|
|
import com.uiuios.aios.base.rx.BaseRxActivity;
|
|
import com.uiuios.aios.config.CommonConfig;
|
|
import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX;
|
|
|
|
public abstract class BaseTransparentActivity extends BaseRxActivity {
|
|
private static final String TAG = BaseTransparentActivity.class.getSimpleName();
|
|
|
|
|
|
private MMKV mmkv = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
|
|
|
public BaseTransparentActivity() {
|
|
super();
|
|
}
|
|
|
|
@Override
|
|
@CallSuper
|
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
// StatusBarUtil.init(this);
|
|
UltimateBarX.statusBar(this)
|
|
.transparent()
|
|
.colorRes(R.color.colorPrimaryDark)
|
|
.light(setNightMode())
|
|
.fitWindow(setfitWindow())
|
|
.apply();
|
|
UltimateBarX.navigationBar(this)
|
|
.transparent()
|
|
.colorRes(R.color.colorPrimaryDark)
|
|
.light(setNightMode())
|
|
.fitWindow(setfitWindow())
|
|
.apply();
|
|
}
|
|
|
|
/**
|
|
* 设置布局
|
|
*/
|
|
protected abstract int getLayoutId();
|
|
|
|
/**
|
|
* @return 是否是黑色状态栏
|
|
*/
|
|
// protected abstract boolean setNightMode();
|
|
public boolean setNightMode() {
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* @return 是否是入侵
|
|
*/
|
|
// protected abstract boolean setNightMode();
|
|
public boolean setfitWindow() {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
|
switch (keyCode) {
|
|
case KeyEvent.KEYCODE_VOLUME_UP://增大系统媒体音量
|
|
case KeyEvent.KEYCODE_VOLUME_DOWN://减小系统媒体音量
|
|
return getVolumeKeyStatus();
|
|
default:
|
|
break;
|
|
}
|
|
return super.onKeyDown(keyCode, event);
|
|
}
|
|
|
|
public boolean getVolumeKeyStatus() {
|
|
boolean disableKey = mmkv.decodeBool(CommonConfig.DISABLE_VOLUME_KEY, false);
|
|
Log.e(TAG, "getVolumeKeyStatus: disableKey = " + disableKey);
|
|
if (disableKey){
|
|
Toaster.showLong("音量键已被禁用");
|
|
}
|
|
return disableKey;
|
|
}
|
|
} |