文章目录
- 修改分区大小
-
- 展锐
- MTK
- 时区
- 语言
- density
- 开机动画与Logo
-
- mtk
- 展锐
- 默认关闭屏保
- 默认不锁屏
- 蓝牙
-
- 请求打开蓝牙时,自动确认
- 蓝牙配对不弹窗,直接确认
- 状态栏、导航栏隐藏
-
- 禁用下拉栏
- 壁纸
-
- 通用修改方法
- MTK修改方法
- 音量
-
- 不显示音量条
- 音量最大等级
- 电话
-
- 禁止未接电话通知
- 自动关机窗口
- 通知
-
- 屏蔽短信通知
- Android相关专栏
修改分区大小
烧录原厂固件,查看各分区大小,判断是否要修改分区大小.
展锐
安卓4.4, Android8.0 比如修改system分区从350M改为1536M, 1536x1024x1024=1610612736 在device目录下
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 367001600
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736
– <Partition id="system" size="350"/>
+ <Partition id="system" size="1536"/>
MTK
Android8.0 只要修改BoardConfig.mk,不需要修改xml 比如
-BOARD_MTK_SYSTEM_SIZE_KB := 1253376
+BOARD_MTK_SYSTEM_SIZE_KB := 1553568
时区
时区(Timezone)
- 在buildinfo.sh 中用echo方法来设置 build/make/tools/buildinfo.sh
echo "persist.sys.timezone=Asia/Shanghai"
- 在xx.mk中用PRODUCT_PROPERTY_OVERRIDES 来设置
- 在xx.mk 中用ADDITIONAL_BUILD_PROPERTIES 来设置
语言
在设备中查看语言
getprop ro.product.locale
[ro.product.locale]: [en-US]
修改 build/target/product/full_base.mk 文件
# Put en_US first in the list, so make it default.
#PRODUCT_LOCALES := en_US
PRODUCT_LOCALES := zh_CN
mtk单改上面不行,需要额外修改
diff –git a/build/make/tools/buildinfo.sh b/build/make/tools/buildinfo.sh
index 51c834c072..40546e28be 100755
— a/build/make/tools/buildinfo.sh
+++ b/build/make/tools/buildinfo.sh
@@ -30,6 +30,8 @@ fi
echo "ro.version.software=0.0.0.1"
echo "persist.sys.timezone=Asia/Shanghai"
+echo "persist.sys.locale=zh-CN"
+echo "ro.product.locale=zh-CN"
# These values are deprecated, use "ro.product.cpu.abilist"
# instead (see below).
@@ -43,9 +45,9 @@ echo "ro.product.cpu.abilist=$TARGET_CPU_ABI_LIST"
echo "ro.product.cpu.abilist32=$TARGET_CPU_ABI_LIST_32_BIT"
echo "ro.product.cpu.abilist64=$TARGET_CPU_ABI_LIST_64_BIT"
-if [ -n "$PRODUCT_DEFAULT_LOCALE" ] ; then
– echo "ro.product.locale=$PRODUCT_DEFAULT_LOCALE"
-fi
+#if [ -n "$PRODUCT_DEFAULT_LOCALE" ] ; then
+# echo "ro.product.locale=$PRODUCT_DEFAULT_LOCALE"
+#fi
echo "ro.wifi.channels=$PRODUCT_DEFAULT_WIFI_CHANNELS"
echo "# ro.build.product is obsolete; use ro.product.device"
diff –git a/device/mediateksample/mt8766_bn_a3m/device.mk b/device/mediateksample/mt8766_bn_a3m/device.mk
# instead (see below).
@@ -43,9 +45,9 @@ echo "ro.product.cpu.abilist=$TARGET_CPU_ABI_LIST"
echo "ro.product.cpu.abilist32=$TARGET_CPU_ABI_LIST_32_BIT"
echo "ro.product.cpu.abilist64=$TARGET_CPU_ABI_LIST_64_BIT"
-if [ -n "$PRODUCT_DEFAULT_LOCALE" ] ; then
– echo "ro.product.locale=$PRODUCT_DEFAULT_LOCALE"
-fi
+#if [ -n "$PRODUCT_DEFAULT_LOCALE" ] ; then
+# echo "ro.product.locale=$PRODUCT_DEFAULT_LOCALE"
+#fi
PRODUCT_LOCALES把zh_CN放最前面
diff –git a/device/mediateksample/mt8766/vnd_mt8766.mk b/device/mediateksample/mt8766/vnd_mt8766.mk
index 0a3d352da2..cc3b2fe441 100644
— a/device/mediateksample/mt8766/vnd_mt8766.mk
+++ b/device/mediateksample/mt8766/vnd_mt8766.mk
@@ -15,7 +15,7 @@ ifndef SYS_TARGET_PROJECT
PRODUCT_BUILD_SYSTEM_IMAGE := false
PRODUCT_BUILD_PRODUCT_IMAGE := false
endif
-PRODUCT_LOCALES := en_US zh_CN zh_TW es_ES pt_BR ru_RU fr_FR de_DE tr_TR vi_VN ms_MY in_ID th_TH it_IT ar_EG hi_IN bn_IN ur_PK fa_IR pt_PT nl_NL el_GR hu_HU tl_PH ro_RO cs_CZ ko_KR km_KH iw_IL my_MM pl_PL es_US
bg_BG hr_HR lv_LV lt_LT sk_SK uk_UA de_AT da_DK fi_FI nb_NO sv_SE en_GB hy_AM zh_HK et_EE ja_JP kk_KZ sr_RS sl_SI ca_ES
+PRODUCT_LOCALES := zh_CN en_US zh_TW es_ES pt_BR ru_RU fr_FR de_DE tr_TR vi_VN ms_MY in_ID th_TH it_IT ar_EG hi_IN bn_IN ur_PK fa_IR pt_PT nl_NL el_GR hu_HU tl_PH ro_RO cs_CZ ko_KR km_KH iw_IL my_MM pl_PL es_US
bg_BG hr_HR lv_LV lt_LT sk_SK uk_UA de_AT da_DK fi_FI nb_NO sv_SE en_GB hy_AM zh_HK et_EE ja_JP kk_KZ sr_RS sl_SI ca_ES
$ settings list system | grep locale
system_locales=en-US
$ getprop | grep locale
[persist.sys.locale]: [en-US]
[ro.product.locale]: [en-US]
展锐
diff –git a/build/make/target/product/languages_default.mk b/build/make/target/product/languages_default.mk
index a13a23c5695..ee4f58f30ab 100644
— a/build/make/target/product/languages_default.mk
+++ b/build/make/target/product/languages_default.mk
@@ -17,6 +17,7 @@
# This is a build configuration that just contains a list of languages, with
# en_US set as the default language.
PRODUCT_LOCALES := \\
+ zh_CN \\
en_US \\
af_ZA \\
am_ET \\
@@ -99,7 +100,6 @@ PRODUCT_LOCALES := \\
ur_PK \\
uz_UZ \\
vi_VN \\
– zh_CN \\
zh_HK \\
zh_TW \\
zu_ZA \\
density
device/xx/xx/module/display/md.mk 或者 device/mediateksample/mtxx/device.mk
ro.sf.lcd_density=
开机动画与Logo
mtk
device/mediateksample/xxxx/device.mk
#custom logo
$(shell rm -rf vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/out ; mkdir vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/out)
ifneq ($(shell find vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/ -name $(BOOT_LOGO)),)
$(shell cp -rf vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/$(BOOT_LOGO) vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/out/)
ifneq ($(shell find device/mediateksample/$(MTK_TARGET_PROJECT)/ -name custom),)
ifneq ($(shell find device/mediateksample/$(MTK_TARGET_PROJECT)/custom/ -name logo),)
ifneq ($(shell find device/mediateksample/$(MTK_TARGET_PROJECT)/custom/logo/ -name $(BOOT_LOGO)),)
$(shell cp -rf device/mediateksample/$(MTK_TARGET_PROJECT)/custom/logo/$(BOOT_LOGO)/* vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/out/$(BOOT_LOGO)/)
endif
endif
endif
else
$(error projectconfig.mk BOOT_LOGO Setting error, Noexist! )
endif
#custom animation
ifneq ($(wildcard device/mediateksample/$(MTK_TARGET_PROJECT)/custom/bootanim),)
ifneq ($(shell find device/mediateksample/$(MTK_TARGET_PROJECT)/custom/bootanim -name bootanimation.zip),)
PRODUCT_COPY_FILES += device/mediateksample/$(MTK_TARGET_PROJECT)/custom/bootanim/bootanimation.zip:system/media/bootanimation.zip
else
PRODUCT_COPY_FILES += ../teksun/common/bootanim/$(BOOT_LOGO)/bootanimation.zip:system/media/bootanimation.zip
endif
ifneq ($(shell find device/mediateksample/$(MTK_TARGET_PROJECT)/custom/bootanim -name bootaudio.mp3),)
PRODUCT_COPY_FILES += device/mediateksample/$(MTK_TARGET_PROJECT)/custom/bootanim/bootaudio.mp3:system/media/bootaudio.mp3
endif
ifneq ($(shell find device/mediateksample/$(MTK_TARGET_PROJECT)/custom/bootanim -name shutanimation.zip),)
PRODUCT_COPY_FILES += device/mediateksample/$(MTK_TARGET_PROJECT)/custom/bootanim/shutanimation.zip:system/media/shutanimation.zip
endif
ifneq ($(shell find device/mediateksample/$(MTK_TARGET_PROJECT)/custom/bootanim -name shutdownanimation.zip),)
PRODUCT_COPY_FILES += device/mediateksample/$(MTK_TARGET_PROJECT)/custom/bootanim/shutdownanimation.zip:system/media/shutanimation.zip
endif
ifneq ($(shell find device/mediateksample/$(MTK_TARGET_PROJECT)/custom/bootanim -name shutaudio.mp3),)
PRODUCT_COPY_FILES += device/mediateksample/$(MTK_TARGET_PROJECT)/custom/bootanim/shutaudio.mp3:system/media/shutaudio.mp3
endif
else
PRODUCT_COPY_FILES += ../teksun/common/bootanim/$(BOOT_LOGO)/bootanimation.zip:system/media/bootanimation.zip
endif
展锐
device/sprd/mpool/module/product/main.mk
ifneq ($(wildcard device/sprd/$(CHIP_NAME)/$(TARGET_BOARD)/custom/bootanim),)
ifneq ($(shell find device/sprd/$(CHIP_NAME)/$(TARGET_BOARD)/custom/bootanim -name bootanimation.zip),)
PRODUCT_COPY_FILES += device/sprd/$(CHIP_NAME)/$(TARGET_BOARD)/custom/bootanim/bootanimation.zip:product/media/bootanimation.zip
endif
ifneq ($(shell find device/sprd/$(CHIP_NAME)/$(TARGET_BOARD)/custom/bootanim -name bootsound.mp3),)
PRODUCT_COPY_FILES += device/sprd/$(CHIP_NAME)/$(TARGET_BOARD)/custom/bootanim/bootsound.mp3:product/media/bootsound.mp3
endif
ifneq ($(shell find device/sprd/$(CHIP_NAME)/$(TARGET_BOARD)/custom/bootanim -name shutdownanimation.zip),)
PRODUCT_COPY_FILES += device/sprd/$(CHIP_NAME)/$(TARGET_BOARD)/custom/bootanim/shutdownanimation.zip:product/media/shutdownanimation.zip
endif
ifneq ($(shell find device/sprd/$(CHIP_NAME)/$(TARGET_BOARD)/custom/bootanim -name shutdownsound.mp3),)
PRODUCT_COPY_FILES += device/sprd/$(CHIP_NAME)/$(TARGET_BOARD)/custom/bootanim/shutdownsound.mp3:product/media/shutdownsound.mp3
endif
endif
默认关闭屏保
diff –git a/frameworks/base/core/res/res/values/config.xml b/frameworks/base/core/res/res/values/config.xml
index 819a5442fea..b27a9185558 100755
— a/frameworks/base/core/res/res/values/config.xml
+++ b/frameworks/base/core/res/res/values/config.xml
@@ -2390,7 +2390,7 @@
<bool name="config_dreamsSupported">true</bool>
<!– If supported, are dreams enabled? (by default) –>
– <bool name="config_dreamsEnabledByDefault">true</bool>
+ <bool name="config_dreamsEnabledByDefault">false</bool>
<!– If supported and enabled, are dreams activated when docked? (by default) –>
<bool name="config_dreamsActivatedOnDockByDefault">false</bool>
<!– If supported and enabled, are dreams activated when asleep and charging? (by default) –>
默认不锁屏
diff –git a/frameworks/base/core/res/res/values/config.xml b/frameworks/base/core/res/res/values/config.xml
index 23a4d032247..beeceba6428 100644
— a/frameworks/base/core/res/res/values/config.xml
+++ b/frameworks/base/core/res/res/values/config.xml
@@ -1223,7 +1223,7 @@
<bool name="config_enable_emergency_call_while_sim_locked">true</bool>
<!– Is the lock-screen disabled for new users by default –>
– <bool name="config_disableLockscreenByDefault">false</bool>
+ <bool name="config_disableLockscreenByDefault">true</bool>
<!– If true, enables verification of the lockscreen credential in the factory reset protection
flow. This should be true if gatekeeper / weaver credentials can still be checked after a
diff –git a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
index 636b7728651..fbd325615df 100644
— a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -82,7 +82,7 @@
<integer name="def_max_sound_trigger_detection_service_ops_per_day" translatable="false">1000</integer>
<integer name="def_sound_trigger_detection_service_op_timeout" translatable="false">15000</integer>
– <bool name="def_lockscreen_disabled">false</bool>
+ <bool name="def_lockscreen_disabled">true</bool>
<bool name="def_device_provisioned">false</bool>
<integer name="def_dock_audio_media_enabled">1</integer>
蓝牙
请求打开蓝牙时,自动确认
packages/apps/Settings/res/values/config.xml 将auto_confirm_bluetooth_activation_dialog设置为true
diff –git a/packages/apps/Settings/res/values/config.xml b/packages/apps/Settings/res/values/config.xml
index 746d3e7d85..b772e2de0f 100755
— a/packages/apps/Settings/res/values/config.xml
+++ b/packages/apps/Settings/res/values/config.xml
@@ -261,7 +261,7 @@
<!– Whether the bluetooth activation confirmation dialogs should be auto dismissed.
Can be overridden for specific product builds. –>
– <bool name="auto_confirm_bluetooth_activation_dialog">false</bool>
+ <bool name="auto_confirm_bluetooth_activation_dialog">true</bool>
蓝牙配对不弹窗,直接确认
mtk
diff –git a/packages/apps/Settings/src/com/android/settings/bluetooth/BluetoothPairingRequest.java b/packages/apps/Settings/src/com/android/settings/bluetooth/BluetoothPairingRequest.java
index 4d02fd50c3..37a1f58442 100644
— a/packages/apps/Settings/src/com/android/settings/bluetooth/BluetoothPairingRequest.java
+++ b/packages/apps/Settings/src/com/android/settings/bluetooth/BluetoothPairingRequest.java
@@ -38,6 +38,7 @@ public final class BluetoothPairingRequest extends BroadcastReceiver {
if (!action.equals(BluetoothDevice.ACTION_PAIRING_REQUEST)) {
return;
}
+ /*
// convert broadcast intent into activity intent (same action string)
Intent pairingIntent = BluetoothPairingService.getPairingDialogIntent(context, intent);
@@ -58,5 +59,11 @@ public final class BluetoothPairingRequest extends BroadcastReceiver {
intent.setClass(context, BluetoothPairingService.class);
context.startServiceAsUser(intent, UserHandle.CURRENT);
}
+ */
+ /*
+ * 跳过对话框 直接点击确定按键的逻辑
+ */
+ BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
+ device.setPairingConfirmation(true);
}
}
diff –git a/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/BluetoothPairingRequest.java b/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/BluetoothPairingRequest.java
index 4d02fd50c3..37a1f58442 100644
— a/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/BluetoothPairingRequest.java
+++ b/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/BluetoothPairingRequest.java
@@ -38,6 +38,7 @@ public final class BluetoothPairingRequest extends BroadcastReceiver {
if (!action.equals(BluetoothDevice.ACTION_PAIRING_REQUEST)) {
return;
}
+ /*
// convert broadcast intent into activity intent (same action string)
Intent pairingIntent = BluetoothPairingService.getPairingDialogIntent(context, intent);
@@ -58,5 +59,11 @@ public final class BluetoothPairingRequest extends BroadcastReceiver {
intent.setClass(context, BluetoothPairingService.class);
context.startServiceAsUser(intent, UserHandle.CURRENT);
}
+ */
+ /*
+ * 跳过对话框 直接点击确定按键的逻辑
+ */
+ BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
+ device.setPairingConfirmation(true);
}
}
状态栏、导航栏隐藏
diff –git a/frameworks/base/core/res/res/values/dimens.xml b/frameworks/base/core/res/res/values/dimens.xml
index de7a1175b4a..bd12bc4ac26 100644
— a/frameworks/base/core/res/res/values/dimens.xml
+++ b/frameworks/base/core/res/res/values/dimens.xml
@@ -43,16 +43,16 @@
<dimen name="status_bar_height">@dimen/status_bar_height_portrait</dimen>
<!– Height of the status bar in portrait. The height should be
Max((status bar content height + waterfall top size), top cutout size) –>
– <dimen name="status_bar_height_portrait">24dp</dimen>
+ <dimen name="status_bar_height_portrait">0dp</dimen>
<!– Height of the status bar in landscape. The height should be
Max((status bar content height + waterfall top size), top cutout size) –>
<dimen name="status_bar_height_landscape">@dimen/status_bar_height_portrait</dimen>
<!– Height of area above QQS where battery/time go –>
<dimen name="quick_qs_offset_height">48dp</dimen>
<!– Height of the bottom navigation / system bar. –>
– <dimen name="navigation_bar_height">48dp</dimen>
+ <dimen name="navigation_bar_height">0dp</dimen>
<!– Height of the bottom navigation bar in portrait; often the same as @dimen/navigation_bar_height –>
– <dimen name="navigation_bar_height_landscape">48dp</dimen>
+ <dimen name="navigation_bar_height_landscape">0dp</dimen>
<!– Width of the navigation bar when it is placed vertically on the screen –>
<dimen name="navigation_bar_width">48dp</dimen>
<!– How much we expand the touchable region of the status bar below the notch to catch touches
diff —git a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
old mode 100644
new mode 100755
index 68d15936e4..c6ab3a2774
—– a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
@@ –222,7 +222,8 @@ public class PhoneStatusBarView extends PanelBar {
}
}
– return barConsumedEvent || super.onTouchEvent(event);
+ //return barConsumedEvent || super.onTouchEvent(event);
+ return true;
}
@Override
diff —git a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
old mode 100644
new mode 100755
index 924614b02d..59767063bf
—– a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ –1317,7 +1317,7 @@ public class StatusBar extends SystemUI implements DemoMode,
mNotificationPanelViewController.setHeadsUpManager(mHeadsUpManager);
mNotificationLogger.setHeadsUpManager(mHeadsUpManager);
– createNavigationBar(result);
+ //createNavigationBar(result);
if (ENABLE_LOCKSCREEN_WALLPAPER && mWallpaperSupported) {
mLockscreenWallpaper = mLockscreenWallpaperLazy.get();
禁用下拉栏
在StatusBarManager的disable函数中添加what = what | DISABLE_EXPAND;
diff —git a/frameworks/base/core/java/android/app/StatusBarManager.java b/frameworks/base/core/java/android/app/StatusBarManager.java
index 1329fa45bb..e4da4a3593 100644
—– a/frameworks/base/core/java/android/app/StatusBarManager.java
+++ b/frameworks/base/core/java/android/app/StatusBarManager.java
@@ –230,6 +230,7 @@ public class StatusBarManager {
*/
@UnsupportedAppUsage
public void disable(int what) {
+ what = what | DISABLE_EXPAND; // 禁用下拉栏
try {
final int userId = Binder.getCallingUserHandle().getIdentifier();
final IStatusBarService svc = getService();
改完后代码如下
/**
* Disable some features in the status bar. Pass the bitwise-or of the DISABLE_* flags.
* To re-enable everything, pass {@link #DISABLE_NONE}.
*
* @hide
*/
@UnsupportedAppUsage
public void disable(int what) {
what = what | DISABLE_EXPAND; // 禁用下拉栏
try {
final int userId = Binder.getCallingUserHandle().getIdentifier();
final IStatusBarService svc = getService();
if (svc != null) {
svc.disableForUser(what, mToken, mContext.getPackageName(), userId);
}
} catch (RemoteException ex) {
throw ex.rethrowFromSystemServer();
}
}
壁纸
Android 的默认壁纸通常由 frameworks/base/core/res/res/ 中的资源定义。但不同厂商(包括 MTK)可能有自己的覆盖机制。 常见文件名: default_wallpaper.jpg wallpaper.png default_wallpaper.png 有时是 default_wallpaper_*.jpg(如 default_wallpaper_480p.jpg)
通用修改方法
替换以下几个图片
frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.png
frameworks/base/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.png
frameworks/base/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.png
MTK修改方法
mtk android8
frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg
mtk android11
device/mediatek/system/common/overlay/ago/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg
音量
不显示音量条
删除com.android.systemui.volume.VolumeUI值就可以。
- mtk vendor/mediatek/proprietary/packages/apps/SystemUI/res/values/config.xml
diff –git a/vendor/mediatek/proprietary/packages/apps/SystemUI/res/values/config.xml b/vendor/mediatek/proprietary/packages/apps/SystemUI/res/values/config.xml
index 848cdb1e83..3a9af8ca45 100644
— a/vendor/mediatek/proprietary/packages/apps/SystemUI/res/values/config.xml
+++ b/vendor/mediatek/proprietary/packages/apps/SystemUI/res/values/config.xml
@@ -284,7 +284,7 @@
<item>com.android.systemui.util.NotificationChannels</item>
<item>com.android.systemui.keyguard.KeyguardViewMediator</item>
<item>com.android.systemui.recents.Recents</item>
– <item>com.android.systemui.volume.VolumeUI</item>
+ <!– <item>com.android.systemui.volume.VolumeUI</item> –>
<item>com.android.systemui.stackdivider.Divider</item>
<item>com.android.systemui.statusbar.phone.StatusBar</item>
<item>com.android.systemui.usb.StorageNotification</item>
- 其它 frameworks/base/packages/SystemUI/res/values/config.xml
diff –git a/frameworks/base/packages/SystemUI/res/values/config.xml bframeworks/base/packages/SystemUI/res/values/config.xml
index 848cdb1e83..3a9af8ca45 100644
— a/frameworks/base/packages/SystemUI/res/values/config.xml
+++ bframeworks/base/packages/SystemUI/res/values/config.xml
@@ -284,7 +284,7 @@
<item>com.android.systemui.util.NotificationChannels</item>
<item>com.android.systemui.keyguard.KeyguardViewMediator</item>
<item>com.android.systemui.recents.Recents</item>
– <item>com.android.systemui.volume.VolumeUI</item>
+ <!– <item>com.android.systemui.volume.VolumeUI</item> –>
<item>com.android.systemui.stackdivider.Divider</item>
<item>com.android.systemui.statusbar.phone.StatusBar</item>
<item>com.android.systemui.usb.StorageNotification</item>
音量最大等级
frameworks/base/services/core/java/com/android/server/audio/AudioService.java
/** Maximum volume index values for audio streams */
protected static int[] MAX_STREAM_VOLUME = new int[] {
5, // STREAM_VOICE_CALL
7, // STREAM_SYSTEM
7, // STREAM_RING
15, // STREAM_MUSIC
7, // STREAM_ALARM
7, // STREAM_NOTIFICATION
15, // STREAM_BLUETOOTH_SCO
7, // STREAM_SYSTEM_ENFORCED
15, // STREAM_DTMF
15, // STREAM_TTS
15, // STREAM_ACCESSIBILITY
15 // STREAM_ASSISTANT
};
电话
去掉打电话时会显示一下壁纸的功能 打开电话APP时,屏幕会闪一下,会先显示下壁纸然后才显示电话的UI。 修改方法
diff —git a/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/dialer/app/AndroidManifest.xml b/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/dialer/app/AndroidManifest.xml
index 62c712eabc..1d009d3d0a 100644
—– a/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/dialer/app/AndroidManifest.xml
+++ b/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/dialer/app/AndroidManifest.xml
@@ –83,6 +83,7 @@
android:theme="@style/DialtactsTheme"
android:icon="@mipmap/ic_launcher_calllog_ex"
android:taskAffinity="android.task.dialer.calllog"
+ android:windowDisablePreview="true"
android:launchMode="singleTask">
<intent–filter>
<action android:name="android.intent.action.MAIN" />
diff —git a/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/incallui/AndroidManifest.xml b/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/incallui/AndroidManifest.xml
index bb45955cd3..4ffa664189 100644
—– a/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/incallui/AndroidManifest.xml
+++ b/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/incallui/AndroidManifest.xml
@@ –69,6 +69,7 @@
android:taskAffinity="com.android.incallui"
android:theme="@style/Theme.InCallScreen"
android:configChanges="uiMode"
+ android:windowDisablePreview="true"
android:windowSoftInputMode="adjustResize">
</activity>
diff —git a/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/incallui/theme/res/values/styles.xml b/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/incallui/theme/res/values/styles.xml
index 71bed1ffeb..12d571f153 100644
—– a/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/incallui/theme/res/values/styles.xml
+++ b/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/incallui/theme/res/values/styles.xml
@@ –29,8 +29,9 @@
<item name="dialpad_style">@style/InCallDialpad</item>
<item name="android:windowAnimationStyle">@null</item>
– <item name="android:windowBackground">@drawable/incall_background_gradient</item>
– <item name="android:windowShowWallpaper">true</item>
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:windowBackground">@android:color/transparent</item>
+ <item name="android:windowShowWallpaper">false</item>
</style>
<style name="Theme.InCallScreen" parent="@style/Dialer.Dark.ThemeBase.NoActionBar">
@@ –47,8 +48,9 @@
<item name="dialpad_style">@style/InCallDialpad</item>
<item name="android:windowAnimationStyle">@null</item>
– <item name="android:windowBackground">@drawable/incall_background_gradient</item>
– <item name="android:windowShowWallpaper">true</item>
+ <item name="android:windowShowWallpaper">false</item>
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:windowBackground">@android:color/transparent</item>
</style>
<style name="Theme.InCallScreen.ManageConference" parent="Dialer.ThemeBase.ActionBar">
禁止未接电话通知
把public Void doInBackground(@Nullable Bundle input)函数中的内容注释掉。
diff —git a/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/dialer/app/calllog/MissedCallNotifier.java b/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/dialer/app/calllog/MissedCallNotifier.java
index 40184955e8..51594f1393 100644
—– a/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/dialer/app/calllog/MissedCallNotifier.java
+++ b/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/dialer/app/calllog/MissedCallNotifier.java
@@ –99,6 +99,7 @@ public class MissedCallNotifier implements Worker<Bundle, Void> {
@Nullable
@Override
public Void doInBackground(@Nullable Bundle input) throws Throwable {
+ /* 禁止未接电话通知
int count = 0;
String number = "";
String subText = "";
@@ -108,6 +109,7 @@ public class MissedCallNotifier implements Worker<Bundle, Void> {
subText = input.getString(MissedCallNotificationReceiver.MAIN_VICE_INFO);
}
updateMissedCallNotification(count, number, subText);
+ */
/* @} */
return null;
}
自动关机窗口
frameworks/base/core/java/com/android/internal/app/ShutdownCountdownActivity.java 它是Android系统内部使用的类,主要用于在设备关机之前显示一个倒计时界面。 ShutdownCountdownActivity 通常在用户选择关机(例如,长按电源按钮或者通过设置菜单选择关机)后激活。这个活动显示了用户界面,告知用户设备将在几秒钟后关闭。这通常还包括一些额外的信息,比如是否保存更改(例如,如果用户在关机前打开了某个应用或做了某些设置更改)。
通知
屏蔽短信通知
diff —git a/packages/apps/Messaging/src/com/android/messaging/datamodel/BugleNotifications.java b/packages/apps/Messaging/src/com/android/messaging/datamodel/BugleNotifications.java
index 3faee857df..df1ad8491a 100644
—– a/packages/apps/Messaging/src/com/android/messaging/datamodel/BugleNotifications.java
+++ b/packages/apps/Messaging/src/com/android/messaging/datamodel/BugleNotifications.java
@@ –973,7 +973,7 @@ public class BugleNotifications {
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.defaults |= Notification.DEFAULT_LIGHTS;
– notificationManager.notify(notificationTag, type, notification);
+ //notificationManager.notify(notificationTag, type, notification);
LogUtil.i(TAG, "Notifying for conversation " + conversationId + "; "
+ "tag = " + notificationTag + ", type = " + type);
Android相关专栏
Android Framework专栏链接 Android专栏
作者:帅得不敢出门





