修改下拉状态栏点击屏幕录制后出现ANR:
报错信息为
rocess: com.android.systemui, PID: 5593
// java.lang.NullPointerException: Attempt to read from field 'int com.android.wm.shell.common.DisplayLayout.mUiMode' on a null object reference
// at com.android.wm.shell.common.DisplayLayout.set(DisplayLayout.java:145)
// at com.android.wm.shell.common.DisplayLayout.<init>(DisplayLayout.java:140)
为,虽然这个systemui报错但是systemui找不到这个文件,是在frameworks下面
override/frameworks/base/libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayLayout.java
有四个个构造方法,其中有两个是类似的,都是设置相关DisplayLayout配置的,就是初始化
出错的是一个参数的
DisplayLayout(DisplayLayout dl) {
这个dl就是null,所以下面这一句set(dl);导致这个方法失效报错。
把这句注释掉不用了就行,这个方法本来就是类似下面的init的,本来官方给的注解就是sets this DisplayLayout to a copy of another on.
那就不要这个copy了
另一个构造方法两个个参数
DisplayLayout(@NonNull Context context, @NonNull Display rawDisplay) {
这里面也有个
init(info, context.getResources(), hasNavigationBar(info, context, displayId),hasStatusBar(displayId));
这个方法更正规标准,测得功能一切正常。
禁用Hotspot & tethering菜单下的 “Wi-Fi hotspot:
不是删除这个菜单而是禁用,就是点不了,就跟下面那个USB一样,在没有连接是灰色禁用点不了
、override/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
displayPreference方法里直接加一句
mPreference.setEnabled(false);
类似src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java
这里面refresh方法里
if (!connected || dataRole != DATA_ROLE_DEVICE) {mProfilesContainer.setEnabled(false);} else {// Functions are only available in device modemProfilesContainer.setEnabled(true);}
默认系统语言为英文:
改个宏控,在ProjectConfig.mk里
FREEME_PRODUCT_LOCALES_DEFAULT = en_US
原来是中文zh_CN