Compare commits
No commits in common. "lineage-18.1-old" and "lineage-21-light" have entirely different histories.
lineage-18
...
lineage-21
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/local_manifests_device
|
24
README.md
24
README.md
@ -1,31 +1,27 @@
|
||||
|
||||
## Building PHH-based LineageOS GSIs ##
|
||||
## Building "generic" LineageOS GSIs ##
|
||||
|
||||
To get started with building LineageOS GSI, you'll need to get familiar with [Git and Repo](https://source.android.com/source/using-repo.html) as well as [How to build a GSI](https://github.com/phhusson/treble_experimentations/wiki/How-to-build-a-GSI%3F).
|
||||
|
||||
First, open a new Terminal window, which defaults to your home directory. Clone the modified treble_experimentations repo there:
|
||||
|
||||
git clone https://github.com/AndyCGYan/treble_experimentations
|
||||
Set up your environment by referring to [LineageOS Wiki](https://wiki.lineageos.org/devices/TP1803/build) (mainly "Install the build packages" and "Install the repo command").
|
||||
|
||||
Create a new working directory for your LineageOS build and navigate to it:
|
||||
|
||||
mkdir lineage-18.x-build-gsi; cd lineage-18.x-build-gsi
|
||||
mkdir lineage-21-build-gsi; cd lineage-21-build-gsi
|
||||
|
||||
Initialize your LineageOS workspace:
|
||||
|
||||
repo init -u https://github.com/LineageOS/android.git -b lineage-18.1
|
||||
repo init -u https://github.com/LineageOS/android.git -b lineage-21.0 --git-lfs
|
||||
|
||||
Clone the modified treble patches and this repo:
|
||||
Clone both this and the patches repos:
|
||||
|
||||
git clone https://github.com/AndyCGYan/treble_patches -b lineage-18.1
|
||||
git clone https://github.com/AndyCGYan/treble_build_los -b lineage-18.1
|
||||
git clone https://github.com/AndyCGYan/lineage_build_unified lineage_build_unified -b lineage-21-light
|
||||
git clone https://github.com/AndyCGYan/lineage_patches_unified lineage_patches_unified -b lineage-21-light
|
||||
|
||||
Finally, start the build script:
|
||||
Finally, start the build script - for example, to build for all supported archs:
|
||||
|
||||
bash treble_build_los/buildbot_treble.sh
|
||||
bash lineage_build_unified/buildbot_unified.sh treble 64VN 64VS 64GN
|
||||
|
||||
Be sure to update the cloned repos from time to time!
|
||||
|
||||
---
|
||||
|
||||
Note: A-only and VNDKLite targets are now generated from AB images - refer to [sas-creator](https://github.com/phhusson/sas-creator).
|
||||
This script is also used to make device-specific and/or personal builds. To do so, understand the script, and try the `device` and `personal` keywords.
|
||||
|
33
apply_patches.sh
Normal file
33
apply_patches.sh
Normal file
@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
patches="$(readlink -f -- $1)"
|
||||
|
||||
shopt -s nullglob
|
||||
for project in $(cd $patches; echo *);do
|
||||
p="$(tr _ / <<<$project |sed -e 's;platform/;;g')"
|
||||
[ "$p" == build ] && p=build/make
|
||||
[ "$p" == frameworks/proto/logging ] && p=frameworks/proto_logging
|
||||
[ "$p" == treble/app ] && p=treble_app
|
||||
[ "$p" == vendor/hardware/overlay ] && p=vendor/hardware_overlay
|
||||
[ "$p" == vendor/partner/gms ] && p=vendor/partner_gms
|
||||
pushd $p
|
||||
git clean -fdx; git reset --hard
|
||||
for patch in $patches/$project/*.patch;do
|
||||
if git apply --check $patch;then
|
||||
git am $patch
|
||||
elif patch -f -p1 --dry-run < $patch > /dev/null;then
|
||||
#This will fail
|
||||
git am $patch || true
|
||||
patch -f -p1 < $patch
|
||||
git add -u
|
||||
git am --continue
|
||||
else
|
||||
echo "Failed applying $patch"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
popd
|
||||
done
|
||||
|
@ -1,149 +0,0 @@
|
||||
#!/bin/bash
|
||||
echo ""
|
||||
echo "LineageOS 18.x Treble Buildbot"
|
||||
echo "ATTENTION: this script syncs repo on each run"
|
||||
echo "Executing in 5 seconds - CTRL-C to exit"
|
||||
echo ""
|
||||
sleep 5
|
||||
|
||||
# Abort early on error
|
||||
set -eE
|
||||
trap '(\
|
||||
echo;\
|
||||
echo \!\!\! An error happened during script execution;\
|
||||
echo \!\!\! Please check console output for bad sync,;\
|
||||
echo \!\!\! failed patch application, etc.;\
|
||||
echo\
|
||||
)' ERR
|
||||
|
||||
START=`date +%s`
|
||||
BUILD_DATE="$(date +%Y%m%d)"
|
||||
BL=$PWD/treble_build_los
|
||||
|
||||
echo "Preparing local manifest"
|
||||
mkdir -p .repo/local_manifests
|
||||
cp $BL/manifest.xml .repo/local_manifests/manifest.xml
|
||||
echo ""
|
||||
|
||||
echo "Syncing repos"
|
||||
repo sync -c --force-sync --no-clone-bundle --no-tags -j$(nproc --all)
|
||||
echo ""
|
||||
|
||||
echo "Setting up build environment"
|
||||
source build/envsetup.sh &> /dev/null
|
||||
echo ""
|
||||
|
||||
repopick 289372 # Messaging: Add "Mark as read" quick action for message notifications
|
||||
|
||||
echo "Reverting LOS FOD implementation"
|
||||
cd frameworks/base
|
||||
git am $BL/patches/0001-Squashed-revert-of-LOS-FOD-implementation.patch
|
||||
cd ../..
|
||||
cd frameworks/native
|
||||
git revert 381416d540ea92dca5f64cd48fd8c9dc887cac7b --no-edit # surfaceflinger: Add support for extension lib
|
||||
cd ../..
|
||||
echo ""
|
||||
|
||||
echo "Applying PHH patches"
|
||||
rm -f device/*/sepolicy/common/private/genfs_contexts
|
||||
cd device/phh/treble
|
||||
git clean -fdx
|
||||
bash generate.sh lineage
|
||||
cd ../../..
|
||||
bash ~/treble_experimentations/apply-patches.sh treble_patches
|
||||
echo ""
|
||||
|
||||
echo "Applying universal patches"
|
||||
cd build/make
|
||||
git am $BL/patches/0001-Make-broken-copy-headers-the-default.patch
|
||||
cd ../..
|
||||
cd frameworks/base
|
||||
git am $BL/patches/0001-UI-Revive-navbar-layout-tuning-via-sysui_nav_bar-tun.patch
|
||||
git am $BL/patches/0001-UI-Disable-wallpaper-zoom.patch
|
||||
git am $BL/patches/0001-Disable-vendor-mismatch-warning.patch
|
||||
cd ../..
|
||||
cd lineage-sdk
|
||||
git am $BL/patches/0001-sdk-Invert-per-app-stretch-to-fullscreen.patch
|
||||
cd ..
|
||||
cd packages/apps/Jelly
|
||||
git am $BL/patches/0001-Jelly-MainActivity-Restore-applyThemeColor.patch
|
||||
cd ../../..
|
||||
cd packages/apps/LineageParts
|
||||
git am $BL/patches/0001-LineageParts-Invert-per-app-stretch-to-fullscreen.patch
|
||||
cd ../../..
|
||||
cd packages/apps/Trebuchet
|
||||
git am $BL/patches/0001-Trebuchet-Move-clear-all-button-to-actions-view.patch
|
||||
cd ../../..
|
||||
cd vendor/lineage
|
||||
git am $BL/patches/0001-vendor_lineage-Log-privapp-permissions-whitelist-vio.patch
|
||||
cd ../..
|
||||
echo ""
|
||||
|
||||
echo "Applying GSI-specific patches"
|
||||
cd bootable/recovery
|
||||
git revert 0e369f42b82c4d12edba9a46dd20bee0d4b783ec --no-edit # recovery: Allow custom bootloader msg offset in block misc
|
||||
cd ../..
|
||||
cd build/make
|
||||
git am $BL/patches/0001-build-Don-t-handle-apns-conf.patch
|
||||
git revert 78c28df40f72fdcbe3f82a83828060ad19765fa1 --no-edit # mainline_system: Exclude vendor.lineage.power@1.0 from artifact path requirements
|
||||
cd ../..
|
||||
cd device/phh/treble
|
||||
git revert 82b15278bad816632dcaeaed623b569978e9840d --no-edit # Update lineage.mk for LineageOS 16.0
|
||||
git am $BL/patches/0001-Remove-fsck-SELinux-labels.patch
|
||||
git am $BL/patches/0001-treble-Add-overlay-lineage.patch
|
||||
git am $BL/patches/0001-treble-Don-t-specify-config_wallpaperCropperPackage.patch
|
||||
git am $BL/patches/0001-treble-Don-t-handle-apns-conf.patch
|
||||
git am $BL/patches/0001-add-offline-charger-sepolicy.patch
|
||||
cd ../../..
|
||||
cd frameworks/av
|
||||
git revert 5a5606dbd92f01de322c797a7128fce69902d067 --no-edit # camera: Allow devices to load custom CameraParameter code
|
||||
cd ../..
|
||||
cd frameworks/native
|
||||
git revert 581c22f979af05e48ad4843cdfa9605186d286da --no-edit # Add suspend_resume trace events to the atrace 'freq' category.
|
||||
cd ../..
|
||||
cd packages/apps/Bluetooth
|
||||
git revert 4ceb47e32c1be30640e40f81b6f741942f8598ed --no-edit # Bluetooth: Reset packages/apps/Bluetooth to upstream
|
||||
cd ../../..
|
||||
cd system/core
|
||||
git am $BL/patches/0001-Revert-init-Add-vendor-specific-initialization-hooks.patch
|
||||
git am $BL/patches/0001-Panic-into-recovery-rather-than-bootloader.patch
|
||||
git am $BL/patches/0001-Restore-sbin-for-Magisk-compatibility.patch
|
||||
git am $BL/patches/0001-fix-offline-charger-v7.patch
|
||||
cd ../..
|
||||
cd system/hardware/interfaces
|
||||
git revert cb732f9b635b5f6f79e447ddaf743ebb800b8535 --no-edit # system_suspend: start early
|
||||
cd ../../..
|
||||
cd system/sepolicy
|
||||
git am $BL/patches/0001-Revert-sepolicy-Relabel-wifi.-properties-as-wifi_pro.patch
|
||||
cd ../..
|
||||
cd vendor/lineage
|
||||
git am $BL/patches/0001-build_soong-Disable-generated_kernel_headers.patch
|
||||
cd ../..
|
||||
echo ""
|
||||
|
||||
echo "CHECK PATCH STATUS NOW!"
|
||||
sleep 5
|
||||
echo ""
|
||||
|
||||
export WITHOUT_CHECK_API=true
|
||||
export WITH_SU=true
|
||||
mkdir -p ~/build-output/
|
||||
|
||||
buildVariant() {
|
||||
lunch ${1}-userdebug
|
||||
make installclean
|
||||
make -j$(nproc --all) systemimage
|
||||
make vndk-test-sepolicy
|
||||
mv $OUT/system.img ~/build-output/lineage-18.1-$BUILD_DATE-UNOFFICIAL-${1}.img
|
||||
}
|
||||
|
||||
buildVariant treble_arm_bvS
|
||||
buildVariant treble_a64_bvS
|
||||
buildVariant treble_arm64_bvS
|
||||
ls ~/build-output | grep 'lineage'
|
||||
|
||||
END=`date +%s`
|
||||
ELAPSEDM=$(($(($END-$START))/60))
|
||||
ELAPSEDS=$(($(($END-$START))-$ELAPSEDM*60))
|
||||
echo "Buildbot completed in $ELAPSEDM minutes and $ELAPSEDS seconds"
|
||||
echo ""
|
@ -1,198 +0,0 @@
|
||||
#!/bin/bash
|
||||
echo ""
|
||||
echo "LineageOS 18.x Treble Buildbot - PERSONAL"
|
||||
echo "ATTENTION: this script syncs repo on each run"
|
||||
echo "Executing in 5 seconds - CTRL-C to exit"
|
||||
echo ""
|
||||
sleep 5
|
||||
|
||||
# Abort early on error
|
||||
set -eE
|
||||
trap '(\
|
||||
echo;\
|
||||
echo \!\!\! An error happened during script execution;\
|
||||
echo \!\!\! Please check console output for bad sync,;\
|
||||
echo \!\!\! failed patch application, etc.;\
|
||||
echo\
|
||||
)' ERR
|
||||
|
||||
START=`date +%s`
|
||||
BUILD_DATE="$(date +%Y%m%d)"
|
||||
BL=$PWD/treble_build_los
|
||||
|
||||
echo "Preparing local manifest"
|
||||
mkdir -p .repo/local_manifests
|
||||
cp $BL/manifest.xml .repo/local_manifests/manifest.xml
|
||||
echo ""
|
||||
|
||||
echo "Syncing repos"
|
||||
repo sync -c --force-sync --no-clone-bundle --no-tags -j$(nproc --all)
|
||||
echo ""
|
||||
|
||||
echo "Setting up build environment"
|
||||
source build/envsetup.sh &> /dev/null
|
||||
echo ""
|
||||
|
||||
repopick 289372 # Messaging: Add "Mark as read" quick action for message notifications
|
||||
|
||||
echo "Reverting LOS FOD implementation"
|
||||
cd frameworks/base
|
||||
git am $BL/patches/0001-Squashed-revert-of-LOS-FOD-implementation.patch
|
||||
cd ../..
|
||||
cd frameworks/native
|
||||
git revert 381416d540ea92dca5f64cd48fd8c9dc887cac7b --no-edit # surfaceflinger: Add support for extension lib
|
||||
cd ../..
|
||||
echo ""
|
||||
|
||||
echo "Applying PHH patches"
|
||||
rm -f device/*/sepolicy/common/private/genfs_contexts
|
||||
cd device/phh/treble
|
||||
git clean -fdx
|
||||
bash generate.sh lineage
|
||||
cd ../../..
|
||||
bash ~/treble_experimentations/apply-patches.sh treble_patches
|
||||
echo ""
|
||||
|
||||
echo "Applying universal patches"
|
||||
cd build/make
|
||||
git am $BL/patches/0001-Make-broken-copy-headers-the-default.patch
|
||||
cd ../..
|
||||
cd frameworks/base
|
||||
git am $BL/patches/0001-UI-Revive-navbar-layout-tuning-via-sysui_nav_bar-tun.patch
|
||||
git am $BL/patches/0001-UI-Disable-wallpaper-zoom.patch
|
||||
git am $BL/patches/0001-Disable-vendor-mismatch-warning.patch
|
||||
cd ../..
|
||||
cd lineage-sdk
|
||||
git am $BL/patches/0001-sdk-Invert-per-app-stretch-to-fullscreen.patch
|
||||
cd ..
|
||||
cd packages/apps/Jelly
|
||||
git am $BL/patches/0001-Jelly-MainActivity-Restore-applyThemeColor.patch
|
||||
cd ../../..
|
||||
cd packages/apps/LineageParts
|
||||
git am $BL/patches/0001-LineageParts-Invert-per-app-stretch-to-fullscreen.patch
|
||||
cd ../../..
|
||||
cd packages/apps/Trebuchet
|
||||
git am $BL/patches/0001-Trebuchet-Move-clear-all-button-to-actions-view.patch
|
||||
cd ../../..
|
||||
cd vendor/lineage
|
||||
git am $BL/patches/0001-vendor_lineage-Log-privapp-permissions-whitelist-vio.patch
|
||||
cd ../..
|
||||
echo ""
|
||||
|
||||
echo "Applying GSI-specific patches"
|
||||
cd bootable/recovery
|
||||
git revert 0e369f42b82c4d12edba9a46dd20bee0d4b783ec --no-edit # recovery: Allow custom bootloader msg offset in block misc
|
||||
cd ../..
|
||||
cd build/make
|
||||
git am $BL/patches/0001-build-Don-t-handle-apns-conf.patch
|
||||
git revert 78c28df40f72fdcbe3f82a83828060ad19765fa1 --no-edit # mainline_system: Exclude vendor.lineage.power@1.0 from artifact path requirements
|
||||
cd ../..
|
||||
cd device/phh/treble
|
||||
git revert 82b15278bad816632dcaeaed623b569978e9840d --no-edit # Update lineage.mk for LineageOS 16.0
|
||||
git am $BL/patches/0001-Remove-fsck-SELinux-labels.patch
|
||||
git am $BL/patches/0001-treble-Add-overlay-lineage.patch
|
||||
git am $BL/patches/0001-treble-Don-t-specify-config_wallpaperCropperPackage.patch
|
||||
git am $BL/patches/0001-treble-Don-t-handle-apns-conf.patch
|
||||
git am $BL/patches/0001-add-offline-charger-sepolicy.patch
|
||||
cd ../../..
|
||||
cd frameworks/av
|
||||
git revert 5a5606dbd92f01de322c797a7128fce69902d067 --no-edit # camera: Allow devices to load custom CameraParameter code
|
||||
cd ../..
|
||||
cd frameworks/native
|
||||
git revert 581c22f979af05e48ad4843cdfa9605186d286da --no-edit # Add suspend_resume trace events to the atrace 'freq' category.
|
||||
cd ../..
|
||||
cd packages/apps/Bluetooth
|
||||
git revert 4ceb47e32c1be30640e40f81b6f741942f8598ed --no-edit # Bluetooth: Reset packages/apps/Bluetooth to upstream
|
||||
cd ../../..
|
||||
cd system/core
|
||||
git am $BL/patches/0001-Revert-init-Add-vendor-specific-initialization-hooks.patch
|
||||
git am $BL/patches/0001-Panic-into-recovery-rather-than-bootloader.patch
|
||||
git am $BL/patches/0001-Restore-sbin-for-Magisk-compatibility.patch
|
||||
git am $BL/patches/0001-fix-offline-charger-v7.patch
|
||||
cd ../..
|
||||
cd system/hardware/interfaces
|
||||
git revert cb732f9b635b5f6f79e447ddaf743ebb800b8535 --no-edit # system_suspend: start early
|
||||
cd ../../..
|
||||
cd system/sepolicy
|
||||
git am $BL/patches/0001-Revert-sepolicy-Relabel-wifi.-properties-as-wifi_pro.patch
|
||||
cd ../..
|
||||
cd vendor/lineage
|
||||
git am $BL/patches/0001-build_soong-Disable-generated_kernel_headers.patch
|
||||
cd ../..
|
||||
echo ""
|
||||
|
||||
echo "Applying personal patches"
|
||||
cd build/make
|
||||
git am $BL/patches_personal/0001-build-Integrate-prop-modifications-1-2.patch
|
||||
cd ../..
|
||||
cd device/phh/treble
|
||||
git revert 30071d042053b67e4ec6d7332ae187d6cd4542db --no-edit # Use ext4 share duplicate blocks
|
||||
git am $BL/patches_personal/0001-Add-Meizu-18-vibrator-support.patch
|
||||
git am $BL/patches_personal/0001-HACK-Only-use-meizu-vibrator-on-Meizu-18.patch
|
||||
cd ../../..
|
||||
cd frameworks/base
|
||||
git am $BL/patches_personal/0001-UI-Disable-left-seascape-navigation-bar-optionally.patch
|
||||
git am $BL/patches_personal/0001-UI-Use-SNAP_FIXED_RATIO-for-multi-window-globally.patch
|
||||
git am $BL/patches_personal/0001-UI-Increase-default-status-bar-height.patch
|
||||
git am $BL/patches_personal/0001-UI-Always-render-windows-into-cutouts.patch
|
||||
git am $BL/patches_personal/0001-UI-Remove-black-background-from-power-menu.patch
|
||||
git am $BL/patches_personal/0001-UI-Reconfigure-power-menu-items.patch
|
||||
git am $BL/patches_personal/0001-UI-Tap-outside-to-dismiss-power-menu.patch
|
||||
git am $BL/patches_personal/0001-UI-Relax-requirement-for-HINT_SUPPORTS_DARK_TEXT.patch
|
||||
git am $BL/patches_personal/0001-UI-Force-dark-QS-scrim.patch
|
||||
git am $BL/patches_personal/0001-Keyguard-Show-shortcuts-by-default.patch
|
||||
git am $BL/patches_personal/0001-Keyguard-Revert-date-and-clock-to-Lollipop-style.patch
|
||||
git am $BL/patches_personal/0001-Keyguard-Fix-clock-position.patch
|
||||
git am $BL/patches_personal/0001-Keyguard-Hide-padlock.patch
|
||||
git am $BL/patches_personal/0001-Keyguard-Refine-indication-text.patch
|
||||
git am $BL/patches_personal/0001-Keyguard-UI-Fix-status-bar-margins-and-paddings.patch
|
||||
git am $BL/patches_personal/0001-Disable-FP-lockouts.patch
|
||||
git am $BL/patches_personal/0001-Add-MiuiNavbarOverlay.patch
|
||||
git revert c3182c54802105c614848b26250c2682eb9900bf --no-edit # Reduce padding in QS for small screens
|
||||
cd ../..
|
||||
cd frameworks/opt/net/wifi
|
||||
git am $BL/patches_personal/0001-WiFi-Relax-throttling-greatly-for-foreground-apps.patch
|
||||
cd ../../../..
|
||||
cd frameworks/opt/telephony
|
||||
git am $BL/patches_personal/0001-Telephony-Disable-SPN-retrieval.patch
|
||||
cd ../../..
|
||||
cd lineage-sdk
|
||||
git am $BL/patches_personal/0001-sdk-Do-not-warn-about-SELinux-and-build-signature-st.patch
|
||||
cd ..
|
||||
cd packages/apps/DeskClock
|
||||
git am $BL/patches_personal/0001-DeskClock-Adjust-colors-and-layout.patch
|
||||
git am $BL/patches_personal/0001-DeskClock-Revert-date-and-clock-to-Lollipop-style.patch
|
||||
cd ../../..
|
||||
cd packages/apps/Messaging
|
||||
git am $BL/patches_personal/0001-Messaging-Use-blue-accent.patch
|
||||
cd ../../..
|
||||
cd vendor/lineage
|
||||
git am $BL/patches_personal/0001-vendor_lineage-Ignore-neverallows.-again.patch
|
||||
git am $BL/patches_personal/0001-build-Integrate-prop-modifications-2-2.patch
|
||||
cd ../..
|
||||
echo ""
|
||||
|
||||
echo "CHECK PATCH STATUS NOW!"
|
||||
sleep 5
|
||||
echo ""
|
||||
|
||||
export WITHOUT_CHECK_API=true
|
||||
export WITH_SU=true
|
||||
mkdir -p ~/build-output/
|
||||
|
||||
buildVariant() {
|
||||
lunch ${1}-userdebug
|
||||
make installclean
|
||||
make -j$(nproc --all) systemimage
|
||||
make vndk-test-sepolicy
|
||||
mv $OUT/system.img ~/build-output/lineage-18.1-$BUILD_DATE-UNOFFICIAL-${1}-personal.img
|
||||
}
|
||||
|
||||
buildVariant treble_arm64_bvS
|
||||
ls ~/build-output | grep 'lineage'
|
||||
|
||||
END=`date +%s`
|
||||
ELAPSEDM=$(($(($END-$START))/60))
|
||||
ELAPSEDS=$(($(($END-$START))-$ELAPSEDM*60))
|
||||
echo "Buildbot completed in $ELAPSEDM minutes and $ELAPSEDS seconds"
|
||||
echo ""
|
166
buildbot_unified.sh
Executable file
166
buildbot_unified.sh
Executable file
@ -0,0 +1,166 @@
|
||||
#!/bin/bash
|
||||
echo ""
|
||||
echo "LineageOS 21 Unified Buildbot"
|
||||
echo "Executing in 5 seconds - CTRL-C to exit"
|
||||
echo ""
|
||||
sleep 5
|
||||
|
||||
if [ $# -lt 2 ]
|
||||
then
|
||||
echo "Not enough arguments - exiting"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
MODE=${1}
|
||||
if [ ${MODE} != "device" ] && [ ${MODE} != "treble" ]
|
||||
then
|
||||
echo "Invalid mode - exiting"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
NOSYNC=false
|
||||
PERSONAL=false
|
||||
SIGNABLE=true
|
||||
for var in "${@:2}"
|
||||
do
|
||||
if [ ${var} == "nosync" ]
|
||||
then
|
||||
NOSYNC=true
|
||||
fi
|
||||
if [ ${var} == "personal" ]
|
||||
then
|
||||
PERSONAL=true
|
||||
SIGNABLE=false
|
||||
fi
|
||||
done
|
||||
if [ ! -d "$HOME/.android-certs" ]; then
|
||||
read -n1 -r -p $"\$HOME/.android-certs not found - CTRL-C to exit, or any other key to continue"
|
||||
echo ""
|
||||
SIGNABLE=false
|
||||
fi
|
||||
|
||||
# Abort early on error
|
||||
set -eE
|
||||
trap '(\
|
||||
echo;\
|
||||
echo \!\!\! An error happened during script execution;\
|
||||
echo \!\!\! Please check console output for bad sync,;\
|
||||
echo \!\!\! failed patch application, etc.;\
|
||||
echo\
|
||||
)' ERR
|
||||
|
||||
START=`date +%s`
|
||||
BUILD_DATE="$(date -u +%Y%m%d)"
|
||||
|
||||
prep_build() {
|
||||
echo "Preparing local manifests"
|
||||
mkdir -p .repo/local_manifests
|
||||
cp ./lineage_build_unified/local_manifests_${MODE}/*.xml .repo/local_manifests
|
||||
echo ""
|
||||
|
||||
echo "Syncing repos"
|
||||
repo sync -c --force-sync --no-clone-bundle --no-tags -j$(nproc --all)
|
||||
echo ""
|
||||
|
||||
echo "Setting up build environment"
|
||||
source build/envsetup.sh &> /dev/null
|
||||
source vendor/lineage/vars/aosp_target_release
|
||||
mkdir -p ~/build-output
|
||||
echo ""
|
||||
|
||||
repopick 321337 -r -f # Deprioritize important developer notifications
|
||||
repopick 321338 -r -f # Allow disabling important developer notifications
|
||||
repopick 321339 -r -f # Allow disabling USB notifications
|
||||
repopick 368923 -r -f # Launcher3: Show clear all button in recents overview
|
||||
}
|
||||
|
||||
apply_patches() {
|
||||
echo "Applying patch group ${1}"
|
||||
bash ./lineage_build_unified/apply_patches.sh ./lineage_patches_unified/${1}
|
||||
}
|
||||
|
||||
prep_device() {
|
||||
:
|
||||
}
|
||||
|
||||
prep_treble() {
|
||||
:
|
||||
}
|
||||
|
||||
finalize_device() {
|
||||
:
|
||||
}
|
||||
|
||||
finalize_treble() {
|
||||
:
|
||||
}
|
||||
|
||||
build_device() {
|
||||
brunch ${1}
|
||||
mv $OUT/lineage-*.zip ~/build-output/lineage-21.0-$BUILD_DATE-UNOFFICIAL-${1}$($PERSONAL && echo "-personal" || echo "").zip
|
||||
}
|
||||
|
||||
build_treble() {
|
||||
case "${1}" in
|
||||
("64VN") TARGET=gsi_arm64_vN;;
|
||||
("64VS") TARGET=gsi_arm64_vS;;
|
||||
("64GN") TARGET=gsi_arm64_gN;;
|
||||
(*) echo "Invalid target - exiting"; exit 1;;
|
||||
esac
|
||||
lunch lineage_${TARGET}-${aosp_target_release}-userdebug
|
||||
make installclean
|
||||
make -j$(lscpu -b -p=Core,Socket | grep -v '^#' | sort -u | wc -l) systemimage
|
||||
SIGNED=false
|
||||
if [ ${SIGNABLE} = true ] && [[ ${TARGET} == *_g? ]]
|
||||
then
|
||||
make -j$(lscpu -b -p=Core,Socket | grep -v '^#' | sort -u | wc -l) target-files-package otatools
|
||||
bash ./lineage_build_unified/sign_target_files.sh $OUT/signed-target_files.zip
|
||||
unzip -joq $OUT/signed-target_files.zip IMAGES/system.img -d $OUT
|
||||
SIGNED=true
|
||||
echo ""
|
||||
fi
|
||||
mv $OUT/system.img ~/build-output/lineage-21.0-$BUILD_DATE-UNOFFICIAL-${TARGET}$(${PERSONAL} && echo "-personal" || echo "")$(${SIGNED} && echo "-signed" || echo "").img
|
||||
}
|
||||
|
||||
if ${NOSYNC}
|
||||
then
|
||||
echo "ATTENTION: syncing/patching skipped!"
|
||||
echo ""
|
||||
echo "Setting up build environment"
|
||||
source build/envsetup.sh &> /dev/null
|
||||
source vendor/lineage/vars/aosp_target_release
|
||||
echo ""
|
||||
else
|
||||
prep_build
|
||||
echo "Applying patches"
|
||||
prep_${MODE}
|
||||
apply_patches patches_platform
|
||||
apply_patches patches_${MODE}
|
||||
if ${PERSONAL}
|
||||
then
|
||||
apply_patches patches_platform_personal
|
||||
apply_patches patches_${MODE}_personal
|
||||
fi
|
||||
finalize_${MODE}
|
||||
echo ""
|
||||
fi
|
||||
|
||||
|
||||
for var in "${@:2}"
|
||||
do
|
||||
if [ ${var} == "nosync" ] || [ ${var} == "personal" ]
|
||||
then
|
||||
continue
|
||||
fi
|
||||
echo "Starting $(${PERSONAL} && echo "personal " || echo "")build for ${MODE} ${var}"
|
||||
build_${MODE} ${var}
|
||||
done
|
||||
ls ~/build-output | grep 'lineage' || true
|
||||
|
||||
END=`date +%s`
|
||||
ELAPSEDM=$(($(($END-$START))/60))
|
||||
ELAPSEDS=$(($(($END-$START))-$ELAPSEDM*60))
|
||||
echo "Buildbot completed in $ELAPSEDM minutes and $ELAPSEDS seconds"
|
||||
echo ""
|
9
local_manifests_treble/manifest.xml
Normal file
9
local_manifests_treble/manifest.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<manifest>
|
||||
<project name="AndyCGYan/android_device_lineage_gsi" path="device/lineage/gsi" remote="github" revision="lineage-21" />
|
||||
<project name="AndyCGYan/android_packages_apps_QcRilAm" path="packages/apps/QcRilAm" remote="github" revision="master" />
|
||||
<project name="TrebleDroid/vendor_hardware_overlay" path="vendor/hardware_overlay" remote="github" revision="pie" />
|
||||
<remove-project name="LineageOS/android_packages_apps_Camera2" />
|
||||
<remote name="gitlab" fetch="https://gitlab.com/" />
|
||||
<project name="MindTheGapps/vendor_gapps" path="vendor/gapps" remote="gitlab" revision="upsilon" />
|
||||
</manifest>
|
6
make_clobber.sh
Executable file
6
make_clobber.sh
Executable file
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source build/envsetup.sh
|
||||
source vendor/lineage/vars/aosp_target_release
|
||||
lunch lineage_gsi_arm64-$aosp_target_release-userdebug
|
||||
make clobber
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<manifest>
|
||||
<project name="phhusson/vendor_hardware_overlay" path="vendor/hardware_overlay" remote="github" revision="pie" />
|
||||
<project name="phhusson/device_phh_treble" path="device/phh/treble" remote="github" revision="android-11.0" />
|
||||
<project name="phhusson/vendor_vndk-tests" path="vendor/vndk-tests" remote="github" revision="master" />
|
||||
<project name="phhusson/vendor_interfaces" path="vendor/interfaces" remote="github" revision="android-11.0" />
|
||||
<project name="phhusson/vendor_magisk" path="vendor/magisk" remote="github" revision="android-10.0" />
|
||||
</manifest>
|
@ -1,40 +0,0 @@
|
||||
From 9b907d3b202fd3f7a892b50eacd92e4d51877606 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Thu, 5 Apr 2018 10:01:19 +0800
|
||||
Subject: [PATCH] Disable vendor mismatch warning
|
||||
|
||||
Change-Id: Ieb8fe91e2f02462f074312ed0f4885d183e9780b
|
||||
---
|
||||
.../server/wm/ActivityTaskManagerService.java | 16 ++--------------
|
||||
1 file changed, 2 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
|
||||
index ef02fd52999..b6bccb1c21c 100644
|
||||
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
|
||||
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
|
||||
@@ -6486,20 +6486,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
|
||||
}
|
||||
|
||||
if (!Build.isBuildConsistent()) {
|
||||
- Slog.e(TAG, "Build fingerprint is not consistent, warning user");
|
||||
- mUiHandler.post(() -> {
|
||||
- if (mShowDialogs) {
|
||||
- AlertDialog d = new BaseErrorDialog(mUiContext);
|
||||
- d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR);
|
||||
- d.setCancelable(false);
|
||||
- d.setTitle(mUiContext.getText(R.string.android_system_label));
|
||||
- d.setMessage(mUiContext.getText(R.string.system_error_manufacturer));
|
||||
- d.setButton(DialogInterface.BUTTON_POSITIVE,
|
||||
- mUiContext.getText(R.string.ok),
|
||||
- mUiHandler.obtainMessage(DISMISS_DIALOG_UI_MSG, d));
|
||||
- d.show();
|
||||
- }
|
||||
- });
|
||||
+ Slog.e(TAG, "Build fingerprint is not consistent");
|
||||
+ // Do not emit warning about vendor mismatch
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,34 +0,0 @@
|
||||
From 6f9026e0548bd82e7b728ef29dd7d14db93b2105 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 26 Jun 2021 14:23:09 +0000
|
||||
Subject: [PATCH] Jelly: MainActivity: Restore applyThemeColor
|
||||
|
||||
Fixes black statusbar on start
|
||||
|
||||
Change-Id: I6816f5b1dcb3c7bcaee2736a9e2a3ecd63217bc6
|
||||
---
|
||||
app/src/main/java/org/lineageos/jelly/MainActivity.kt | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/app/src/main/java/org/lineageos/jelly/MainActivity.kt b/app/src/main/java/org/lineageos/jelly/MainActivity.kt
|
||||
index 2902b0a..9ff74ed 100644
|
||||
--- a/app/src/main/java/org/lineageos/jelly/MainActivity.kt
|
||||
+++ b/app/src/main/java/org/lineageos/jelly/MainActivity.kt
|
||||
@@ -193,6 +193,7 @@ class MainActivity : WebViewExtActivity(), SearchBarController.OnCancelListener,
|
||||
findViewById(R.id.search_menu_cancel),
|
||||
this)
|
||||
setUiMode()
|
||||
+ applyThemeColor(mThemeColor)
|
||||
try {
|
||||
val httpCacheDir = File(cacheDir, "suggestion_responses")
|
||||
val httpCacheSize = 1024 * 1024.toLong() // 1 MiB
|
||||
@@ -763,4 +764,4 @@ class MainActivity : WebViewExtActivity(), SearchBarController.OnCancelListener,
|
||||
private const val STORAGE_PERM_REQ = 423
|
||||
private const val LOCATION_PERM_REQ = 424
|
||||
}
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,105 +0,0 @@
|
||||
From 47bf5612cec98931ee3076c307247ac58d07ccff Mon Sep 17 00:00:00 2001
|
||||
From: AndyCGYan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 13 Jan 2019 21:44:48 +0800
|
||||
Subject: [PATCH] LineageParts: Invert per-app stretch-to-fullscreen
|
||||
|
||||
Change-Id: Icb02c8dfd84882f736e37d6cd92c35e5eb288faa
|
||||
---
|
||||
res/layout/long_screen_layout.xml | 2 +-
|
||||
res/values-zh-rCN/strings.xml | 6 +++---
|
||||
res/values/strings.xml | 6 +++---
|
||||
res/xml/long_screen_prefs.xml | 2 +-
|
||||
res/xml/parts_catalog.xml | 4 ++--
|
||||
.../lineageparts/applications/LongScreenSettings.java | 2 +-
|
||||
6 files changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/res/layout/long_screen_layout.xml b/res/layout/long_screen_layout.xml
|
||||
index 40d0938..1119cef 100644
|
||||
--- a/res/layout/long_screen_layout.xml
|
||||
+++ b/res/layout/long_screen_layout.xml
|
||||
@@ -36,7 +36,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
- android:text="@string/long_screen_settings_no_apps"
|
||||
+ android:text="@string/inverse_long_screen_settings_no_apps"
|
||||
android:textSize="18dp"
|
||||
android:visibility="gone" />
|
||||
|
||||
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
|
||||
index ee5f7f9..eeed571 100644
|
||||
--- a/res/values-zh-rCN/strings.xml
|
||||
+++ b/res/values-zh-rCN/strings.xml
|
||||
@@ -448,9 +448,9 @@
|
||||
<string name="auto_power_save_summary_on">电量 %s 时自动启用省电</string>
|
||||
<string name="auto_power_save_summary_off">不要自动启用省电</string>
|
||||
<string name="auto_power_save_never">永不</string>
|
||||
- <string name="long_screen_settings_title">全屏应用</string>
|
||||
- <string name="long_screen_settings_summary">强制旧式应用程序使用全屏长宽比</string>
|
||||
- <string name="long_screen_settings_no_apps">无应用</string>
|
||||
+ <string name="inverse_long_screen_settings_title">禁用拉伸全屏</string>
|
||||
+ <string name="inverse_long_screen_settings_summary">对选定的应用禁用拉伸全屏</string>
|
||||
+ <string name="inverse_long_screen_settings_no_apps">无应用</string>
|
||||
<string name="charging_sounds_settings_title">充电提示音</string>
|
||||
<string name="charging_sounds_enabled_title">启用</string>
|
||||
<string name="charging_sounds_enabled_summary">连接或断开电源时发出声音</string>
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 65d799a..ff23ae9 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -579,9 +579,9 @@
|
||||
<string name="auto_power_save_never">Never</string>
|
||||
|
||||
<!-- Applications: Long screen -->
|
||||
- <string name="long_screen_settings_title">Full screen apps</string>
|
||||
- <string name="long_screen_settings_summary">Force legacy apps to use full screen aspect ratio</string>
|
||||
- <string name="long_screen_settings_no_apps">No apps</string>
|
||||
+ <string name="inverse_long_screen_settings_title">Disable stretch-to-fullscreen</string>
|
||||
+ <string name="inverse_long_screen_settings_summary">Prevent selected apps from utilizing stretch-to-fullscreen</string>
|
||||
+ <string name="inverse_long_screen_settings_no_apps">No apps</string>
|
||||
|
||||
<!-- Sounds: Charging sounds -->
|
||||
<string name="charging_sounds_settings_title">Charging sounds</string>
|
||||
diff --git a/res/xml/long_screen_prefs.xml b/res/xml/long_screen_prefs.xml
|
||||
index ec947fa..20da90a 100644
|
||||
--- a/res/xml/long_screen_prefs.xml
|
||||
+++ b/res/xml/long_screen_prefs.xml
|
||||
@@ -18,6 +18,6 @@
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:lineage="http://schemas.android.com/apk/res/org.lineageos.lineageparts"
|
||||
android:key="long_screen_settings"
|
||||
- android:title="@string/long_screen_settings_title">
|
||||
+ android:title="@string/inverse_long_screen_settings_title">
|
||||
|
||||
</PreferenceScreen>
|
||||
diff --git a/res/xml/parts_catalog.xml b/res/xml/parts_catalog.xml
|
||||
index a4346c7..e21d7d5 100644
|
||||
--- a/res/xml/parts_catalog.xml
|
||||
+++ b/res/xml/parts_catalog.xml
|
||||
@@ -92,8 +92,8 @@
|
||||
lineage:xmlRes="@xml/perf_profile_settings" />
|
||||
|
||||
<part android:key="long_screen_settings"
|
||||
- android:title="@string/long_screen_settings_title"
|
||||
- android:summary="@string/long_screen_settings_summary"
|
||||
+ android:title="@string/inverse_long_screen_settings_title"
|
||||
+ android:summary="@string/inverse_long_screen_settings_summary"
|
||||
android:fragment="org.lineageos.lineageparts.applications.LongScreenSettings"
|
||||
lineage:xmlRes="@xml/long_screen_prefs" />
|
||||
|
||||
diff --git a/src/org/lineageos/lineageparts/applications/LongScreenSettings.java b/src/org/lineageos/lineageparts/applications/LongScreenSettings.java
|
||||
index ac04058..50ff8f6 100644
|
||||
--- a/src/org/lineageos/lineageparts/applications/LongScreenSettings.java
|
||||
+++ b/src/org/lineageos/lineageparts/applications/LongScreenSettings.java
|
||||
@@ -246,7 +246,7 @@ public class LongScreenSettings extends SettingsPreferenceFragment
|
||||
mApplicationsState.ensureIcon(entry);
|
||||
holder.icon.setImageDrawable(entry.icon);
|
||||
holder.state.setTag(entry);
|
||||
- holder.state.setChecked(mLongScreen.shouldForceLongScreen(entry.info.packageName));
|
||||
+ holder.state.setChecked(!(mLongScreen.shouldForceLongScreen(entry.info.packageName)));
|
||||
return holder.rootView;
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 0b2cba3481e11b62a98bdc6590641dd5c5e685e1 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Koskovich <zvnexus@outlook.com>
|
||||
Date: Sat, 3 Oct 2020 14:28:35 -0700
|
||||
Subject: [PATCH] Make broken copy headers the default.
|
||||
|
||||
* Do not take this for S unless needed, this is a hack
|
||||
for this cycle.
|
||||
|
||||
Change-Id: I55c8897d7d4d5c2a9e62b1a931b3856b2e38956e
|
||||
---
|
||||
core/board_config.mk | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/core/board_config.mk b/core/board_config.mk
|
||||
index 86162b6f3..d152bdff6 100644
|
||||
--- a/core/board_config.mk
|
||||
+++ b/core/board_config.mk
|
||||
@@ -113,6 +113,7 @@ endif
|
||||
# ###############################################################
|
||||
$(foreach v,$(_build_broken_var_list),$(eval $(v) :=))
|
||||
BUILD_BROKEN_NINJA_USES_ENV_VARS :=
|
||||
+BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true
|
||||
|
||||
# Boards may be defined under $(SRC_TARGET_DIR)/board/$(TARGET_DEVICE)
|
||||
# or under vendor/*/$(TARGET_DEVICE). Search in both places, but
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,38 +0,0 @@
|
||||
From 3f53458d7d730e91e4d736c5619621a5ae367500 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Wed, 4 Sep 2019 21:11:48 +0200
|
||||
Subject: [PATCH 1/5] Panic into recovery rather than bootloader
|
||||
|
||||
Getting last_kmsg/pstore from bootloader isn't possible for other people
|
||||
than the OEM, but we have TWRP to access last_kmsg/pstore
|
||||
|
||||
Change-Id: If04bb6572dc66677d7b44f7d302b2d69ce526200
|
||||
---
|
||||
init/reboot_utils.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/init/reboot_utils.cpp b/init/reboot_utils.cpp
|
||||
index 76460a5df..5a12dd7af 100644
|
||||
--- a/init/reboot_utils.cpp
|
||||
+++ b/init/reboot_utils.cpp
|
||||
@@ -34,7 +34,7 @@
|
||||
namespace android {
|
||||
namespace init {
|
||||
|
||||
-static std::string init_fatal_reboot_target = "bootloader";
|
||||
+static std::string init_fatal_reboot_target = "recovery";
|
||||
static bool init_fatal_panic = false;
|
||||
|
||||
void SetFatalRebootTarget() {
|
||||
@@ -48,7 +48,7 @@ void SetFatalRebootTarget() {
|
||||
const char kRebootTargetString[] = "androidboot.init_fatal_reboot_target=";
|
||||
auto start_pos = cmdline.find(kRebootTargetString);
|
||||
if (start_pos == std::string::npos) {
|
||||
- return; // We already default to bootloader if no setting is provided.
|
||||
+ return; // We already default to recovery if no setting is provided
|
||||
}
|
||||
start_pos += sizeof(kRebootTargetString) - 1;
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,29 +0,0 @@
|
||||
From 3fb27b3b3ab30a86432d2ca1f8fe5c3802793866 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 23 Oct 2019 09:38:16 +0000
|
||||
Subject: [PATCH] Remove fsck SELinux labels
|
||||
|
||||
These are covered by LOS sepolicy
|
||||
|
||||
Change-Id: I7c63c9aed39afc07b8c80918053154113f848cd9
|
||||
---
|
||||
sepolicy/file_contexts | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
|
||||
index 6da14ac..dfea075 100644
|
||||
--- a/sepolicy/file_contexts
|
||||
+++ b/sepolicy/file_contexts
|
||||
@@ -6,9 +6,6 @@
|
||||
/system/bin/phh-on-data.sh u:object_r:phhsu_exec:s0
|
||||
/system/bin/asus-motor u:object_r:phhsu_exec:s0
|
||||
|
||||
-#/system/bin/fsck\.exfat u:object_r:fsck_exec:s0
|
||||
-/system/bin/fsck\.ntfs u:object_r:fsck_exec:s0
|
||||
-
|
||||
/bt_firmware(/.*)? u:object_r:bt_firmware_file:s0
|
||||
|
||||
/sec_storage(/.*)? u:object_r:teecd_data_file:s0
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,87 +0,0 @@
|
||||
From 2b37e5ddbc451e312d6a4bcc36964d429e1342e3 Mon Sep 17 00:00:00 2001
|
||||
From: Victor Bo <bvoid@yandex.ru>
|
||||
Date: Wed, 3 Mar 2021 06:31:17 -0500
|
||||
Subject: [PATCH] Restore /sbin for Magisk compatibility
|
||||
|
||||
Squash of:
|
||||
- Revert "Do not create /sbin"
|
||||
- Revert "Remove sbin from fs_config.cpp"
|
||||
- add /sbin to the PATH
|
||||
|
||||
Change-Id: I1224c9b64ce8eb14f7d15c8441c0633a7e6a20de
|
||||
---
|
||||
CleanSpec.mk | 2 --
|
||||
libcutils/fs_config.cpp | 3 +++
|
||||
rootdir/Android.mk | 2 +-
|
||||
rootdir/init.environ.rc.in | 1 +
|
||||
4 files changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/CleanSpec.mk b/CleanSpec.mk
|
||||
index 0a534a2bd..81150a0fa 100644
|
||||
--- a/CleanSpec.mk
|
||||
+++ b/CleanSpec.mk
|
||||
@@ -80,8 +80,6 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/vndksp.libraries.txt)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/sbin/charger)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/sbin/charger)
|
||||
-$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/sbin)
|
||||
-$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/sbin)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/product_services)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/product_services.img)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/product_services)
|
||||
diff --git a/libcutils/fs_config.cpp b/libcutils/fs_config.cpp
|
||||
index 5805a4d19..b30707fc8 100644
|
||||
--- a/libcutils/fs_config.cpp
|
||||
+++ b/libcutils/fs_config.cpp
|
||||
@@ -80,6 +80,7 @@ static const struct fs_path_config android_dirs[] = {
|
||||
{ 00771, AID_SYSTEM, AID_SYSTEM, 0, "data" },
|
||||
{ 00755, AID_ROOT, AID_SYSTEM, 0, "mnt" },
|
||||
{ 00751, AID_ROOT, AID_SHELL, 0, "product/bin" },
|
||||
+ { 00750, AID_ROOT, AID_SHELL, 0, "sbin" },
|
||||
{ 00777, AID_ROOT, AID_ROOT, 0, "sdcard" },
|
||||
{ 00751, AID_ROOT, AID_SDCARD_R, 0, "storage" },
|
||||
{ 00751, AID_ROOT, AID_SHELL, 0, "system/bin" },
|
||||
@@ -164,6 +165,7 @@ static const struct fs_path_config android_files[] = {
|
||||
{ 00600, AID_ROOT, AID_ROOT, 0, "system_ext/build.prop" },
|
||||
{ 00444, AID_ROOT, AID_ROOT, 0, system_ext_conf_dir + 1 },
|
||||
{ 00444, AID_ROOT, AID_ROOT, 0, system_ext_conf_file + 1 },
|
||||
+ { 00750, AID_ROOT, AID_SHELL, 0, "sbin/fs_mgr" },
|
||||
{ 00755, AID_ROOT, AID_SHELL, 0, "system/bin/crash_dump32" },
|
||||
{ 00755, AID_ROOT, AID_SHELL, 0, "system/bin/crash_dump64" },
|
||||
{ 00755, AID_ROOT, AID_SHELL, 0, "system/bin/debuggerd" },
|
||||
@@ -209,6 +211,7 @@ static const struct fs_path_config android_files[] = {
|
||||
{ 00750, AID_ROOT, AID_SHELL, 0, "init*" },
|
||||
{ 00755, AID_ROOT, AID_SHELL, 0, "odm/bin/*" },
|
||||
{ 00755, AID_ROOT, AID_SHELL, 0, "product/bin/*" },
|
||||
+ { 00750, AID_ROOT, AID_SHELL, 0, "sbin/*" },
|
||||
{ 00755, AID_ROOT, AID_SHELL, 0, "system/bin/*" },
|
||||
{ 00755, AID_ROOT, AID_SHELL, 0, "system/xbin/*" },
|
||||
{ 00755, AID_ROOT, AID_SHELL, 0, "system/apex/*/bin/*" },
|
||||
diff --git a/rootdir/Android.mk b/rootdir/Android.mk
|
||||
index 7d383f522..6d518dcb3 100644
|
||||
--- a/rootdir/Android.mk
|
||||
+++ b/rootdir/Android.mk
|
||||
@@ -77,7 +77,7 @@ endif
|
||||
#
|
||||
# create some directories (some are mount points) and symlinks
|
||||
LOCAL_POST_INSTALL_CMD := mkdir -p $(addprefix $(TARGET_ROOT_OUT)/, \
|
||||
- dev proc sys system data data_mirror odm oem acct config storage mnt apex debug_ramdisk \
|
||||
+ sbin dev proc sys system data data_mirror odm oem acct config storage mnt apex debug_ramdisk \
|
||||
linkerconfig postinstall $(BOARD_ROOT_EXTRA_FOLDERS)); \
|
||||
ln -sf /system/bin $(TARGET_ROOT_OUT)/bin; \
|
||||
ln -sf /system/etc $(TARGET_ROOT_OUT)/etc; \
|
||||
diff --git a/rootdir/init.environ.rc.in b/rootdir/init.environ.rc.in
|
||||
index fdaaf1abe..72ba861a8 100644
|
||||
--- a/rootdir/init.environ.rc.in
|
||||
+++ b/rootdir/init.environ.rc.in
|
||||
@@ -10,6 +10,7 @@ on early-init
|
||||
export ANDROID_TZDATA_ROOT /apex/com.android.tzdata
|
||||
export EXTERNAL_STORAGE /sdcard
|
||||
export ASEC_MOUNTPOINT /mnt/asec
|
||||
+ export PATH /sbin:/product/bin:/apex/com.android.runtime/bin:/apex/com.android.art/bin:/system_ext/bin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin
|
||||
export BOOTCLASSPATH %BOOTCLASSPATH%
|
||||
export DEX2OATBOOTCLASSPATH %DEX2OATBOOTCLASSPATH%
|
||||
export SYSTEMSERVERCLASSPATH %SYSTEMSERVERCLASSPATH%
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,186 +0,0 @@
|
||||
From 3e64de998c03e2d3c96127ed8e6af93af217e6a0 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 19 Dec 2020 15:57:27 +0000
|
||||
Subject: [PATCH] Revert "init: Add vendor-specific initialization hooks."
|
||||
|
||||
This reverts commit 7bc78d1354cd2e8df1ba693c627d5be39206e375.
|
||||
|
||||
Change-Id: I0c3241ef3626bc989b34723e30b2339e4a62399d
|
||||
---
|
||||
init/Android.bp | 9 ---------
|
||||
init/NOTICE | 26 --------------------------
|
||||
init/property_service.cpp | 4 ----
|
||||
init/vendor_init.cpp | 37 -------------------------------------
|
||||
init/vendor_init.h | 33 ---------------------------------
|
||||
5 files changed, 109 deletions(-)
|
||||
delete mode 100644 init/vendor_init.cpp
|
||||
delete mode 100644 init/vendor_init.h
|
||||
|
||||
diff --git a/init/Android.bp b/init/Android.bp
|
||||
index e28d9f026..827a8293f 100644
|
||||
--- a/init/Android.bp
|
||||
+++ b/init/Android.bp
|
||||
@@ -71,14 +71,6 @@ init_host_sources = [
|
||||
"host_init_verifier.cpp",
|
||||
]
|
||||
|
||||
-cc_library_static {
|
||||
- name: "vendor_init",
|
||||
- recovery_available: true,
|
||||
- srcs: [
|
||||
- "vendor_init.cpp",
|
||||
- ],
|
||||
-}
|
||||
-
|
||||
cc_defaults {
|
||||
name: "init_defaults",
|
||||
cpp_std: "experimental",
|
||||
@@ -169,7 +161,6 @@ cc_library_static {
|
||||
defaults: [
|
||||
"init_defaults",
|
||||
"selinux_policy_version",
|
||||
- "vendor_init_defaults",
|
||||
],
|
||||
srcs: init_common_sources + init_device_sources,
|
||||
whole_static_libs: [
|
||||
diff --git a/init/NOTICE b/init/NOTICE
|
||||
index 383d0f541..c5b1efa7a 100644
|
||||
--- a/init/NOTICE
|
||||
+++ b/init/NOTICE
|
||||
@@ -188,29 +188,3 @@
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
-Copyright (c) 2013, The Linux Foundation. All rights reserved.
|
||||
-
|
||||
-Redistribution and use in source and binary forms, with or without
|
||||
-modification, are permitted provided that the following conditions are
|
||||
-met:
|
||||
- * Redistributions of source code must retain the above copyright
|
||||
- notice, this list of conditions and the following disclaimer.
|
||||
- * Redistributions in binary form must reproduce the above
|
||||
- copyright notice, this list of conditions and the following
|
||||
- disclaimer in the documentation and/or other materials provided
|
||||
- with the distribution.
|
||||
- * Neither the name of The Linux Foundation nor the names of its
|
||||
- contributors may be used to endorse or promote products derived
|
||||
- from this software without specific prior written permission.
|
||||
-
|
||||
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
|
||||
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
|
||||
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
diff --git a/init/property_service.cpp b/init/property_service.cpp
|
||||
index 44b51c2cf..019955b16 100644
|
||||
--- a/init/property_service.cpp
|
||||
+++ b/init/property_service.cpp
|
||||
@@ -70,7 +70,6 @@
|
||||
#include "subcontext.h"
|
||||
#include "system/core/init/property_service.pb.h"
|
||||
#include "util.h"
|
||||
-#include "vendor_init.h"
|
||||
|
||||
using namespace std::literals;
|
||||
|
||||
@@ -976,9 +975,6 @@ void PropertyLoadBootDefaults() {
|
||||
}
|
||||
}
|
||||
|
||||
- // Update with vendor-specific property runtime overrides
|
||||
- vendor_load_properties();
|
||||
-
|
||||
property_initialize_ro_product_props();
|
||||
property_derive_build_fingerprint();
|
||||
property_initialize_ro_cpu_abilist();
|
||||
diff --git a/init/vendor_init.cpp b/init/vendor_init.cpp
|
||||
deleted file mode 100644
|
||||
index d3fd5ffe2..000000000
|
||||
--- a/init/vendor_init.cpp
|
||||
+++ /dev/null
|
||||
@@ -1,37 +0,0 @@
|
||||
-/*
|
||||
-Copyright (c) 2013, The Linux Foundation. All rights reserved.
|
||||
-
|
||||
-Redistribution and use in source and binary forms, with or without
|
||||
-modification, are permitted provided that the following conditions are
|
||||
-met:
|
||||
- * Redistributions of source code must retain the above copyright
|
||||
- notice, this list of conditions and the following disclaimer.
|
||||
- * Redistributions in binary form must reproduce the above
|
||||
- copyright notice, this list of conditions and the following
|
||||
- disclaimer in the documentation and/or other materials provided
|
||||
- with the distribution.
|
||||
- * Neither the name of The Linux Foundation nor the names of its
|
||||
- contributors may be used to endorse or promote products derived
|
||||
- from this software without specific prior written permission.
|
||||
-
|
||||
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
|
||||
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
|
||||
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
- */
|
||||
-
|
||||
-#include "vendor_init.h"
|
||||
-
|
||||
-/* init vendor override stubs */
|
||||
-
|
||||
-__attribute__ ((weak))
|
||||
-void vendor_load_properties()
|
||||
-{
|
||||
-}
|
||||
diff --git a/init/vendor_init.h b/init/vendor_init.h
|
||||
deleted file mode 100644
|
||||
index 9afb449be..000000000
|
||||
--- a/init/vendor_init.h
|
||||
+++ /dev/null
|
||||
@@ -1,33 +0,0 @@
|
||||
-/*
|
||||
-Copyright (c) 2013, The Linux Foundation. All rights reserved.
|
||||
-
|
||||
-Redistribution and use in source and binary forms, with or without
|
||||
-modification, are permitted provided that the following conditions are
|
||||
-met:
|
||||
- * Redistributions of source code must retain the above copyright
|
||||
- notice, this list of conditions and the following disclaimer.
|
||||
- * Redistributions in binary form must reproduce the above
|
||||
- copyright notice, this list of conditions and the following
|
||||
- disclaimer in the documentation and/or other materials provided
|
||||
- with the distribution.
|
||||
- * Neither the name of The Linux Foundation nor the names of its
|
||||
- contributors may be used to endorse or promote products derived
|
||||
- from this software without specific prior written permission.
|
||||
-
|
||||
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
|
||||
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
|
||||
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
- */
|
||||
-
|
||||
-#ifndef __INIT_VENDOR__H__
|
||||
-#define __INIT_VENDOR__H__
|
||||
-extern void vendor_load_properties(void);
|
||||
-#endif /* __INIT_VENDOR__H__ */
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,42 +0,0 @@
|
||||
From 7f50c607a9e3bae747ff33566da624abc50024d3 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Mon, 5 Oct 2020 01:29:18 +0000
|
||||
Subject: [PATCH] Revert "sepolicy: Relabel wifi. properties as wifi_prop"
|
||||
|
||||
This reverts commit bf52f194873840546c996c232eb44c8427ddcd5c.
|
||||
|
||||
Change-Id: I0446540331684eb57f7e17bcc3273d6247915854
|
||||
---
|
||||
private/property_contexts | 1 -
|
||||
private/system_server.te | 3 ---
|
||||
2 files changed, 4 deletions(-)
|
||||
|
||||
diff --git a/private/property_contexts b/private/property_contexts
|
||||
index 7908bb107..49cc8a2cd 100644
|
||||
--- a/private/property_contexts
|
||||
+++ b/private/property_contexts
|
||||
@@ -169,7 +169,6 @@ dalvik. u:object_r:dalvik_prop:s0
|
||||
ro.dalvik. u:object_r:dalvik_prop:s0
|
||||
|
||||
# Shared between system server and wificond
|
||||
-wifi. u:object_r:wifi_prop:s0
|
||||
wlan. u:object_r:wifi_prop:s0
|
||||
|
||||
# Lowpan properties
|
||||
diff --git a/private/system_server.te b/private/system_server.te
|
||||
index 66c46ed97..2373e9617 100644
|
||||
--- a/private/system_server.te
|
||||
+++ b/private/system_server.te
|
||||
@@ -676,9 +676,6 @@ get_prop(system_server, mock_ota_prop)
|
||||
# Read the property as feature flag for protecting apks with fs-verity.
|
||||
get_prop(system_server, apk_verity_prop)
|
||||
|
||||
-# Read wifi.interface
|
||||
-get_prop(system_server, wifi_prop)
|
||||
-
|
||||
# Read the vendor property that indicates if Incremental features is enabled
|
||||
get_prop(system_server, incremental_prop)
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,448 +0,0 @@
|
||||
From 69e5c49e18b9f33cebde3d54c69477ef2c18a756 Mon Sep 17 00:00:00 2001
|
||||
From: Vachounet <vachounet@live.fr>
|
||||
Date: Tue, 24 Nov 2020 05:49:46 +0000
|
||||
Subject: [PATCH] Trebuchet: Move clear all button to actions view
|
||||
|
||||
Change-Id: I9d13247501ca8e1610c17adc204ad64dd4a04cec
|
||||
---
|
||||
.../RecentsViewStateController.java | 3 -
|
||||
.../FallbackRecentsStateController.java | 3 -
|
||||
.../quickstep/views/ClearAllButton.java | 112 ------------------
|
||||
.../android/quickstep/views/RecentsView.java | 52 ++------
|
||||
.../res/drawable/ic_clear_all_recents.xml | 21 ++++
|
||||
.../res/layout/overview_actions_container.xml | 17 ++-
|
||||
.../res/layout/overview_clear_all_button.xml | 27 -----
|
||||
7 files changed, 44 insertions(+), 191 deletions(-)
|
||||
delete mode 100644 quickstep/recents_ui_overrides/src/com/android/quickstep/views/ClearAllButton.java
|
||||
create mode 100644 quickstep/res/drawable/ic_clear_all_recents.xml
|
||||
delete mode 100644 quickstep/res/layout/overview_clear_all_button.xml
|
||||
|
||||
diff --git a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/RecentsViewStateController.java b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/RecentsViewStateController.java
|
||||
index 5ccc1e868..bc47c5a00 100644
|
||||
--- a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/RecentsViewStateController.java
|
||||
+++ b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/RecentsViewStateController.java
|
||||
@@ -35,7 +35,6 @@ import com.android.launcher3.anim.PendingAnimation;
|
||||
import com.android.launcher3.anim.PropertySetter;
|
||||
import com.android.launcher3.states.StateAnimationConfig;
|
||||
import com.android.launcher3.util.MultiValueAlpha;
|
||||
-import com.android.quickstep.views.ClearAllButton;
|
||||
import com.android.quickstep.views.LauncherRecentsView;
|
||||
import com.android.quickstep.views.RecentsView;
|
||||
|
||||
@@ -84,8 +83,6 @@ public final class RecentsViewStateController extends
|
||||
private void setAlphas(PropertySetter propertySetter, StateAnimationConfig config,
|
||||
LauncherState state) {
|
||||
float buttonAlpha = (state.getVisibleElements(mLauncher) & OVERVIEW_BUTTONS) != 0 ? 1 : 0;
|
||||
- propertySetter.setFloat(mRecentsView.getClearAllButton(), ClearAllButton.VISIBILITY_ALPHA,
|
||||
- buttonAlpha, LINEAR);
|
||||
propertySetter.setFloat(mLauncher.getActionsView().getVisibilityAlpha(),
|
||||
MultiValueAlpha.VALUE, buttonAlpha, config.getInterpolator(
|
||||
ANIM_OVERVIEW_ACTIONS_FADE, LINEAR));
|
||||
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/fallback/FallbackRecentsStateController.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/fallback/FallbackRecentsStateController.java
|
||||
index 24a761066..7af77ef60 100644
|
||||
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/fallback/FallbackRecentsStateController.java
|
||||
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/fallback/FallbackRecentsStateController.java
|
||||
@@ -35,7 +35,6 @@ import com.android.launcher3.statemanager.StateManager.StateHandler;
|
||||
import com.android.launcher3.states.StateAnimationConfig;
|
||||
import com.android.launcher3.util.MultiValueAlpha;
|
||||
import com.android.quickstep.RecentsActivity;
|
||||
-import com.android.quickstep.views.ClearAllButton;
|
||||
|
||||
/**
|
||||
* State controller for fallback recents activity
|
||||
@@ -78,8 +77,6 @@ public class FallbackRecentsStateController implements StateHandler<RecentsState
|
||||
private void setProperties(RecentsState state, StateAnimationConfig config,
|
||||
PropertySetter setter) {
|
||||
float buttonAlpha = state.hasButtons() ? 1 : 0;
|
||||
- setter.setFloat(mRecentsView.getClearAllButton(), ClearAllButton.VISIBILITY_ALPHA,
|
||||
- buttonAlpha, LINEAR);
|
||||
setter.setFloat(mActivity.getActionsView().getVisibilityAlpha(),
|
||||
MultiValueAlpha.VALUE, buttonAlpha, LINEAR);
|
||||
|
||||
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/ClearAllButton.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/ClearAllButton.java
|
||||
deleted file mode 100644
|
||||
index fd74357f3..000000000
|
||||
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/ClearAllButton.java
|
||||
+++ /dev/null
|
||||
@@ -1,112 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (C) 2018 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.
|
||||
- */
|
||||
-
|
||||
-package com.android.quickstep.views;
|
||||
-
|
||||
-import android.content.Context;
|
||||
-import android.util.AttributeSet;
|
||||
-import android.util.FloatProperty;
|
||||
-import android.widget.Button;
|
||||
-
|
||||
-import com.android.launcher3.touch.PagedOrientationHandler;
|
||||
-import com.android.quickstep.views.RecentsView.PageCallbacks;
|
||||
-import com.android.quickstep.views.RecentsView.ScrollState;
|
||||
-
|
||||
-public class ClearAllButton extends Button implements PageCallbacks {
|
||||
-
|
||||
- public static final FloatProperty<ClearAllButton> VISIBILITY_ALPHA =
|
||||
- new FloatProperty<ClearAllButton>("visibilityAlpha") {
|
||||
- @Override
|
||||
- public Float get(ClearAllButton view) {
|
||||
- return view.mVisibilityAlpha;
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void setValue(ClearAllButton view, float v) {
|
||||
- view.setVisibilityAlpha(v);
|
||||
- }
|
||||
- };
|
||||
-
|
||||
- private float mScrollAlpha = 1;
|
||||
- private float mContentAlpha = 1;
|
||||
- private float mVisibilityAlpha = 1;
|
||||
-
|
||||
- private boolean mIsRtl;
|
||||
-
|
||||
- private int mScrollOffset;
|
||||
-
|
||||
- public ClearAllButton(Context context, AttributeSet attrs) {
|
||||
- super(context, attrs);
|
||||
- mIsRtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
|
||||
- super.onLayout(changed, left, top, right, bottom);
|
||||
- PagedOrientationHandler orientationHandler = getRecentsView().getPagedOrientationHandler();
|
||||
- mScrollOffset = orientationHandler.getClearAllScrollOffset(getRecentsView(), mIsRtl);
|
||||
- }
|
||||
-
|
||||
- private RecentsView getRecentsView() {
|
||||
- return (RecentsView) getParent();
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void onRtlPropertiesChanged(int layoutDirection) {
|
||||
- super.onRtlPropertiesChanged(layoutDirection);
|
||||
- mIsRtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public boolean hasOverlappingRendering() {
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
- public void setContentAlpha(float alpha) {
|
||||
- if (mContentAlpha != alpha) {
|
||||
- mContentAlpha = alpha;
|
||||
- updateAlpha();
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- public void setVisibilityAlpha(float alpha) {
|
||||
- if (mVisibilityAlpha != alpha) {
|
||||
- mVisibilityAlpha = alpha;
|
||||
- updateAlpha();
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void onPageScroll(ScrollState scrollState) {
|
||||
- PagedOrientationHandler orientationHandler = getRecentsView().getPagedOrientationHandler();
|
||||
- float orientationSize = orientationHandler.getPrimaryValue(getWidth(), getHeight());
|
||||
- if (orientationSize == 0) {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- float shift = Math.min(scrollState.scrollFromEdge, orientationSize);
|
||||
- float translation = mIsRtl ? (mScrollOffset - shift) : (mScrollOffset + shift);
|
||||
- orientationHandler.setPrimaryAndResetSecondaryTranslate(this, translation);
|
||||
- mScrollAlpha = 1 - shift / orientationSize;
|
||||
- updateAlpha();
|
||||
- }
|
||||
-
|
||||
- private void updateAlpha() {
|
||||
- final float alpha = mScrollAlpha * mContentAlpha * mVisibilityAlpha;
|
||||
- setAlpha(alpha);
|
||||
- setClickable(alpha == 1);
|
||||
- }
|
||||
-}
|
||||
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java
|
||||
index 0130cae47..bfdd79e5f 100644
|
||||
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java
|
||||
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java
|
||||
@@ -85,6 +85,7 @@ import android.view.ViewGroup;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
import android.view.accessibility.AccessibilityNodeInfo;
|
||||
import android.view.animation.Interpolator;
|
||||
+import android.widget.Button;
|
||||
import android.widget.ListView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -268,8 +269,7 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
private final float mFastFlingVelocity;
|
||||
private final RecentsModel mModel;
|
||||
private final int mTaskTopMargin;
|
||||
- private final ClearAllButton mClearAllButton;
|
||||
- private final Rect mClearAllButtonDeadZoneRect = new Rect();
|
||||
+ private Button mClearAllButton;
|
||||
private final Rect mTaskViewDeadZoneRect = new Rect();
|
||||
|
||||
private final ScrollState mScrollState = new ScrollState();
|
||||
@@ -442,9 +442,6 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
mModel = RecentsModel.INSTANCE.get(context);
|
||||
mIdp = InvariantDeviceProfile.INSTANCE.get(context);
|
||||
|
||||
- mClearAllButton = (ClearAllButton) LayoutInflater.from(context)
|
||||
- .inflate(R.layout.overview_clear_all_button, this, false);
|
||||
- mClearAllButton.setOnClickListener(this::dismissAllTasks);
|
||||
mTaskViewPool = new ViewPool<>(context, this, R.layout.task, 20 /* max size */,
|
||||
10 /* initial size */);
|
||||
|
||||
@@ -550,6 +547,8 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
public void init(OverviewActionsView actionsView) {
|
||||
mActionsView = actionsView;
|
||||
mActionsView.updateHiddenFlags(HIDDEN_NO_TASKS, getTaskViewCount() == 0);
|
||||
+ mClearAllButton = (Button) mActionsView.findViewById(R.id.clear_all);
|
||||
+ mClearAllButton.setOnClickListener(this::dismissAllTasks);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -620,7 +619,7 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
}
|
||||
|
||||
private void updateTaskStartIndex(View affectingView) {
|
||||
- if (!(affectingView instanceof TaskView) && !(affectingView instanceof ClearAllButton)) {
|
||||
+ if (!(affectingView instanceof TaskView)) {
|
||||
int childCount = getChildCount();
|
||||
|
||||
mTaskViewStartIndex = 0;
|
||||
@@ -674,7 +673,7 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
* button fully visible, center page is Clear All button.
|
||||
*/
|
||||
public boolean isClearAllHidden() {
|
||||
- return mClearAllButton.getAlpha() != 1f;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -732,11 +731,8 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
mTouchDownToStartHome = true;
|
||||
} else {
|
||||
updateDeadZoneRects();
|
||||
- final boolean clearAllButtonDeadZoneConsumed =
|
||||
- mClearAllButton.getAlpha() == 1
|
||||
- && mClearAllButtonDeadZoneRect.contains(x, y);
|
||||
final boolean cameFromNavBar = (ev.getEdgeFlags() & EDGE_NAV_BAR) != 0;
|
||||
- if (!clearAllButtonDeadZoneConsumed && !cameFromNavBar
|
||||
+ if (!cameFromNavBar
|
||||
&& !mTaskViewDeadZoneRect.contains(x + getScrollX(), y)) {
|
||||
mTouchDownToStartHome = true;
|
||||
}
|
||||
@@ -783,18 +779,12 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
|
||||
final int requiredTaskCount = tasks.size();
|
||||
if (getTaskViewCount() != requiredTaskCount) {
|
||||
- if (indexOfChild(mClearAllButton) != -1) {
|
||||
- removeView(mClearAllButton);
|
||||
- }
|
||||
for (int i = getTaskViewCount(); i < requiredTaskCount; i++) {
|
||||
addView(mTaskViewPool.getView());
|
||||
}
|
||||
while (getTaskViewCount() > requiredTaskCount) {
|
||||
removeView(getChildAt(getChildCount() - 1));
|
||||
}
|
||||
- if (requiredTaskCount > 0) {
|
||||
- addView(mClearAllButton);
|
||||
- }
|
||||
}
|
||||
|
||||
// Rebind and reset all task views
|
||||
@@ -834,16 +824,10 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
for (int i = getTaskViewCount() - 1; i >= 0; i--) {
|
||||
removeView(getTaskViewAt(i));
|
||||
}
|
||||
- if (indexOfChild(mClearAllButton) != -1) {
|
||||
- removeView(mClearAllButton);
|
||||
- }
|
||||
}
|
||||
|
||||
public int getTaskViewCount() {
|
||||
int taskViewCount = getChildCount() - mTaskViewStartIndex;
|
||||
- if (indexOfChild(mClearAllButton) != -1) {
|
||||
- taskViewCount--;
|
||||
- }
|
||||
return taskViewCount;
|
||||
}
|
||||
|
||||
@@ -1199,9 +1183,6 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
// Add an empty view for now until the task plan is loaded and applied
|
||||
final TaskView taskView = mTaskViewPool.getView();
|
||||
addView(taskView, mTaskViewStartIndex);
|
||||
- if (wasEmpty) {
|
||||
- addView(mClearAllButton);
|
||||
- }
|
||||
// The temporary running task is only used for the duration between the start of the
|
||||
// gesture and the task list is loaded and applied
|
||||
mTmpRunningTask = Task.from(new TaskKey(runningTaskInfo), runningTaskInfo, false);
|
||||
@@ -1538,7 +1519,6 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
removeViewInLayout(taskView);
|
||||
|
||||
if (getTaskViewCount() == 0) {
|
||||
- removeViewInLayout(mClearAllButton);
|
||||
startHome();
|
||||
} else {
|
||||
snapToPageImmediately(pageToSnapTo);
|
||||
@@ -1677,7 +1657,6 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
child.setStableAlpha(alpha);
|
||||
}
|
||||
}
|
||||
- mClearAllButton.setContentAlpha(mContentAlpha);
|
||||
int alphaInt = Math.round(alpha * 255);
|
||||
mEmptyMessagePaint.setAlpha(alphaInt);
|
||||
mEmptyIcon.setAlpha(alphaInt);
|
||||
@@ -1740,10 +1719,6 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
setLayoutDirection(mIsRtl
|
||||
? View.LAYOUT_DIRECTION_RTL
|
||||
: View.LAYOUT_DIRECTION_LTR);
|
||||
- mClearAllButton.setLayoutDirection(mIsRtl
|
||||
- ? View.LAYOUT_DIRECTION_LTR
|
||||
- : View.LAYOUT_DIRECTION_RTL);
|
||||
- mClearAllButton.setRotation(mOrientationHandler.getDegreesRotated());
|
||||
mActivity.getDragLayer().recreateControllers();
|
||||
boolean isInLandscape = mOrientationState.getTouchRotation() != ROTATION_0
|
||||
|| mOrientationState.getRecentsActivityRotation() != ROTATION_0;
|
||||
@@ -1963,15 +1938,6 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
}
|
||||
|
||||
private void updateDeadZoneRects() {
|
||||
- // Get the deadzone rect surrounding the clear all button to not dismiss overview to home
|
||||
- mClearAllButtonDeadZoneRect.setEmpty();
|
||||
- if (mClearAllButton.getWidth() > 0) {
|
||||
- int verticalMargin = getResources()
|
||||
- .getDimensionPixelSize(R.dimen.recents_clear_all_deadzone_vertical_margin);
|
||||
- mClearAllButton.getHitRect(mClearAllButtonDeadZoneRect);
|
||||
- mClearAllButtonDeadZoneRect.inset(-getPaddingRight() / 2, -verticalMargin);
|
||||
- }
|
||||
-
|
||||
// Get the deadzone rect between the task views
|
||||
mTaskViewDeadZoneRect.setEmpty();
|
||||
int count = getTaskViewCount();
|
||||
@@ -2304,10 +2270,6 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
return super.computeMaxScroll();
|
||||
}
|
||||
|
||||
- public ClearAllButton getClearAllButton() {
|
||||
- return mClearAllButton;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
protected boolean onOverscroll(int amount) {
|
||||
// overscroll should only be accepted on -1 direction (for clear all button)
|
||||
diff --git a/quickstep/res/drawable/ic_clear_all_recents.xml b/quickstep/res/drawable/ic_clear_all_recents.xml
|
||||
new file mode 100644
|
||||
index 000000000..7cba0220b
|
||||
--- /dev/null
|
||||
+++ b/quickstep/res/drawable/ic_clear_all_recents.xml
|
||||
@@ -0,0 +1,21 @@
|
||||
+<!-- Copyright (C) 2020 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.
|
||||
+-->
|
||||
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
+ android:height="24dp"
|
||||
+ android:width="24dp"
|
||||
+ android:viewportWidth="24"
|
||||
+ android:viewportHeight="24">
|
||||
+ <path android:fillColor="#FF000000" android:pathData="M5,13H19V11H5M3,17H17V15H3M7,7V9H21V7" />
|
||||
+</vector>
|
||||
diff --git a/quickstep/res/layout/overview_actions_container.xml b/quickstep/res/layout/overview_actions_container.xml
|
||||
index 258f24a54..302cabf8a 100644
|
||||
--- a/quickstep/res/layout/overview_actions_container.xml
|
||||
+++ b/quickstep/res/layout/overview_actions_container.xml
|
||||
@@ -45,6 +45,21 @@
|
||||
android:layout_height="1dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
+ <Button
|
||||
+ style="@style/OverviewActionButton"
|
||||
+ android:id="@+id/clear_all"
|
||||
+ android:layout_width="wrap_content"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:text="@string/recents_clear_all"
|
||||
+ android:theme="@style/ThemeControlHighlightWorkspaceColor"
|
||||
+ android:drawableStart="@drawable/ic_clear_all_recents"
|
||||
+ />
|
||||
+
|
||||
+ <Space
|
||||
+ android:layout_width="0dp"
|
||||
+ android:layout_height="1dp"
|
||||
+ android:layout_weight="1" />
|
||||
+
|
||||
<Button
|
||||
android:id="@+id/action_share"
|
||||
style="@style/OverviewActionButton"
|
||||
@@ -63,4 +78,4 @@
|
||||
android:visibility="gone" />
|
||||
</LinearLayout>
|
||||
|
||||
-</com.android.quickstep.views.OverviewActionsView>
|
||||
\ No newline at end of file
|
||||
+</com.android.quickstep.views.OverviewActionsView>
|
||||
diff --git a/quickstep/res/layout/overview_clear_all_button.xml b/quickstep/res/layout/overview_clear_all_button.xml
|
||||
deleted file mode 100644
|
||||
index fc06ba057..000000000
|
||||
--- a/quickstep/res/layout/overview_clear_all_button.xml
|
||||
+++ /dev/null
|
||||
@@ -1,27 +0,0 @@
|
||||
-<?xml version="1.0" encoding="utf-8"?>
|
||||
-<!--
|
||||
- Copyright (C) 2018 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.
|
||||
--->
|
||||
-<com.android.quickstep.views.ClearAllButton
|
||||
- xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
- style="@android:style/Widget.DeviceDefault.Button.Borderless"
|
||||
- android:id="@+id/clear_all"
|
||||
- android:layout_width="wrap_content"
|
||||
- android:layout_height="wrap_content"
|
||||
- android:text="@string/recents_clear_all"
|
||||
- android:textColor="?attr/workspaceTextColor"
|
||||
- android:textSize="14sp"
|
||||
- android:translationY="@dimen/task_thumbnail_half_top_margin"
|
||||
- />
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
From ecc6f5becba220a7de969bce9b17809898bf031a Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 10 Jan 2021 11:44:29 +0000
|
||||
Subject: [PATCH] UI: Disable wallpaper zoom
|
||||
|
||||
It does little more than inducing motion sickness
|
||||
|
||||
Change-Id: I78cc5484930b27f172cd8d8a5bd9042dce3478d0
|
||||
---
|
||||
core/res/res/values/config.xml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
|
||||
index b61b26a0e7f..0ed13dd2a89 100644
|
||||
--- a/core/res/res/values/config.xml
|
||||
+++ b/core/res/res/values/config.xml
|
||||
@@ -4353,7 +4353,7 @@
|
||||
<string name="config_customSessionPolicyProvider"></string>
|
||||
|
||||
<!-- The max scale for the wallpaper when it's zoomed in -->
|
||||
- <item name="config_wallpaperMaxScale" format="float" type="dimen">1.10</item>
|
||||
+ <item name="config_wallpaperMaxScale" format="float" type="dimen">1</item>
|
||||
|
||||
<!-- Package name that will receive an explicit manifest broadcast for
|
||||
android.os.action.POWER_SAVE_MODE_CHANGED. -->
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,63 +0,0 @@
|
||||
From dc5694dd4956db2dbfbbea6bb2d34acb6f2a7851 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 6 Oct 2020 01:41:16 +0000
|
||||
Subject: [PATCH] UI: Revive navbar layout tuning via sysui_nav_bar tunable
|
||||
|
||||
Google keeps fixing what ain't broken.
|
||||
This partially undoes https://github.com/LineageOS/android_frameworks_base/commit/e0d5ccd331e694afdc3c8462a1b845df329de2b8 and https://github.com/LineageOS/android_frameworks_base/commit/d34b4e8d278386b85a00018c502bd21d00f8813b
|
||||
|
||||
Change-Id: Ied7d7859e50fd0fcc346219964e747c5d5f4c352
|
||||
---
|
||||
.../statusbar/phone/NavigationBarInflaterView.java | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java
|
||||
index 726a70582537..536263c83ddd 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java
|
||||
@@ -108,6 +108,7 @@ public class NavigationBarInflaterView extends FrameLayout
|
||||
|
||||
private boolean mIsVertical;
|
||||
private boolean mAlternativeOrder;
|
||||
+ private boolean mUsingCustomLayout;
|
||||
|
||||
private OverviewProxyService mOverviewProxyService;
|
||||
private int mNavBarMode = NAV_BAR_MODE_3BUTTON;
|
||||
@@ -173,6 +174,7 @@ public class NavigationBarInflaterView extends FrameLayout
|
||||
super.onAttachedToWindow();
|
||||
Dependency.get(TunerService.class).addTunable(this, NAV_BAR_INVERSE);
|
||||
Dependency.get(TunerService.class).addTunable(this, KEY_NAVIGATION_HINT);
|
||||
+ Dependency.get(TunerService.class).addTunable(this, NAV_BAR_VIEWS);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -191,6 +193,8 @@ public class NavigationBarInflaterView extends FrameLayout
|
||||
mIsHintEnabled = TunerService.parseIntegerSwitch(newValue, true);
|
||||
updateHint();
|
||||
onLikelyDefaultLayoutChange();
|
||||
+ } else if (NAV_BAR_VIEWS.equals(key)) {
|
||||
+ setNavigationBarLayout(newValue);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,7 +204,17 @@ public class NavigationBarInflaterView extends FrameLayout
|
||||
updateLayoutInversion();
|
||||
}
|
||||
|
||||
+ public void setNavigationBarLayout(String layoutValue) {
|
||||
+ if (!Objects.equals(mCurrentLayout, layoutValue)) {
|
||||
+ mUsingCustomLayout = layoutValue != null;
|
||||
+ clearViews();
|
||||
+ inflateLayout(layoutValue);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
public void onLikelyDefaultLayoutChange() {
|
||||
+ // Don't override custom layouts
|
||||
+ if (mUsingCustomLayout) return;
|
||||
|
||||
// Reevaluate new layout
|
||||
final String newValue = getDefaultLayout();
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,20 +0,0 @@
|
||||
From b96e90ecc578400f02ab57c0c670a8808d8a68d1 Mon Sep 17 00:00:00 2001
|
||||
From: Victor Bo <bvoid@yandex.ru>
|
||||
Date: Tue, 15 Sep 2020 21:26:45 -0400
|
||||
Subject: [PATCH] add offline charger sepolicy
|
||||
|
||||
---
|
||||
sepolicy/gsicharger.te | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 100644 sepolicy/gsicharger.te
|
||||
|
||||
diff --git a/sepolicy/gsicharger.te b/sepolicy/gsicharger.te
|
||||
new file mode 100644
|
||||
index 0000000..91cfb5c
|
||||
--- /dev/null
|
||||
+++ b/sepolicy/gsicharger.te
|
||||
@@ -0,0 +1 @@
|
||||
+permissive charger;
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,60 +0,0 @@
|
||||
From 05528cb5c109d22f19ca1f4c2cb3aa4303a2fc7f Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Mon, 5 Oct 2020 01:51:46 +0000
|
||||
Subject: [PATCH] build: Don't handle apns-conf
|
||||
|
||||
Leave it to vendor/lineage instead
|
||||
|
||||
Change-Id: I51fb1436ee0ee2e33b20ca0810b69e827f3f34dc
|
||||
---
|
||||
target/product/aosp_product.mk | 5 -----
|
||||
target/product/full_base_telephony.mk | 5 -----
|
||||
target/product/mainline.mk | 4 ----
|
||||
3 files changed, 14 deletions(-)
|
||||
|
||||
diff --git a/target/product/aosp_product.mk b/target/product/aosp_product.mk
|
||||
index 3e03e6213..1e370fce8 100644
|
||||
--- a/target/product/aosp_product.mk
|
||||
+++ b/target/product/aosp_product.mk
|
||||
@@ -40,11 +40,6 @@ PRODUCT_PACKAGES += \
|
||||
WallpaperPicker \
|
||||
|
||||
ifeq ($(LINEAGE_BUILD),)
|
||||
-# Telephony:
|
||||
-# Provide a APN configuration to GSI product
|
||||
-PRODUCT_COPY_FILES += \
|
||||
- device/sample/etc/apns-full-conf.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/apns-conf.xml
|
||||
-
|
||||
# NFC:
|
||||
# Provide a libnfc-nci.conf to GSI product
|
||||
PRODUCT_COPY_FILES += \
|
||||
diff --git a/target/product/full_base_telephony.mk b/target/product/full_base_telephony.mk
|
||||
index e3442147a..0aa9e7700 100644
|
||||
--- a/target/product/full_base_telephony.mk
|
||||
+++ b/target/product/full_base_telephony.mk
|
||||
@@ -30,10 +30,5 @@ endif
|
||||
PRODUCT_COPY_FILES := \
|
||||
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
|
||||
|
||||
-ifeq ($(LINEAGE_BUILD),)
|
||||
-PRODUCT_COPY_FILES += \
|
||||
- device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml
|
||||
-endif
|
||||
-
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony.mk)
|
||||
diff --git a/target/product/mainline.mk b/target/product/mainline.mk
|
||||
index 418b1eedd..9754cc8e2 100644
|
||||
--- a/target/product/mainline.mk
|
||||
+++ b/target/product/mainline.mk
|
||||
@@ -40,7 +40,3 @@ endif
|
||||
PRODUCT_PACKAGES += \
|
||||
PhotoTable \
|
||||
WallpaperPicker \
|
||||
-
|
||||
-ifeq ($(LINEAGE_BUILD),)
|
||||
-PRODUCT_COPY_FILES += device/sample/etc/apns-full-conf.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/apns-conf.xml
|
||||
-endif
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,45 +0,0 @@
|
||||
From f0b8b09faba7f40bfe376a7c6d3a0f81e7d587c4 Mon Sep 17 00:00:00 2001
|
||||
From: AndyCGYan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 3 Mar 2019 14:07:33 +0800
|
||||
Subject: [PATCH] build_soong: Disable generated_kernel_headers
|
||||
|
||||
...but done in a way so that there's no need to remove generated_kernel_headers from individual projects - thanks @ExpressLuke
|
||||
|
||||
Change-Id: I630857cec208f1830e776bf5031d7bb9bc4435d0
|
||||
---
|
||||
build/soong/Android.bp | 12 ------------
|
||||
1 file changed, 12 deletions(-)
|
||||
|
||||
diff --git a/build/soong/Android.bp b/build/soong/Android.bp
|
||||
index 5076e684..2279bf44 100644
|
||||
--- a/build/soong/Android.bp
|
||||
+++ b/build/soong/Android.bp
|
||||
@@ -20,9 +20,6 @@ bootstrap_go_package {
|
||||
lineage_generator {
|
||||
name: "generated_kernel_includes",
|
||||
|
||||
- // The headers make command
|
||||
- cmd: "$(PATH_OVERRIDE_SOONG) $(KERNEL_MAKE_CMD) $(KERNEL_MAKE_FLAGS) -C $(TARGET_KERNEL_SOURCE) O=$(KERNEL_BUILD_OUT_PREFIX)$(genDir) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) headers_install",
|
||||
-
|
||||
// Directories that can be imported by a cc_* module generated_headers property
|
||||
export_include_dirs: [
|
||||
"usr/audio/include/uapi",
|
||||
@@ -30,15 +27,6 @@ lineage_generator {
|
||||
"usr/include/audio/include/uapi",
|
||||
"usr/techpack/audio/include",
|
||||
],
|
||||
-
|
||||
- // Sources for dependency tracking
|
||||
- dep_root: "$(TARGET_KERNEL_SOURCE)",
|
||||
- dep_files: [
|
||||
- "Makefile",
|
||||
- "include/**/*",
|
||||
- "arch/$(KERNEL_ARCH)/include/**/*",
|
||||
- "techpack/audio/include/**/*",
|
||||
- ],
|
||||
}
|
||||
|
||||
cc_library_headers {
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,52 +0,0 @@
|
||||
From e55760ecf406097895a3d6d6af00873b6f563a7f Mon Sep 17 00:00:00 2001
|
||||
From: Victor Bo <bvoid@yandex.ru>
|
||||
Date: Wed, 26 Feb 2020 07:23:44 +0200
|
||||
Subject: [PATCH 4/5] fix offline charger v7
|
||||
|
||||
modified: rootdir/init.rc
|
||||
---
|
||||
rootdir/init.rc | 13 +++++++++++--
|
||||
1 file changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/rootdir/init.rc b/rootdir/init.rc
|
||||
index a9af0b094..b136f1059 100644
|
||||
--- a/rootdir/init.rc
|
||||
+++ b/rootdir/init.rc
|
||||
@@ -11,6 +11,11 @@ import /vendor/etc/init/hw/init.${ro.hardware}.rc
|
||||
import /system/etc/init/hw/init.usb.configfs.rc
|
||||
import /system/etc/init/hw/init.${ro.zygote}.rc
|
||||
|
||||
+service gsicharger /bin/charger
|
||||
+ class gsicharger
|
||||
+ user system
|
||||
+ group system shell input graphics wakelock
|
||||
+
|
||||
# Cgroups are mounted right before early-init using list from /etc/cgroups.json
|
||||
on early-init
|
||||
# Disable sysrq from keyboard
|
||||
@@ -399,7 +404,7 @@ on init
|
||||
# Healthd can trigger a full boot from charger mode by signaling this
|
||||
# property when the power button is held.
|
||||
on property:sys.boot_from_charger_mode=1
|
||||
- class_stop charger
|
||||
+ class_stop gsicharger
|
||||
trigger late-init
|
||||
|
||||
on load_persist_props_action
|
||||
@@ -945,8 +950,12 @@ on nonencrypted
|
||||
on property:sys.init_log_level=*
|
||||
loglevel ${sys.init_log_level}
|
||||
|
||||
+on charger && property:ro.hardware=mt*
|
||||
+ write /sys/class/leds/lcd-backlight/trigger "backlight"
|
||||
+ write /sys/class/android_usb/android0/enable 1
|
||||
+
|
||||
on charger
|
||||
- class_start charger
|
||||
+ class_start gsicharger
|
||||
|
||||
on property:vold.decrypt=trigger_load_persist_props
|
||||
load_persist_props
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 95ef97f5aa82c15e47f9313eca4899d89dba5dd0 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 4 Jul 2018 17:59:14 +0800
|
||||
Subject: [PATCH] sdk: Invert per-app stretch-to-fullscreen implementation
|
||||
|
||||
Change-Id: Idf7dab4e1e0c79953fa672f33ec65fecffb37c83
|
||||
---
|
||||
sdk/src/java/org/lineageos/internal/applications/LongScreen.java | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sdk/src/java/org/lineageos/internal/applications/LongScreen.java b/sdk/src/java/org/lineageos/internal/applications/LongScreen.java
|
||||
index 7fe0d68..26ea349 100644
|
||||
--- a/sdk/src/java/org/lineageos/internal/applications/LongScreen.java
|
||||
+++ b/sdk/src/java/org/lineageos/internal/applications/LongScreen.java
|
||||
@@ -57,7 +57,7 @@ public class LongScreen {
|
||||
}
|
||||
|
||||
public boolean shouldForceLongScreen(String packageName) {
|
||||
- return isSupported() && mApps.contains(packageName);
|
||||
+ return isSupported() && !(mApps.contains(packageName));
|
||||
}
|
||||
|
||||
public Set<String> getApps() {
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,135 +0,0 @@
|
||||
From e562ff56e4b4196d223b006a7d96b72ebc75dece Mon Sep 17 00:00:00 2001
|
||||
From: AndyCGYan <GeForce8800Ultra@gmail.com>
|
||||
Date: Mon, 15 Jul 2019 10:43:52 +0000
|
||||
Subject: [PATCH] treble: Add overlay-lineage
|
||||
|
||||
Change-Id: I9d313b1488d98acc7cf37d23820946ee99745426
|
||||
---
|
||||
base.mk | 12 ++-
|
||||
.../lineage/res/res/values/config.xml | 81 +++++++++++++++++++
|
||||
2 files changed, 90 insertions(+), 3 deletions(-)
|
||||
create mode 100644 overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml
|
||||
|
||||
diff --git a/base.mk b/base.mk
|
||||
index 3623d42..17944f7 100644
|
||||
--- a/base.mk
|
||||
+++ b/base.mk
|
||||
@@ -12,7 +12,13 @@ PRODUCT_COPY_FILES += \
|
||||
device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml
|
||||
|
||||
BOARD_PLAT_PRIVATE_SEPOLICY_DIR += device/phh/treble/sepolicy
|
||||
-PRODUCT_PACKAGE_OVERLAYS += device/phh/treble/overlay
|
||||
+
|
||||
+PRODUCT_PACKAGE_OVERLAYS += \
|
||||
+ device/phh/treble/overlay \
|
||||
+ device/phh/treble/overlay-lineage
|
||||
+
|
||||
+PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += \
|
||||
+ device/phh/treble/overlay-lineage/lineage-sdk
|
||||
|
||||
$(call inherit-product, vendor/hardware_overlay/overlay.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
@@ -29,11 +35,11 @@ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
ro.build.version.security_patch=$(PLATFORM_SECURITY_PATCH) \
|
||||
ro.adb.secure=0 \
|
||||
ro.logd.auditd=true
|
||||
-
|
||||
+
|
||||
#Huawei HiSuite (also other OEM custom programs I guess) it's of no use in AOSP builds
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
persist.sys.usb.config=adb \
|
||||
- ro.cust.cdrom=/dev/null
|
||||
+ ro.cust.cdrom=/dev/null
|
||||
|
||||
#VNDK config files
|
||||
PRODUCT_COPY_FILES += \
|
||||
diff --git a/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml b/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml
|
||||
new file mode 100644
|
||||
index 0000000..8df673a
|
||||
--- /dev/null
|
||||
+++ b/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml
|
||||
@@ -0,0 +1,81 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<!--
|
||||
+ Copyright (C) 2015-2016 The CyanogenMod Project
|
||||
+ 2017-2018 The LineageOS 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.
|
||||
+-->
|
||||
+<resources>
|
||||
+ <!-- Whether device has screen with higher aspect ratio -->
|
||||
+ <bool name="config_haveHigherAspectRatioScreen">true</bool>
|
||||
+
|
||||
+ <!-- All the capabilities of the LEDs on this device, stored as a bit field.
|
||||
+ This integer should equal the sum of the corresponding value for each
|
||||
+ of the following capabilities present:
|
||||
+ // Device has a color adjustable battery light.
|
||||
+ LIGHTS_RGB_NOTIFICATION_LED = 1
|
||||
+ // Device has a color adjustable notification light.
|
||||
+ LIGHTS_RGB_BATTERY_LED = 2
|
||||
+ LIGHTS_MULTIPLE_NOTIFICATION_LED = 4 (deprecated)
|
||||
+ // The notification light has adjustable pulsing capability.
|
||||
+ LIGHTS_PULSATING_LED = 8
|
||||
+ // Device has a multi-segment battery light that is able to
|
||||
+ // use the light brightness value to determine how many
|
||||
+ // segments to show (in order to represent battery level).
|
||||
+ LIGHTS_SEGMENTED_BATTERY_LED = 16
|
||||
+ // The notification light supports HAL adjustable brightness
|
||||
+ // via the alpha channel.
|
||||
+ // Note: if a device notification light supports LIGHTS_RGB_NOTIFICATION_LED
|
||||
+ // then HAL support is not necessary for brightness control. In this case,
|
||||
+ // brightness support will be provided by lineage-sdk through the scaling of
|
||||
+ // RGB color values.
|
||||
+ LIGHTS_ADJUSTABLE_NOTIFICATION_LED_BRIGHTNESS = 32
|
||||
+ // Device has a battery light.
|
||||
+ LIGHTS_BATTERY_LED = 64
|
||||
+ // The battery light supports HAL adjustable brightness via
|
||||
+ // the alpha channel.
|
||||
+ // Note: if a device battery light supports LIGHTS_RGB_BATTERY_LED then HAL
|
||||
+ // support is not necessary for brightness control. In this case,
|
||||
+ // brightness support will be provided by lineage-sdk through the scaling of
|
||||
+ // RGB color values.
|
||||
+ LIGHTS_ADJUSTABLE_BATTERY_LED_BRIGHTNESS = 128
|
||||
+ For example, a device with notification and battery lights that supports
|
||||
+ pulsating and RGB control would set this config to 75. -->
|
||||
+ <integer name="config_deviceLightCapabilities">255</integer>
|
||||
+
|
||||
+ <!-- Hardware keys present on the device, stored as a bit field.
|
||||
+ This integer should equal the sum of the corresponding value for each
|
||||
+ of the following keys present:
|
||||
+ 1 - Home
|
||||
+ 2 - Back
|
||||
+ 4 - Menu
|
||||
+ 8 - Assistant (search)
|
||||
+ 16 - App switch
|
||||
+ 32 - Camera
|
||||
+ 64 - Volume rocker
|
||||
+ For example, a device with Home, Back and Menu keys would set this
|
||||
+ config to 7. -->
|
||||
+ <integer name="config_deviceHardwareKeys">127</integer>
|
||||
+
|
||||
+ <!-- Hardware keys present on the device with the ability to wake, stored as a bit field.
|
||||
+ This integer should equal the sum of the corresponding value for each
|
||||
+ of the following keys present:
|
||||
+ 1 - Home
|
||||
+ 2 - Back
|
||||
+ 4 - Menu
|
||||
+ 8 - Assistant (search)
|
||||
+ 16 - App switch
|
||||
+ 32 - Camera
|
||||
+ 64 - Volume rocker
|
||||
+ For example, a device with Home, Back and Menu keys would set this
|
||||
+ config to 7. -->
|
||||
+ <integer name="config_deviceHardwareWakeKeys">127</integer>
|
||||
+</resources>
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,39 +0,0 @@
|
||||
From 6dd98d86b9ee6d96e093f60739155f2eef552c4e Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 27 Jun 2021 15:37:56 +0000
|
||||
Subject: [PATCH] treble: Don't handle apns-conf
|
||||
|
||||
LineageOS has its own well-maintained copy
|
||||
|
||||
Change-Id: If568101f21098c75879af8b9b6141af179566960
|
||||
---
|
||||
base-pre.mk | 3 ---
|
||||
base.mk | 4 ----
|
||||
2 files changed, 7 deletions(-)
|
||||
|
||||
diff --git a/base-pre.mk b/base-pre.mk
|
||||
index 6a317e4..e69de29 100644
|
||||
--- a/base-pre.mk
|
||||
+++ b/base-pre.mk
|
||||
@@ -1,3 +0,0 @@
|
||||
-#Use a more decent APN config
|
||||
-PRODUCT_COPY_FILES += \
|
||||
- device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml
|
||||
diff --git a/base.mk b/base.mk
|
||||
index 5d16dbe..878aaae 100644
|
||||
--- a/base.mk
|
||||
+++ b/base.mk
|
||||
@@ -8,10 +8,6 @@ PRODUCT_COPY_FILES := \
|
||||
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \
|
||||
frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
|
||||
|
||||
-#Use a more decent APN config
|
||||
-PRODUCT_COPY_FILES += \
|
||||
- device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml
|
||||
-
|
||||
BOARD_PLAT_PRIVATE_SEPOLICY_DIR += device/phh/treble/sepolicy
|
||||
|
||||
PRODUCT_PACKAGE_OVERLAYS += \
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,25 +0,0 @@
|
||||
From 4d6f28cb695c5edf253f03c373485a21cd43d19c Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 10 Sep 2019 02:42:36 +0000
|
||||
Subject: [PATCH] treble: Don't specify config_wallpaperCropperPackage
|
||||
|
||||
Change-Id: I72b59def304779e4bd9a399c01cf1180d15bf444
|
||||
---
|
||||
overlay/frameworks/base/core/res/res/values/config.xml | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
|
||||
index 28c7a28..48ca260 100644
|
||||
--- a/overlay/frameworks/base/core/res/res/values/config.xml
|
||||
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
|
||||
@@ -22,7 +22,6 @@
|
||||
<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>
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,30 +0,0 @@
|
||||
From 7a633a53d8e20e2d976597a332bf5ba855ec1f75 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Thu, 5 Sep 2019 02:08:22 +0000
|
||||
Subject: [PATCH] vendor_lineage: Log privapp-permissions whitelist violations
|
||||
instead
|
||||
|
||||
Change-Id: I49dba61f332253e291a65e79ca70d9a07d45bb07
|
||||
---
|
||||
config/common.mk | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/config/common.mk b/config/common.mk
|
||||
index 2fe9cb01..7d971bba 100644
|
||||
--- a/config/common.mk
|
||||
+++ b/config/common.mk
|
||||
@@ -70,9 +70,9 @@ PRODUCT_COPY_FILES += \
|
||||
PRODUCT_COPY_FILES += \
|
||||
vendor/lineage/config/permissions/org.lineageos.android.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/org.lineageos.android.xml
|
||||
|
||||
-# Enforce privapp-permissions whitelist
|
||||
+# Log privapp-permissions whitelist violations
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
- ro.control_privapp_permissions=enforce
|
||||
+ ro.control_privapp_permissions=log
|
||||
|
||||
# Include AOSP audio files
|
||||
include vendor/lineage/config/aosp_audio.mk
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,430 +0,0 @@
|
||||
From 0b2910ce0c774352cd6b1f43940d8db576a0c3db Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 22 Jun 2021 13:38:31 +0000
|
||||
Subject: [PATCH] Add Meizu 18 vibrator support
|
||||
|
||||
Thanks to:
|
||||
- @phhusson for guidance
|
||||
- Google for marlin HAL as reference in implementing 1.0
|
||||
- @xingrz for Meizu 16th HAL as reference in implementing 1.3
|
||||
|
||||
Change-Id: Iecf12cd814e8773abfd78a19f98e31125a73761a
|
||||
---
|
||||
base.mk | 3 +
|
||||
framework_manifest.xml | 10 ++
|
||||
hal/meizu-vibrator/Android.bp | 31 ++++
|
||||
hal/meizu-vibrator/Vibrator.cpp | 140 ++++++++++++++++++
|
||||
hal/meizu-vibrator/Vibrator.h | 60 ++++++++
|
||||
...oid.hardware.vibrator@1.3-service.meizu.rc | 4 +
|
||||
hal/meizu-vibrator/service.cpp | 72 +++++++++
|
||||
sepolicy/file_contexts | 1 +
|
||||
sepolicy/hal.te | 11 ++
|
||||
9 files changed, 332 insertions(+)
|
||||
create mode 100644 hal/meizu-vibrator/Android.bp
|
||||
create mode 100644 hal/meizu-vibrator/Vibrator.cpp
|
||||
create mode 100644 hal/meizu-vibrator/Vibrator.h
|
||||
create mode 100644 hal/meizu-vibrator/android.hardware.vibrator@1.3-service.meizu.rc
|
||||
create mode 100644 hal/meizu-vibrator/service.cpp
|
||||
|
||||
diff --git a/base.mk b/base.mk
|
||||
index 5d16dbe..f7d7618 100644
|
||||
--- a/base.mk
|
||||
+++ b/base.mk
|
||||
@@ -207,3 +207,6 @@ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
# AOSP overlays
|
||||
PRODUCT_PACKAGES += \
|
||||
NavigationBarMode2ButtonOverlay
|
||||
+
|
||||
+PRODUCT_PACKAGES += \
|
||||
+ android.hardware.vibrator@1.3-service.meizu
|
||||
diff --git a/framework_manifest.xml b/framework_manifest.xml
|
||||
index cb37b49..1b45b4a 100644
|
||||
--- a/framework_manifest.xml
|
||||
+++ b/framework_manifest.xml
|
||||
@@ -19,5 +19,15 @@
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
+
|
||||
+ <hal>
|
||||
+ <name>android.hardware.vibrator</name>
|
||||
+ <transport>hwbinder</transport>
|
||||
+ <version>1.3</version>
|
||||
+ <interface>
|
||||
+ <name>IVibrator</name>
|
||||
+ <instance>default</instance>
|
||||
+ </interface>
|
||||
+ </hal>
|
||||
</manifest>
|
||||
|
||||
diff --git a/hal/meizu-vibrator/Android.bp b/hal/meizu-vibrator/Android.bp
|
||||
new file mode 100644
|
||||
index 0000000..4e3c1b9
|
||||
--- /dev/null
|
||||
+++ b/hal/meizu-vibrator/Android.bp
|
||||
@@ -0,0 +1,31 @@
|
||||
+//
|
||||
+// Copyright (C) 2017 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.
|
||||
+cc_binary {
|
||||
+ name: "android.hardware.vibrator@1.3-service.meizu",
|
||||
+ relative_install_path: "hw",
|
||||
+ init_rc: ["android.hardware.vibrator@1.3-service.meizu.rc"],
|
||||
+ srcs: ["service.cpp", "Vibrator.cpp"],
|
||||
+ cflags: ["-Wall", "-Werror"],
|
||||
+ shared_libs: [
|
||||
+ "libhidlbase",
|
||||
+ "liblog",
|
||||
+ "libutils",
|
||||
+ "libhardware",
|
||||
+ "android.hardware.vibrator@1.0",
|
||||
+ "android.hardware.vibrator@1.1",
|
||||
+ "android.hardware.vibrator@1.2",
|
||||
+ "android.hardware.vibrator@1.3",
|
||||
+ ],
|
||||
+}
|
||||
diff --git a/hal/meizu-vibrator/Vibrator.cpp b/hal/meizu-vibrator/Vibrator.cpp
|
||||
new file mode 100644
|
||||
index 0000000..8f12987
|
||||
--- /dev/null
|
||||
+++ b/hal/meizu-vibrator/Vibrator.cpp
|
||||
@@ -0,0 +1,140 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2017 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.
|
||||
+ */
|
||||
+
|
||||
+#define LOG_TAG "VibratorService"
|
||||
+
|
||||
+#include <log/log.h>
|
||||
+
|
||||
+#include <hardware/hardware.h>
|
||||
+#include <hardware/vibrator.h>
|
||||
+
|
||||
+#include "Vibrator.h"
|
||||
+
|
||||
+#include <cinttypes>
|
||||
+#include <cmath>
|
||||
+#include <iostream>
|
||||
+#include <fstream>
|
||||
+#include <thread>
|
||||
+#include <unistd.h>
|
||||
+
|
||||
+namespace android {
|
||||
+namespace hardware {
|
||||
+namespace vibrator {
|
||||
+namespace V1_3 {
|
||||
+namespace implementation {
|
||||
+
|
||||
+Vibrator::Vibrator(std::ofstream&& timeoutAndAmplitude, std::ofstream&& waveNumber, std::ofstream&& effectTrigger) :
|
||||
+ mTimeoutAndAmplitude(std::move(timeoutAndAmplitude)),
|
||||
+ mWaveNumber(std::move(waveNumber)),
|
||||
+ mEffectTrigger(std::move(effectTrigger)) {}
|
||||
+
|
||||
+Return<Status> Vibrator::on(uint32_t timeout_ms) {
|
||||
+ // Wave number 12 for vibrations slightly stronger than stock (13)
|
||||
+ mWaveNumber << 12 << std::endl;
|
||||
+ mTimeoutAndAmplitude << timeout_ms << std::endl;
|
||||
+ if (!mTimeoutAndAmplitude) {
|
||||
+ ALOGE("Failed to turn vibrator on (%d): %s", errno, strerror(errno));
|
||||
+ return Status::UNKNOWN_ERROR;
|
||||
+ }
|
||||
+ return Status::OK;
|
||||
+}
|
||||
+
|
||||
+Return<Status> Vibrator::off() {
|
||||
+ mTimeoutAndAmplitude << 0 << std::endl;
|
||||
+ if (!mTimeoutAndAmplitude) {
|
||||
+ ALOGE("Failed to turn vibrator off (%d): %s", errno, strerror(errno));
|
||||
+ return Status::UNKNOWN_ERROR;
|
||||
+ }
|
||||
+ return Status::OK;
|
||||
+}
|
||||
+
|
||||
+Return<bool> Vibrator::supportsAmplitudeControl() {
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
+Return<Status> Vibrator::setAmplitude(uint8_t) {
|
||||
+ return Status::UNSUPPORTED_OPERATION;
|
||||
+}
|
||||
+
|
||||
+Return<void> Vibrator::perform(V1_0::Effect effect, EffectStrength strength, perform_cb _hidl_cb) {
|
||||
+ return perform<decltype(effect)>(effect, strength, _hidl_cb);
|
||||
+}
|
||||
+
|
||||
+Return<void> Vibrator::perform_1_1(V1_1::Effect_1_1 effect, EffectStrength strength, perform_cb _hidl_cb) {
|
||||
+ return perform<decltype(effect)>(effect, strength, _hidl_cb);
|
||||
+}
|
||||
+
|
||||
+Return<void> Vibrator::perform_1_2(V1_2::Effect effect, EffectStrength strength, perform_cb _hidl_cb) {
|
||||
+ return perform<decltype(effect)>(effect, strength, _hidl_cb);
|
||||
+}
|
||||
+
|
||||
+Return<void> Vibrator::perform_1_3(Effect effect, EffectStrength strength, perform_cb _hidl_cb) {
|
||||
+ return perform<decltype(effect)>(effect, strength, _hidl_cb);
|
||||
+}
|
||||
+
|
||||
+Return<bool> Vibrator::supportsExternalControl() {
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
+Return<Status> Vibrator::setExternalControl(bool) {
|
||||
+ return Status::UNSUPPORTED_OPERATION;
|
||||
+}
|
||||
+
|
||||
+Return<void> Vibrator::perform(Effect effect, EffectStrength, perform_cb _hidl_cb) {
|
||||
+ uint32_t id;
|
||||
+ switch (effect) {
|
||||
+ case Effect::CLICK:
|
||||
+ id = 31008;
|
||||
+ break;
|
||||
+ case Effect::DOUBLE_CLICK:
|
||||
+ id = 31003;
|
||||
+ break;
|
||||
+ case Effect::TICK:
|
||||
+ case Effect::TEXTURE_TICK:
|
||||
+ id = 21000;
|
||||
+ break;
|
||||
+ case Effect::THUD:
|
||||
+ id = 30900;
|
||||
+ break;
|
||||
+ case Effect::POP:
|
||||
+ id = 22520;
|
||||
+ break;
|
||||
+ case Effect::HEAVY_CLICK:
|
||||
+ id = 30900;
|
||||
+ break;
|
||||
+ default:
|
||||
+ _hidl_cb(Status::UNSUPPORTED_OPERATION, 0);
|
||||
+ return Void();
|
||||
+ }
|
||||
+ mEffectTrigger << id << std::endl;
|
||||
+ _hidl_cb(Status::OK, 200);
|
||||
+ return Void();
|
||||
+}
|
||||
+
|
||||
+template <typename T> Return<void> Vibrator::perform(T effect, EffectStrength strength, perform_cb _hidl_cb) {
|
||||
+ auto validRange = hidl_enum_range<T>();
|
||||
+ if (effect < *validRange.begin() || effect > *std::prev(validRange.end())) {
|
||||
+ _hidl_cb(Status::UNSUPPORTED_OPERATION, 0);
|
||||
+ return Void();
|
||||
+ }
|
||||
+ return perform(static_cast<Effect>(effect), strength, _hidl_cb);
|
||||
+}
|
||||
+
|
||||
+} // namespace implementation
|
||||
+} // namespace V1_3
|
||||
+} // namespace vibrator
|
||||
+} // namespace hardware
|
||||
+} // namespace android
|
||||
diff --git a/hal/meizu-vibrator/Vibrator.h b/hal/meizu-vibrator/Vibrator.h
|
||||
new file mode 100644
|
||||
index 0000000..df901aa
|
||||
--- /dev/null
|
||||
+++ b/hal/meizu-vibrator/Vibrator.h
|
||||
@@ -0,0 +1,60 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2017 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.
|
||||
+ */
|
||||
+#ifndef ANDROID_HARDWARE_VIBRATOR_V1_3_VIBRATOR_H
|
||||
+#define ANDROID_HARDWARE_VIBRATOR_V1_3_VIBRATOR_H
|
||||
+
|
||||
+#include <android/hardware/vibrator/1.3/IVibrator.h>
|
||||
+#include <hidl/Status.h>
|
||||
+
|
||||
+#include <fstream>
|
||||
+
|
||||
+namespace android {
|
||||
+namespace hardware {
|
||||
+namespace vibrator {
|
||||
+namespace V1_3 {
|
||||
+namespace implementation {
|
||||
+
|
||||
+using android::hardware::vibrator::V1_0::EffectStrength;
|
||||
+using android::hardware::vibrator::V1_0::Status;
|
||||
+
|
||||
+class Vibrator : public IVibrator {
|
||||
+public:
|
||||
+ Vibrator(std::ofstream&& timeoutAndAmplitude, std::ofstream&& waveNumber, std::ofstream&& effectTrigger);
|
||||
+ Return<Status> on(uint32_t timeoutMs) override;
|
||||
+ Return<Status> off() override;
|
||||
+ Return<bool> supportsAmplitudeControl() override;
|
||||
+ Return<Status> setAmplitude(uint8_t amplitude) override;
|
||||
+ Return<void> perform(V1_0::Effect effect, EffectStrength strength, perform_cb _hidl_cb) override;
|
||||
+ Return<void> perform_1_1(V1_1::Effect_1_1 effect, EffectStrength strength, perform_cb _hidl_cb) override;
|
||||
+ Return<void> perform_1_2(V1_2::Effect effect, EffectStrength strength, perform_cb _hidl_cb) override;
|
||||
+ Return<void> perform_1_3(Effect effect, EffectStrength strength, perform_cb _hidl_cb) override;
|
||||
+ Return<bool> supportsExternalControl() override;
|
||||
+ Return<Status> setExternalControl(bool enabled) override;
|
||||
+
|
||||
+private:
|
||||
+ Return<void> perform(Effect effect, EffectStrength strength, perform_cb _hidl_cb);
|
||||
+ template <typename T> Return<void> perform(T effect, EffectStrength strength, perform_cb _hidl_cb);
|
||||
+ std::ofstream mTimeoutAndAmplitude;
|
||||
+ std::ofstream mWaveNumber;
|
||||
+ std::ofstream mEffectTrigger;
|
||||
+};
|
||||
+} // namespace implementation
|
||||
+} // namespace V1_3
|
||||
+} // namespace vibrator
|
||||
+} // namespace hardware
|
||||
+} // namespace android
|
||||
+
|
||||
+#endif // ANDROID_HARDWARE_VIBRATOR_V1_3_VIBRATOR_H
|
||||
diff --git a/hal/meizu-vibrator/android.hardware.vibrator@1.3-service.meizu.rc b/hal/meizu-vibrator/android.hardware.vibrator@1.3-service.meizu.rc
|
||||
new file mode 100644
|
||||
index 0000000..ddf39c4
|
||||
--- /dev/null
|
||||
+++ b/hal/meizu-vibrator/android.hardware.vibrator@1.3-service.meizu.rc
|
||||
@@ -0,0 +1,4 @@
|
||||
+service vibrator.meizu /system/bin/hw/android.hardware.vibrator@1.3-service.meizu
|
||||
+ class late_start
|
||||
+ user system
|
||||
+ group system
|
||||
diff --git a/hal/meizu-vibrator/service.cpp b/hal/meizu-vibrator/service.cpp
|
||||
new file mode 100644
|
||||
index 0000000..1405dfb
|
||||
--- /dev/null
|
||||
+++ b/hal/meizu-vibrator/service.cpp
|
||||
@@ -0,0 +1,72 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2017 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.
|
||||
+ */
|
||||
+#define LOG_TAG "android.hardware.vibrator@1.3-service.meizu"
|
||||
+
|
||||
+#include <android/hardware/vibrator/1.3/IVibrator.h>
|
||||
+#include <hidl/HidlSupport.h>
|
||||
+#include <hidl/HidlTransportSupport.h>
|
||||
+#include <utils/Errors.h>
|
||||
+#include <utils/StrongPointer.h>
|
||||
+
|
||||
+#include "Vibrator.h"
|
||||
+
|
||||
+using android::hardware::configureRpcThreadpool;
|
||||
+using android::hardware::joinRpcThreadpool;
|
||||
+using android::hardware::vibrator::V1_3::IVibrator;
|
||||
+using android::hardware::vibrator::V1_3::implementation::Vibrator;
|
||||
+using namespace android;
|
||||
+
|
||||
+static const char *CONTROL_PATH_TIMEOUT = "/sys/class/timed_output/vibrator/enable";
|
||||
+static const char *PATH_WAVE_NUMBER = "/sys/class/meizu/motor/waveform";
|
||||
+static const char *CONTROL_PATH_EFFECT = "/sys/class/meizu/motor/on_off";
|
||||
+
|
||||
+status_t registerVibratorService() {
|
||||
+ std::ofstream timeoutAndAmplitude{CONTROL_PATH_TIMEOUT};
|
||||
+ if (!timeoutAndAmplitude) {
|
||||
+ int error = errno;
|
||||
+ ALOGE("Failed to open %s (%d): %s", CONTROL_PATH_TIMEOUT, error, strerror(error));
|
||||
+ return -error;
|
||||
+ }
|
||||
+
|
||||
+ std::ofstream waveNumber{PATH_WAVE_NUMBER};
|
||||
+ if (!waveNumber) {
|
||||
+ int error = errno;
|
||||
+ ALOGE("Failed to open %s (%d): %s", PATH_WAVE_NUMBER, error, strerror(error));
|
||||
+ return -error;
|
||||
+ }
|
||||
+
|
||||
+ std::ofstream effectTrigger{CONTROL_PATH_EFFECT};
|
||||
+ if (!effectTrigger) {
|
||||
+ int error = errno;
|
||||
+ ALOGE("Failed to open %s (%d): %s", CONTROL_PATH_EFFECT, error, strerror(error));
|
||||
+ return -error;
|
||||
+ }
|
||||
+
|
||||
+ sp<IVibrator> vibrator = new Vibrator(std::move(timeoutAndAmplitude), std::move(waveNumber), std::move(effectTrigger));
|
||||
+ (void) vibrator->registerAsService(); // suppress unused-result warning
|
||||
+ return OK;
|
||||
+}
|
||||
+
|
||||
+int main() {
|
||||
+ configureRpcThreadpool(1, true);
|
||||
+ status_t status = registerVibratorService();
|
||||
+
|
||||
+ if (status != OK) {
|
||||
+ return status;
|
||||
+ }
|
||||
+
|
||||
+ joinRpcThreadpool();
|
||||
+}
|
||||
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
|
||||
index 7ab5e91..2b59077 100644
|
||||
--- a/sepolicy/file_contexts
|
||||
+++ b/sepolicy/file_contexts
|
||||
@@ -12,6 +12,7 @@
|
||||
/dev/dsm u:object_r:dmd_device:s0
|
||||
|
||||
/system/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.oppo.compat u:object_r:hal_fingerprint_oppo_compat_exec:s0
|
||||
+/system/bin/hw/android.hardware.vibrator@1.3-service.meizu u:object_r:hal_vibrator_default_exec:s0
|
||||
|
||||
/efs u:object_r:efs_file:s0
|
||||
|
||||
diff --git a/sepolicy/hal.te b/sepolicy/hal.te
|
||||
index cb44422..280ae2d 100644
|
||||
--- a/sepolicy/hal.te
|
||||
+++ b/sepolicy/hal.te
|
||||
@@ -8,3 +8,14 @@ init_daemon_domain(hal_fingerprint_oppo_compat)
|
||||
|
||||
type hal_fingerprint_oppo, domain;
|
||||
allow hal_fingerprint_oppo vendor_default_prop:property_service { set };
|
||||
+
|
||||
+type vib_strength_sysfs, fs_type, sysfs_type;
|
||||
+
|
||||
+type hal_vibrator_default, domain;
|
||||
+hal_server_domain(hal_vibrator_default, hal_vibrator)
|
||||
+
|
||||
+type hal_vibrator_default_exec, exec_type, vendor_file_type, file_type;
|
||||
+init_daemon_domain(hal_vibrator_default)
|
||||
+
|
||||
+allow hal_vibrator_default vib_strength_sysfs:dir rw_dir_perms;
|
||||
+allow hal_vibrator_default vib_strength_sysfs:file rw_file_perms;
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,387 +0,0 @@
|
||||
From 4dc1657489e222c97e28c2f45efe836e935c4078 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 20 Jun 2021 03:39:32 +0000
|
||||
Subject: [PATCH] Add MiuiNavbarOverlay
|
||||
|
||||
Change-Id: I0e6791abc3c9521d7dc612df2fec2b041affe7e9
|
||||
---
|
||||
packages/overlays/Android.mk | 1 +
|
||||
.../overlays/MiuiNavbarOverlay/Android.mk | 27 ++++++++++++++++++
|
||||
.../MiuiNavbarOverlay/AndroidManifest.xml | 21 ++++++++++++++
|
||||
.../res/drawable-440dpi-v4/ic_sysbar_back.png | Bin 0 -> 2756 bytes
|
||||
.../ic_sysbar_back_darkmode.png | Bin 0 -> 2547 bytes
|
||||
.../drawable-440dpi-v4/ic_sysbar_docked.png | Bin 0 -> 3642 bytes
|
||||
.../ic_sysbar_docked_darkmode.png | Bin 0 -> 2810 bytes
|
||||
.../res/drawable-440dpi-v4/ic_sysbar_home.png | Bin 0 -> 1362 bytes
|
||||
.../ic_sysbar_home_darkmode.png | Bin 0 -> 980 bytes
|
||||
.../drawable-440dpi-v4/ic_sysbar_recent.png | Bin 0 -> 278 bytes
|
||||
.../ic_sysbar_recent_darkmode.png | Bin 0 -> 205 bytes
|
||||
11 files changed, 49 insertions(+)
|
||||
create mode 100644 packages/overlays/MiuiNavbarOverlay/Android.mk
|
||||
create mode 100644 packages/overlays/MiuiNavbarOverlay/AndroidManifest.xml
|
||||
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_back.png
|
||||
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_back_darkmode.png
|
||||
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_docked.png
|
||||
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_docked_darkmode.png
|
||||
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_home.png
|
||||
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_home_darkmode.png
|
||||
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_recent.png
|
||||
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_recent_darkmode.png
|
||||
|
||||
diff --git a/packages/overlays/Android.mk b/packages/overlays/Android.mk
|
||||
index 999ab080246..de3afebac43 100644
|
||||
--- a/packages/overlays/Android.mk
|
||||
+++ b/packages/overlays/Android.mk
|
||||
@@ -72,6 +72,7 @@ LOCAL_REQUIRED_MODULES := \
|
||||
IconShapeTaperedRectOverlay \
|
||||
IconShapeTeardropOverlay \
|
||||
IconShapeVesselOverlay \
|
||||
+ MiuiNavbarOverlay \
|
||||
NavigationBarMode3ButtonOverlay \
|
||||
NavigationBarModeGesturalOverlay \
|
||||
NavigationBarModeGesturalOverlayNarrowBack \
|
||||
diff --git a/packages/overlays/MiuiNavbarOverlay/Android.mk b/packages/overlays/MiuiNavbarOverlay/Android.mk
|
||||
new file mode 100644
|
||||
index 00000000000..3a577ef5920
|
||||
--- /dev/null
|
||||
+++ b/packages/overlays/MiuiNavbarOverlay/Android.mk
|
||||
@@ -0,0 +1,27 @@
|
||||
+#
|
||||
+# Copyright (C) 2020, 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.
|
||||
+#
|
||||
+
|
||||
+LOCAL_PATH:= $(call my-dir)
|
||||
+include $(CLEAR_VARS)
|
||||
+
|
||||
+LOCAL_PRODUCT_MODULE := true
|
||||
+
|
||||
+LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
|
||||
+
|
||||
+LOCAL_PACKAGE_NAME := MiuiNavbarOverlay
|
||||
+LOCAL_SDK_VERSION := current
|
||||
+
|
||||
+include $(BUILD_RRO_PACKAGE)
|
||||
diff --git a/packages/overlays/MiuiNavbarOverlay/AndroidManifest.xml b/packages/overlays/MiuiNavbarOverlay/AndroidManifest.xml
|
||||
new file mode 100644
|
||||
index 00000000000..3956effddfb
|
||||
--- /dev/null
|
||||
+++ b/packages/overlays/MiuiNavbarOverlay/AndroidManifest.xml
|
||||
@@ -0,0 +1,21 @@
|
||||
+<!--
|
||||
+ ~ Copyright (C) 2020 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.
|
||||
+ -->
|
||||
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
+ package="com.miui.systemui.navbar.overlay"
|
||||
+ android:versionCode="1"
|
||||
+ android:versionName="1.0">
|
||||
+ <overlay android:targetPackage="com.android.systemui" android:priority="1337" android:isStatic="true"/>
|
||||
+</manifest>
|
||||
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_back.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_back.png
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..be2b145b4c698679bfdfdc3e5834ad12a56724c0
|
||||
GIT binary patch
|
||||
literal 2756
|
||||
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
|
||||
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_back_darkmode.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_back_darkmode.png
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..4873f84ff7f4750fa3adc70428ffb123502c1051
|
||||
GIT binary patch
|
||||
literal 2547
|
||||
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
|
||||
C-gtlj
|
||||
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_docked.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_docked.png
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..1c88fc5d571d0ec91b735082cb9c512603b9ceec
|
||||
GIT binary patch
|
||||
literal 3642
|
||||
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
|
||||
D=8d64
|
||||
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_docked_darkmode.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_docked_darkmode.png
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..fe51e11921ecb35c5535e7c446769af7f66be893
|
||||
GIT binary patch
|
||||
literal 2810
|
||||
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
|
||||
VfHkC3x%R(PPDlj%Qt&qYzX3LdVM71_
|
||||
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_home.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_home.png
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..20f1d887aedebaadec7f31184bdfe3e662401522
|
||||
GIT binary patch
|
||||
literal 1362
|
||||
zcma)5dsvcZ6eq3COPOfdW%DV^ZrZSmmu5@DVMeK8>Y7WZW@(O;T+M9eB{VT<`aG7k
|
||||
zn)f@oE<`v`G!hdlR3b#c8xe|l8>DE0=1%!ff9^cb_kQR6zW4o|-#O>~uHt;XmYJ+I
|
||||
zK_C#zum>?m;Z6Mb7#YIa&@1aeAQowH-T|Hv{vWHXtnBFM=<e<w92^`Q8&j**TCH|w
|
||||
zW=5ye&3!WP0UQ|_Q79BrskFVly|A!wfjKuf7x4M{d8JaBnwknAkw}F7z<|f&A$<GE
|
||||
z#9}dz$7^nGX0cc_8jVh;L(;OcvZ|`8#>Pg#+uGV-5Af^tdQj5Y*@;G@7g7WV2lw^$
|
||||
z&Cbrcy1D|=)YK%ANCpN5N=ix~<n#IPDIy{wJ3E`nWcKv*3=a<jJ~cJf+S&>ZaQ652
|
||||
zkB^VPe*JoAXb4sSfdMK7NivzNx3?D%jYb1`<#IVVU0q$En!#X*L?S?ds;;h1AP_)}
|
||||
zAPmlOI2^#?IGhE}g|<Kzp-{LW0Lq7!LM=f-K_n8XzP_H#W&;}}s;H>Q%*+JYC=?2V
|
||||
z!GL%y77OKo5-yhu+n_ns)zwrgwWXy6T1_UCp`W0EKp^Dh<v}6PaFC%=sbDCRlamt@
|
||||
z6CeiW0^~4=G>fQ@x1sX<QD1+=qAyI$kd`a0R;^yM1V^rBzv>>;Oz3t0N?$cpk-RL7
|
||||
z-Curq>S*LLrm$bkV3lSj#D<6Y;{swYW|gxi%Zs*{e(6A+T4!*U^3;3jAJaPzMpw75
|
||||
z7$ut5KkB^M^5?QL0f}~RdGFoYzGCL-{5n-sF6Va91!l$rZes=YHif6k(V{Rhzm^#u
|
||||
zalK`;ZDwOVJvHuRU~uxaZ`Dc^TF`p)x#X>!QNDJ?g&SrFgh3=0gAPcLj)}XDS)x}j
|
||||
zQJ<v!mA=U?%l=1~tj%`B)z`KbFE+KKzBz$GdPW=@wWdy+ogj$E`&FZwuZ!Zp<C4}~
|
||||
zVm#p%keE^NFI+55ke}Hcsp&xT<5FtE)tFl*wILQcp5N@wHNu;kTknn!mb^C}u(Xb{
|
||||
zz`fa%H*memyTCaq1Ap2W>D!)vB`lDpEI*IgAvkB_L`bG*pdVVjPYM(XQGXx5K?%)o
|
||||
zLs2>$w}*(t!qJq_*t<Eng8LR58%v)#oqHZo6K-pf@#;>Nf;aRca6{9uQ_PEv<)W-?
|
||||
z(KCaVz2Og5`HT(EW0DOY#`%Z2w?rbt$vWfcc*OArS@cn<@fq^g9Guwf{7Pas%bMNJ
|
||||
zdS?{t^03BBAX+^7!xLN9zWoH>T^@;-lRUM^DZ}5M%WCC|WMSxw>0+B=^sbRM4jZXO
|
||||
z$_Lnf*!02(cHH5lbT?VLt;YvjoU;yD7jgjM%PiY#eFT3yJ0;{s)Z^`kQt+<!k~_Qu
|
||||
zviuCA6KQS^l4A0z$7lHCo-;d7g&3e}+$(1}x<hC;kGbLH_zAlm>$e4s;^kW?4ngm_
|
||||
zE`Q~cX8O<Z(zEsV8qXf?Mb7nT$Cn62o198j$sS3_dA5Umo!g_|H>CWM;Mc75nWk1-
|
||||
zsTCC62DdZ&CLU}r=+K8QH9PflBu(;$$CuS~(S5S#8@}fRZa&GnX#a%YkXXbwx5=MX
|
||||
z``wiJ|MZgXydqYc;eH`$&5TsFXJu)BBv++(-ld-NA|wj=+9rOa!u0;M{>s}ZN=&zg
|
||||
jp|o;zi!=ZHCR`6amaD0~y#7)m{38ggr!VHdM;P%x23q9L
|
||||
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_home_darkmode.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_home_darkmode.png
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..96dc83e4a42d70c1b11ac5a55ea5eb8cd75e1e20
|
||||
GIT binary patch
|
||||
literal 980
|
||||
zcmeAS@N?(olHy`uVBq!ia0vp^O(4v{3?%p7eQ=(EfiWY%C&U%V?H>iS4*_MFJ{MqE
|
||||
zmzM<j1v8iwPFQ>B+}+pje*SoQ_Tb9?Tpg9&|JF;%JijfpWO-*ypo^KYc~ESA_nHsA
|
||||
ztz3e$KC_1!6n_!c@R_*xN!py_HCyTq=gggUaniy|?MuCzA69H^h|Zp|b=B<p2PGc`
|
||||
z0>b30*|@*0n4jWq;gIy|zKGh99kpj}USHgEp;$&A80||uT^vIyZoR$k8h+S8g!O?F
|
||||
zcj^bHLXDPyjKZ$qJ6m_`-hKM-Z=Y)^yB^s@+{vH0dq%aAaitu;AQIT=<@xp3rAvP$
|
||||
zy;7MXy;6S{7k&Q3%$mf?)m#uB5~Fl^!4@93r=m)tT64E<TJ6;MO6v5gt#7SPb6q!g
|
||||
zS=4*(tJ=ib0ZZOj6rVo7V5@I<#(RMk0++cf?<&vlvtrdMVZ3YmE^z(23+e$2<s}SK
|
||||
z3ljnsIEfmhoN8+nY~)&eV1{Nl6Oi%vK#S&VmSrqjKFn8_<*>~VU17l9;(OC(gF?VT
|
||||
zew|sHRA+K^s)$ZwynjDjB9%2Z@o9hj@z9yqKg!oksmhKrP8D1bl-3+)o+@o5{UvQu
|
||||
za+deA^S<)eZhOAF(C5HfE5hn~GjCG+m+o&3f0++AEUdr7$EqdsvefBVI!p9|LmNK}
|
||||
z*BAXVwz%BS@myD^`ADnrrX%|0>yoZt>&?Br{aWc8JyVg;b6@KwX1@Ay&*p-y%_*L#
|
||||
z{^ysm=`T&%{PpeY3#V^a$E?)Zo3}Wqvw!=8=ht19w|5|cm|EtWFQ%k?JmTvKOfn3f
|
||||
Lu6{1-oD!M<_NCyP
|
||||
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_recent.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_recent.png
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..4f0d314e2621d018c3cd2e4267cf4cf82a78943f
|
||||
GIT binary patch
|
||||
literal 278
|
||||
zcmeAS@N?(olHy`uVBq!ia0vp^O(4v{3?%p7eQ+K~IR*HHxB_W3aOlvXS731D$dNyP
|
||||
z{`~&^8>ry@`}c3(z6CO@t*tk0+O&D|W?NfZAou_O|I!nsR|8q1B|(0{3``sX!dw~0
|
||||
z&!m6(D0J#1t5jH`B>TrxD!+gV@;qG}Ln>~)y?T=OumO*&<LOWDj(nQ-FWQ&&(?pJ@
|
||||
znOy%Gk7P>$)d4|WP*!pH)Y~Ek3+0ck%$oDNf%ERC$_@LN)Si65+@j0wqw%{iOg5Zz
|
||||
u=kcQOsZZh^l}((KO_)H0lQP7Be}}|<Jmh~yiM-bb33$5txvX<aXaWF$9A~fq
|
||||
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_recent_darkmode.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_recent_darkmode.png
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..f53ec649e615e8491fb6abb63d169ab7e0faa1ce
|
||||
GIT binary patch
|
||||
literal 205
|
||||
zcmeAS@N?(olHy`uVBq!ia0vp^O(4v{3?%p7eQ+K~DF*n2xB}^ZynuIaZ52=vS4ogx
|
||||
zFoXa0-5=lXWwUX~o_?MiC>rSL;uunK>+RLuyayBnTpaC=HT>3}!PR$SSH`j?-mt2r
|
||||
zKs7+%uwa{9mTBst&#^sIIN#?w`Oh@C&bRjEiUzlg7B>c|g@RIyV08!V`R32zx~(4j
|
||||
Q*9XM+boFyt=akR{0CQqV3jhEB
|
||||
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,561 +0,0 @@
|
||||
From e2510a51fca5911615bd6fcdc2a437ce4d2a2e8b Mon Sep 17 00:00:00 2001
|
||||
From: AndyCGYan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 26 Dec 2018 22:38:54 +0800
|
||||
Subject: [PATCH] DeskClock: Revert date and clock to Lollipop style
|
||||
|
||||
Also added dynamic date format based on alarm presence
|
||||
|
||||
Change-Id: I04ce41d4817c794edb1579dc3a493a1cf1e8d658
|
||||
---
|
||||
res/layout-land/main_clock_frame.xml | 1 +
|
||||
res/layout/date_and_next_alarm_time.xml | 6 ++----
|
||||
res/layout/digital_widget.xml | 4 ++--
|
||||
res/layout/digital_widget_sizer.xml | 2 --
|
||||
res/layout/main_clock_frame.xml | 1 +
|
||||
res/layout/stopwatch_time.xml | 1 -
|
||||
res/layout/timer_setup_time.xml | 2 +-
|
||||
res/layout/world_clock_remote_list_item.xml | 8 +++----
|
||||
res/values-h560dp/dimens.xml | 2 +-
|
||||
res/values-h650dp/dimens.xml | 2 +-
|
||||
res/values-v21/styles.xml | 8 +++----
|
||||
res/values-v23/styles.xml | 2 --
|
||||
res/values/dimens.xml | 10 ++++-----
|
||||
res/values/styles.xml | 5 +++--
|
||||
.../alarmclock/DigitalAppWidgetProvider.java | 10 +++++++--
|
||||
src/com/android/deskclock/ClockFragment.java | 21 ++++++++++++-------
|
||||
src/com/android/deskclock/Screensaver.java | 8 ++++---
|
||||
.../deskclock/ScreensaverActivity.java | 8 ++++---
|
||||
src/com/android/deskclock/Utils.java | 16 ++++++++++++--
|
||||
19 files changed, 70 insertions(+), 47 deletions(-)
|
||||
|
||||
diff --git a/res/layout-land/main_clock_frame.xml b/res/layout-land/main_clock_frame.xml
|
||||
index b72f62333..a1fa3557d 100644
|
||||
--- a/res/layout-land/main_clock_frame.xml
|
||||
+++ b/res/layout-land/main_clock_frame.xml
|
||||
@@ -38,6 +38,7 @@
|
||||
<com.android.deskclock.widget.AutoSizingTextClock
|
||||
android:id="@+id/digital_clock"
|
||||
style="@style/display_time"
|
||||
+ android:fontFamily="sans-serif-thin"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="none"
|
||||
diff --git a/res/layout/date_and_next_alarm_time.xml b/res/layout/date_and_next_alarm_time.xml
|
||||
index ad25502a8..e4edff237 100644
|
||||
--- a/res/layout/date_and_next_alarm_time.xml
|
||||
+++ b/res/layout/date_and_next_alarm_time.xml
|
||||
@@ -25,8 +25,7 @@
|
||||
android:id="@+id/date"
|
||||
style="@style/body"
|
||||
android:layout_width="wrap_content"
|
||||
- android:layout_height="wrap_content"
|
||||
- android:textAllCaps="true" />
|
||||
+ android:layout_height="wrap_content" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/nextAlarmIcon"
|
||||
@@ -45,7 +44,6 @@
|
||||
android:id="@+id/nextAlarm"
|
||||
style="@style/body"
|
||||
android:layout_width="wrap_content"
|
||||
- android:layout_height="wrap_content"
|
||||
- android:textAllCaps="true" />
|
||||
+ android:layout_height="wrap_content" />
|
||||
|
||||
</LinearLayout>
|
||||
\ No newline at end of file
|
||||
diff --git a/res/layout/digital_widget.xml b/res/layout/digital_widget.xml
|
||||
index c5b4837a6..7e2bae454 100644
|
||||
--- a/res/layout/digital_widget.xml
|
||||
+++ b/res/layout/digital_widget.xml
|
||||
@@ -43,13 +43,13 @@
|
||||
<TextClock
|
||||
android:id="@+id/date"
|
||||
style="@style/widget_label"
|
||||
+ android:fontFamily="sans-serif"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:ellipsize="none"
|
||||
android:includeFontPadding="false"
|
||||
android:singleLine="true"
|
||||
- android:textAllCaps="true"
|
||||
android:textColor="@color/white" />
|
||||
|
||||
<ImageView
|
||||
@@ -63,13 +63,13 @@
|
||||
<TextView
|
||||
android:id="@+id/nextAlarm"
|
||||
style="@style/widget_label"
|
||||
+ android:fontFamily="sans-serif"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:ellipsize="none"
|
||||
android:includeFontPadding="false"
|
||||
android:singleLine="true"
|
||||
- android:textAllCaps="true"
|
||||
android:textColor="@color/white" />
|
||||
|
||||
</LinearLayout>
|
||||
diff --git a/res/layout/digital_widget_sizer.xml b/res/layout/digital_widget_sizer.xml
|
||||
index f524cf536..7b08ca590 100644
|
||||
--- a/res/layout/digital_widget_sizer.xml
|
||||
+++ b/res/layout/digital_widget_sizer.xml
|
||||
@@ -46,7 +46,6 @@
|
||||
android:includeFontPadding="false"
|
||||
android:ellipsize="none"
|
||||
android:singleLine="true"
|
||||
- android:textAllCaps="true"
|
||||
android:textColor="@color/white" />
|
||||
|
||||
<!-- This view is drawn to a Bitmap and sent to the widget as an icon. -->
|
||||
@@ -71,7 +70,6 @@
|
||||
android:includeFontPadding="false"
|
||||
android:ellipsize="none"
|
||||
android:singleLine="true"
|
||||
- android:textAllCaps="true"
|
||||
android:textColor="@color/white" />
|
||||
|
||||
</LinearLayout>
|
||||
diff --git a/res/layout/main_clock_frame.xml b/res/layout/main_clock_frame.xml
|
||||
index ab960728f..2042c5b04 100644
|
||||
--- a/res/layout/main_clock_frame.xml
|
||||
+++ b/res/layout/main_clock_frame.xml
|
||||
@@ -51,6 +51,7 @@
|
||||
<com.android.deskclock.widget.AutoSizingTextClock
|
||||
android:id="@+id/digital_clock"
|
||||
style="@style/display_time"
|
||||
+ android:fontFamily="sans-serif-thin"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="none"
|
||||
diff --git a/res/layout/stopwatch_time.xml b/res/layout/stopwatch_time.xml
|
||||
index c1895b488..71320fcd0 100644
|
||||
--- a/res/layout/stopwatch_time.xml
|
||||
+++ b/res/layout/stopwatch_time.xml
|
||||
@@ -42,7 +42,6 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:duplicateParentState="true"
|
||||
- android:fontFamily="sans-serif"
|
||||
android:includeFontPadding="false"
|
||||
android:paddingEnd="30dp"
|
||||
android:paddingStart="3dp"
|
||||
diff --git a/res/layout/timer_setup_time.xml b/res/layout/timer_setup_time.xml
|
||||
index 947723c00..04a1de608 100644
|
||||
--- a/res/layout/timer_setup_time.xml
|
||||
+++ b/res/layout/timer_setup_time.xml
|
||||
@@ -30,7 +30,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="none"
|
||||
- android:fontFamily="sans-serif"
|
||||
+ android:fontFamily="sans-serif-light"
|
||||
android:fontFeatureSettings="tnum"
|
||||
android:includeFontPadding="false"
|
||||
android:singleLine="true"
|
||||
diff --git a/res/layout/world_clock_remote_list_item.xml b/res/layout/world_clock_remote_list_item.xml
|
||||
index 9a69cb517..f5f4eaa21 100644
|
||||
--- a/res/layout/world_clock_remote_list_item.xml
|
||||
+++ b/res/layout/world_clock_remote_list_item.xml
|
||||
@@ -58,13 +58,13 @@
|
||||
<TextView
|
||||
android:id="@+id/city_name_left"
|
||||
style="@style/widget_label"
|
||||
+ android:fontFamily="sans-serif"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:ellipsize="end"
|
||||
android:includeFontPadding="false"
|
||||
android:singleLine="true"
|
||||
- android:textAllCaps="true"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/city_widget_name_font_size" />
|
||||
|
||||
@@ -73,6 +73,7 @@
|
||||
<TextView
|
||||
android:id="@+id/city_day_left"
|
||||
style="@style/widget_label"
|
||||
+ android:fontFamily="sans-serif"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/style_label_space"
|
||||
@@ -81,7 +82,6 @@
|
||||
android:format24Hour="@string/abbrev_wday"
|
||||
android:includeFontPadding="false"
|
||||
android:singleLine="true"
|
||||
- android:textAllCaps="true"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/city_widget_name_font_size" />
|
||||
|
||||
@@ -120,13 +120,13 @@
|
||||
<TextView
|
||||
android:id="@+id/city_name_right"
|
||||
style="@style/widget_label"
|
||||
+ android:fontFamily="sans-serif"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:ellipsize="end"
|
||||
android:includeFontPadding="false"
|
||||
android:singleLine="true"
|
||||
- android:textAllCaps="true"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/city_widget_name_font_size" />
|
||||
|
||||
@@ -135,6 +135,7 @@
|
||||
<TextView
|
||||
android:id="@+id/city_day_right"
|
||||
style="@style/widget_label"
|
||||
+ android:fontFamily="sans-serif"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/style_label_space"
|
||||
@@ -143,7 +144,6 @@
|
||||
android:format24Hour="@string/abbrev_wday"
|
||||
android:includeFontPadding="false"
|
||||
android:singleLine="true"
|
||||
- android:textAllCaps="true"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/city_widget_name_font_size" />
|
||||
|
||||
diff --git a/res/values-h560dp/dimens.xml b/res/values-h560dp/dimens.xml
|
||||
index 003a5ad9f..6e25621ab 100644
|
||||
--- a/res/values-h560dp/dimens.xml
|
||||
+++ b/res/values-h560dp/dimens.xml
|
||||
@@ -16,5 +16,5 @@
|
||||
|
||||
<resources>
|
||||
<!-- The maximum size of the font for the time in widgets. -->
|
||||
- <dimen name="widget_max_clock_font_size">96dp</dimen>
|
||||
+ <dimen name="widget_max_clock_font_size">88dp</dimen>
|
||||
</resources>
|
||||
\ No newline at end of file
|
||||
diff --git a/res/values-h650dp/dimens.xml b/res/values-h650dp/dimens.xml
|
||||
index 2cc58cb32..6e25621ab 100644
|
||||
--- a/res/values-h650dp/dimens.xml
|
||||
+++ b/res/values-h650dp/dimens.xml
|
||||
@@ -16,5 +16,5 @@
|
||||
|
||||
<resources>
|
||||
<!-- The maximum size of the font for the time in widgets. -->
|
||||
- <dimen name="widget_max_clock_font_size">100dp</dimen>
|
||||
+ <dimen name="widget_max_clock_font_size">88dp</dimen>
|
||||
</resources>
|
||||
\ No newline at end of file
|
||||
diff --git a/res/values-v21/styles.xml b/res/values-v21/styles.xml
|
||||
index f1dca16c0..7bc382a4d 100644
|
||||
--- a/res/values-v21/styles.xml
|
||||
+++ b/res/values-v21/styles.xml
|
||||
@@ -18,17 +18,17 @@
|
||||
<resources>
|
||||
|
||||
<style name="body">
|
||||
- <item name="android:textSize">14sp</item>
|
||||
+ <item name="android:textSize">16sp</item>
|
||||
<item name="android:textColor">@color/white</item>
|
||||
- <item name="android:fontFamily">sans-serif-medium</item>
|
||||
+ <item name="android:fontFamily">sans-serif</item>
|
||||
</style>
|
||||
|
||||
<style name="PrimaryLabelTextAppearance" parent="PrimaryLabelTextParentAppearance">
|
||||
- <item name="android:fontFamily">sans-serif-medium</item>
|
||||
+ <item name="android:fontFamily">sans-serif</item>
|
||||
</style>
|
||||
|
||||
<style name="SecondaryLabelTextAppearance" parent="SecondaryLabelTextParentAppearance">
|
||||
- <item name="android:fontFamily">sans-serif-medium</item>
|
||||
+ <item name="android:fontFamily">sans-serif</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
diff --git a/res/values-v23/styles.xml b/res/values-v23/styles.xml
|
||||
index 34dcf5d73..6bf964256 100644
|
||||
--- a/res/values-v23/styles.xml
|
||||
+++ b/res/values-v23/styles.xml
|
||||
@@ -26,8 +26,6 @@
|
||||
</style>
|
||||
|
||||
<style name="widget_label" parent="label">
|
||||
- <item name="android:textAllCaps">true</item>
|
||||
- <item name="android:letterSpacing">0.15</item>
|
||||
<item name="android:shadowRadius">@dimen/widget_shadow_radius</item>
|
||||
<item name="android:shadowColor">@color/widget_shadow_color</item>
|
||||
<item name="android:shadowDx">@dimen/widget_shadow_dx</item>
|
||||
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
|
||||
index 8c11977ac..39973aee8 100644
|
||||
--- a/res/values/dimens.xml
|
||||
+++ b/res/values/dimens.xml
|
||||
@@ -44,7 +44,7 @@
|
||||
<dimen name="alarm_lockscreen_bottom_margin">40dp</dimen>
|
||||
|
||||
<dimen name="main_clock_font_size">64sp</dimen>
|
||||
- <dimen name="main_clock_digital_font_size">90sp</dimen>
|
||||
+ <dimen name="main_clock_digital_font_size">88sp</dimen>
|
||||
<dimen name="main_clock_digital_padding">24dp</dimen>
|
||||
<dimen name="big_font_size">32sp</dimen>
|
||||
<dimen name="label_font_size">16sp</dimen>
|
||||
@@ -98,15 +98,15 @@
|
||||
<dimen name="digital_widget_city_24_medium_font_size">40sp</dimen>
|
||||
|
||||
<!-- The fixed size of the font for the city name / day of week in the city widget. -->
|
||||
- <dimen name="city_widget_name_font_size">10dp</dimen>
|
||||
+ <dimen name="city_widget_name_font_size">12dp</dimen>
|
||||
<!-- The maximum size of the font for the time in widgets. -->
|
||||
<dimen name="widget_max_clock_font_size">88dp</dimen>
|
||||
<dimen name="widget_min_world_city_list_size">80dp</dimen>
|
||||
|
||||
<!-- shadow styles for widget text with drop shadows -->
|
||||
- <item name="widget_shadow_radius" format="float" type="dimen">2.75</item>
|
||||
- <item name="widget_shadow_dx" format="float" type="dimen">2.0</item>
|
||||
- <item name="widget_shadow_dy" format="float" type="dimen">2.0</item>
|
||||
+ <item name="widget_shadow_radius" format="float" type="dimen">0</item>
|
||||
+ <item name="widget_shadow_dx" format="float" type="dimen">0</item>
|
||||
+ <item name="widget_shadow_dy" format="float" type="dimen">0</item>
|
||||
|
||||
<!-- Divider height -->
|
||||
<dimen name="hairline_height">1dp</dimen>
|
||||
diff --git a/res/values/styles.xml b/res/values/styles.xml
|
||||
index f247f655b..1a2f163cd 100644
|
||||
--- a/res/values/styles.xml
|
||||
+++ b/res/values/styles.xml
|
||||
@@ -51,12 +51,13 @@
|
||||
<style name="world_clock_time">
|
||||
<item name="android:textSize">48sp</item>
|
||||
<item name="android:textColor">@color/white</item>
|
||||
- <item name="android:fontFamily">sans-serif-light</item>
|
||||
+ <item name="android:fontFamily">sans-serif-thin</item>
|
||||
</style>
|
||||
|
||||
<style name="body">
|
||||
- <item name="android:textSize">14sp</item>
|
||||
+ <item name="android:textSize">16sp</item>
|
||||
<item name="android:textColor">@color/white</item>
|
||||
+ <item name="android:fontFamily">sans-serif</item>
|
||||
</style>
|
||||
|
||||
<style name="big_thin">
|
||||
diff --git a/src/com/android/alarmclock/DigitalAppWidgetProvider.java b/src/com/android/alarmclock/DigitalAppWidgetProvider.java
|
||||
index 3be07eca7..86f1d991e 100644
|
||||
--- a/src/com/android/alarmclock/DigitalAppWidgetProvider.java
|
||||
+++ b/src/com/android/alarmclock/DigitalAppWidgetProvider.java
|
||||
@@ -453,7 +453,13 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider {
|
||||
*/
|
||||
private static String getDateFormat(Context context) {
|
||||
final Locale locale = Locale.getDefault();
|
||||
- final String skeleton = context.getString(R.string.abbrev_wday_month_day_no_year);
|
||||
+ final String nextAlarmTime = Utils.getNextAlarm(context);
|
||||
+ final String skeleton;
|
||||
+ if (TextUtils.isEmpty(nextAlarmTime)) {
|
||||
+ skeleton = context.getString(R.string.full_wday_month_day_no_year);
|
||||
+ } else {
|
||||
+ skeleton = context.getString(R.string.abbrev_wday_month_day_no_year);
|
||||
+ }
|
||||
return DateFormat.getBestDateTimePattern(locale, skeleton);
|
||||
}
|
||||
|
||||
@@ -495,7 +501,7 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider {
|
||||
private int getClockFontSizePx() { return mClockFontSizePx; }
|
||||
private void setClockFontSizePx(int clockFontSizePx) {
|
||||
mClockFontSizePx = clockFontSizePx;
|
||||
- mFontSizePx = max(1, round(clockFontSizePx / 7.5f));
|
||||
+ mFontSizePx = max(1, round(clockFontSizePx / 5.5f));
|
||||
mIconFontSizePx = (int) (mFontSizePx * 1.4f);
|
||||
mIconPaddingPx = mFontSizePx / 3;
|
||||
}
|
||||
diff --git a/src/com/android/deskclock/ClockFragment.java b/src/com/android/deskclock/ClockFragment.java
|
||||
index 1536b55df..6a2767551 100644
|
||||
--- a/src/com/android/deskclock/ClockFragment.java
|
||||
+++ b/src/com/android/deskclock/ClockFragment.java
|
||||
@@ -80,6 +80,7 @@ public final class ClockFragment extends DeskClockFragment {
|
||||
private SelectedCitiesAdapter mCityAdapter;
|
||||
private RecyclerView mCityList;
|
||||
private String mDateFormat;
|
||||
+ private String mDateFormatAlarm;
|
||||
private String mDateFormatForAccessibility;
|
||||
|
||||
/**
|
||||
@@ -103,11 +104,12 @@ public final class ClockFragment extends DeskClockFragment {
|
||||
|
||||
final View fragmentView = inflater.inflate(R.layout.clock_fragment, container, false);
|
||||
|
||||
- mDateFormat = getString(R.string.abbrev_wday_month_day_no_year);
|
||||
+ mDateFormat = getString(R.string.full_wday_month_day_no_year);
|
||||
+ mDateFormatAlarm = getString(R.string.abbrev_wday_month_day_no_year);
|
||||
mDateFormatForAccessibility = getString(R.string.full_wday_month_day_no_year);
|
||||
|
||||
mCityAdapter = new SelectedCitiesAdapter(getActivity(), mDateFormat,
|
||||
- mDateFormatForAccessibility);
|
||||
+ mDateFormatAlarm, mDateFormatForAccessibility);
|
||||
|
||||
mCityList = (RecyclerView) fragmentView.findViewById(R.id.cities);
|
||||
mCityList.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
@@ -129,7 +131,7 @@ public final class ClockFragment extends DeskClockFragment {
|
||||
mDigitalClock = (TextClock) mClockFrame.findViewById(R.id.digital_clock);
|
||||
mAnalogClock = (AnalogClock) mClockFrame.findViewById(R.id.analog_clock);
|
||||
Utils.setClockIconTypeface(mClockFrame);
|
||||
- Utils.updateDate(mDateFormat, mDateFormatForAccessibility, mClockFrame);
|
||||
+ Utils.updateDate(getActivity(), mDateFormat, mDateFormatAlarm, mDateFormatForAccessibility, mClockFrame);
|
||||
Utils.setClockStyle(mDigitalClock, mAnalogClock);
|
||||
Utils.setClockSecondsEnabled(mDigitalClock, mAnalogClock);
|
||||
}
|
||||
@@ -146,7 +148,8 @@ public final class ClockFragment extends DeskClockFragment {
|
||||
|
||||
final Activity activity = getActivity();
|
||||
|
||||
- mDateFormat = getString(R.string.abbrev_wday_month_day_no_year);
|
||||
+ mDateFormat = getString(R.string.full_wday_month_day_no_year);
|
||||
+ mDateFormatAlarm = getString(R.string.abbrev_wday_month_day_no_year);
|
||||
mDateFormatForAccessibility = getString(R.string.full_wday_month_day_no_year);
|
||||
|
||||
// Watch for system events that effect clock time or format.
|
||||
@@ -343,13 +346,15 @@ public final class ClockFragment extends DeskClockFragment {
|
||||
private final Context mContext;
|
||||
private final boolean mIsPortrait;
|
||||
private final boolean mShowHomeClock;
|
||||
- private final String mDateFormat;
|
||||
- private final String mDateFormatForAccessibility;
|
||||
+ private static String mDateFormat;
|
||||
+ private static String mDateFormatAlarm;
|
||||
+ private static String mDateFormatForAccessibility;
|
||||
|
||||
private SelectedCitiesAdapter(Context context, String dateFormat,
|
||||
- String dateFormatForAccessibility) {
|
||||
+ String dateFormatAlarm, String dateFormatForAccessibility) {
|
||||
mContext = context;
|
||||
mDateFormat = dateFormat;
|
||||
+ mDateFormatAlarm = dateFormatAlarm;
|
||||
mDateFormatForAccessibility = dateFormatForAccessibility;
|
||||
mInflater = LayoutInflater.from(context);
|
||||
mIsPortrait = Utils.isPortrait(context);
|
||||
@@ -536,7 +541,7 @@ public final class ClockFragment extends DeskClockFragment {
|
||||
String dateFormatForAccessibility, boolean showHairline) {
|
||||
Utils.refreshAlarm(context, itemView);
|
||||
|
||||
- Utils.updateDate(dateFormat, dateFormatForAccessibility, itemView);
|
||||
+ Utils.updateDate(context, mDateFormat, mDateFormatAlarm, mDateFormatForAccessibility, itemView);
|
||||
Utils.setClockStyle(mDigitalClock, mAnalogClock);
|
||||
mHairline.setVisibility(showHairline ? VISIBLE : GONE);
|
||||
|
||||
diff --git a/src/com/android/deskclock/Screensaver.java b/src/com/android/deskclock/Screensaver.java
|
||||
index 427885e68..2619c1d4a 100644
|
||||
--- a/src/com/android/deskclock/Screensaver.java
|
||||
+++ b/src/com/android/deskclock/Screensaver.java
|
||||
@@ -42,6 +42,7 @@ public final class Screensaver extends DreamService {
|
||||
private MoveScreensaverRunnable mPositionUpdater;
|
||||
|
||||
private String mDateFormat;
|
||||
+ private String mDateFormatAlarm;
|
||||
private String mDateFormatForAccessibility;
|
||||
|
||||
private View mContentView;
|
||||
@@ -62,7 +63,7 @@ public final class Screensaver extends DreamService {
|
||||
private final Runnable mMidnightUpdater = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
- Utils.updateDate(mDateFormat, mDateFormatForAccessibility, mContentView);
|
||||
+ Utils.updateDate(Screensaver.this, mDateFormat, mDateFormatAlarm, mDateFormatForAccessibility, mContentView);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -83,7 +84,8 @@ public final class Screensaver extends DreamService {
|
||||
setTheme(R.style.Theme_DeskClock);
|
||||
super.onCreate();
|
||||
|
||||
- mDateFormat = getString(R.string.abbrev_wday_month_day_no_year);
|
||||
+ mDateFormat = getString(R.string.full_wday_month_day_no_year);
|
||||
+ mDateFormatAlarm = getString(R.string.abbrev_wday_month_day_no_year);
|
||||
mDateFormatForAccessibility = getString(R.string.full_wday_month_day_no_year);
|
||||
}
|
||||
|
||||
@@ -128,7 +130,7 @@ public final class Screensaver extends DreamService {
|
||||
getContentResolver().registerContentObserver(uri, false, mSettingsContentObserver);
|
||||
}
|
||||
|
||||
- Utils.updateDate(mDateFormat, mDateFormatForAccessibility, mContentView);
|
||||
+ Utils.updateDate(this, mDateFormat, mDateFormatAlarm, mDateFormatForAccessibility, mContentView);
|
||||
Utils.refreshAlarm(this, mContentView);
|
||||
|
||||
startPositionUpdater();
|
||||
diff --git a/src/com/android/deskclock/ScreensaverActivity.java b/src/com/android/deskclock/ScreensaverActivity.java
|
||||
index 656cfc718..fef670c37 100644
|
||||
--- a/src/com/android/deskclock/ScreensaverActivity.java
|
||||
+++ b/src/com/android/deskclock/ScreensaverActivity.java
|
||||
@@ -86,11 +86,12 @@ public class ScreensaverActivity extends BaseActivity {
|
||||
private final Runnable mMidnightUpdater = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
- Utils.updateDate(mDateFormat, mDateFormatForAccessibility, mContentView);
|
||||
+ Utils.updateDate(ScreensaverActivity.this, mDateFormat, mDateFormatAlarm, mDateFormatForAccessibility, mContentView);
|
||||
}
|
||||
};
|
||||
|
||||
private String mDateFormat;
|
||||
+ private String mDateFormatAlarm;
|
||||
private String mDateFormatForAccessibility;
|
||||
|
||||
private View mContentView;
|
||||
@@ -102,7 +103,8 @@ public class ScreensaverActivity extends BaseActivity {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
- mDateFormat = getString(R.string.abbrev_wday_month_day_no_year);
|
||||
+ mDateFormat = getString(R.string.full_wday_month_day_no_year);
|
||||
+ mDateFormatAlarm = getString(R.string.abbrev_wday_month_day_no_year);
|
||||
mDateFormatForAccessibility = getString(R.string.full_wday_month_day_no_year);
|
||||
|
||||
setContentView(R.layout.desk_clock_saver);
|
||||
@@ -159,7 +161,7 @@ public class ScreensaverActivity extends BaseActivity {
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
||||
- Utils.updateDate(mDateFormat, mDateFormatForAccessibility, mContentView);
|
||||
+ Utils.updateDate(ScreensaverActivity.this, mDateFormat, mDateFormatAlarm, mDateFormatForAccessibility, mContentView);
|
||||
Utils.refreshAlarm(ScreensaverActivity.this, mContentView);
|
||||
|
||||
startPositionUpdater();
|
||||
diff --git a/src/com/android/deskclock/Utils.java b/src/com/android/deskclock/Utils.java
|
||||
index 0c9daf603..cbab0ede7 100644
|
||||
--- a/src/com/android/deskclock/Utils.java
|
||||
+++ b/src/com/android/deskclock/Utils.java
|
||||
@@ -346,6 +346,11 @@ public class Utils {
|
||||
nextAlarmView.setVisibility(View.GONE);
|
||||
nextAlarmIconView.setVisibility(View.GONE);
|
||||
}
|
||||
+
|
||||
+ String mDateFormat = context.getString(R.string.full_wday_month_day_no_year);
|
||||
+ String mDateFormatAlarm = context.getString(R.string.abbrev_wday_month_day_no_year);
|
||||
+ String mDateFormatForAccessibility = context.getString(R.string.full_wday_month_day_no_year);
|
||||
+ Utils.updateDate(context, mDateFormat, mDateFormatAlarm, mDateFormatForAccessibility, clock);
|
||||
}
|
||||
|
||||
public static void setClockIconTypeface(View clock) {
|
||||
@@ -356,14 +361,21 @@ public class Utils {
|
||||
/**
|
||||
* Clock views can call this to refresh their date.
|
||||
**/
|
||||
- public static void updateDate(String dateSkeleton, String descriptionSkeleton, View clock) {
|
||||
+ public static void updateDate(Context context, String dateSkeleton, String dateSkeletonAlarm, String descriptionSkeleton, View clock) {
|
||||
final TextView dateDisplay = (TextView) clock.findViewById(R.id.date);
|
||||
if (dateDisplay == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
final Locale l = Locale.getDefault();
|
||||
- final String datePattern = DateFormat.getBestDateTimePattern(l, dateSkeleton);
|
||||
+ final String datePattern;
|
||||
+ final String alarm = getNextAlarm(context);
|
||||
+ if (!TextUtils.isEmpty(alarm)) {
|
||||
+ datePattern = DateFormat.getBestDateTimePattern(l, dateSkeletonAlarm);
|
||||
+ } else {
|
||||
+ datePattern = DateFormat.getBestDateTimePattern(l, dateSkeleton);
|
||||
+ }
|
||||
+
|
||||
final String descriptionPattern = DateFormat.getBestDateTimePattern(l, descriptionSkeleton);
|
||||
|
||||
final Date now = new Date();
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,53 +0,0 @@
|
||||
From 082405343f20e983f759e165df7feb162787edf3 Mon Sep 17 00:00:00 2001
|
||||
From: AndyCGYan <GeForce8800Ultra@gmail.com>
|
||||
Date: Fri, 22 Mar 2019 00:41:20 +0800
|
||||
Subject: [PATCH] Disable FP lockouts
|
||||
|
||||
Both timed and permanent lockouts - GET THE FUCK OUT
|
||||
Android 10 seems to have unified biometrics procedures - only disable lockouts for FP for now
|
||||
|
||||
Change-Id: I2d4b091f3546d4d7903bfb4d5585629212dc9915
|
||||
---
|
||||
.../fingerprint/FingerprintService.java | 19 +------------------
|
||||
1 file changed, 1 insertion(+), 18 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java b/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
|
||||
index def1a8735903..e83625805101 100644
|
||||
--- a/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
|
||||
+++ b/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
|
||||
@@ -173,15 +173,7 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
|
||||
@Override
|
||||
public int handleFailedAttempt() {
|
||||
- final int currentUser = ActivityManager.getCurrentUser();
|
||||
- mFailedAttempts.put(currentUser, mFailedAttempts.get(currentUser, 0) + 1);
|
||||
- mTimedLockoutCleared.put(ActivityManager.getCurrentUser(), false);
|
||||
-
|
||||
- if (getLockoutMode() != AuthenticationClient.LOCKOUT_NONE) {
|
||||
- scheduleLockoutResetForUser(currentUser);
|
||||
- }
|
||||
-
|
||||
- return super.handleFailedAttempt();
|
||||
+ return AuthenticationClient.LOCKOUT_NONE;
|
||||
}
|
||||
|
||||
boolean isDetectOnly() {
|
||||
@@ -983,15 +975,6 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
|
||||
@Override
|
||||
protected int getLockoutMode() {
|
||||
- final int currentUser = ActivityManager.getCurrentUser();
|
||||
- final int failedAttempts = mFailedAttempts.get(currentUser, 0);
|
||||
- if (failedAttempts >= MAX_FAILED_ATTEMPTS_LOCKOUT_PERMANENT) {
|
||||
- return AuthenticationClient.LOCKOUT_PERMANENT;
|
||||
- } else if (failedAttempts > 0
|
||||
- && !mTimedLockoutCleared.get(currentUser, false)
|
||||
- && (failedAttempts % MAX_FAILED_ATTEMPTS_LOCKOUT_TIMED == 0)) {
|
||||
- return AuthenticationClient.LOCKOUT_TIMED;
|
||||
- }
|
||||
return AuthenticationClient.LOCKOUT_NONE;
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,115 +0,0 @@
|
||||
From b31d35b66b2b5d46862e5da87d6f425fd711e04d Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 27 Jun 2021 05:21:38 +0000
|
||||
Subject: [PATCH] [HACK] Only use meizu-vibrator on Meizu 18
|
||||
|
||||
- Convert manifest to VINTF fragment
|
||||
- If not the target device, bind to dummy manifest on boot
|
||||
|
||||
Change-Id: I97fc52a98a77aa72bbd5601f36abc0cf18efbaea
|
||||
---
|
||||
framework_manifest.xml | 10 ----------
|
||||
hal/meizu-vibrator/Android.bp | 1 +
|
||||
.../android.hardware.vibrator@1.3-service.meizu.xml | 11 +++++++++++
|
||||
hal/meizu-vibrator/manifest_dummy.xml | 3 +++
|
||||
rw-system.sh | 10 ++++++++--
|
||||
5 files changed, 23 insertions(+), 12 deletions(-)
|
||||
create mode 100644 hal/meizu-vibrator/android.hardware.vibrator@1.3-service.meizu.xml
|
||||
create mode 100644 hal/meizu-vibrator/manifest_dummy.xml
|
||||
|
||||
diff --git a/framework_manifest.xml b/framework_manifest.xml
|
||||
index 1b45b4a..cb37b49 100644
|
||||
--- a/framework_manifest.xml
|
||||
+++ b/framework_manifest.xml
|
||||
@@ -19,15 +19,5 @@
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
-
|
||||
- <hal>
|
||||
- <name>android.hardware.vibrator</name>
|
||||
- <transport>hwbinder</transport>
|
||||
- <version>1.3</version>
|
||||
- <interface>
|
||||
- <name>IVibrator</name>
|
||||
- <instance>default</instance>
|
||||
- </interface>
|
||||
- </hal>
|
||||
</manifest>
|
||||
|
||||
diff --git a/hal/meizu-vibrator/Android.bp b/hal/meizu-vibrator/Android.bp
|
||||
index 4e3c1b9..276728c 100644
|
||||
--- a/hal/meizu-vibrator/Android.bp
|
||||
+++ b/hal/meizu-vibrator/Android.bp
|
||||
@@ -15,6 +15,7 @@
|
||||
cc_binary {
|
||||
name: "android.hardware.vibrator@1.3-service.meizu",
|
||||
relative_install_path: "hw",
|
||||
+ vintf_fragments: ["android.hardware.vibrator@1.3-service.meizu.xml", "manifest_dummy.xml"],
|
||||
init_rc: ["android.hardware.vibrator@1.3-service.meizu.rc"],
|
||||
srcs: ["service.cpp", "Vibrator.cpp"],
|
||||
cflags: ["-Wall", "-Werror"],
|
||||
diff --git a/hal/meizu-vibrator/android.hardware.vibrator@1.3-service.meizu.xml b/hal/meizu-vibrator/android.hardware.vibrator@1.3-service.meizu.xml
|
||||
new file mode 100644
|
||||
index 0000000..d1b836e
|
||||
--- /dev/null
|
||||
+++ b/hal/meizu-vibrator/android.hardware.vibrator@1.3-service.meizu.xml
|
||||
@@ -0,0 +1,11 @@
|
||||
+<manifest version="1.0" type="framework">
|
||||
+ <hal format="hidl">
|
||||
+ <name>android.hardware.vibrator</name>
|
||||
+ <transport>hwbinder</transport>
|
||||
+ <version>1.3</version>
|
||||
+ <interface>
|
||||
+ <name>IVibrator</name>
|
||||
+ <instance>default</instance>
|
||||
+ </interface>
|
||||
+ </hal>
|
||||
+</manifest>
|
||||
diff --git a/hal/meizu-vibrator/manifest_dummy.xml b/hal/meizu-vibrator/manifest_dummy.xml
|
||||
new file mode 100644
|
||||
index 0000000..b34a10b
|
||||
--- /dev/null
|
||||
+++ b/hal/meizu-vibrator/manifest_dummy.xml
|
||||
@@ -0,0 +1,3 @@
|
||||
+<!-- Dummy manifest XML -->
|
||||
+<manifest version="1.0" type="framework">
|
||||
+</manifest>
|
||||
diff --git a/rw-system.sh b/rw-system.sh
|
||||
index 43cdf55..2f05081 100644
|
||||
--- a/rw-system.sh
|
||||
+++ b/rw-system.sh
|
||||
@@ -314,6 +314,12 @@ if [ "$foundFingerprint" = false ];then
|
||||
mount -o bind system/phh/empty /system/etc/permissions/android.hardware.fingerprint.xml
|
||||
fi
|
||||
|
||||
+if ! getprop ro.vendor.build.fingerprint | grep -qE 'meizu_18'; then
|
||||
+ mount -o bind system/phh/empty /system/bin/hw/android.hardware.vibrator@1.3-service.meizu
|
||||
+ mount -o bind system/phh/empty /system/etc/init/android.hardware.vibrator@1.3-service.meizu.rc
|
||||
+ mount -o bind system/etc/vintf/manifest/manifest_dummy.xml /system/etc/vintf/manifest/android.hardware.vibrator@1.3-service.meizu.xml
|
||||
+fi
|
||||
+
|
||||
if ! grep android.hardware.bluetooth /vendor/manifest.xml && ! grep android.hardware.bluetooth /vendor/etc/vintf/manifest.xml; then
|
||||
mount -o bind system/phh/empty /system/etc/permissions/android.hardware.bluetooth.xml
|
||||
mount -o bind system/phh/empty /system/etc/permissions/android.hardware.bluetooth_le.xml
|
||||
@@ -385,7 +391,7 @@ if getprop ro.build.overlay.deviceid |grep -q -e CPH1859 -e CPH1861 -e RMX1811 -
|
||||
setprop persist.sys.qcom-brightness "$(cat /sys/class/leds/lcd-backlight/max_brightness)"
|
||||
fi
|
||||
|
||||
-if getprop ro.build.overlay.deviceid |grep -iq -e RMX2020 -e RMX2027 -e RMX2040 -e RMX2193 -e RMX2191;then
|
||||
+if getprop ro.build.overlay.deviceid |grep -iq -e RMX2020 -e RMX2027 -e RMX2040 -e RMX2193 -e RMX2191;then
|
||||
setprop persist.sys.qcom-brightness 2047
|
||||
setprop persist.sys.overlay.devinputjack true
|
||||
setprop persist.sys.phh.fingerprint.nocleanup true
|
||||
@@ -872,7 +878,7 @@ if getprop ro.build.overlay.deviceid |grep -qiE -e '^RMX' -e '^CPH';then
|
||||
setprop persist.sys.phh.fod.bbk true
|
||||
fi
|
||||
|
||||
-if getprop ro.build.overlay.deviceid |grep -iq -e RMX1941 -e RMX1945 -e RMX1943 -e RMX1942;then
|
||||
+if getprop ro.build.overlay.deviceid |grep -iq -e RMX1941 -e RMX1945 -e RMX1943 -e RMX1942;then
|
||||
setprop persist.sys.qcom-brightness "$(cat /sys/class/leds/lcd-backlight/max_brightness)"
|
||||
setprop persist.sys.phh.mainkeys 0
|
||||
fi
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,54 +0,0 @@
|
||||
From d4d4ba1db635471773f4e8a064b38dbfe8a39128 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 2 Nov 2019 11:11:07 +0000
|
||||
Subject: [PATCH] Keyguard: Fix clock position
|
||||
|
||||
New method - way easier than what was done on Pie
|
||||
Still not perfect:
|
||||
- Notification padding has to be taken care of in some other way - directly altering stackScrollerPadding causes visual glitches
|
||||
|
||||
Change-Id: Ia5cebd04c2cb4b324c04019afdf045d5489cf2b8
|
||||
---
|
||||
.../statusbar/phone/KeyguardClockPositionAlgorithm.java | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java
|
||||
index 4e91e4c84e9..0277b341a00 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java
|
||||
@@ -177,7 +177,8 @@ public class KeyguardClockPositionAlgorithm {
|
||||
}
|
||||
|
||||
private int getMaxClockY() {
|
||||
- return mHeight / 2 - mKeyguardStatusHeight - mClockNotificationsMargin;
|
||||
+ // Align the center of the clock at 1/3 of the screen
|
||||
+ return mHeight / 3 - mKeyguardStatusHeight / 2;
|
||||
}
|
||||
|
||||
private int getPreferredClockY() {
|
||||
@@ -214,12 +215,11 @@ public class KeyguardClockPositionAlgorithm {
|
||||
}
|
||||
|
||||
private int getClockY(float panelExpansion) {
|
||||
- // Dark: Align the bottom edge of the clock at about half of the screen:
|
||||
float clockYDark = (mHasCustomClock ? getPreferredClockY() : getMaxClockY())
|
||||
+ burnInPreventionOffsetY();
|
||||
clockYDark = MathUtils.max(0, clockYDark);
|
||||
|
||||
- float clockYRegular = getExpandedPreferredClockY();
|
||||
+ float clockYRegular = getMaxClockY();
|
||||
float clockYBouncer = -mKeyguardStatusHeight;
|
||||
|
||||
// Move clock up while collapsing the shade
|
||||
@@ -240,7 +240,7 @@ public class KeyguardClockPositionAlgorithm {
|
||||
* @return Alpha from 0 to 1.
|
||||
*/
|
||||
private float getClockAlpha(int y) {
|
||||
- float alphaKeyguard = Math.max(0, y / Math.max(1f, getClockY(1f)));
|
||||
+ float alphaKeyguard = Math.max(0, y / Math.max(1f, getMaxClockY()));
|
||||
alphaKeyguard = Interpolators.ACCELERATE.getInterpolation(alphaKeyguard);
|
||||
return MathUtils.lerp(alphaKeyguard, 1f, mDarkAmount);
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,31 +0,0 @@
|
||||
From d216c498168b513becb119873fd47b507686fce9 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 2 Nov 2019 06:41:03 +0000
|
||||
Subject: [PATCH] Keyguard: Hide padlock
|
||||
|
||||
It's just fking ugly.
|
||||
Please Google, stop your UI designers.
|
||||
|
||||
Change-Id: Ie91e80ca5c6637a51a8acc72fb28cd6ac2a7abb6
|
||||
---
|
||||
packages/SystemUI/res/values/dimens.xml | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
|
||||
index 352640b7d06..5ab891ddb92 100644
|
||||
--- a/packages/SystemUI/res/values/dimens.xml
|
||||
+++ b/packages/SystemUI/res/values/dimens.xml
|
||||
@@ -757,8 +757,8 @@
|
||||
<dimen name="keyguard_affordance_width">56dp</dimen>
|
||||
|
||||
<!-- The width/height of the unlock icon view on keyguard. -->
|
||||
- <dimen name="keyguard_lock_height">42dp</dimen>
|
||||
- <dimen name="keyguard_lock_width">42dp</dimen>
|
||||
+ <dimen name="keyguard_lock_height">0dp</dimen>
|
||||
+ <dimen name="keyguard_lock_width">0dp</dimen>
|
||||
<dimen name="keyguard_lock_padding">20dp</dimen>
|
||||
|
||||
<dimen name="keyguard_indication_margin_bottom">40dp</dimen>
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,89 +0,0 @@
|
||||
From adf1d57def006b06d383a99b52f12c7dd09852fa Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 2 Nov 2019 08:31:36 +0000
|
||||
Subject: [PATCH] Keyguard: Refine indication text
|
||||
|
||||
- Always show "Swipe up to unlock" hint
|
||||
- Put the text in-line with bottom shortcuts
|
||||
- Don't show charging state alongside other hints
|
||||
|
||||
Change-Id: Ib771c35610f712a1de34736e817bcfe616ac37d8
|
||||
---
|
||||
packages/SystemUI/res/values-sw600dp-land/dimens.xml | 2 +-
|
||||
packages/SystemUI/res/values-sw600dp/dimens.xml | 2 +-
|
||||
packages/SystemUI/res/values/dimens.xml | 2 +-
|
||||
.../statusbar/KeyguardIndicationController.java | 12 ++----------
|
||||
4 files changed, 5 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/res/values-sw600dp-land/dimens.xml b/packages/SystemUI/res/values-sw600dp-land/dimens.xml
|
||||
index f2df4b9023b..7719a0ae0ba 100644
|
||||
--- a/packages/SystemUI/res/values-sw600dp-land/dimens.xml
|
||||
+++ b/packages/SystemUI/res/values-sw600dp-land/dimens.xml
|
||||
@@ -18,7 +18,7 @@
|
||||
<resources>
|
||||
<dimen name="keyguard_clock_notifications_margin">36dp</dimen>
|
||||
|
||||
- <dimen name="keyguard_indication_margin_bottom">80dp</dimen>
|
||||
+ <dimen name="keyguard_indication_margin_bottom">40dp</dimen>
|
||||
|
||||
<!-- Screen pinning request width (just a little bit bigger than the three buttons here -->
|
||||
<dimen name="screen_pinning_request_width">490dp</dimen>
|
||||
diff --git a/packages/SystemUI/res/values-sw600dp/dimens.xml b/packages/SystemUI/res/values-sw600dp/dimens.xml
|
||||
index aa574c7d9f6..d06906bab08 100644
|
||||
--- a/packages/SystemUI/res/values-sw600dp/dimens.xml
|
||||
+++ b/packages/SystemUI/res/values-sw600dp/dimens.xml
|
||||
@@ -71,7 +71,7 @@
|
||||
phone hints. -->
|
||||
<dimen name="edge_tap_area_width">80dp</dimen>
|
||||
|
||||
- <dimen name="keyguard_indication_margin_bottom">90dp</dimen>
|
||||
+ <dimen name="keyguard_indication_margin_bottom">40dp</dimen>
|
||||
|
||||
<!-- Margin on the right side of the system icon group on Keyguard. -->
|
||||
<dimen name="system_icons_keyguard_padding_end">2dp</dimen>
|
||||
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
|
||||
index 9d44ece810a..aa3b0566bdc 100644
|
||||
--- a/packages/SystemUI/res/values/dimens.xml
|
||||
+++ b/packages/SystemUI/res/values/dimens.xml
|
||||
@@ -826,7 +826,7 @@
|
||||
<dimen name="keyguard_lock_width">0dp</dimen>
|
||||
<dimen name="keyguard_lock_padding">20dp</dimen>
|
||||
|
||||
- <dimen name="keyguard_indication_margin_bottom">40dp</dimen>
|
||||
+ <dimen name="keyguard_indication_margin_bottom">20dp</dimen>
|
||||
|
||||
<!-- The text size for battery level -->
|
||||
<dimen name="battery_level_text_size">12sp</dimen>
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
|
||||
index dd6a0f053f9..1c67f914105 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
|
||||
@@ -447,15 +447,7 @@ public class KeyguardIndicationController implements StateListener,
|
||||
isError = mTransientTextIsError;
|
||||
} else if (!TextUtils.isEmpty(trustGrantedIndication)
|
||||
&& mKeyguardUpdateMonitor.getUserHasTrust(userId)) {
|
||||
- if (powerIndication != null) {
|
||||
- String indication = mContext.getResources().getString(
|
||||
- R.string.keyguard_indication_trust_unlocked_plugged_in,
|
||||
- trustGrantedIndication, powerIndication);
|
||||
- mTextView.switchIndication(indication);
|
||||
- hideIndication = !mBatteryPresent;
|
||||
- } else {
|
||||
- mTextView.switchIndication(trustGrantedIndication);
|
||||
- }
|
||||
+ mTextView.switchIndication(trustGrantedIndication);
|
||||
} else if (!TextUtils.isEmpty(mAlignmentIndication)) {
|
||||
mTextView.switchIndication(mAlignmentIndication);
|
||||
isError = true;
|
||||
@@ -475,7 +467,7 @@ public class KeyguardIndicationController implements StateListener,
|
||||
&& !mKeyguardUpdateMonitor.getUserHasTrust(userId)) {
|
||||
mTextView.switchIndication(trustManagedIndication);
|
||||
} else {
|
||||
- mTextView.switchIndication(mRestingIndication);
|
||||
+ mTextView.switchIndication(R.string.keyguard_unlock);
|
||||
}
|
||||
mTextView.setTextColor(isError ? Utils.getColorError(mContext)
|
||||
: mInitialTextColorState);
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,260 +0,0 @@
|
||||
From fb4bae8cdadf697b6f66b048c34295be6f0d2b56 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 2 Nov 2019 07:52:36 +0000
|
||||
Subject: [PATCH] Keyguard: Revert date and clock to Lollipop style
|
||||
|
||||
Also ported dynamic date format based on alarm presence from Oreo
|
||||
|
||||
Change-Id: I0f61c641ffb2a3e1e6b4da738792ee4ac1d77434
|
||||
---
|
||||
.../layout/keyguard_clock_switch.xml | 3 ---
|
||||
.../layout/keyguard_status_view.xml | 1 -
|
||||
.../res-keyguard/values-h560dp/dimens.xml | 2 +-
|
||||
.../res-keyguard/values-h650dp/dimens.xml | 2 +-
|
||||
.../SystemUI/res-keyguard/values/dimens.xml | 6 ++---
|
||||
.../SystemUI/res-keyguard/values/strings.xml | 4 ++--
|
||||
.../SystemUI/res-keyguard/values/styles.xml | 18 ++++-----------
|
||||
.../res/layout/keyguard_status_bar.xml | 2 +-
|
||||
.../android/keyguard/KeyguardSliceView.java | 2 +-
|
||||
.../keyguard/KeyguardSliceProvider.java | 22 +++++++++++--------
|
||||
10 files changed, 26 insertions(+), 36 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/res-keyguard/layout/keyguard_clock_switch.xml b/packages/SystemUI/res-keyguard/layout/keyguard_clock_switch.xml
|
||||
index bf2963cd0b7..5fb06f38bd4 100644
|
||||
--- a/packages/SystemUI/res-keyguard/layout/keyguard_clock_switch.xml
|
||||
+++ b/packages/SystemUI/res-keyguard/layout/keyguard_clock_switch.xml
|
||||
@@ -36,8 +36,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center_horizontal"
|
||||
- android:paddingBottom="@dimen/title_clock_padding"
|
||||
- android:letterSpacing="0.02"
|
||||
android:textColor="?attr/wallpaperTextColor"
|
||||
android:singleLine="true"
|
||||
style="@style/widget_big"
|
||||
@@ -51,7 +49,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:gravity="center_horizontal"
|
||||
- android:letterSpacing="0.03"
|
||||
android:textColor="?attr/wallpaperTextColor"
|
||||
android:singleLine="true"
|
||||
style="@style/widget_title_bold"
|
||||
diff --git a/packages/SystemUI/res-keyguard/layout/keyguard_status_view.xml b/packages/SystemUI/res-keyguard/layout/keyguard_status_view.xml
|
||||
index 10cd3cba713..9845a02399b 100644
|
||||
--- a/packages/SystemUI/res-keyguard/layout/keyguard_status_view.xml
|
||||
+++ b/packages/SystemUI/res-keyguard/layout/keyguard_status_view.xml
|
||||
@@ -67,7 +67,6 @@
|
||||
android:layout_centerHorizontal="true"
|
||||
android:textColor="?attr/wallpaperTextColorSecondary"
|
||||
android:textSize="@dimen/widget_label_font_size"
|
||||
- android:letterSpacing="0.05"
|
||||
android:ellipsize="marquee"
|
||||
android:singleLine="true" />
|
||||
<com.android.systemui.statusbar.phone.NotificationIconContainer
|
||||
diff --git a/packages/SystemUI/res-keyguard/values-h560dp/dimens.xml b/packages/SystemUI/res-keyguard/values-h560dp/dimens.xml
|
||||
index 669f8fb642d..345b3d9c707 100644
|
||||
--- a/packages/SystemUI/res-keyguard/values-h560dp/dimens.xml
|
||||
+++ b/packages/SystemUI/res-keyguard/values-h560dp/dimens.xml
|
||||
@@ -16,5 +16,5 @@
|
||||
-->
|
||||
|
||||
<resources>
|
||||
- <dimen name="widget_big_font_size">54dp</dimen>
|
||||
+ <dimen name="widget_big_font_size">88dp</dimen>
|
||||
</resources>
|
||||
diff --git a/packages/SystemUI/res-keyguard/values-h650dp/dimens.xml b/packages/SystemUI/res-keyguard/values-h650dp/dimens.xml
|
||||
index 669f8fb642d..345b3d9c707 100644
|
||||
--- a/packages/SystemUI/res-keyguard/values-h650dp/dimens.xml
|
||||
+++ b/packages/SystemUI/res-keyguard/values-h650dp/dimens.xml
|
||||
@@ -16,5 +16,5 @@
|
||||
-->
|
||||
|
||||
<resources>
|
||||
- <dimen name="widget_big_font_size">54dp</dimen>
|
||||
+ <dimen name="widget_big_font_size">88dp</dimen>
|
||||
</resources>
|
||||
diff --git a/packages/SystemUI/res-keyguard/values/dimens.xml b/packages/SystemUI/res-keyguard/values/dimens.xml
|
||||
index f9389ce24d9..cf3a8d79712 100644
|
||||
--- a/packages/SystemUI/res-keyguard/values/dimens.xml
|
||||
+++ b/packages/SystemUI/res-keyguard/values/dimens.xml
|
||||
@@ -42,13 +42,13 @@
|
||||
<dimen name="eca_overlap">-10dip</dimen>
|
||||
|
||||
<!-- Slice header -->
|
||||
- <dimen name="widget_title_font_size">24dp</dimen>
|
||||
+ <dimen name="widget_title_font_size">16dp</dimen>
|
||||
<dimen name="header_subtitle_padding">12dp</dimen>
|
||||
<dimen name="header_icon_size">16dp</dimen>
|
||||
<!-- Slice subtitle -->
|
||||
- <dimen name="widget_label_font_size">18dp</dimen>
|
||||
+ <dimen name="widget_label_font_size">16dp</dimen>
|
||||
<!-- Clock without header -->
|
||||
- <dimen name="widget_big_font_size">54dp</dimen>
|
||||
+ <dimen name="widget_big_font_size">88dp</dimen>
|
||||
<dimen name="bottom_text_spacing_digital">0dp</dimen>
|
||||
<dimen name="title_clock_padding">4dp</dimen>
|
||||
<!-- Clock with header -->
|
||||
diff --git a/packages/SystemUI/res-keyguard/values/strings.xml b/packages/SystemUI/res-keyguard/values/strings.xml
|
||||
index f7e9fedd5f6..8f829a81209 100644
|
||||
--- a/packages/SystemUI/res-keyguard/values/strings.xml
|
||||
+++ b/packages/SystemUI/res-keyguard/values/strings.xml
|
||||
@@ -112,9 +112,9 @@
|
||||
<string name="keyguard_carrier_name_with_sim_locked_template" translatable="false"><xliff:g id="carrier">%s</xliff:g> (<xliff:g id="message">%s</xliff:g>)</string>
|
||||
|
||||
<!-- Time format strings for fall-back clock widget -->
|
||||
- <string name="keyguard_widget_12_hours_format" translatable="false">h:mm</string>
|
||||
+ <string name="keyguard_widget_12_hours_format" translatable="false">hh:mm</string>
|
||||
<!-- Time format strings for fall-back clock widget -->
|
||||
- <string name="keyguard_widget_24_hours_format" translatable="false">kk:mm</string>
|
||||
+ <string name="keyguard_widget_24_hours_format" translatable="false">HH:mm</string>
|
||||
<!-- The character used in keyguard_widget_12_hours_format and keyguard_widget_24_hours_format
|
||||
to represent a ":". -->
|
||||
<string name="keyguard_fancy_colon" translatable="false"></string>
|
||||
diff --git a/packages/SystemUI/res-keyguard/values/styles.xml b/packages/SystemUI/res-keyguard/values/styles.xml
|
||||
index 5f2a946a1b6..63c1ab0a109 100644
|
||||
--- a/packages/SystemUI/res-keyguard/values/styles.xml
|
||||
+++ b/packages/SystemUI/res-keyguard/values/styles.xml
|
||||
@@ -62,29 +62,23 @@
|
||||
<style name="widget_big">
|
||||
<item name="android:textSize">@dimen/widget_big_font_size</item>
|
||||
<item name="android:paddingBottom">@dimen/bottom_text_spacing_digital</item>
|
||||
- <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
||||
+ <item name="android:fontFamily">sans-serif-thin</item>
|
||||
<item name="android:fontFeatureSettings">@*android:string/config_headlineFontFeatureSettings</item>
|
||||
<item name="android:ellipsize">none</item>
|
||||
- <item name="android:shadowColor">@color/keyguard_shadow_color</item>
|
||||
- <item name="android:shadowRadius">?attr/shadowRadius</item>
|
||||
</style>
|
||||
<style name="widget_title_bold">
|
||||
<item name="android:textStyle">bold</item>
|
||||
<item name="android:textSize">@dimen/widget_title_font_size</item>
|
||||
<item name="android:paddingBottom">@dimen/widget_vertical_padding_clock</item>
|
||||
- <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
||||
+ <item name="android:fontFamily">sans-serif</item>
|
||||
<item name="android:ellipsize">none</item>
|
||||
- <item name="android:shadowColor">@color/keyguard_shadow_color</item>
|
||||
- <item name="android:shadowRadius">?attr/shadowRadius</item>
|
||||
</style>
|
||||
<style name="widget_small_bold">
|
||||
<item name="android:textStyle">bold</item>
|
||||
<item name="android:textSize">@dimen/widget_small_font_size</item>
|
||||
<item name="android:paddingBottom">@dimen/bottom_text_spacing_digital</item>
|
||||
- <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
||||
+ <item name="android:fontFamily">sans-serif</item>
|
||||
<item name="android:ellipsize">none</item>
|
||||
- <item name="android:shadowColor">@color/keyguard_shadow_color</item>
|
||||
- <item name="android:shadowRadius">?attr/shadowRadius</item>
|
||||
</style>
|
||||
|
||||
<style name="BouncerSecurityContainer">
|
||||
@@ -116,9 +110,7 @@
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:ellipsize">end</item>
|
||||
<item name="android:maxLines">2</item>
|
||||
- <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
||||
- <item name="android:shadowColor">@color/keyguard_shadow_color</item>
|
||||
- <item name="android:shadowRadius">?attr/shadowRadius</item>
|
||||
+ <item name="android:fontFamily">sans-serif</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.Keyguard.Secondary">
|
||||
@@ -132,8 +124,6 @@
|
||||
<item name="android:textSize">14sp</item>
|
||||
<item name="android:maxLines">1</item>
|
||||
<item name="android:textColor">?attr/wallpaperTextColor</item>
|
||||
- <item name="android:shadowColor">@color/keyguard_shadow_color</item>
|
||||
- <item name="android:shadowRadius">?attr/shadowRadius</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
diff --git a/packages/SystemUI/res/layout/keyguard_status_bar.xml b/packages/SystemUI/res/layout/keyguard_status_bar.xml
|
||||
index 416ee8147e3..1e364b4fc3b 100644
|
||||
--- a/packages/SystemUI/res/layout/keyguard_status_bar.xml
|
||||
+++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml
|
||||
@@ -73,7 +73,7 @@
|
||||
android:gravity="center_vertical"
|
||||
android:ellipsize="marquee"
|
||||
android:textDirection="locale"
|
||||
- android:textAppearance="@style/TextAppearance.StatusBar.Clock"
|
||||
+ android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?attr/wallpaperTextColorSecondary"
|
||||
android:singleLine="true"
|
||||
systemui:showMissingSim="true"
|
||||
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
|
||||
index f639c880c97..5c42937eb6a 100644
|
||||
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
|
||||
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
|
||||
@@ -502,7 +502,7 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe
|
||||
for (int i = 0; i < childCount; i++) {
|
||||
View child = getChildAt(i);
|
||||
if (child instanceof KeyguardSliceTextView) {
|
||||
- ((KeyguardSliceTextView) child).setMaxWidth(width / 3);
|
||||
+ ((KeyguardSliceTextView) child).setMaxWidth(width);
|
||||
}
|
||||
}
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java
|
||||
index 3a37c0fd463..70b7e5354e2 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java
|
||||
@@ -95,7 +95,7 @@ public class KeyguardSliceProvider extends SliceProvider implements
|
||||
* Only show alarms that will ring within N hours.
|
||||
*/
|
||||
@VisibleForTesting
|
||||
- static final int ALARM_VISIBILITY_HOURS = 12;
|
||||
+ static final int ALARM_VISIBILITY_HOURS = 24;
|
||||
|
||||
private static final Object sInstanceLock = new Object();
|
||||
private static KeyguardSliceProvider sInstance;
|
||||
@@ -304,7 +304,10 @@ public class KeyguardSliceProvider extends SliceProvider implements
|
||||
if (oldInstance != null) {
|
||||
oldInstance.onDestroy();
|
||||
}
|
||||
- mDatePattern = getContext().getString(R.string.system_ui_aod_date_pattern);
|
||||
+ boolean isNextAlarmPresent = withinNHoursLocked(mNextAlarmInfo, ALARM_VISIBILITY_HOURS);
|
||||
+ mDatePattern = getContext().getString(isNextAlarmPresent
|
||||
+ ? R.string.abbrev_wday_month_day_no_year_alarm
|
||||
+ : R.string.abbrev_wday_month_day_no_year);
|
||||
mPendingIntent = PendingIntent.getActivity(getContext(), 0,
|
||||
new Intent(getContext(), KeyguardSliceProvider.class), 0);
|
||||
mMediaManager.addCallback(this);
|
||||
@@ -355,14 +358,17 @@ public class KeyguardSliceProvider extends SliceProvider implements
|
||||
synchronized (this) {
|
||||
if (withinNHoursLocked(mNextAlarmInfo, ALARM_VISIBILITY_HOURS)) {
|
||||
String pattern = android.text.format.DateFormat.is24HourFormat(getContext(),
|
||||
- ActivityManager.getCurrentUser()) ? "HH:mm" : "h:mm";
|
||||
+ ActivityManager.getCurrentUser()) ? "E HH:mm" : "E hh:mm";
|
||||
mNextAlarm = android.text.format.DateFormat.format(pattern,
|
||||
mNextAlarmInfo.getTriggerTime()).toString();
|
||||
+ mDatePattern = getContext().getString(R.string.abbrev_wday_month_day_no_year_alarm);
|
||||
} else {
|
||||
mNextAlarm = "";
|
||||
+ mDatePattern = getContext().getString(R.string.abbrev_wday_month_day_no_year);
|
||||
}
|
||||
}
|
||||
notifyChange();
|
||||
+ updateClockLocked();
|
||||
}
|
||||
|
||||
private boolean withinNHoursLocked(AlarmManager.AlarmClockInfo alarmClockInfo, int hours) {
|
||||
@@ -411,12 +417,10 @@ public class KeyguardSliceProvider extends SliceProvider implements
|
||||
}
|
||||
|
||||
protected String getFormattedDateLocked() {
|
||||
- if (mDateFormat == null) {
|
||||
- final Locale l = Locale.getDefault();
|
||||
- DateFormat format = DateFormat.getInstanceForSkeleton(mDatePattern, l);
|
||||
- format.setContext(DisplayContext.CAPITALIZATION_FOR_STANDALONE);
|
||||
- mDateFormat = format;
|
||||
- }
|
||||
+ final Locale l = Locale.getDefault();
|
||||
+ DateFormat format = DateFormat.getInstanceForSkeleton(mDatePattern, l);
|
||||
+ format.setContext(DisplayContext.CAPITALIZATION_FOR_STANDALONE);
|
||||
+ mDateFormat = format;
|
||||
mCurrentTime.setTime(System.currentTimeMillis());
|
||||
return mDateFormat.format(mCurrentTime);
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,30 +0,0 @@
|
||||
From 1fcb9bc8c09a5ac6ebeec38d9b01c68f91b37ccc Mon Sep 17 00:00:00 2001
|
||||
From: AndyCGYan <GeForce8800Ultra@gmail.com>
|
||||
Date: Thu, 27 Dec 2018 16:38:19 +0800
|
||||
Subject: [PATCH] Keyguard: Show shortcuts by default
|
||||
|
||||
Change-Id: I5655e0be26cec61214735719dffcda810286cd41
|
||||
---
|
||||
packages/SystemUI/res/values/config.xml | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
|
||||
index 754487f2f23..2a9651009d5 100644
|
||||
--- a/packages/SystemUI/res/values/config.xml
|
||||
+++ b/packages/SystemUI/res/values/config.xml
|
||||
@@ -69,10 +69,10 @@
|
||||
<integer translatable="false" name="config_search_panel_view_vibration_duration">20</integer>
|
||||
|
||||
<!-- Show mic or phone affordance on Keyguard -->
|
||||
- <bool name="config_keyguardShowLeftAffordance">false</bool>
|
||||
+ <bool name="config_keyguardShowLeftAffordance">true</bool>
|
||||
|
||||
<!-- Show camera affordance on Keyguard -->
|
||||
- <bool name="config_keyguardShowCameraAffordance">false</bool>
|
||||
+ <bool name="config_keyguardShowCameraAffordance">true</bool>
|
||||
|
||||
<!-- The length of the vibration when the notification pops open. -->
|
||||
<integer name="one_finger_pop_duration_ms">10</integer>
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,133 +0,0 @@
|
||||
From 8b1714be0a6597ec1ed13465749e584c7938f98d Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 20 Mar 2021 10:35:14 +0000
|
||||
Subject: [PATCH] Keyguard/UI: Fix status bar margins and paddings
|
||||
|
||||
- Change keyguard_carrier_text_margin into a padding
|
||||
- Link keyguard paddings to status_bar_padding_{start|end}
|
||||
- Add status_bar_padding_{start|end} to quick settings header
|
||||
|
||||
Change-Id: Ic91fa398813e1907297bb0892c444d96405950e7
|
||||
---
|
||||
packages/SystemUI/res/layout/keyguard_status_bar.xml | 2 +-
|
||||
.../layout/quick_status_bar_header_system_icons.xml | 6 ++++--
|
||||
packages/SystemUI/res/values-sw600dp/dimens.xml | 6 ------
|
||||
packages/SystemUI/res/values/dimens.xml | 4 ++--
|
||||
.../statusbar/phone/KeyguardStatusBarView.java | 11 -----------
|
||||
5 files changed, 7 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/res/layout/keyguard_status_bar.xml b/packages/SystemUI/res/layout/keyguard_status_bar.xml
|
||||
index 58343800c2e..3782df2539e 100644
|
||||
--- a/packages/SystemUI/res/layout/keyguard_status_bar.xml
|
||||
+++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml
|
||||
@@ -68,7 +68,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingTop="@dimen/status_bar_padding_top"
|
||||
- android:layout_marginStart="@dimen/keyguard_carrier_text_margin"
|
||||
+ android:paddingStart="@dimen/keyguard_carrier_text_margin"
|
||||
android:layout_toStartOf="@id/system_icons_container"
|
||||
android:gravity="center_vertical"
|
||||
android:ellipsize="marquee"
|
||||
diff --git a/packages/SystemUI/res/layout/quick_status_bar_header_system_icons.xml b/packages/SystemUI/res/layout/quick_status_bar_header_system_icons.xml
|
||||
index 3c748018187..74bcbf2685e 100644
|
||||
--- a/packages/SystemUI/res/layout/quick_status_bar_header_system_icons.xml
|
||||
+++ b/packages/SystemUI/res/layout/quick_status_bar_header_system_icons.xml
|
||||
@@ -32,7 +32,8 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:orientation="horizontal"
|
||||
- android:gravity="center_vertical|start" >
|
||||
+ android:gravity="center_vertical|start"
|
||||
+ android:paddingStart="@dimen/status_bar_padding_start" >
|
||||
|
||||
<com.android.systemui.statusbar.policy.Clock
|
||||
android:id="@+id/clock"
|
||||
@@ -59,7 +60,8 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:orientation="horizontal"
|
||||
- android:gravity="center_vertical|end" >
|
||||
+ android:gravity="center_vertical|end"
|
||||
+ android:paddingEnd="@dimen/status_bar_padding_end" >
|
||||
|
||||
<include layout="@layout/ongoing_privacy_chip" />
|
||||
|
||||
diff --git a/packages/SystemUI/res/values-sw600dp/dimens.xml b/packages/SystemUI/res/values-sw600dp/dimens.xml
|
||||
index d06906bab08..75fd4abba84 100644
|
||||
--- a/packages/SystemUI/res/values-sw600dp/dimens.xml
|
||||
+++ b/packages/SystemUI/res/values-sw600dp/dimens.xml
|
||||
@@ -60,9 +60,6 @@
|
||||
<!-- end margin for multi user switch in collapsed quick settings -->
|
||||
<dimen name="multi_user_switch_keyguard_margin">6dp</dimen>
|
||||
|
||||
- <!-- Margin on the left side of the carrier text on Keyguard -->
|
||||
- <dimen name="keyguard_carrier_text_margin">24dp</dimen>
|
||||
-
|
||||
<!-- The width/height of the phone/camera/unlock icon on keyguard. -->
|
||||
<dimen name="keyguard_affordance_height">80dp</dimen>
|
||||
<dimen name="keyguard_affordance_width">120dp</dimen>
|
||||
@@ -73,9 +70,6 @@
|
||||
|
||||
<dimen name="keyguard_indication_margin_bottom">40dp</dimen>
|
||||
|
||||
- <!-- Margin on the right side of the system icon group on Keyguard. -->
|
||||
- <dimen name="system_icons_keyguard_padding_end">2dp</dimen>
|
||||
-
|
||||
<!-- Screen pinning request width -->
|
||||
<dimen name="screen_pinning_request_width">400dp</dimen>
|
||||
<!-- Screen pinning request bottom button circle widths -->
|
||||
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
|
||||
index 7190def8786..9172bfa823e 100644
|
||||
--- a/packages/SystemUI/res/values/dimens.xml
|
||||
+++ b/packages/SystemUI/res/values/dimens.xml
|
||||
@@ -784,7 +784,7 @@
|
||||
<dimen name="kg_framed_avatar_size">54dp</dimen>
|
||||
|
||||
<!-- Margin on the left side of the carrier text on Keyguard -->
|
||||
- <dimen name="keyguard_carrier_text_margin">16dp</dimen>
|
||||
+ <dimen name="keyguard_carrier_text_margin">@dimen/status_bar_padding_start</dimen>
|
||||
|
||||
<!-- Margin on the left side of the battery % in the header. -->
|
||||
<dimen name="header_battery_margin_expanded">6dp</dimen>
|
||||
@@ -793,7 +793,7 @@
|
||||
<dimen name="header_battery_margin_keyguard">6dp</dimen>
|
||||
|
||||
<!-- Margin on the right side of the system icon group on Keyguard. -->
|
||||
- <dimen name="system_icons_keyguard_padding_end">4dp</dimen>
|
||||
+ <dimen name="system_icons_keyguard_padding_end">@dimen/status_bar_padding_end</dimen>
|
||||
|
||||
<!-- Additional translation (downwards) for appearing notifications when going to the full shade
|
||||
from Keyguard. -->
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
|
||||
index 574f835401c..79c6b067fa1 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
|
||||
@@ -234,7 +234,6 @@ public class KeyguardStatusBarView extends RelativeLayout
|
||||
Pair<Integer, Integer> cornerCutoutMargins =
|
||||
StatusBarWindowView.cornerCutoutMargins(mDisplayCutout, getDisplay());
|
||||
updatePadding(cornerCutoutMargins);
|
||||
- updateCarrierLabelParams();
|
||||
if (mDisplayCutout == null || cornerCutoutMargins != null) {
|
||||
return updateLayoutParamsNoCutout();
|
||||
} else {
|
||||
@@ -251,16 +250,6 @@ public class KeyguardStatusBarView extends RelativeLayout
|
||||
setPadding(mPadding.first, waterfallTop, mPadding.second, 0);
|
||||
}
|
||||
|
||||
- private void updateCarrierLabelParams() {
|
||||
- int marginStart = calculateMargin(
|
||||
- getResources().getDimensionPixelSize(R.dimen.keyguard_carrier_text_margin),
|
||||
- mPadding.first);
|
||||
- MarginLayoutParams lp = (MarginLayoutParams) mCarrierLabel.getLayoutParams();
|
||||
- lp.setMarginStart(marginStart);
|
||||
-
|
||||
- mCarrierLabel.setLayoutParams(lp);
|
||||
- }
|
||||
-
|
||||
private boolean updateLayoutParamsNoCutout() {
|
||||
if (mLayoutState == LAYOUT_NO_CUTOUT) {
|
||||
return false;
|
||||
--
|
||||
2.25.1
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,62 +0,0 @@
|
||||
From f6baebedc09b503e477f7f4f1d83ac494d5028d3 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 8 Jun 2021 12:00:26 +0000
|
||||
Subject: [PATCH] Telephony: Disable SPN retrieval
|
||||
|
||||
Kills "double carrier name" on lock screen
|
||||
Not ideal, but not worth wasting more time on
|
||||
|
||||
Change-Id: I06dd17989194590972e526de85dbacf74eff805e
|
||||
---
|
||||
.../internal/telephony/uicc/IccRecords.java | 25 +++++--------------
|
||||
1 file changed, 6 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/src/java/com/android/internal/telephony/uicc/IccRecords.java b/src/java/com/android/internal/telephony/uicc/IccRecords.java
|
||||
index b33e899b9..220ed875d 100644
|
||||
--- a/src/java/com/android/internal/telephony/uicc/IccRecords.java
|
||||
+++ b/src/java/com/android/internal/telephony/uicc/IccRecords.java
|
||||
@@ -717,35 +717,22 @@ public abstract class IccRecords extends Handler implements IccConstants {
|
||||
}
|
||||
|
||||
/**
|
||||
- * Return Service Provider Name stored in SIM (EF_SPN=0x6F46) or in RUIM (EF_RUIM_SPN=0x6F41).
|
||||
+ * Return null, disabling Service Provider Name.
|
||||
*
|
||||
- * @return null if SIM is not yet ready or no RUIM entry
|
||||
+ * @return null
|
||||
*/
|
||||
public String getServiceProviderName() {
|
||||
- if (mCarrierTestOverride.isInTestMode()) {
|
||||
- String fakeSpn = mCarrierTestOverride.getFakeSpn();
|
||||
- if (fakeSpn != null) {
|
||||
- return fakeSpn;
|
||||
- }
|
||||
- }
|
||||
- return mSpn;
|
||||
+ return null;
|
||||
}
|
||||
|
||||
/**
|
||||
- * Return Service Provider Name stored in SIM (EF_SPN=0x6F46) or in RUIM (EF_RUIM_SPN=0x6F41) or
|
||||
- * the brand override. The brand override has higher priority than the SPN from SIM.
|
||||
+ * Return null, disabling Service Provider Name.
|
||||
*
|
||||
- * @return service provider name.
|
||||
+ * @return null
|
||||
*/
|
||||
@Nullable
|
||||
public String getServiceProviderNameWithBrandOverride() {
|
||||
- if (mParentApp != null && mParentApp.getUiccProfile() != null) {
|
||||
- String brandOverride = mParentApp.getUiccProfile().getOperatorBrandOverride();
|
||||
- if (!TextUtils.isEmpty(brandOverride)) {
|
||||
- return brandOverride;
|
||||
- }
|
||||
- }
|
||||
- return mSpn;
|
||||
+ return null;
|
||||
}
|
||||
|
||||
protected void setServiceProviderName(String spn) {
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,46 +0,0 @@
|
||||
From 074e8b537d3dc078b18c4410624ae6327ad3773d Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 7 Oct 2020 14:00:35 +0000
|
||||
Subject: [PATCH] UI: Always render windows into cutouts
|
||||
|
||||
Eliminates black/white letterboxing
|
||||
Quick and dirty way to do the latter - wait for proper fix from Google
|
||||
|
||||
Change-Id: I4661c7979bfa7de453329fcddbaeefc2009e2da3
|
||||
---
|
||||
services/core/java/com/android/server/wm/DisplayPolicy.java | 5 +----
|
||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java
|
||||
index 2541411bc2c..929c949b31e 100644
|
||||
--- a/services/core/java/com/android/server/wm/DisplayPolicy.java
|
||||
+++ b/services/core/java/com/android/server/wm/DisplayPolicy.java
|
||||
@@ -1704,7 +1704,6 @@ public class DisplayPolicy {
|
||||
void simulateLayoutDisplay(DisplayFrames displayFrames, InsetsState insetsState,
|
||||
SparseArray<Rect> barContentFrames) {
|
||||
displayFrames.onBeginLayout();
|
||||
- updateInsetsStateForDisplayCutout(displayFrames, insetsState);
|
||||
insetsState.setDisplayFrame(displayFrames.mUnrestricted);
|
||||
final WindowFrames simulatedWindowFrames = new WindowFrames();
|
||||
if (mNavigationBar != null) {
|
||||
@@ -1733,8 +1732,6 @@ public class DisplayPolicy {
|
||||
*/
|
||||
public void beginLayoutLw(DisplayFrames displayFrames, int uiMode) {
|
||||
displayFrames.onBeginLayout();
|
||||
- updateInsetsStateForDisplayCutout(displayFrames,
|
||||
- mDisplayContent.getInsetsStateController().getRawInsetsState());
|
||||
mSystemGestures.screenWidth = displayFrames.mUnrestricted.width();
|
||||
mSystemGestures.screenHeight = displayFrames.mUnrestricted.height();
|
||||
|
||||
@@ -2595,7 +2592,7 @@ public class DisplayPolicy {
|
||||
}
|
||||
}
|
||||
|
||||
- final int cutoutMode = attrs.layoutInDisplayCutoutMode;
|
||||
+ final int cutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
|
||||
final boolean attachedInParent = attached != null && !layoutInScreen;
|
||||
final boolean requestedFullscreen = (fl & FLAG_FULLSCREEN) != 0
|
||||
|| (requestedSysUiFl & View.SYSTEM_UI_FLAG_FULLSCREEN) != 0
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,57 +0,0 @@
|
||||
From ed75e73424f9c7f56e29a3c29d528ba8c585fb84 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Fri, 9 Mar 2018 15:41:26 +0800
|
||||
Subject: [PATCH] UI: Disable left (seascape) navigation bar optionally
|
||||
|
||||
Toggle this behaviour with property "persist.ui.seascape.disable"
|
||||
|
||||
Change-Id: Ieb58efa4b59feeb0c4ac70e497f4c59aa04210d6
|
||||
---
|
||||
.../systemui/statusbar/phone/ReverseLinearLayout.java | 6 ++++++
|
||||
services/core/java/com/android/server/wm/DisplayPolicy.java | 5 +++--
|
||||
2 files changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ReverseLinearLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ReverseLinearLayout.java
|
||||
index d3ec187ef20..01d87cd12f7 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ReverseLinearLayout.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ReverseLinearLayout.java
|
||||
@@ -16,6 +16,7 @@ package com.android.systemui.statusbar.phone;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.content.Context;
|
||||
+import android.os.SystemProperties;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
@@ -86,6 +87,11 @@ public class ReverseLinearLayout extends LinearLayout {
|
||||
boolean isLayoutRtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
|
||||
boolean isLayoutReverse = isLayoutRtl ^ mIsAlternativeOrder;
|
||||
|
||||
+ boolean isSeascapeDisabled = SystemProperties.getBoolean("persist.ui.seascape.disable", false);
|
||||
+ if (isSeascapeDisabled) {
|
||||
+ isLayoutReverse = isLayoutRtl ^ true;
|
||||
+ }
|
||||
+
|
||||
if (mIsLayoutReverse != isLayoutReverse) {
|
||||
// reversity changed, swap the order of all views.
|
||||
int childCount = getChildCount();
|
||||
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java
|
||||
index cf87203893c..7153337031c 100644
|
||||
--- a/services/core/java/com/android/server/wm/DisplayPolicy.java
|
||||
+++ b/services/core/java/com/android/server/wm/DisplayPolicy.java
|
||||
@@ -3001,9 +3001,10 @@ public class DisplayPolicy {
|
||||
@NavigationBarPosition
|
||||
int navigationBarPosition(int displayWidth, int displayHeight, int displayRotation) {
|
||||
if (navigationBarCanMove() && displayWidth > displayHeight) {
|
||||
- if (displayRotation == Surface.ROTATION_270) {
|
||||
+ boolean isSeascapeDisabled = SystemProperties.getBoolean("persist.ui.seascape.disable", false);
|
||||
+ if (displayRotation == Surface.ROTATION_270 && !isSeascapeDisabled) {
|
||||
return NAV_BAR_LEFT;
|
||||
- } else if (displayRotation == Surface.ROTATION_90) {
|
||||
+ } else {
|
||||
return NAV_BAR_RIGHT;
|
||||
}
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,107 +0,0 @@
|
||||
From 3504120db3e9e1a9ea1d9f395e9def251982d02c Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 29 Jun 2021 23:01:07 +0000
|
||||
Subject: [PATCH] UI: Force dark QS scrim
|
||||
|
||||
Side effect from using light wallpapers
|
||||
|
||||
Change-Id: I241dfd7cf8d8bfce1503e7872c5359c380fdbfed
|
||||
---
|
||||
.../systemui/qs/QuickStatusBarHeader.java | 5 -----
|
||||
.../stack/NotificationStackScrollLayout.java | 2 +-
|
||||
.../statusbar/phone/ScrimController.java | 21 ++++++-------------
|
||||
3 files changed, 7 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
|
||||
index 94fd996d085..f82ec46c1ea 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
|
||||
@@ -411,11 +411,6 @@ public class QuickStatusBarHeader extends RelativeLayout implements
|
||||
protected void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
updateResources();
|
||||
-
|
||||
- // Update color schemes in landscape to use wallpaperTextColor
|
||||
- boolean shouldUseWallpaperTextColor =
|
||||
- newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE;
|
||||
- mClockView.useWallpaperTextColor(shouldUseWallpaperTextColor);
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
|
||||
index a4a58194a46..05199cec01a 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
|
||||
@@ -541,7 +541,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
|
||||
|
||||
private SysuiColorExtractor.OnColorsChangedListener mOnColorsChangedListener =
|
||||
(colorExtractor, which) -> {
|
||||
- final boolean useDarkText = mColorExtractor.getNeutralColors().supportsDarkText();
|
||||
+ final boolean useDarkText = false;
|
||||
updateDecorViews(useDarkText);
|
||||
};
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
|
||||
index 686b8712723..96702a831cd 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
|
||||
@@ -35,9 +35,7 @@ import android.view.animation.DecelerateInterpolator;
|
||||
import android.view.animation.Interpolator;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
-import com.android.internal.colorextraction.ColorExtractor;
|
||||
import com.android.internal.colorextraction.ColorExtractor.GradientColors;
|
||||
-import com.android.internal.colorextraction.ColorExtractor.OnColorsChangedListener;
|
||||
import com.android.internal.graphics.ColorUtils;
|
||||
import com.android.internal.util.function.TriConsumer;
|
||||
import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
@@ -69,8 +67,7 @@ import javax.inject.Singleton;
|
||||
* security method gets shown).
|
||||
*/
|
||||
@Singleton
|
||||
-public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnColorsChangedListener,
|
||||
- Dumpable {
|
||||
+public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dumpable {
|
||||
|
||||
static final String TAG = "ScrimController";
|
||||
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
||||
@@ -149,7 +146,6 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
|
||||
private final KeyguardVisibilityCallback mKeyguardVisibilityCallback;
|
||||
private final Handler mHandler;
|
||||
|
||||
- private final SysuiColorExtractor mColorExtractor;
|
||||
private GradientColors mColors;
|
||||
private boolean mNeedsDrawableColorUpdate;
|
||||
|
||||
@@ -226,9 +222,11 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
|
||||
}
|
||||
});
|
||||
|
||||
- mColorExtractor = sysuiColorExtractor;
|
||||
- mColorExtractor.addOnColorsChangedListener(this);
|
||||
- mColors = mColorExtractor.getNeutralColors();
|
||||
+ mColors = new GradientColors();
|
||||
+ mColors.setMainColor(-14671580);
|
||||
+ mColors.setSecondaryColor(-14671580);
|
||||
+ mColors.setColorPalette(new int[] {-14671580});
|
||||
+ mColors.setSupportsDarkText(false);
|
||||
mNeedsDrawableColorUpdate = true;
|
||||
}
|
||||
|
||||
@@ -941,13 +939,6 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
|
||||
// Don't care in the base class.
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public void onColorsChanged(ColorExtractor colorExtractor, int which) {
|
||||
- mColors = mColorExtractor.getNeutralColors();
|
||||
- mNeedsDrawableColorUpdate = true;
|
||||
- scheduleUpdate();
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
|
||||
pw.println(" ScrimController: ");
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 3de1b65db101e08ba47940c79b04204b0760fa81 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 3 Jun 2020 01:31:34 +0000
|
||||
Subject: [PATCH] UI: Increase default status bar height
|
||||
|
||||
Change-Id: Ibbcf63159e19bb2bb2b1094ea07ab85917630b07
|
||||
---
|
||||
core/res/res/values/dimens.xml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
|
||||
index ebaf85c64a1..4f845977971 100644
|
||||
--- a/core/res/res/values/dimens.xml
|
||||
+++ b/core/res/res/values/dimens.xml
|
||||
@@ -35,7 +35,7 @@
|
||||
<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">28dp</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>
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,88 +0,0 @@
|
||||
From 23cbee70787c06e6aac6c1cc884213505119b26c Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Mon, 26 Oct 2020 14:06:56 +0000
|
||||
Subject: [PATCH] UI: Reconfigure power menu items
|
||||
|
||||
- Show only the important items (GTFO Emergency)
|
||||
- Make 4 columns
|
||||
- Always include screenshot
|
||||
|
||||
Change-Id: I32cca6e2c6bb64d891efee959127edf7c0802cbc
|
||||
---
|
||||
core/res/res/values/config.xml | 5 +----
|
||||
packages/SystemUI/res/values-land/config.xml | 19 ++++++++-----------
|
||||
packages/SystemUI/res/values/config.xml | 2 +-
|
||||
3 files changed, 10 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
|
||||
index 79e9e203312..f39525c78bf 100644
|
||||
--- a/core/res/res/values/config.xml
|
||||
+++ b/core/res/res/values/config.xml
|
||||
@@ -2777,13 +2777,10 @@
|
||||
"logout" = Logout the current user
|
||||
-->
|
||||
<string-array translatable="false" name="config_globalActionsList">
|
||||
- <item>emergency</item>
|
||||
- <item>lockdown</item>
|
||||
<item>power</item>
|
||||
<item>restart</item>
|
||||
- <item>logout</item>
|
||||
<item>screenshot</item>
|
||||
- <item>bugreport</item>
|
||||
+ <item>airplane</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Number of milliseconds to hold a wake lock to ensure that drawing is fully
|
||||
diff --git a/packages/SystemUI/res/values-land/config.xml b/packages/SystemUI/res/values-land/config.xml
|
||||
index 2f7fbaff4ed..8b7ae652846 100644
|
||||
--- a/packages/SystemUI/res/values-land/config.xml
|
||||
+++ b/packages/SystemUI/res/values-land/config.xml
|
||||
@@ -3,16 +3,16 @@
|
||||
/*
|
||||
** Copyright 2011, 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
|
||||
+** 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
|
||||
+** 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
|
||||
+** 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.
|
||||
*/
|
||||
-->
|
||||
@@ -34,7 +34,4 @@
|
||||
|
||||
<!-- Max number of columns for quick controls area -->
|
||||
<integer name="controls_max_columns">4</integer>
|
||||
-
|
||||
- <!-- Max number of columns for power menu -->
|
||||
- <integer name="power_menu_max_columns">4</integer>
|
||||
</resources>
|
||||
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
|
||||
index d30b7b15de9..6fe2974ae10 100644
|
||||
--- a/packages/SystemUI/res/values/config.xml
|
||||
+++ b/packages/SystemUI/res/values/config.xml
|
||||
@@ -573,7 +573,7 @@
|
||||
<integer name="controls_max_columns">2</integer>
|
||||
|
||||
<!-- Max number of columns for power menu -->
|
||||
- <integer name="power_menu_max_columns">3</integer>
|
||||
+ <integer name="power_menu_max_columns">4</integer>
|
||||
|
||||
<!-- If the dp width of the available space is <= this value, potentially adjust the number
|
||||
of columns-->
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 87cde9497d121fec5bb85b1023f43d8eeaed2ec1 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 29 Jun 2021 22:57:01 +0000
|
||||
Subject: [PATCH] UI: Relax requirement for HINT_SUPPORTS_DARK_TEXT
|
||||
|
||||
I decide what's good enough for a wallpaper!
|
||||
|
||||
Change-Id: I5ccd85b3df12e53746a4ac6cbc37ba8d11f6c336
|
||||
---
|
||||
core/java/android/app/WallpaperColors.java | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/core/java/android/app/WallpaperColors.java b/core/java/android/app/WallpaperColors.java
|
||||
index e4818b27434..67208f0ebed 100644
|
||||
--- a/core/java/android/app/WallpaperColors.java
|
||||
+++ b/core/java/android/app/WallpaperColors.java
|
||||
@@ -413,7 +413,7 @@ public final class WallpaperColors implements Parcelable {
|
||||
|
||||
int hints = 0;
|
||||
double meanLuminance = totalLuminance / pixels.length;
|
||||
- if (meanLuminance > BRIGHT_IMAGE_MEAN_LUMINANCE && darkPixels < maxDarkPixels) {
|
||||
+ if (meanLuminance > BRIGHT_IMAGE_MEAN_LUMINANCE) {
|
||||
hints |= HINT_SUPPORTS_DARK_TEXT;
|
||||
}
|
||||
if (meanLuminance < DARK_THEME_MEAN_LUMINANCE) {
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,34 +0,0 @@
|
||||
From c3729b2f1141b97a29906f47de5a169ecb7c8f0e Mon Sep 17 00:00:00 2001
|
||||
From: Vachounet <vachounet@live.fr>
|
||||
Date: Wed, 14 Oct 2020 11:43:10 +0200
|
||||
Subject: [PATCH] UI: Remove black background from power menu
|
||||
|
||||
Change-Id: I87092d57ea457e6d6783c87b8a64b4e69dec2d8a
|
||||
---
|
||||
.../android/systemui/globalactions/GlobalActionsDialog.java | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
|
||||
index b2e91643bed2..31632bbc51b0 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
|
||||
@@ -2340,7 +2340,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
|
||||
initializeWalletView();
|
||||
if (mBackgroundDrawable == null) {
|
||||
mBackgroundDrawable = new ScrimDrawable();
|
||||
- mScrimAlpha = 1.0f;
|
||||
+ mScrimAlpha = 0.45f;
|
||||
}
|
||||
getWindow().setBackgroundDrawable(mBackgroundDrawable);
|
||||
}
|
||||
@@ -2377,7 +2377,6 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
|
||||
if (!(mBackgroundDrawable instanceof ScrimDrawable)) {
|
||||
return;
|
||||
}
|
||||
- ((ScrimDrawable) mBackgroundDrawable).setColor(Color.BLACK, animate);
|
||||
View decorView = getWindow().getDecorView();
|
||||
if (colors.supportsDarkText()) {
|
||||
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR |
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,34 +0,0 @@
|
||||
From 52933532457aed10b4e913abca8673f0d76a6c0f Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 15 May 2021 10:15:12 +0000
|
||||
Subject: [PATCH] UI: Tap outside to dismiss power menu
|
||||
|
||||
Change-Id: Id713b84a2edb3facc184394963f98291abe6ae2c
|
||||
---
|
||||
.../systemui/globalactions/GlobalActionsDialog.java | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
|
||||
index cefac0cf1c7..19a9c938c49 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
|
||||
@@ -2573,6 +2573,16 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
|
||||
mScrimAlpha = 0.45f;
|
||||
}
|
||||
getWindow().setBackgroundDrawable(mBackgroundDrawable);
|
||||
+
|
||||
+ ViewGroup root = findViewById(com.android.systemui.R.id.global_actions_grid_root);
|
||||
+ if (root != null) {
|
||||
+ root.setOnClickListener(new View.OnClickListener() {
|
||||
+ @Override
|
||||
+ public void onClick(View v) {
|
||||
+ dismiss();
|
||||
+ }
|
||||
+ });
|
||||
+ }
|
||||
}
|
||||
|
||||
private void fixNavBarClipping() {
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,95 +0,0 @@
|
||||
From 99e4502aee5fea10fba50da3ccad5fee9409f0ad Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 26 Apr 2020 08:56:13 +0000
|
||||
Subject: [PATCH] UI: Use SNAP_FIXED_RATIO for multi-window globally
|
||||
|
||||
Enables multiple snap targets under landscape for phone UI
|
||||
|
||||
Change-Id: I36e08f1e277dca0b0f9f99418671026e61b01496
|
||||
---
|
||||
core/res/res/values-land/config.xml | 19 -------------------
|
||||
core/res/res/values-sw600dp/config.xml | 18 ++++++++----------
|
||||
core/res/res/values/config.xml | 2 +-
|
||||
3 files changed, 9 insertions(+), 30 deletions(-)
|
||||
delete mode 100644 core/res/res/values-land/config.xml
|
||||
|
||||
diff --git a/core/res/res/values-land/config.xml b/core/res/res/values-land/config.xml
|
||||
deleted file mode 100644
|
||||
index 7308dc5882c..00000000000
|
||||
--- a/core/res/res/values-land/config.xml
|
||||
+++ /dev/null
|
||||
@@ -1,19 +0,0 @@
|
||||
-<?xml version="1.0" encoding="utf-8"?>
|
||||
-<!--
|
||||
- ~ Copyright (C) 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
|
||||
- -->
|
||||
-<resources>
|
||||
- <integer name="config_dockedStackDividerSnapMode">2</integer>
|
||||
-</resources>
|
||||
\ No newline at end of file
|
||||
diff --git a/core/res/res/values-sw600dp/config.xml b/core/res/res/values-sw600dp/config.xml
|
||||
index 34b6a54be49..3921c9edfea 100644
|
||||
--- a/core/res/res/values-sw600dp/config.xml
|
||||
+++ b/core/res/res/values-sw600dp/config.xml
|
||||
@@ -3,16 +3,16 @@
|
||||
/*
|
||||
** Copyright 2009, 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
|
||||
+** 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
|
||||
+** 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
|
||||
+** 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.
|
||||
*/
|
||||
-->
|
||||
@@ -40,8 +40,6 @@
|
||||
<!-- Use a larger scaling span for larger screen devices. -->
|
||||
<dimen name="config_minScalingSpan">32mm</dimen>
|
||||
|
||||
- <integer name="config_dockedStackDividerSnapMode">1</integer>
|
||||
-
|
||||
<!-- Controls whether the nav bar can move from the bottom to the side in landscape.
|
||||
Only applies if the device display is not square. -->
|
||||
<bool name="config_navBarCanMove">false</bool>
|
||||
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
|
||||
index ff6829c9624..9bedf5cfa07 100644
|
||||
--- a/core/res/res/values/config.xml
|
||||
+++ b/core/res/res/values/config.xml
|
||||
@@ -3303,7 +3303,7 @@
|
||||
1 - 3 snap targets: fixed ratio, 1:1, (1 - fixed ratio)
|
||||
2 - 1 snap target: 1:1
|
||||
-->
|
||||
- <integer name="config_dockedStackDividerSnapMode">0</integer>
|
||||
+ <integer name="config_dockedStackDividerSnapMode">1</integer>
|
||||
|
||||
<!-- The maximum aspect ratio (longerSide/shorterSide) that is treated as close-to-square. The
|
||||
orientation requests from apps would be ignored if the display is close-to-square. -->
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
From e89e2d8f376fcb77078ba06138afa395f91ab55d Mon Sep 17 00:00:00 2001
|
||||
From: AndyCGYan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 5 Jun 2019 05:10:00 +0000
|
||||
Subject: [PATCH] WiFi: Relax throttling greatly for foreground apps
|
||||
|
||||
...to the extent that it virtually doesn't exist
|
||||
|
||||
Change-Id: Ic01d08ef9c09de128ac08ecebb52aa7f90cf9e4e
|
||||
---
|
||||
service/java/com/android/server/wifi/ScanRequestProxy.java | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/service/java/com/android/server/wifi/ScanRequestProxy.java b/service/java/com/android/server/wifi/ScanRequestProxy.java
|
||||
index 0a9a446ab..3cedc343e 100644
|
||||
--- a/service/java/com/android/server/wifi/ScanRequestProxy.java
|
||||
+++ b/service/java/com/android/server/wifi/ScanRequestProxy.java
|
||||
@@ -67,7 +67,7 @@ public class ScanRequestProxy {
|
||||
private static final String TAG = "WifiScanRequestProxy";
|
||||
|
||||
@VisibleForTesting
|
||||
- public static final int SCAN_REQUEST_THROTTLE_TIME_WINDOW_FG_APPS_MS = 120 * 1000;
|
||||
+ public static final int SCAN_REQUEST_THROTTLE_TIME_WINDOW_FG_APPS_MS = 1;
|
||||
@VisibleForTesting
|
||||
public static final int SCAN_REQUEST_THROTTLE_MAX_IN_TIME_WINDOW_FG_APPS = 4;
|
||||
@VisibleForTesting
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,46 +0,0 @@
|
||||
From afd1147a3f7b3c2a91b4a3900dd84e4c465c6629 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 20 Jun 2021 09:08:43 +0000
|
||||
Subject: [PATCH] build: Integrate prop modifications (1/2)
|
||||
|
||||
Change-Id: I24f54937e3e542b7c29ea86d24e3f523583a0c61
|
||||
---
|
||||
tools/buildinfo.sh | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tools/buildinfo.sh b/tools/buildinfo.sh
|
||||
index 954a01fb2..b3705cb6b 100755
|
||||
--- a/tools/buildinfo.sh
|
||||
+++ b/tools/buildinfo.sh
|
||||
@@ -4,7 +4,7 @@ echo "# begin build properties"
|
||||
echo "# autogenerated by buildinfo.sh"
|
||||
|
||||
echo "ro.build.id=$BUILD_ID"
|
||||
-echo "ro.build.display.id=$BUILD_DISPLAY_ID"
|
||||
+echo "ro.build.display.id=$BUILD_ID"
|
||||
echo "ro.build.version.incremental=$BUILD_NUMBER"
|
||||
echo "ro.build.version.sdk=$PLATFORM_SDK_VERSION"
|
||||
echo "ro.build.version.preview_sdk=$PLATFORM_PREVIEW_SDK_VERSION"
|
||||
@@ -16,7 +16,7 @@ echo "ro.build.version.release_or_codename=$PLATFORM_VERSION"
|
||||
echo "ro.build.version.security_patch=$PLATFORM_SECURITY_PATCH"
|
||||
echo "ro.build.version.base_os=$PLATFORM_BASE_OS"
|
||||
echo "ro.build.version.min_supported_target_sdk=$PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION"
|
||||
-echo "ro.build.date=`$DATE`"
|
||||
+echo "ro.build.date=`$DATE +\"%B %-d, %Y\"`"
|
||||
echo "ro.build.date.utc=`$DATE +%s`"
|
||||
echo "ro.build.type=$TARGET_BUILD_TYPE"
|
||||
echo "ro.build.user=$BUILD_USERNAME"
|
||||
@@ -54,5 +54,10 @@ if [ -n "$BUILD_THUMBPRINT" ] ; then
|
||||
fi
|
||||
|
||||
echo "ro.lineage.device=$LINEAGE_DEVICE"
|
||||
+echo "ro.lineage.version=LineageOS 18.1 Self-built CGMod"
|
||||
+echo "ro.lineage.display.version=LineageOS 18.1 Self-built CGMod"
|
||||
+echo "ro.modversion=LineageOS 18.1 Self-built CGMod"
|
||||
+
|
||||
+echo "lockscreen.rot_override=true"
|
||||
|
||||
echo "# end build properties"
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,36 +0,0 @@
|
||||
From 2ca9b6c8cc63b5726c682b77ece6d7112e6652b9 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 20 Jun 2021 09:09:15 +0000
|
||||
Subject: [PATCH] build: Integrate prop modifications (2/2)
|
||||
|
||||
Change-Id: I076973f902ab20011964e50955e4326c18d5b34e
|
||||
---
|
||||
build/core/main_version.mk | 7 +------
|
||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/build/core/main_version.mk b/build/core/main_version.mk
|
||||
index dddeee77..dd86cbfd 100644
|
||||
--- a/build/core/main_version.mk
|
||||
+++ b/build/core/main_version.mk
|
||||
@@ -5,17 +5,12 @@ ADDITIONAL_BUILD_PROPERTIES += \
|
||||
endif
|
||||
|
||||
# LineageOS System Version
|
||||
+# Do not set Display Versions here, due to Makefile not playing nice with spaces
|
||||
ADDITIONAL_BUILD_PROPERTIES += \
|
||||
- ro.lineage.version=$(LINEAGE_VERSION) \
|
||||
ro.lineage.releasetype=$(LINEAGE_BUILDTYPE) \
|
||||
ro.lineage.build.version=$(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR) \
|
||||
- ro.modversion=$(LINEAGE_VERSION) \
|
||||
ro.lineagelegal.url=https://lineageos.org/legal
|
||||
|
||||
-# LineageOS Platform Display Version
|
||||
-ADDITIONAL_BUILD_PROPERTIES += \
|
||||
- ro.lineage.display.version=$(LINEAGE_DISPLAY_VERSION)
|
||||
-
|
||||
# LineageOS Platform SDK Version
|
||||
ADDITIONAL_BUILD_PROPERTIES += \
|
||||
ro.lineage.build.version.plat.sdk=$(LINEAGE_PLATFORM_SDK_VERSION)
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,33 +0,0 @@
|
||||
From 8a3d38d3148713836c12d85f7fc4a6a366cc00e4 Mon Sep 17 00:00:00 2001
|
||||
From: AndyCGYan <GeForce8800Ultra@gmail.com>
|
||||
Date: Mon, 4 Mar 2019 14:27:56 +0800
|
||||
Subject: [PATCH] sdk: Do not warn about SELinux and build signature status
|
||||
|
||||
Change-Id: I6e1ca9f2c2f7763364a9a370f444dfe8059d0563
|
||||
---
|
||||
.../org/lineageos/platform/internal/TrustInterfaceService.java | 9 ---------
|
||||
1 file changed, 9 deletions(-)
|
||||
|
||||
diff --git a/lineage/lib/main/java/org/lineageos/platform/internal/TrustInterfaceService.java b/lineage/lib/main/java/org/lineageos/platform/internal/TrustInterfaceService.java
|
||||
index 2dcb938..e9f2dca 100644
|
||||
--- a/lineage/lib/main/java/org/lineageos/platform/internal/TrustInterfaceService.java
|
||||
+++ b/lineage/lib/main/java/org/lineageos/platform/internal/TrustInterfaceService.java
|
||||
@@ -197,15 +197,6 @@ public class TrustInterfaceService extends LineageSystemService {
|
||||
}
|
||||
|
||||
private void runTestInternal() {
|
||||
- int selinuxStatus = getSELinuxStatus();
|
||||
- if (selinuxStatus != TrustInterface.TRUST_FEATURE_LEVEL_GOOD) {
|
||||
- postNotificationForFeatureInternal(TrustInterface.TRUST_WARN_SELINUX);
|
||||
- }
|
||||
-
|
||||
- int keysStatus = getKeysStatus();
|
||||
- if (keysStatus != TrustInterface.TRUST_FEATURE_LEVEL_GOOD) {
|
||||
- postNotificationForFeatureInternal(TrustInterface.TRUST_WARN_PUBLIC_KEY);
|
||||
- }
|
||||
}
|
||||
|
||||
/* Utils */
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,30 +0,0 @@
|
||||
From c2a1592dde677fa4e9ee2c3ebe0585e51aee43ef Mon Sep 17 00:00:00 2001
|
||||
From: AndyCGYan <GeForce8800Ultra@gmail.com>
|
||||
Date: Mon, 1 Jul 2019 07:03:04 +0000
|
||||
Subject: [PATCH] vendor_lineage: Ignore neverallows... again
|
||||
|
||||
Because unofficial builds are better than no builds!
|
||||
|
||||
Change-Id: I4b19d09b28f79c6f5020bf03fdf8931145bca03a
|
||||
---
|
||||
build/core/config.mk | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/build/core/config.mk b/build/core/config.mk
|
||||
index f2e595ff..d6d036a9 100644
|
||||
--- a/build/core/config.mk
|
||||
+++ b/build/core/config.mk
|
||||
@@ -20,5 +20,10 @@ FRAMEWORK_LINEAGE_PLATFORM_API_FILE := $(TOPDIR)lineage-sdk/api/lineage_current.
|
||||
FRAMEWORK_LINEAGE_PLATFORM_REMOVED_API_FILE := $(TOPDIR)lineage-sdk/api/lineage_removed.txt
|
||||
FRAMEWORK_LINEAGE_API_NEEDS_UPDATE_TEXT := $(TOPDIR)vendor/lineage/build/core/apicheck_msg_current.txt
|
||||
|
||||
+# We modify several neverallows, so let the build proceed
|
||||
+ifneq ($(TARGET_BUILD_VARIANT),user)
|
||||
+SELINUX_IGNORE_NEVERALLOWS := true
|
||||
+endif
|
||||
+
|
||||
# Rules for QCOM targets
|
||||
include $(TOPDIR)vendor/lineage/build/core/qcom_target.mk
|
||||
--
|
||||
2.17.1
|
||||
|
132
sign_target_files.sh
Executable file
132
sign_target_files.sh
Executable file
@ -0,0 +1,132 @@
|
||||
#!/bin/bash
|
||||
|
||||
OUTFILE="$1"
|
||||
|
||||
if [ -z "$OUTFILE" ]; then
|
||||
OUTFILE="signed-target_files.zip"
|
||||
fi
|
||||
|
||||
sign_target_files_apks -o -d ~/.android-certs --allow_gsi_debug_sepolicy \
|
||||
--extra_apks AdServicesApk.apk=$HOME/.android-certs/releasekey \
|
||||
--extra_apks FederatedCompute.apk=$HOME/.android-certs/releasekey \
|
||||
--extra_apks HalfSheetUX.apk=$HOME/.android-certs/releasekey \
|
||||
--extra_apks HealthConnectBackupRestore.apk=$HOME/.android-certs/releasekey \
|
||||
--extra_apks HealthConnectController.apk=$HOME/.android-certs/releasekey \
|
||||
--extra_apks OsuLogin.apk=$HOME/.android-certs/releasekey \
|
||||
--extra_apks SafetyCenterResources.apk=$HOME/.android-certs/releasekey \
|
||||
--extra_apks ServiceConnectivityResources.apk=$HOME/.android-certs/releasekey \
|
||||
--extra_apks ServiceUwbResources.apk=$HOME/.android-certs/releasekey \
|
||||
--extra_apks ServiceWifiResources.apk=$HOME/.android-certs/releasekey \
|
||||
--extra_apks WifiDialog.apk=$HOME/.android-certs/releasekey \
|
||||
--extra_apks com.android.adbd.apex=$HOME/.android-certs/com.android.adbd \
|
||||
--extra_apks com.android.adservices.apex=$HOME/.android-certs/com.android.adservices \
|
||||
--extra_apks com.android.adservices.api.apex=$HOME/.android-certs/com.android.adservices.api \
|
||||
--extra_apks com.android.appsearch.apex=$HOME/.android-certs/com.android.appsearch \
|
||||
--extra_apks com.android.art.apex=$HOME/.android-certs/com.android.art \
|
||||
--extra_apks com.android.bluetooth.apex=$HOME/.android-certs/com.android.bluetooth \
|
||||
--extra_apks com.android.btservices.apex=$HOME/.android-certs/com.android.btservices \
|
||||
--extra_apks com.android.cellbroadcast.apex=$HOME/.android-certs/com.android.cellbroadcast \
|
||||
--extra_apks com.android.compos.apex=$HOME/.android-certs/com.android.compos \
|
||||
--extra_apks com.android.configinfrastructure.apex=$HOME/.android-certs/com.android.configinfrastructure \
|
||||
--extra_apks com.android.connectivity.resources.apex=$HOME/.android-certs/com.android.connectivity.resources \
|
||||
--extra_apks com.android.conscrypt.apex=$HOME/.android-certs/com.android.conscrypt \
|
||||
--extra_apks com.android.devicelock.apex=$HOME/.android-certs/com.android.devicelock \
|
||||
--extra_apks com.android.extservices.apex=$HOME/.android-certs/com.android.extservices \
|
||||
--extra_apks com.android.graphics.pdf.apex=$HOME/.android-certs/com.android.graphics.pdf \
|
||||
--extra_apks com.android.hardware.biometrics.face.virtual.apex=$HOME/.android-certs/com.android.hardware.biometrics.face.virtual \
|
||||
--extra_apks com.android.hardware.biometrics.fingerprint.virtual.apex=$HOME/.android-certs/com.android.hardware.biometrics.fingerprint.virtual \
|
||||
--extra_apks com.android.hardware.boot.apex=$HOME/.android-certs/com.android.hardware.boot \
|
||||
--extra_apks com.android.hardware.cas.apex=$HOME/.android-certs/com.android.hardware.cas \
|
||||
--extra_apks com.android.hardware.wifi.apex=$HOME/.android-certs/com.android.hardware.wifi \
|
||||
--extra_apks com.android.healthfitness.apex=$HOME/.android-certs/com.android.healthfitness \
|
||||
--extra_apks com.android.hotspot2.osulogin.apex=$HOME/.android-certs/com.android.hotspot2.osulogin \
|
||||
--extra_apks com.android.i18n.apex=$HOME/.android-certs/com.android.i18n \
|
||||
--extra_apks com.android.ipsec.apex=$HOME/.android-certs/com.android.ipsec \
|
||||
--extra_apks com.android.media.apex=$HOME/.android-certs/com.android.media \
|
||||
--extra_apks com.android.media.swcodec.apex=$HOME/.android-certs/com.android.media.swcodec \
|
||||
--extra_apks com.android.mediaprovider.apex=$HOME/.android-certs/com.android.mediaprovider \
|
||||
--extra_apks com.android.nearby.halfsheet.apex=$HOME/.android-certs/com.android.nearby.halfsheet \
|
||||
--extra_apks com.android.networkstack.tethering.apex=$HOME/.android-certs/com.android.networkstack.tethering \
|
||||
--extra_apks com.android.neuralnetworks.apex=$HOME/.android-certs/com.android.neuralnetworks \
|
||||
--extra_apks com.android.ondevicepersonalization.apex=$HOME/.android-certs/com.android.ondevicepersonalization \
|
||||
--extra_apks com.android.os.statsd.apex=$HOME/.android-certs/com.android.os.statsd \
|
||||
--extra_apks com.android.permission.apex=$HOME/.android-certs/com.android.permission \
|
||||
--extra_apks com.android.resolv.apex=$HOME/.android-certs/com.android.resolv \
|
||||
--extra_apks com.android.rkpd.apex=$HOME/.android-certs/com.android.rkpd \
|
||||
--extra_apks com.android.runtime.apex=$HOME/.android-certs/com.android.runtime \
|
||||
--extra_apks com.android.safetycenter.resources.apex=$HOME/.android-certs/com.android.safetycenter.resources \
|
||||
--extra_apks com.android.scheduling.apex=$HOME/.android-certs/com.android.scheduling \
|
||||
--extra_apks com.android.sdkext.apex=$HOME/.android-certs/com.android.sdkext \
|
||||
--extra_apks com.android.support.apexer.apex=$HOME/.android-certs/com.android.support.apexer \
|
||||
--extra_apks com.android.telephony.apex=$HOME/.android-certs/com.android.telephony \
|
||||
--extra_apks com.android.telephonymodules.apex=$HOME/.android-certs/com.android.telephonymodules \
|
||||
--extra_apks com.android.tethering.apex=$HOME/.android-certs/com.android.tethering \
|
||||
--extra_apks com.android.tzdata.apex=$HOME/.android-certs/com.android.tzdata \
|
||||
--extra_apks com.android.uwb.apex=$HOME/.android-certs/com.android.uwb \
|
||||
--extra_apks com.android.uwb.resources.apex=$HOME/.android-certs/com.android.uwb.resources \
|
||||
--extra_apks com.android.virt.apex=$HOME/.android-certs/com.android.virt \
|
||||
--extra_apks com.android.vndk.current.apex=$HOME/.android-certs/com.android.vndk.current \
|
||||
--extra_apks com.android.vndk.current.on_vendor.apex=$HOME/.android-certs/com.android.vndk.current.on_vendor \
|
||||
--extra_apks com.android.wifi.apex=$HOME/.android-certs/com.android.wifi \
|
||||
--extra_apks com.android.wifi.dialog.apex=$HOME/.android-certs/com.android.wifi.dialog \
|
||||
--extra_apks com.android.wifi.resources.apex=$HOME/.android-certs/com.android.wifi.resources \
|
||||
--extra_apks com.google.pixel.camera.hal.apex=$HOME/.android-certs/com.google.pixel.camera.hal \
|
||||
--extra_apks com.google.pixel.vibrator.hal.apex=$HOME/.android-certs/com.google.pixel.vibrator.hal \
|
||||
--extra_apks com.qorvo.uwb.apex=$HOME/.android-certs/com.qorvo.uwb \
|
||||
--extra_apex_payload_key com.android.adbd.apex=$HOME/.android-certs/com.android.adbd.pem \
|
||||
--extra_apex_payload_key com.android.adservices.apex=$HOME/.android-certs/com.android.adservices.pem \
|
||||
--extra_apex_payload_key com.android.adservices.api.apex=$HOME/.android-certs/com.android.adservices.api.pem \
|
||||
--extra_apex_payload_key com.android.appsearch.apex=$HOME/.android-certs/com.android.appsearch.pem \
|
||||
--extra_apex_payload_key com.android.art.apex=$HOME/.android-certs/com.android.art.pem \
|
||||
--extra_apex_payload_key com.android.bluetooth.apex=$HOME/.android-certs/com.android.bluetooth.pem \
|
||||
--extra_apex_payload_key com.android.btservices.apex=$HOME/.android-certs/com.android.btservices.pem \
|
||||
--extra_apex_payload_key com.android.cellbroadcast.apex=$HOME/.android-certs/com.android.cellbroadcast.pem \
|
||||
--extra_apex_payload_key com.android.compos.apex=$HOME/.android-certs/com.android.compos.pem \
|
||||
--extra_apex_payload_key com.android.configinfrastructure.apex=$HOME/.android-certs/com.android.configinfrastructure.pem \
|
||||
--extra_apex_payload_key com.android.connectivity.resources.apex=$HOME/.android-certs/com.android.connectivity.resources.pem \
|
||||
--extra_apex_payload_key com.android.conscrypt.apex=$HOME/.android-certs/com.android.conscrypt.pem \
|
||||
--extra_apex_payload_key com.android.devicelock.apex=$HOME/.android-certs/com.android.devicelock.pem \
|
||||
--extra_apex_payload_key com.android.extservices.apex=$HOME/.android-certs/com.android.extservices.pem \
|
||||
--extra_apex_payload_key com.android.graphics.pdf.apex=$HOME/.android-certs/com.android.graphics.pdf.pem \
|
||||
--extra_apex_payload_key com.android.hardware.biometrics.face.virtual.apex=$HOME/.android-certs/com.android.hardware.biometrics.face.virtual.pem \
|
||||
--extra_apex_payload_key com.android.hardware.biometrics.fingerprint.virtual.apex=$HOME/.android-certs/com.android.hardware.biometrics.fingerprint.virtual.pem \
|
||||
--extra_apex_payload_key com.android.hardware.boot.apex=$HOME/.android-certs/com.android.hardware.boot.pem \
|
||||
--extra_apex_payload_key com.android.hardware.cas.apex=$HOME/.android-certs/com.android.hardware.cas.pem \
|
||||
--extra_apex_payload_key com.android.hardware.wifi.apex=$HOME/.android-certs/com.android.hardware.wifi.pem \
|
||||
--extra_apex_payload_key com.android.healthfitness.apex=$HOME/.android-certs/com.android.healthfitness.pem \
|
||||
--extra_apex_payload_key com.android.hotspot2.osulogin.apex=$HOME/.android-certs/com.android.hotspot2.osulogin.pem \
|
||||
--extra_apex_payload_key com.android.i18n.apex=$HOME/.android-certs/com.android.i18n.pem \
|
||||
--extra_apex_payload_key com.android.ipsec.apex=$HOME/.android-certs/com.android.ipsec.pem \
|
||||
--extra_apex_payload_key com.android.media.apex=$HOME/.android-certs/com.android.media.pem \
|
||||
--extra_apex_payload_key com.android.media.swcodec.apex=$HOME/.android-certs/com.android.media.swcodec.pem \
|
||||
--extra_apex_payload_key com.android.mediaprovider.apex=$HOME/.android-certs/com.android.mediaprovider.pem \
|
||||
--extra_apex_payload_key com.android.nearby.halfsheet.apex=$HOME/.android-certs/com.android.nearby.halfsheet.pem \
|
||||
--extra_apex_payload_key com.android.networkstack.tethering.apex=$HOME/.android-certs/com.android.networkstack.tethering.pem \
|
||||
--extra_apex_payload_key com.android.neuralnetworks.apex=$HOME/.android-certs/com.android.neuralnetworks.pem \
|
||||
--extra_apex_payload_key com.android.ondevicepersonalization.apex=$HOME/.android-certs/com.android.ondevicepersonalization.pem \
|
||||
--extra_apex_payload_key com.android.os.statsd.apex=$HOME/.android-certs/com.android.os.statsd.pem \
|
||||
--extra_apex_payload_key com.android.permission.apex=$HOME/.android-certs/com.android.permission.pem \
|
||||
--extra_apex_payload_key com.android.resolv.apex=$HOME/.android-certs/com.android.resolv.pem \
|
||||
--extra_apex_payload_key com.android.rkpd.apex=$HOME/.android-certs/com.android.rkpd.pem \
|
||||
--extra_apex_payload_key com.android.runtime.apex=$HOME/.android-certs/com.android.runtime.pem \
|
||||
--extra_apex_payload_key com.android.safetycenter.resources.apex=$HOME/.android-certs/com.android.safetycenter.resources.pem \
|
||||
--extra_apex_payload_key com.android.scheduling.apex=$HOME/.android-certs/com.android.scheduling.pem \
|
||||
--extra_apex_payload_key com.android.sdkext.apex=$HOME/.android-certs/com.android.sdkext.pem \
|
||||
--extra_apex_payload_key com.android.support.apexer.apex=$HOME/.android-certs/com.android.support.apexer.pem \
|
||||
--extra_apex_payload_key com.android.telephony.apex=$HOME/.android-certs/com.android.telephony.pem \
|
||||
--extra_apex_payload_key com.android.telephonymodules.apex=$HOME/.android-certs/com.android.telephonymodules.pem \
|
||||
--extra_apex_payload_key com.android.tethering.apex=$HOME/.android-certs/com.android.tethering.pem \
|
||||
--extra_apex_payload_key com.android.tzdata.apex=$HOME/.android-certs/com.android.tzdata.pem \
|
||||
--extra_apex_payload_key com.android.uwb.apex=$HOME/.android-certs/com.android.uwb.pem \
|
||||
--extra_apex_payload_key com.android.uwb.resources.apex=$HOME/.android-certs/com.android.uwb.resources.pem \
|
||||
--extra_apex_payload_key com.android.virt.apex=$HOME/.android-certs/com.android.virt.pem \
|
||||
--extra_apex_payload_key com.android.vndk.current.apex=$HOME/.android-certs/com.android.vndk.current.pem \
|
||||
--extra_apex_payload_key com.android.vndk.current.on_vendor.apex=$HOME/.android-certs/com.android.vndk.current.on_vendor.pem \
|
||||
--extra_apex_payload_key com.android.wifi.apex=$HOME/.android-certs/com.android.wifi.pem \
|
||||
--extra_apex_payload_key com.android.wifi.dialog.apex=$HOME/.android-certs/com.android.wifi.dialog.pem \
|
||||
--extra_apex_payload_key com.android.wifi.resources.apex=$HOME/.android-certs/com.android.wifi.resources.pem \
|
||||
--extra_apex_payload_key com.google.pixel.camera.hal.apex=$HOME/.android-certs/com.google.pixel.camera.hal.pem \
|
||||
--extra_apex_payload_key com.google.pixel.vibrator.hal.apex=$HOME/.android-certs/com.google.pixel.vibrator.hal.pem \
|
||||
--extra_apex_payload_key com.qorvo.uwb.apex=$HOME/.android-certs/com.qorvo.uwb.pem \
|
||||
$OUT/obj/PACKAGING/target_files_intermediates/*-target_files*.zip \
|
||||
$OUTFILE
|
Loading…
x
Reference in New Issue
Block a user