Initial
This commit is contained in:
commit
17fe976ed4
3
duoqin/AndroidProducts.mk
Normal file
3
duoqin/AndroidProducts.mk
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
PRODUCT_MAKEFILES := \
|
||||||
|
$(LOCAL_DIR)/duoqin-f21pro.mk \
|
||||||
|
$(LOCAL_DIR)/duoqin-f22pro.mk
|
58
duoqin/duoqin-f21pro.mk
Normal file
58
duoqin/duoqin-f21pro.mk
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
#
|
||||||
|
# All components inherited here go to system image
|
||||||
|
#
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/mainline_system.mk)
|
||||||
|
|
||||||
|
# Enable mainline checking
|
||||||
|
# PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := relaxed
|
||||||
|
|
||||||
|
#
|
||||||
|
# All components inherited here go to system_ext image
|
||||||
|
#
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_system_ext.mk)
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_system_ext.mk)
|
||||||
|
|
||||||
|
#
|
||||||
|
# All components inherited here go to product image
|
||||||
|
#
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_product.mk)
|
||||||
|
|
||||||
|
#
|
||||||
|
# Special settings for GSI releasing
|
||||||
|
#
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_release.mk)
|
||||||
|
|
||||||
|
|
||||||
|
PRODUCT_NAME := duoqin-f21pro
|
||||||
|
PRODUCT_DEVICE := duoqin
|
||||||
|
PRODUCT_BRAND := generic
|
||||||
|
PRODUCT_MODEL := F21pro - wePhone
|
||||||
|
|
||||||
|
# This is for a device
|
||||||
|
PRODUCT_CHARACTERISTICS := device
|
||||||
|
|
||||||
|
PRODUCT_PACKAGE_OVERLAYS += device/nehemiah/wephone/overlay
|
||||||
|
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/nehemiah/wephone/files/mtk-kpd.idc:$(TARGET_COPY_OUT_SYSTEM)/usr/idc/mtk-kpd.idc \
|
||||||
|
device/nehemiah/wephone/files/mtk-kpd.kcm:$(TARGET_COPY_OUT_SYSTEM)/usr/keychars/mtk-kpd.kcm \
|
||||||
|
device/nehemiah/wephone/files/mtk-kpd.kl:$(TARGET_COPY_OUT_SYSTEM)/usr/keylayout/mtk-kpd.kl
|
||||||
|
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
BromiteSystemWebView \
|
||||||
|
Conversations \
|
||||||
|
Davx5 \
|
||||||
|
Etar \
|
||||||
|
ExactCalculator \
|
||||||
|
DeskClock \
|
||||||
|
FDroid \
|
||||||
|
Linphone \
|
||||||
|
Nextcloud \
|
||||||
|
Wireguard
|
||||||
|
|
||||||
|
PRODUCT_PACKAGES -= \
|
||||||
|
EasterEgg \
|
||||||
|
webview \
|
||||||
|
libwebviewchromium_loader \
|
||||||
|
libwebviewchromium_plat_support
|
71
duoqin/duoqin-f22pro.mk
Normal file
71
duoqin/duoqin-f22pro.mk
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
# $(call inherit-product, vendor/hardware_overlay/overlay.mk)
|
||||||
|
|
||||||
|
#
|
||||||
|
# All components inherited here go to system image
|
||||||
|
#
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_system.mk)
|
||||||
|
|
||||||
|
# Enable mainline checking
|
||||||
|
# PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := true
|
||||||
|
|
||||||
|
#
|
||||||
|
# All components inherited here go to system_ext image
|
||||||
|
#
|
||||||
|
$(call inherit-product, device/nehemiah/wephone/gsi_system_ext.mk)
|
||||||
|
|
||||||
|
#
|
||||||
|
# All components inherited here go to product image
|
||||||
|
#
|
||||||
|
$(call inherit-product, device/generic/common/gsi_product.mk)
|
||||||
|
|
||||||
|
#
|
||||||
|
# All components inherited here go to boot image
|
||||||
|
#
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_arm64/device.mk)
|
||||||
|
|
||||||
|
#
|
||||||
|
# Special settings for GSI releasing
|
||||||
|
#
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_release.mk)
|
||||||
|
|
||||||
|
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
|
||||||
|
|
||||||
|
PRODUCT_NAME := duoqin-f22pro
|
||||||
|
PRODUCT_DEVICE := duoqin
|
||||||
|
PRODUCT_BRAND := wePhone
|
||||||
|
PRODUCT_MODEL := F22pro wePhone
|
||||||
|
|
||||||
|
PRODUCT_CHARACTERISTICS := device
|
||||||
|
|
||||||
|
PRODUCT_PACKAGE_OVERLAYS += device/nehemiah/wephone/overlay
|
||||||
|
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/nehemiah/wephone/files/mtk-kpd.idc:$(TARGET_COPY_OUT_SYSTEM)/usr/idc/mtk-kpd.idc \
|
||||||
|
device/nehemiah/wephone/files/mtk-kpd.kcm:$(TARGET_COPY_OUT_SYSTEM)/usr/keychars/mtk-kpd.kcm \
|
||||||
|
device/nehemiah/wephone/files/mtk-kpd.kl:$(TARGET_COPY_OUT_SYSTEM)/usr/keylayout/mtk-kpd.kl
|
||||||
|
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/nehemiah/wephone/files/f22pro-animation.zip:$(TARGET_COPY_OUT_SYSTEM)/media/bootanimation.zip \
|
||||||
|
device/nehemiah/wephone/files/privapp-permissions-app.lawnchair.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/privapp-permissions-app.lawnchair.xml \
|
||||||
|
device/nehemiah/wephone/files/privapp-permissions-net.mezimmah.wkt9.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/privapp-permissions-net.mezimmah.wkt9.xml
|
||||||
|
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
mkfs.exfat \
|
||||||
|
fsck.exfat
|
||||||
|
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
BromiteSystemWebView \
|
||||||
|
Contacts \
|
||||||
|
Conversations \
|
||||||
|
Davx5 \
|
||||||
|
Etar \
|
||||||
|
ExactCalculator \
|
||||||
|
DeskClock \
|
||||||
|
FDroid \
|
||||||
|
Gallery2 \
|
||||||
|
Lawnchair \
|
||||||
|
Lawnicons \
|
||||||
|
Linphone \
|
||||||
|
Nextcloud \
|
||||||
|
Wireguard
|
31
duoqin/duoqin/BoardConfig.mk
Normal file
31
duoqin/duoqin/BoardConfig.mk
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
include build/make/target/board/BoardConfigGsiCommon.mk
|
||||||
|
|
||||||
|
TARGET_ARCH := arm64
|
||||||
|
TARGET_ARCH_VARIANT := armv8-a
|
||||||
|
TARGET_CPU_ABI := arm64-v8a
|
||||||
|
TARGET_CPU_ABI2 :=
|
||||||
|
TARGET_CPU_VARIANT := generic
|
||||||
|
|
||||||
|
TARGET_2ND_ARCH := arm
|
||||||
|
TARGET_2ND_ARCH_VARIANT := armv8-a
|
||||||
|
TARGET_2ND_CPU_ABI := armeabi-v7a
|
||||||
|
TARGET_2ND_CPU_ABI2 := armeabi
|
||||||
|
TARGET_2ND_CPU_VARIANT := generic
|
||||||
|
|
||||||
|
# TODO(b/111434759, b/111287060) SoC specific hacks
|
||||||
|
BOARD_ROOT_EXTRA_SYMLINKS += /vendor/lib/dsp:/dsp
|
||||||
|
BOARD_ROOT_EXTRA_SYMLINKS += /mnt/vendor/persist:/persist
|
||||||
|
BOARD_ROOT_EXTRA_SYMLINKS += /vendor/firmware_mnt:/firmware
|
||||||
|
|
||||||
|
# TODO(b/36764215): remove this setting when the generic system image
|
||||||
|
# no longer has QCOM-specific directories under /.
|
||||||
|
BOARD_SEPOLICY_DIRS += build/make/target/board/generic_arm64/sepolicy
|
||||||
|
|
||||||
|
|
||||||
|
TARGET_SYSTEM_PROP := device/nehemiah/wephone/system.prop $(TARGET_SYSTEM_PROP)
|
||||||
|
|
||||||
|
ifeq ($(BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE),)
|
||||||
|
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2147483648
|
||||||
|
else
|
||||||
|
BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 33554432
|
||||||
|
endif
|
BIN
duoqin/files/f22pro-animation.zip
Normal file
BIN
duoqin/files/f22pro-animation.zip
Normal file
Binary file not shown.
6
duoqin/files/mtk-kpd.idc
Normal file
6
duoqin/files/mtk-kpd.idc
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
touch.deviceType = touchScreen
|
||||||
|
touch.orientationAware = 1
|
||||||
|
|
||||||
|
device.internal = 1
|
||||||
|
keyboard.layout = mtk-kpd
|
||||||
|
keyboard.characterMap = mtk-kpd
|
1
duoqin/files/mtk-kpd.kcm
Normal file
1
duoqin/files/mtk-kpd.kcm
Normal file
@ -0,0 +1 @@
|
|||||||
|
type NUMERIC
|
100
duoqin/files/mtk-kpd.kl
Normal file
100
duoqin/files/mtk-kpd.kl
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
key 399 GRAVE
|
||||||
|
key 2 1
|
||||||
|
key 3 2
|
||||||
|
key 4 3
|
||||||
|
key 5 4
|
||||||
|
key 6 5
|
||||||
|
key 7 6
|
||||||
|
key 8 7
|
||||||
|
key 9 8
|
||||||
|
key 10 9
|
||||||
|
key 11 0
|
||||||
|
key 158 BACK
|
||||||
|
key 230 SOFT_RIGHT
|
||||||
|
key 60 SOFT_RIGHT
|
||||||
|
key 107 ENDCALL
|
||||||
|
key 62 ENDCALL
|
||||||
|
key 229 MENU
|
||||||
|
key 139 MENU
|
||||||
|
key 59 MENU
|
||||||
|
key 127 SYM
|
||||||
|
key 217 SEARCH
|
||||||
|
key 228 POUND
|
||||||
|
key 227 STAR
|
||||||
|
key 522 STAR
|
||||||
|
key 231 CALL
|
||||||
|
key 61 CALL
|
||||||
|
key 232 DPAD_CENTER
|
||||||
|
key 353 DPAD_CENTER
|
||||||
|
key 108 DPAD_DOWN
|
||||||
|
key 103 DPAD_UP
|
||||||
|
key 102 HOME
|
||||||
|
key 105 DPAD_LEFT
|
||||||
|
key 106 DPAD_RIGHT
|
||||||
|
key 115 VOLUME_UP
|
||||||
|
key 114 VOLUME_DOWN
|
||||||
|
key 113 MUTE
|
||||||
|
key 116 POWER
|
||||||
|
key 212 CAMERA
|
||||||
|
key 211 FOCUS
|
||||||
|
|
||||||
|
key 16 Q
|
||||||
|
key 17 W
|
||||||
|
key 18 E
|
||||||
|
key 19 R
|
||||||
|
key 20 T
|
||||||
|
key 21 Y
|
||||||
|
key 22 U
|
||||||
|
key 23 I
|
||||||
|
key 24 O
|
||||||
|
key 25 P
|
||||||
|
key 26 LEFT_BRACKET
|
||||||
|
key 27 RIGHT_BRACKET
|
||||||
|
key 43 BACKSLASH
|
||||||
|
|
||||||
|
key 30 A
|
||||||
|
key 31 S
|
||||||
|
key 32 D
|
||||||
|
key 33 F
|
||||||
|
key 34 G
|
||||||
|
key 35 H
|
||||||
|
key 36 J
|
||||||
|
key 37 K
|
||||||
|
key 38 L
|
||||||
|
key 39 SEMICOLON
|
||||||
|
key 40 APOSTROPHE
|
||||||
|
key 14 DEL
|
||||||
|
|
||||||
|
key 44 Z
|
||||||
|
key 45 X
|
||||||
|
key 46 C
|
||||||
|
key 47 V
|
||||||
|
key 48 B
|
||||||
|
key 49 N
|
||||||
|
key 50 M
|
||||||
|
key 51 COMMA
|
||||||
|
key 52 PERIOD
|
||||||
|
key 53 SLASH
|
||||||
|
key 28 ENTER
|
||||||
|
|
||||||
|
key 56 ALT_LEFT
|
||||||
|
key 100 ALT_RIGHT
|
||||||
|
key 42 SHIFT_LEFT
|
||||||
|
key 54 SHIFT_RIGHT
|
||||||
|
key 15 TAB
|
||||||
|
key 57 SPACE
|
||||||
|
key 150 EXPLORER
|
||||||
|
key 155 ENVELOPE
|
||||||
|
|
||||||
|
key 12 MINUS
|
||||||
|
key 13 EQUALS
|
||||||
|
key 215 AT
|
||||||
|
|
||||||
|
key 164 MEDIA_PLAY_PAUSE
|
||||||
|
key 128 MEDIA_STOP
|
||||||
|
key 163 MEDIA_NEXT
|
||||||
|
key 165 MEDIA_PREVIOUS
|
||||||
|
key 168 MEDIA_REWIND
|
||||||
|
key 159 MEDIA_FAST_FORWARD
|
||||||
|
key 352 DPAD_CENTER
|
||||||
|
key 523 POUND
|
38
duoqin/files/privapp-permissions-app.lawnchair.xml
Normal file
38
duoqin/files/privapp-permissions-app.lawnchair.xml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<permissions>
|
||||||
|
<privapp-permissions package="app.lawnchair">
|
||||||
|
<permission name="android.permission.INTERNET"/>
|
||||||
|
<permission name="android.permission.PACKAGE_USAGE_STATS"/>
|
||||||
|
<permission name="android.permission.FOREGROUND_SERVICE"/>
|
||||||
|
<permission name="com.google.android.apps.nexuslauncher.permission.QSB"/>
|
||||||
|
<permission name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS"/>
|
||||||
|
<permission name="android.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS"/>
|
||||||
|
<permission name="android.permission.VIBRATE"/>
|
||||||
|
<permission name="android.permission.QUERY_ALL_PACKAGES"/>
|
||||||
|
<permission name="android.permission.START_TASKS_FROM_RECENTS"/>
|
||||||
|
<permission name="android.permission.REMOVE_TASKS"/>
|
||||||
|
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||||
|
<permission name="android.permission.MANAGE_ACTIVITY_TASKS"/>
|
||||||
|
<permission name="android.permission.STATUS_BAR"/>
|
||||||
|
<permission name="android.permission.STOP_APP_SWITCHES"/>
|
||||||
|
<permission name="android.permission.SET_ORIENTATION"/>
|
||||||
|
<permission name="android.permission.READ_FRAME_BUFFER"/>
|
||||||
|
<permission name="android.permission.MANAGE_ACCESSIBILITY"/>
|
||||||
|
<permission name="android.permission.MONITOR_INPUT"/>
|
||||||
|
<permission name="android.permission.ALLOW_SLIPPERY_TOUCHES"/>
|
||||||
|
<permission name="android.permission.SYSTEM_APPLICATION_OVERLAY"/>
|
||||||
|
<permission name="android.permission.CALL_PHONE"/>
|
||||||
|
<permission name="android.permission.SET_WALLPAPER"/>
|
||||||
|
<permission name="android.permission.SET_WALLPAPER_HINTS"/>
|
||||||
|
<permission name="android.permission.BIND_APPWIDGET"/>
|
||||||
|
<permission name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||||
|
<permission name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||||
|
<permission name="android.permission.REQUEST_DELETE_PACKAGES"/>
|
||||||
|
<permission name="android.permission.READ_DEVICE_CONFIG"/>
|
||||||
|
<permission name="android.permission.EXPAND_STATUS_BAR"/>
|
||||||
|
<permission name="android.permission.ROTATE_SURFACE_FLINGER"/>
|
||||||
|
<permission name="app.lawnchair.permission.READ_SETTINGS"/>
|
||||||
|
<permission name="app.lawnchair.permission.WRITE_SETTINGS"/>
|
||||||
|
<permission name="app.lawnchair.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"/>
|
||||||
|
</privapp-permissions>
|
||||||
|
</permissions>
|
9
duoqin/files/privapp-permissions-net.mezimmah.wkt9.xml
Normal file
9
duoqin/files/privapp-permissions-net.mezimmah.wkt9.xml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<permissions>
|
||||||
|
<privapp-permissions package="net.mezimmah.wkt9">
|
||||||
|
<permission name="android.permission.INTERNET"/>
|
||||||
|
<permission name="android.permission.RECORD_AUDIO"/>
|
||||||
|
<permission name="android.permission.POST_NOTIFICATIONS"/>
|
||||||
|
<permission name="android.permission.CONTROL_DEVICE_LIGHTS"/>
|
||||||
|
</privapp-permissions>
|
||||||
|
</permissions>
|
35
duoqin/gsi_system_ext.mk
Normal file
35
duoqin/gsi_system_ext.mk
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2021 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
# This makefile contains the system_ext partition contents for CTS on
|
||||||
|
# GSI compliance testing. Only add something here for this purpose.
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/media_system_ext.mk)
|
||||||
|
|
||||||
|
# handheld packages
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
Launcher3QuickStep \
|
||||||
|
Provision \
|
||||||
|
Settings \
|
||||||
|
StorageManager \
|
||||||
|
SystemUI
|
||||||
|
|
||||||
|
# telephony packages
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
CarrierConfig
|
||||||
|
|
||||||
|
# Install a copy of the debug policy in GSI.
|
||||||
|
#PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT := true
|
||||||
|
#PRODUCT_PACKAGES += system_ext_userdebug_plat_sepolicy.cil
|
Binary file not shown.
After Width: | Height: | Size: 2.1 MiB |
@ -0,0 +1,56 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<string-array translatable="false" name="config_tether_usb_regexs">
|
||||||
|
<item>"usb\\d"</item>
|
||||||
|
<item>"rndis\\d"</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<string-array translatable="false" name="config_tether_wifi_regexs">
|
||||||
|
<item>"wlan0"</item>
|
||||||
|
<item>"softap.*"</item>
|
||||||
|
<item>"wifi_br0"</item>
|
||||||
|
<item>"wigig0"</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<string-array translatable="false" name="config_tether_bluetooth_regexs">
|
||||||
|
<item>bnep\\d</item>
|
||||||
|
<item>"bt-pan"</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<bool name="config_enableAutoPowerModes">true</bool>
|
||||||
|
<bool name="config_intrusiveNotificationLed">true</bool>
|
||||||
|
<string name="config_icon_mask" translatable="false">"M50 0C77.6 0 100 22.4 100 50C100 77.6 77.6 100 50 100C22.4 100 0 77.6 0 50C0 22.4 22.4 0 50 0Z"</string>
|
||||||
|
<bool name="config_useRoundIcon">true</bool>
|
||||||
|
|
||||||
|
<string name="config_wallpaperCropperPackage">com.android.wallpaperpicker</string>
|
||||||
|
<bool name="config_unplugTurnsOnScreen">true</bool>
|
||||||
|
<integer name="config_multiuserMaximumUsers">5</integer>
|
||||||
|
<bool name="config_enableMultiUserUI">true</bool>
|
||||||
|
|
||||||
|
<string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
|
||||||
|
<bool name="config_swipe_up_gesture_setting_available">true</bool>
|
||||||
|
<bool name="config_smart_battery_available">true</bool>
|
||||||
|
<dimen name="config_dialogCornerRadius">8.0dip</dimen>
|
||||||
|
<dimen name="config_buttonCornerRadius">4.0dip</dimen>
|
||||||
|
|
||||||
|
<bool name="config_cellBroadcastAppLinks">true</bool>
|
||||||
|
|
||||||
|
<array name="config_availableColorModes">
|
||||||
|
<!-- ColorDisplayManager.COLOR_MODE_NATURAL -->
|
||||||
|
<item>0</item>
|
||||||
|
<!-- ColorDisplayManager.COLOR_MODE_BOOSTED -->
|
||||||
|
<item>1</item>
|
||||||
|
<!-- ColorDisplayManager.COLOR_MODE_SATURATED -->
|
||||||
|
<item>2</item>
|
||||||
|
<!-- ColorDisplayManager.COLOR_MODE_AUTOMATIC -->
|
||||||
|
<item>3</item>
|
||||||
|
</array>
|
||||||
|
|
||||||
|
<bool name="config_supportAudioSourceUnprocessed">true</bool>
|
||||||
|
|
||||||
|
<string name="config_displayLightSensorType" translatable="false">android.sensor.light</string>
|
||||||
|
|
||||||
|
<integer name="config_defaultNightMode">2</integer>
|
||||||
|
|
||||||
|
<bool name="config_useDevInputEventForAudioJack">true</bool>
|
||||||
|
</resources>
|
@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright 2015 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<webviewproviders>
|
||||||
|
|
||||||
|
<webviewprovider description="Chrome Stable" packageName="com.android.chrome" availableByDefault="true">
|
||||||
|
<signature>MIIEQzCCAyugAwIBAgIJAMLgh0ZkSjCNMA0GCSqGSIb3DQEBBAUAMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAeFw0wODA4MjEyMzEzMzRaFw0zNjAxMDcyMzEzMzRaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAKtWLgDYO6IIrgqWbxJOKdoR8qtW0I9Y4sypEwPpt1TTcvZApxsdyxMJZ2JORland2qSGT2y5b+3JKkedxiLDmpHpDsz2WCbdxgxRczfey5YZnTJ4VZbH0xqWVW/8lGmPav5xVwnIiJS6HXk+BVKZF+JcWjAsb/GEuq/eFdpuzSqeYTcfi6idkyugwfYwXFU1+5fZKUaRKYCwkkFQVfcAs1fXA5V+++FGfvjJ/CxURaSxaBvGdGDhfXE28LWuT9ozCl5xw4Yq5OGazvV24mZVSoOO0yZ31j7kYvtwYK6NeADwbSxDdJEqO4k//0zOHKrUiGYXtqw/A0LFFtqoZKFjnkCAQOjgdkwgdYwHQYDVR0OBBYEFMd9jMIhF1Ylmn/Tgt9r45jk14alMIGmBgNVHSMEgZ4wgZuAFMd9jMIhF1Ylmn/Tgt9r45jk14aloXikdjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWSCCQDC4IdGZEowjTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IBAQBt0lLO74UwLDYKqs6Tm8/yzKkEu116FmH4rkaymUIE0P9KaMftGlMexFlaYjzmB2OxZyl6euNXEsQH8gjwyxCUKRJNexBiGcCEyj6z+a1fuHHvkiaai+KL8W1EyNmgjmyy8AW7P+LLlkR+ho5zEHatRbM/YAnqGcFh5iZBqpknHf1SKMXFh4dd239FJ1jWYfbMDMy3NS5CTMQ2XFI1MvcyUTdZPErjQfTbQe3aDQsQcafEQPD+nqActifKZ0Np0IS9L9kR/wbNvyz6ENwPiTrjV2KRkEjH78ZMcUQXg0L3BYHJ3lc69Vs5Ddf9uUGGMYldX3WfMBEmh/9iFBDAaTCK</signature>
|
||||||
|
</webviewprovider>
|
||||||
|
<webviewprovider description="Chrome Beta" packageName="com.chrome.beta">
|
||||||
|
<signature>MIIDwzCCAqugAwIBAgIJAOoj9MXoVhH6MA0GCSqGSIb3DQEBBQUAMHgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDEUMBIGA1UEAwwLY2hyb21lX2JldGEwHhcNMTYwMjI5MTUxNTIzWhcNNDMwNzE3MTUxNTIzWjB4MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEUMBIGA1UECgwLR29vZ2xlIEluYy4xEDAOBgNVBAsMB0FuZHJvaWQxFDASBgNVBAMMC2Nocm9tZV9iZXRhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo/wW27nRxVqGbFOyXr8jtv2pc2Ke8XMr6Sfs+3JK2licVaAljGFpLtWH4wUdb50w/QQSPALNLSSyuK/94rtp5Jjs4RSJI+whuewV/R6El+mFXBO3Ek5/op4UrOsR91IM4emvS67Ji2u8gp5EmttVgJtllFZCbtZLPmKuTaOkOB+EdWIxrYiHVEEaAcQpEHa9UgWUZ0bMfPj8j3F0w+Ak2ttmTjoFGLaZjuBAYwfdctN1b0sdLT9Lif45kMCb8QwPp0F9/ozs0rrTc+I6vnTS8kfFQfk7GIE4Hgm+cYQEHkIA6gLJxUVWvPZGdulAZw7wPt/neOkazHNZPcV4pYuNLQIDAQABo1AwTjAdBgNVHQ4EFgQU5t7dhcZfOSixRsiJ1E46JhzPlwowHwYDVR0jBBgwFoAU5t7dhcZfOSixRsiJ1E46JhzPlwowDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAZO2jB8P1d8ki3KZILvp27a2VM3DInlp8I8UgG3gh7nBQfTrnZr5M1PL8eFHqX7MEvAiGCMTcrPklEhjtcHK/c7BcdeCWq6oL56UK3JTl33RxJcjmjrz3e3VI6ehRSm1feNAkMD0Nr2RWr2LCYheAEmwTPtluLOJS+i7WhnXJzBtg5UpUFEbdFYenqUbDzya+cUVp0197k7hUTs8/Hxs0wf79o/TZXzTBq9eYQkiITonRN8+5QCBl1XmZKV0IHkzGFES1RP+fTiZpIjZT+W4tasHgs9QTTks4CCpyHBAy+uy7tApe1AxCzihgecCfUN1hWIltKwGZS6EE0bu0OXPzaQ==</signature>
|
||||||
|
</webviewprovider>
|
||||||
|
<webviewprovider description="Chrome Dev" packageName="com.chrome.dev">
|
||||||
|
<signature>MIIDwTCCAqmgAwIBAgIJAOSN+O0cdii5MA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDETMBEGA1UEAwwKY2hyb21lX2RldjAeFw0xNjAyMjkxNzUwMDdaFw00MzA3MTcxNzUwMDdaMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDETMBEGA1UEAwwKY2hyb21lX2RldjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOYPj6Y9rVt8xizSHDYjDEkDfFZAgSiZ9T6tevkQXsFyfaq3Gk3h2qssi29G6cTPJ2VXFKlVB71wSXv5p9/LEcDQPWQiO3Q2cLmgUXxyhJWXI3g96tPAhZQX2q6SC37ZQdiBR/raMO70DAkvCyBGtNplsvutzSE3oZ7LYfzB8vTbe7zCh3fDYSS/7xb3ZVvFqydHS40uVq1qqg1S80Pge7tW3pDGsPMZN7yA4yfmsvA1rbHm9N8t3Rc9hqzh6OxNAAgRB535YcsWL7iF+mpdFILXk3jLYT0nMvMnB83rsdgnRREjlGQYHl2mh8+6CqujsW/eICDq/LR6BYDyqHhk0ECAwEAAaNQME4wHQYDVR0OBBYEFKzsl07JglgpbeYDYGqsgqRDo+01MB8GA1UdIwQYMBaAFKzsl07JglgpbeYDYGqsgqRDo+01MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBACka6SFF6xAcj8L8O6R36++E09DTiGZEjvKT8eIycgcQQ+p1WUmPb6M2EJpN6zvvSE62ussmXdzf8rIyc0JXA8jbViZt62Y39epNENFxPTLN9QzXlT+w8AW73Ka3cnbOuL5EgoDl8fM79WVlARY3X+wB/jGNrkiGIdRm2IZIeAodWgC2mtXMiferyYBKz2/F2bhnU6DwgCbegS8trFjEWviijWdJ+lBdobn7LRc3orZCtHl8UyvRDi7cye3sK9y3BM39k0g20F21wTNHAonnvL6zbuNgpd+UEsVxDpOeWrEdBFN7Md0CI2wnu8eA8ljJD45v0WWMEoxsIi131g5piNM=</signature>
|
||||||
|
</webviewprovider>
|
||||||
|
<webviewprovider description="Chrome Canary" packageName="com.chrome.canary">
|
||||||
|
<signature>MIIDxzCCAq+gAwIBAgIJAML7APITsgV7MA0GCSqGSIb3DQEBBQUAMHoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDEWMBQGA1UEAwwNY2hyb21lX2NhbmFyeTAeFw0xNjAyMjkxOTA5MDdaFw00MzA3MTcxOTA5MDdaMHoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDEWMBQGA1UEAwwNY2hyb21lX2NhbmFyeTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANXfeAoZlr0ya1HBzIfAz/nLLjpPJeAPvuX5dueaxmiQgv2hNG22acriFuiiJI6TU0t8AIVJD5Ifbc4OOuA0zeFhdzWWGnmTRH6x27WI7bzOKnAqOvv21ZBmE9i8Vo++K13xWdTs3qVn1bn9oUONxFu0wKDzXYZhoj1Jom0RZGjXm16xuPlEuOzMcjiNBDoYuxPAXkMcK/G1gP4P4nAV8Rd/GGIjKRS/SUtcShhoAMOQhs4WIEkUrvEVRwhBDIbpM87oFbCVdBH38r0XS6F6CdhPJsKFhoEfq4c01HZqNmDpCPA8AAcCuSWqmXoTIqs7OqkWgduE2bInbWU7WMaTl+kCAwEAAaNQME4wHQYDVR0OBBYEFB/AsC4iPAqaLoNytNSx29qByI7+MB8GA1UdIwQYMBaAFB/AsC4iPAqaLoNytNSx29qByI7+MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAMb2Td3ro/+MGVnCPAbwBSOZMVLUKGqt6zr8CShW9mtFHnmy29EaWSYYAj1M4+6Vpkq85NsgBEck7rnUjV8A3Q0NKdTys1KRKJqVvQRBN6SwqQenSf/abxQCa8Z+69rh+3BkIU1HLtu5lrMDZwon5H91L5mpORn6vItd20uW132lwSDeUEW2CHslTrodoFuTUcSUlRiq/URfUH3baO1QHXkxpQwrBPKL5deJfcZnxh5MAtAGSQL7gHvayEFlDppETXdDO7vgGTH2dEK2TjKWALbGiKkxSqjRyTNt4/FOj10TqNRdUamj+ydVJgzGQ8bki4Vc6NnKm/r4asusxapkVR4=</signature>
|
||||||
|
</webviewprovider>
|
||||||
|
<webviewprovider description="Google WebView" packageName="com.google.android.webview" availableByDefault="true">
|
||||||
|
<signature>MIIDuzCCAqOgAwIBAgIJANi6DgBQG4ZTMA0GCSqGSIb3DQEBBQUAMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDEQMA4GA1UEAwwHd2VidmlldzAeFw0xNDA4MDgyMzIwMjBaFw00MTEyMjQyMzIwMjBaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKDAtHb29nbGUgSW5jLjEQMA4GA1UECwwHQW5kcm9pZDEQMA4GA1UEAwwHd2VidmlldzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbtaFX0r5aZJMAbPVMAgK1ZZ29dTn91VsGxXv2hqrQo7IpqEy2JmPvPnoMsSiuTAe+UcQy8oKDQ2aYVSAd1DGIy+nSRyFTt3LSIAdwSBkB1qT4a+OqkpsR6bSNXQXQ18lCQu9gREY3h3QlYBQAyzRxw4hRGlrXAzuSz1Ec4W+6x4nLG5DG61MAMR8ClF9XSqbmGB3kyZ70A0X9OPYYxiMWP1ExaYvpaVqjyZZcrPwr+vtW8oCuGBUtHpBUH3OoG+9s2YMcgLG7vCK9awKDqlPcJSpIAAj6uGs4gORmkqxZRMskLSTWbhP4p+3Ap8jYzTVB6Y1/DMVmYTWRMcPW0macCAwEAAaNQME4wHQYDVR0OBBYEFJ6bAR6/QVm4w9LRSGQiaR5Rhp3TMB8GA1UdIwQYMBaAFJ6bAR6/QVm4w9LRSGQiaR5Rhp3TMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAEQu8QiVxax7/diEiJrgKE1LwdXsIygJK/KnaKdnYEkAQpeu/QmrLiycm+OFbL1qHJIB7OuI/PQBUtcaNSiJSCVgtwtEbZWWIdsynqG/Nf4aGOndXegSQNRH54M05sRHLoeRycPrY7xQlEwGikNFR76+5UdwFBQI3Gn22g6puJnVukQm/wXQ+ajoiS4QclrNlixoDQsZ4STLH4+Wju2wIWKFFArIhVEIlbamq+p6BghuzH3aIz/Fy0YTQKi7SA+0fuNeCaqlSm5pYSt6p5CH89y1Fr+wFc5r3iLRnUwRcy08ESC7bZJnxV3d/YQ5valTxBbzku/dQbXVj/xg69H8l8M=</signature>
|
||||||
|
</webviewprovider>
|
||||||
|
<webviewprovider description="Bromite WebView" packageName="org.bromite.webview" availableByDefault="true">
|
||||||
|
<signature>MIIDbTCCAlWgAwIBAgIEHcsmjjANBgkqhkiG9w0BAQsFADBmMQswCQYDVQQGEwJERTEQMA4GA1UECBMHVW5rbm93bjEPMA0GA1UEBxMGQmVybGluMRAwDgYDVQQKEwdCcm9taXRlMRAwDgYDVQQLEwdCcm9taXRlMRAwDgYDVQQDEwdjc2FnYW41MCAXDTE4MDExOTA3MjE1N1oYDzIwNjgwMTA3MDcyMTU3WjBmMQswCQYDVQQGEwJERTEQMA4GA1UECBMHVW5rbm93bjEPMA0GA1UEBxMGQmVybGluMRAwDgYDVQQKEwdCcm9taXRlMRAwDgYDVQQLEwdCcm9taXRlMRAwDgYDVQQDEwdjc2FnYW41MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtakjGj0eTavbBB2vWXj8KBixWn4zgXAKc+yGFu3SLEGF1VB5aJWwcMHxVI55yH/8M2eNnJP0BkSidfKgPVcm1sk/GrNEs9uk5sWod9byO5M5QWQmGP2REeTd6J0BVVVaMp2MZnqeR3Su3pwFzrSwTqIGyf8dkPSEz7ifj792+EeRNrov4oRQK7lIfqInzwc4d34wU069Lrw6m7J7HM0KbRYISsWMiYj025Qg+dTrtdWt7jbdcj7htW0eYyJoLd90+s43RWnOpENmWpcWv1EVPxUD4mCdV9idYwoHRIESpSu9IWvqDZp1VoRc43nLgsNfNBwmYdTkIaPiz1m7TBcr7QIDAQABoyEwHzAdBgNVHQ4EFgQUuWoGd7W7wMyQ1pOdjiMv10YHTR0wDQYJKoZIhvcNAQELBQADggEBAA7iw6eKz+T8HIpKDoDcX1Ywjn9JUzuCFu20LnsLzreO/Pog1xErYjdLAS7LTZokfbAnitBskO9QhV9BYkDiM0Qr5v2/HsJTtxa1mz9ywCcI36jblMyuXFj8tuwQI9/t9i+Fc3+bOFBV3t7djPo9qX1dIK0lZ6s8HcIhaCNdqm65fH+nWhC/H9djqC6qOtrkTiACKEcHQ4a/5dfROU0q0M4bS4YuiaAQWgjiGbik4LrZ8wZX1aqJCLt0Hs7MzXyyf0cRSO11FIOViHwzh6WTZGufq2J3YBFXPond8kLxkKL3LNezbi5yTcecxsbKQ6OS46CnIKcy/M8asSreLpoCDvw=</signature>
|
||||||
|
</webviewprovider>
|
||||||
|
<!-- The default WebView implementation -->
|
||||||
|
<webviewprovider description="AOSP WebView" packageName="com.android.webview" availableByDefault="true" isFallback="true" />
|
||||||
|
</webviewproviders>
|
||||||
|
|
@ -0,0 +1,60 @@
|
|||||||
|
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||||
|
index 7c0f4197363..a46b96ae5fa 100644
|
||||||
|
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||||
|
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||||
|
@@ -63,6 +63,10 @@ import com.android.server.display.whitebalance.DisplayWhiteBalanceFactory;
|
||||||
|
import com.android.server.display.whitebalance.DisplayWhiteBalanceSettings;
|
||||||
|
import com.android.server.policy.WindowManagerPolicy;
|
||||||
|
|
||||||
|
+// Button backlights
|
||||||
|
+import com.android.server.lights.LightsManager;
|
||||||
|
+import com.android.server.lights.LogicalLight;
|
||||||
|
+
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@@ -258,6 +262,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||||
|
// Must only be accessed on the handler thread.
|
||||||
|
private DisplayPowerState mPowerState;
|
||||||
|
|
||||||
|
+ // Buttons backlight
|
||||||
|
+ private LightsManager mLightsManager;
|
||||||
|
+ private LogicalLight mButtonsLight;
|
||||||
|
+
|
||||||
|
// True if the device should wait for negative proximity sensor before
|
||||||
|
// waking up the screen. This is set to false as soon as a negative
|
||||||
|
// proximity sensor measurement is observed or when the device is forced to
|
||||||
|
@@ -686,6 +694,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||||
|
mPowerState = new DisplayPowerState(mBlanker,
|
||||||
|
mColorFadeEnabled ? new ColorFade(Display.DEFAULT_DISPLAY) : null);
|
||||||
|
|
||||||
|
+ mLightsManager = LocalServices.getService(LightsManager.class);
|
||||||
|
+ mButtonsLight = mLightsManager.getLight(LightsManager.LIGHT_ID_BUTTONS);
|
||||||
|
+
|
||||||
|
if (mColorFadeEnabled) {
|
||||||
|
mColorFadeOnAnimator = ObjectAnimator.ofFloat(
|
||||||
|
mPowerState, DisplayPowerState.COLOR_FADE_LEVEL, 0.0f, 1.0f);
|
||||||
|
@@ -1154,6 +1165,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||||
|
&& mReportedScreenStateToPolicy == REPORTED_TO_POLICY_SCREEN_TURNING_ON) {
|
||||||
|
setReportedScreenState(REPORTED_TO_POLICY_SCREEN_ON);
|
||||||
|
mWindowManagerPolicy.screenTurnedOn();
|
||||||
|
+ mButtonsLight.setBrightness(PowerManager.BRIGHTNESS_MAX);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Grab a wake lock if we have unfinished business.
|
||||||
|
@@ -1310,6 +1322,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||||
|
setReportedScreenState(REPORTED_TO_POLICY_SCREEN_OFF);
|
||||||
|
unblockScreenOn();
|
||||||
|
mWindowManagerPolicy.screenTurnedOff();
|
||||||
|
+ mButtonsLight.setBrightness(PowerManager.BRIGHTNESS_MIN);
|
||||||
|
} else if (!isOff
|
||||||
|
&& mReportedScreenStateToPolicy == REPORTED_TO_POLICY_SCREEN_TURNING_OFF) {
|
||||||
|
|
||||||
|
@@ -1317,6 +1330,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||||
|
// Complete the full state transition on -> turningOff -> off.
|
||||||
|
unblockScreenOff();
|
||||||
|
mWindowManagerPolicy.screenTurnedOff();
|
||||||
|
+ mButtonsLight.setBrightness(PowerManager.BRIGHTNESS_MIN);
|
||||||
|
setReportedScreenState(REPORTED_TO_POLICY_SCREEN_OFF);
|
||||||
|
}
|
||||||
|
if (!isOff && mReportedScreenStateToPolicy == REPORTED_TO_POLICY_SCREEN_OFF) {
|
@ -0,0 +1,60 @@
|
|||||||
|
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||||
|
index 1224902aa7be..68855ebf06b9 100644
|
||||||
|
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||||
|
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||||
|
@@ -70,6 +70,10 @@ import com.android.server.display.whitebalance.DisplayWhiteBalanceFactory;
|
||||||
|
import com.android.server.display.whitebalance.DisplayWhiteBalanceSettings;
|
||||||
|
import com.android.server.policy.WindowManagerPolicy;
|
||||||
|
|
||||||
|
+// Button backlights
|
||||||
|
+import com.android.server.lights.LightsManager;
|
||||||
|
+import com.android.server.lights.LogicalLight;
|
||||||
|
+
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -276,6 +280,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||||
|
// Must only be accessed on the handler thread.
|
||||||
|
private DisplayPowerState mPowerState;
|
||||||
|
|
||||||
|
+ // Buttons backlight
|
||||||
|
+ private LightsManager mLightsManager;
|
||||||
|
+ private LogicalLight mButtonsLight;
|
||||||
|
+
|
||||||
|
// True if the device should wait for negative proximity sensor before
|
||||||
|
// waking up the screen. This is set to false as soon as a negative
|
||||||
|
// proximity sensor measurement is observed or when the device is forced to
|
||||||
|
@@ -817,6 +825,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||||
|
mPowerState = new DisplayPowerState(mBlanker,
|
||||||
|
mColorFadeEnabled ? new ColorFade(mDisplayId) : null, mDisplayId, displayState);
|
||||||
|
|
||||||
|
+ mLightsManager = LocalServices.getService(LightsManager.class);
|
||||||
|
+ mButtonsLight = mLightsManager.getLight(LightsManager.LIGHT_ID_BUTTONS);
|
||||||
|
+
|
||||||
|
if (mColorFadeEnabled) {
|
||||||
|
mColorFadeOnAnimator = ObjectAnimator.ofFloat(
|
||||||
|
mPowerState, DisplayPowerState.COLOR_FADE_LEVEL, 0.0f, 1.0f);
|
||||||
|
@@ -1452,6 +1463,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||||
|
&& mReportedScreenStateToPolicy == REPORTED_TO_POLICY_SCREEN_TURNING_ON) {
|
||||||
|
setReportedScreenState(REPORTED_TO_POLICY_SCREEN_ON);
|
||||||
|
mWindowManagerPolicy.screenTurnedOn(mDisplayId);
|
||||||
|
+ mButtonsLight.setBrightness(PowerManager.BRIGHTNESS_MAX);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Grab a wake lock if we have unfinished business.
|
||||||
|
@@ -1652,6 +1664,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||||
|
setReportedScreenState(REPORTED_TO_POLICY_SCREEN_OFF);
|
||||||
|
unblockScreenOn();
|
||||||
|
mWindowManagerPolicy.screenTurnedOff(mDisplayId);
|
||||||
|
+ mButtonsLight.setBrightness(PowerManager.BRIGHTNESS_OFF_FLOAT);
|
||||||
|
} else if (!isOff
|
||||||
|
&& mReportedScreenStateToPolicy == REPORTED_TO_POLICY_SCREEN_TURNING_OFF) {
|
||||||
|
|
||||||
|
@@ -1659,6 +1672,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||||
|
// Complete the full state transition on -> turningOff -> off.
|
||||||
|
unblockScreenOff();
|
||||||
|
mWindowManagerPolicy.screenTurnedOff(mDisplayId);
|
||||||
|
+ mButtonsLight.setBrightness(PowerManager.BRIGHTNESS_OFF_FLOAT);
|
||||||
|
setReportedScreenState(REPORTED_TO_POLICY_SCREEN_OFF);
|
||||||
|
}
|
||||||
|
if (!isOff
|
13
duoqin/patches/remove_launcher3_qsb.patch
Normal file
13
duoqin/patches/remove_launcher3_qsb.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java
|
||||||
|
index 88a9abaf8d..d4a65f05bb 100644
|
||||||
|
--- a/src/com/android/launcher3/config/FeatureFlags.java
|
||||||
|
+++ b/src/com/android/launcher3/config/FeatureFlags.java
|
||||||
|
@@ -52,7 +52,7 @@ public final class FeatureFlags {
|
||||||
|
* Enable moving the QSB on the 0th screen of the workspace. This is not a configuration feature
|
||||||
|
* and should be modified at a project level.
|
||||||
|
*/
|
||||||
|
- public static final boolean QSB_ON_FIRST_SCREEN = true;
|
||||||
|
+ public static final boolean QSB_ON_FIRST_SCREEN = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Feature flag to handle define config changes dynamically instead of killing the process.
|
5
duoqin/system.prop
Normal file
5
duoqin/system.prop
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Fixed Bluetooth audio
|
||||||
|
persist.bluetooth.bluetooth_audio_hal.disabled=true
|
||||||
|
persist.sys.bt.unsupport.features=00000000
|
||||||
|
persist.sys.bt.unsupport.states=00000000
|
||||||
|
persist.sys.bt.unsupport.stdfeatures=000001
|
Loading…
x
Reference in New Issue
Block a user