拨号应用Dialer,更改默认fragment为通话记录:
vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/dialer/app/list/ListsFragment.java
onCreateView中
原本是
showTab(DialtactsPagerAdapter.TAB_INDEX_SPEED_DIAL);
更改为
showTab(DialtactsPagerAdapter.TAB_INDEX_HISTORY);
上下左右按键遇到edittext编辑框后继续原来的功能选择:
frameworks/base/core/java/android/widget/TextView.java
在方法
isDirectionalNavigationKey中
switch(keyCode) {
/*/tyd.yantao 20221108 lose focus while in editText
case KeyEvent.KEYCODE_DPAD_UP:
case KeyEvent.KEYCODE_DPAD_DOWN:
//*/
case KeyEvent.KEYCODE_DPAD_LEFT:
case KeyEvent.KEYCODE_DPAD_RIGHT:
return true;
}
return false;
在这里就被拦截了,这个TextView类,就包括了编辑模式。
关闭相机录像快门声音,避免快门声音录像录进:
Camera应用原生的mtk合了很多种,注意分辨是生效的是哪种,看下包名,
这里采用
vendor/mediatek/proprietary/packages/apps/Camera2/ common/src/com/mediatek/camera/common/mode/video/device/v2/VideoDevice2Controller.java
里面的startRecording方法
mICameraContext.getSoundPlayback().play(ISoundPlayback.START_VIDEO_RECORDING);
就是快门录制声音,注掉就没了
在
vendor/mediatek/proprietary/packages/apps/Camera2/common/src/com/mediatek/camera/common/mode/video/VideoMode.java
进行按键按下开始录制onShutterButtonClick
然后就是startRecording
主要是里面的prepareStartRecording方法
然后主要是里面的mCameraDevice.startRecording();
这个mCameraDevice就是IDeviceController的实例对象,这IDeviceController就是一接口,在VideoDevice2Controller.java
复写startRecording方法
避免快门声音录像录进,在开始录之前,发出声音之后加个延迟
vendor/mediatek/proprietary/packages/apps/Camera2/ common/src/com/mediatek/camera/common/mode/video/device/v2/VideoDevice2Controller.java
里面的startRecording方法
try {
Thread.sleep(600);
} catch (Exception e){
e.printStackTrace();
}
注意这个Thread.sleep(600);可以一起放在源码的try里但是它的catch是CameraAccessException,所以得再加个catch
catch (Exception e){
e.printStackTrace();
}