Compare commits
No commits in common. "lineage-21-light" and "lineage-17.1-old" have entirely different histories.
lineage-21
...
lineage-17
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +0,0 @@
|
||||
/local_manifests_device
|
40
0001-Disable-vendor-mismatch-warning.patch
Normal file
40
0001-Disable-vendor-mismatch-warning.patch
Normal file
@ -0,0 +1,40 @@
|
||||
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
|
||||
|
24
0001-Increase-system-partition-size-for-arm_ab.patch
Normal file
24
0001-Increase-system-partition-size-for-arm_ab.patch
Normal file
@ -0,0 +1,24 @@
|
||||
From 037c36f36b8f71bd2001c30285bcfcd6523973b0 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 4 Sep 2019 01:37:30 +0000
|
||||
Subject: [PATCH] Increase system partition size for arm_ab
|
||||
|
||||
Change-Id: I3ac099dd64624ec27c5fb64ce3fa3a9e500402e5
|
||||
---
|
||||
phhgsi_arm_ab/BoardConfig.mk | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/phhgsi_arm_ab/BoardConfig.mk b/phhgsi_arm_ab/BoardConfig.mk
|
||||
index 18aaace..5726959 100644
|
||||
--- a/phhgsi_arm_ab/BoardConfig.mk
|
||||
+++ b/phhgsi_arm_ab/BoardConfig.mk
|
||||
@@ -2,5 +2,5 @@ include build/make/target/board/generic_arm_ab/BoardConfig.mk
|
||||
include device/phh/treble/board-base.mk
|
||||
|
||||
ifeq ($(BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE),)
|
||||
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1073741824
|
||||
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1313583104
|
||||
endif
|
||||
--
|
||||
2.17.1
|
||||
|
103
0001-LineageParts-Invert-per-app-stretch-to-fullscreen.patch
Normal file
103
0001-LineageParts-Invert-per-app-stretch-to-fullscreen.patch
Normal file
@ -0,0 +1,103 @@
|
||||
From 2da980250f13f6bec288b921be1ad6a57549b1fc 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 | 4 ++--
|
||||
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, 10 insertions(+), 10 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 b518ff4..6ca9adb 100644
|
||||
--- a/res/values-zh-rCN/strings.xml
|
||||
+++ b/res/values-zh-rCN/strings.xml
|
||||
@@ -469,8 +469,8 @@
|
||||
<string name="expanded_desktop_style_hide_navigation">隐藏导航栏</string>
|
||||
<string name="expanded_desktop_style_hide_both">同时隐藏</string>
|
||||
<string name="expanded_desktop_nothing_to_show_text">关闭开关以自定义您每个应用的扩展桌面</string>
|
||||
- <string name="long_screen_settings_title">全屏应用</string>
|
||||
- <string name="long_screen_settings_summary">强制旧式应用程序使用全屏长宽比</string>
|
||||
+ <string name="inverse_long_screen_settings_title">禁用拉伸全屏</string>
|
||||
+ <string name="inverse_long_screen_settings_summary">对选定的应用禁用拉伸全屏</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 418b478..2ae06e7 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
|
||||
|
29
0001-Remove-fsck-SELinux-labels.patch
Normal file
29
0001-Remove-fsck-SELinux-labels.patch
Normal file
@ -0,0 +1,29 @@
|
||||
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
|
||||
|
969
0001-Squashed-revert-of-LOS-FOD-implementation.patch
Normal file
969
0001-Squashed-revert-of-LOS-FOD-implementation.patch
Normal file
@ -0,0 +1,969 @@
|
||||
From 16b05029ca5f14a5c881eccfc57f07738fc64d8a Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 5 Feb 2020 02:24:44 +0000
|
||||
Subject: [PATCH] Squashed revert of LOS FOD implementation
|
||||
|
||||
Better than having an ever-growing string of revert commands?
|
||||
|
||||
Change-Id: Ifbcd5ff44c97e536fd2e417deadc2b08773b7b5e
|
||||
---
|
||||
.../internal/statusbar/IStatusBar.aidl | 3 -
|
||||
.../internal/statusbar/IStatusBarService.aidl | 3 -
|
||||
packages/SystemUI/Android.bp | 2 -
|
||||
.../res/drawable/fod_icon_default.xml | 25 -
|
||||
packages/SystemUI/res/values/config.xml | 1 -
|
||||
.../SystemUI/res/values/lineage_config.xml | 4 -
|
||||
.../systemui/biometrics/FODCircleView.java | 430 ------------------
|
||||
.../biometrics/FODCircleViewImpl.java | 62 ---
|
||||
.../systemui/statusbar/CommandQueue.java | 28 --
|
||||
services/core/Android.bp | 1 -
|
||||
.../biometrics/BiometricServiceBase.java | 2 +-
|
||||
.../fingerprint/FingerprintService.java | 112 -----
|
||||
.../statusbar/StatusBarManagerService.java | 22 -
|
||||
13 files changed, 1 insertion(+), 694 deletions(-)
|
||||
delete mode 100644 packages/SystemUI/res/drawable/fod_icon_default.xml
|
||||
delete mode 100644 packages/SystemUI/src/com/android/systemui/biometrics/FODCircleView.java
|
||||
delete mode 100644 packages/SystemUI/src/com/android/systemui/biometrics/FODCircleViewImpl.java
|
||||
|
||||
diff --git a/core/java/com/android/internal/statusbar/IStatusBar.aidl b/core/java/com/android/internal/statusbar/IStatusBar.aidl
|
||||
index 4b1f665e31a..fd79729306e 100644
|
||||
--- a/core/java/com/android/internal/statusbar/IStatusBar.aidl
|
||||
+++ b/core/java/com/android/internal/statusbar/IStatusBar.aidl
|
||||
@@ -162,9 +162,6 @@ oneway interface IStatusBar
|
||||
void onBiometricError(String error);
|
||||
// Used to hide the biometric dialog when the AuthenticationClient is stopped
|
||||
void hideBiometricDialog();
|
||||
- // Used to show or hide in display fingerprint view
|
||||
- void showInDisplayFingerprintView();
|
||||
- void hideInDisplayFingerprintView();
|
||||
// Used to block or unblock usage of gestural navigation
|
||||
void setBlockedGesturalNavigation(boolean blocked);
|
||||
|
||||
diff --git a/core/java/com/android/internal/statusbar/IStatusBarService.aidl b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
|
||||
index d1d44d1ad60..07b0c6eecdf 100644
|
||||
--- a/core/java/com/android/internal/statusbar/IStatusBarService.aidl
|
||||
+++ b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
|
||||
@@ -110,9 +110,6 @@ interface IStatusBarService
|
||||
void onBiometricError(String error);
|
||||
// Used to hide the biometric dialog when the AuthenticationClient is stopped
|
||||
void hideBiometricDialog();
|
||||
- // Used to show or hide in display fingerprint view
|
||||
- void showInDisplayFingerprintView();
|
||||
- void hideInDisplayFingerprintView();
|
||||
// Used to block or unblock usage of gestural navigation
|
||||
void setBlockedGesturalNavigation(boolean blocked);
|
||||
}
|
||||
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp
|
||||
index 99f2e5b7301..7f5f9cb8ae7 100644
|
||||
--- a/packages/SystemUI/Android.bp
|
||||
+++ b/packages/SystemUI/Android.bp
|
||||
@@ -65,7 +65,6 @@ android_library {
|
||||
"dagger2-2.19",
|
||||
"jsr330",
|
||||
"org.lineageos.platform.internal",
|
||||
- "vendor.lineage.biometrics.fingerprint.inscreen-V1.0-java",
|
||||
],
|
||||
manifest: "AndroidManifest.xml",
|
||||
additional_manifests: ["LineageManifest.xml"],
|
||||
@@ -124,7 +123,6 @@ android_library {
|
||||
"dagger2-2.19",
|
||||
"jsr330",
|
||||
"org.lineageos.platform.internal",
|
||||
- "vendor.lineage.biometrics.fingerprint.inscreen-V1.0-java",
|
||||
],
|
||||
libs: [
|
||||
"android.test.runner",
|
||||
diff --git a/packages/SystemUI/res/drawable/fod_icon_default.xml b/packages/SystemUI/res/drawable/fod_icon_default.xml
|
||||
deleted file mode 100644
|
||||
index 38e9d311128..00000000000
|
||||
--- a/packages/SystemUI/res/drawable/fod_icon_default.xml
|
||||
+++ /dev/null
|
||||
@@ -1,25 +0,0 @@
|
||||
-<?xml version="1.0" encoding="utf-8"?>
|
||||
-<!--
|
||||
- Copyright (C) 2019 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.
|
||||
--->
|
||||
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
- android:width="48dp"
|
||||
- android:height="48dp"
|
||||
- android:viewportWidth="24.0"
|
||||
- android:viewportHeight="24.0">
|
||||
- <path
|
||||
- android:fillColor="#ffffff"
|
||||
- android:pathData="M17.81,4.47c-0.08,0 -0.16,-0.02 -0.23,-0.06C15.66,3.42 14,3 12.01,3c-1.98,0 -3.86,0.47 -5.57,1.41 -0.24,0.13 -0.54,0.04 -0.68,-0.2 -0.13,-0.24 -0.04,-0.55 0.2,-0.68C7.82,2.52 9.86,2 12.01,2c2.13,0 3.99,0.47 6.03,1.52 0.25,0.13 0.34,0.43 0.21,0.67 -0.09,0.18 -0.26,0.28 -0.44,0.28zM3.5,9.72c-0.1,0 -0.2,-0.03 -0.29,-0.09 -0.23,-0.16 -0.28,-0.47 -0.12,-0.7 0.99,-1.4 2.25,-2.5 3.75,-3.27C9.98,4.04 14,4.03 17.15,5.65c1.5,0.77 2.76,1.86 3.75,3.25 0.16,0.22 0.11,0.54 -0.12,0.7 -0.23,0.16 -0.54,0.11 -0.7,-0.12 -0.9,-1.26 -2.04,-2.25 -3.39,-2.94 -2.87,-1.47 -6.54,-1.47 -9.4,0.01 -1.36,0.7 -2.5,1.7 -3.4,2.96 -0.08,0.14 -0.23,0.21 -0.39,0.21zM9.75,21.79c-0.13,0 -0.26,-0.05 -0.35,-0.15 -0.87,-0.87 -1.34,-1.43 -2.01,-2.64 -0.69,-1.23 -1.05,-2.73 -1.05,-4.34 0,-2.97 2.54,-5.39 5.66,-5.39s5.66,2.42 5.66,5.39c0,0.28 -0.22,0.5 -0.5,0.5s-0.5,-0.22 -0.5,-0.5c0,-2.42 -2.09,-4.39 -4.66,-4.39 -2.57,0 -4.66,1.97 -4.66,4.39 0,1.44 0.32,2.77 0.93,3.85 0.64,1.15 1.08,1.64 1.85,2.42 0.19,0.2 0.19,0.51 0,0.71 -0.11,0.1 -0.24,0.15 -0.37,0.15zM16.92,19.94c-1.19,0 -2.24,-0.3 -3.1,-0.89 -1.49,-1.01 -2.38,-2.65 -2.38,-4.39 0,-0.28 0.22,-0.5 0.5,-0.5s0.5,0.22 0.5,0.5c0,1.41 0.72,2.74 1.94,3.56 0.71,0.48 1.54,0.71 2.54,0.71 0.24,0 0.64,-0.03 1.04,-0.1 0.27,-0.05 0.53,0.13 0.58,0.41 0.05,0.27 -0.13,0.53 -0.41,0.58 -0.57,0.11 -1.07,0.12 -1.21,0.12zM14.91,22c-0.04,0 -0.09,-0.01 -0.13,-0.02 -1.59,-0.44 -2.63,-1.03 -3.72,-2.1 -1.4,-1.39 -2.17,-3.24 -2.17,-5.22 0,-1.62 1.38,-2.94 3.08,-2.94 1.7,0 3.08,1.32 3.08,2.94 0,1.07 0.93,1.94 2.08,1.94s2.08,-0.87 2.08,-1.94c0,-3.77 -3.25,-6.83 -7.25,-6.83 -2.84,0 -5.44,1.58 -6.61,4.03 -0.39,0.81 -0.59,1.76 -0.59,2.8 0,0.78 0.07,2.01 0.67,3.61 0.1,0.26 -0.03,0.55 -0.29,0.64 -0.26,0.1 -0.55,-0.04 -0.64,-0.29 -0.49,-1.31 -0.73,-2.61 -0.73,-3.96 0,-1.2 0.23,-2.29 0.68,-3.24 1.33,-2.79 4.28,-4.6 7.51,-4.6 4.55,0 8.25,3.51 8.25,7.83 0,1.62 -1.38,2.94 -3.08,2.94s-3.08,-1.32 -3.08,-2.94c0,-1.07 -0.93,-1.94 -2.08,-1.94s-2.08,0.87 -2.08,1.94c0,1.71 0.66,3.31 1.87,4.51 0.95,0.94 1.86,1.46 3.27,1.85 0.27,0.07 0.42,0.35 0.35,0.61 -0.05,0.23 -0.26,0.38 -0.47,0.38z" />
|
||||
-</vector>
|
||||
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
|
||||
index 82b6932e5b0..2d794c0aa99 100644
|
||||
--- a/packages/SystemUI/res/values/config.xml
|
||||
+++ b/packages/SystemUI/res/values/config.xml
|
||||
@@ -292,7 +292,6 @@
|
||||
<item>com.android.systemui.globalactions.GlobalActionsComponent</item>
|
||||
<item>com.android.systemui.ScreenDecorations</item>
|
||||
<item>com.android.systemui.biometrics.BiometricDialogImpl</item>
|
||||
- <item>com.android.systemui.biometrics.FODCircleViewImpl</item>
|
||||
<item>com.android.systemui.SliceBroadcastRelayHandler</item>
|
||||
<item>com.android.systemui.SizeCompatModeActivityController</item>
|
||||
<item>com.android.systemui.statusbar.notification.InstantAppNotifier</item>
|
||||
diff --git a/packages/SystemUI/res/values/lineage_config.xml b/packages/SystemUI/res/values/lineage_config.xml
|
||||
index fd732a7127a..e520306aa78 100644
|
||||
--- a/packages/SystemUI/res/values/lineage_config.xml
|
||||
+++ b/packages/SystemUI/res/values/lineage_config.xml
|
||||
@@ -23,10 +23,6 @@
|
||||
-->
|
||||
<integer name="hardware_ui_align">53</integer>
|
||||
|
||||
- <!-- Color of the FOD view -->
|
||||
- <color name="config_fodColor">#00ff00</color>
|
||||
- <color name="config_fodColorBackground">#20000000</color>
|
||||
-
|
||||
<!-- Max visible notification icons -->
|
||||
<integer name="config_maxVisibleNotificationIcons">4</integer>
|
||||
<integer name="config_maxVisibleNotificationIconsOnLock">5</integer>
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/FODCircleView.java b/packages/SystemUI/src/com/android/systemui/biometrics/FODCircleView.java
|
||||
deleted file mode 100644
|
||||
index 0af62b731b9..00000000000
|
||||
--- a/packages/SystemUI/src/com/android/systemui/biometrics/FODCircleView.java
|
||||
+++ /dev/null
|
||||
@@ -1,430 +0,0 @@
|
||||
-/**
|
||||
- * Copyright (C) 2019 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.systemui.biometrics;
|
||||
-
|
||||
-import android.content.Context;
|
||||
-import android.content.res.Configuration;
|
||||
-import android.content.res.Resources;
|
||||
-import android.graphics.Canvas;
|
||||
-import android.graphics.Color;
|
||||
-import android.graphics.Paint;
|
||||
-import android.graphics.PixelFormat;
|
||||
-import android.graphics.Point;
|
||||
-import android.os.Handler;
|
||||
-import android.os.Looper;
|
||||
-import android.os.RemoteException;
|
||||
-import android.provider.Settings;
|
||||
-import android.view.Display;
|
||||
-import android.view.Gravity;
|
||||
-import android.view.MotionEvent;
|
||||
-import android.view.Surface;
|
||||
-import android.view.View;
|
||||
-import android.view.WindowManager;
|
||||
-import android.widget.ImageView;
|
||||
-
|
||||
-import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
-import com.android.keyguard.KeyguardUpdateMonitorCallback;
|
||||
-import com.android.systemui.R;
|
||||
-
|
||||
-import vendor.lineage.biometrics.fingerprint.inscreen.V1_0.IFingerprintInscreen;
|
||||
-import vendor.lineage.biometrics.fingerprint.inscreen.V1_0.IFingerprintInscreenCallback;
|
||||
-
|
||||
-import java.util.NoSuchElementException;
|
||||
-import java.util.Timer;
|
||||
-import java.util.TimerTask;
|
||||
-
|
||||
-public class FODCircleView extends ImageView {
|
||||
- private final int mPositionX;
|
||||
- private final int mPositionY;
|
||||
- private final int mSize;
|
||||
- private final int mDreamingMaxOffset;
|
||||
- private final int mNavigationBarSize;
|
||||
- private final boolean mShouldBoostBrightness;
|
||||
- private final Paint mPaintFingerprint = new Paint();
|
||||
- private final WindowManager.LayoutParams mParams = new WindowManager.LayoutParams();
|
||||
- private final WindowManager mWindowManager;
|
||||
-
|
||||
- private IFingerprintInscreen mFingerprintInscreenDaemon;
|
||||
-
|
||||
- private int mDreamingOffsetX;
|
||||
- private int mDreamingOffsetY;
|
||||
-
|
||||
- private int mColor;
|
||||
- private int mColorBackground;
|
||||
-
|
||||
- private boolean mIsBouncer;
|
||||
- private boolean mIsDreaming;
|
||||
- private boolean mIsShowing;
|
||||
- private boolean mIsCircleShowing;
|
||||
-
|
||||
- private float mCurrentDimAmount = 0.0f;
|
||||
-
|
||||
- private Handler mHandler;
|
||||
-
|
||||
- private Timer mBurnInProtectionTimer;
|
||||
-
|
||||
- private IFingerprintInscreenCallback mFingerprintInscreenCallback =
|
||||
- new IFingerprintInscreenCallback.Stub() {
|
||||
- @Override
|
||||
- public void onFingerDown() {
|
||||
- mHandler.post(() -> showCircle());
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void onFingerUp() {
|
||||
- mHandler.post(() -> hideCircle());
|
||||
- }
|
||||
- };
|
||||
-
|
||||
- private KeyguardUpdateMonitor mUpdateMonitor;
|
||||
-
|
||||
- private KeyguardUpdateMonitorCallback mMonitorCallback = new KeyguardUpdateMonitorCallback() {
|
||||
- @Override
|
||||
- public void onDreamingStateChanged(boolean dreaming) {
|
||||
- mIsDreaming = dreaming;
|
||||
- updateAlpha();
|
||||
-
|
||||
- if (dreaming) {
|
||||
- mBurnInProtectionTimer = new Timer();
|
||||
- mBurnInProtectionTimer.schedule(new BurnInProtectionTask(), 0, 60 * 1000);
|
||||
- } else if (mBurnInProtectionTimer != null) {
|
||||
- mBurnInProtectionTimer.cancel();
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void onKeyguardBouncerChanged(boolean isBouncer) {
|
||||
- mIsBouncer = isBouncer;
|
||||
-
|
||||
- if (isBouncer) {
|
||||
- hide();
|
||||
- } else if (mUpdateMonitor.isFingerprintDetectionRunning()) {
|
||||
- show();
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void onScreenTurnedOff() {
|
||||
- hide();
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void onScreenTurnedOn() {
|
||||
- if (mUpdateMonitor.isFingerprintDetectionRunning()) {
|
||||
- show();
|
||||
- }
|
||||
- }
|
||||
- };
|
||||
-
|
||||
- public FODCircleView(Context context) {
|
||||
- super(context);
|
||||
-
|
||||
- setScaleType(ScaleType.CENTER);
|
||||
-
|
||||
- IFingerprintInscreen daemon = getFingerprintInScreenDaemon();
|
||||
- if (daemon == null) {
|
||||
- throw new RuntimeException("Unable to get IFingerprintInscreen");
|
||||
- }
|
||||
-
|
||||
- try {
|
||||
- mShouldBoostBrightness = daemon.shouldBoostBrightness();
|
||||
- mPositionX = daemon.getPositionX();
|
||||
- mPositionY = daemon.getPositionY();
|
||||
- mSize = daemon.getSize();
|
||||
- } catch (RemoteException e) {
|
||||
- throw new RuntimeException("Failed to retrieve FOD circle position or size");
|
||||
- }
|
||||
-
|
||||
- Resources res = context.getResources();
|
||||
-
|
||||
- mColor = res.getColor(R.color.config_fodColor);
|
||||
- mColorBackground = res.getColor(R.color.config_fodColorBackground);
|
||||
-
|
||||
- mPaintFingerprint.setAntiAlias(true);
|
||||
- mPaintFingerprint.setColor(mColorBackground);
|
||||
-
|
||||
- mWindowManager = context.getSystemService(WindowManager.class);
|
||||
-
|
||||
- mNavigationBarSize = res.getDimensionPixelSize(R.dimen.navigation_bar_size);
|
||||
-
|
||||
- mDreamingMaxOffset = (int) (mSize * 0.1f);
|
||||
-
|
||||
- mHandler = new Handler(Looper.getMainLooper());
|
||||
-
|
||||
- mParams.height = mSize;
|
||||
- mParams.width = mSize;
|
||||
- mParams.format = PixelFormat.TRANSLUCENT;
|
||||
-
|
||||
- mParams.setTitle("Fingerprint on display");
|
||||
- mParams.packageName = "android";
|
||||
- mParams.type = WindowManager.LayoutParams.TYPE_DISPLAY_OVERLAY;
|
||||
- mParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
|
||||
- WindowManager.LayoutParams.FLAG_DIM_BEHIND |
|
||||
- WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
|
||||
- mParams.gravity = Gravity.TOP | Gravity.LEFT;
|
||||
-
|
||||
- mWindowManager.addView(this, mParams);
|
||||
-
|
||||
- updatePosition();
|
||||
- hide();
|
||||
-
|
||||
- mUpdateMonitor = KeyguardUpdateMonitor.getInstance(context);
|
||||
- mUpdateMonitor.registerCallback(mMonitorCallback);
|
||||
-
|
||||
- getViewTreeObserver().addOnGlobalLayoutListener(() -> {
|
||||
- float drawingDimAmount = mParams.dimAmount;
|
||||
- if (mCurrentDimAmount == 0.0f && drawingDimAmount > 0.0f) {
|
||||
- dispatchPress();
|
||||
- mCurrentDimAmount = drawingDimAmount;
|
||||
- } else if (mCurrentDimAmount > 0.0f && drawingDimAmount == 0.0f) {
|
||||
- mCurrentDimAmount = drawingDimAmount;
|
||||
- }
|
||||
- });
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- protected void onDraw(Canvas canvas) {
|
||||
- canvas.drawCircle(mSize / 2, mSize / 2, mSize / 2.0f, mPaintFingerprint);
|
||||
- super.onDraw(canvas);
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public boolean onTouchEvent(MotionEvent event) {
|
||||
- float x = event.getAxisValue(MotionEvent.AXIS_X);
|
||||
- float y = event.getAxisValue(MotionEvent.AXIS_Y);
|
||||
-
|
||||
- boolean newIsInside = (x > 0 && x < mSize) && (y > 0 && y < mSize);
|
||||
-
|
||||
- if (event.getAction() == MotionEvent.ACTION_DOWN && newIsInside) {
|
||||
- showCircle();
|
||||
- return true;
|
||||
- } else if (event.getAction() == MotionEvent.ACTION_UP) {
|
||||
- hideCircle();
|
||||
- return true;
|
||||
- } else if (event.getAction() == MotionEvent.ACTION_MOVE) {
|
||||
- return true;
|
||||
- }
|
||||
-
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void onConfigurationChanged(Configuration newConfig) {
|
||||
- updatePosition();
|
||||
- }
|
||||
-
|
||||
- public IFingerprintInscreen getFingerprintInScreenDaemon() {
|
||||
- if (mFingerprintInscreenDaemon == null) {
|
||||
- try {
|
||||
- mFingerprintInscreenDaemon = IFingerprintInscreen.getService();
|
||||
- if (mFingerprintInscreenDaemon != null) {
|
||||
- mFingerprintInscreenDaemon.setCallback(mFingerprintInscreenCallback);
|
||||
- mFingerprintInscreenDaemon.asBinder().linkToDeath((cookie) -> {
|
||||
- mFingerprintInscreenDaemon = null;
|
||||
- }, 0);
|
||||
- }
|
||||
- } catch (NoSuchElementException | RemoteException e) {
|
||||
- // do nothing
|
||||
- }
|
||||
- }
|
||||
- return mFingerprintInscreenDaemon;
|
||||
- }
|
||||
-
|
||||
- public void dispatchPress() {
|
||||
- IFingerprintInscreen daemon = getFingerprintInScreenDaemon();
|
||||
- try {
|
||||
- daemon.onPress();
|
||||
- } catch (RemoteException e) {
|
||||
- // do nothing
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- public void dispatchRelease() {
|
||||
- IFingerprintInscreen daemon = getFingerprintInScreenDaemon();
|
||||
- try {
|
||||
- daemon.onRelease();
|
||||
- } catch (RemoteException e) {
|
||||
- // do nothing
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- public void dispatchShow() {
|
||||
- IFingerprintInscreen daemon = getFingerprintInScreenDaemon();
|
||||
- try {
|
||||
- daemon.onShowFODView();
|
||||
- } catch (RemoteException e) {
|
||||
- // do nothing
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- public void dispatchHide() {
|
||||
- IFingerprintInscreen daemon = getFingerprintInScreenDaemon();
|
||||
- try {
|
||||
- daemon.onHideFODView();
|
||||
- } catch (RemoteException e) {
|
||||
- // do nothing
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- public void showCircle() {
|
||||
- mIsCircleShowing = true;
|
||||
-
|
||||
- setKeepScreenOn(true);
|
||||
-
|
||||
- setDim(true);
|
||||
- updateAlpha();
|
||||
-
|
||||
- mPaintFingerprint.setColor(mColor);
|
||||
- setImageDrawable(null);
|
||||
- invalidate();
|
||||
- }
|
||||
-
|
||||
- public void hideCircle() {
|
||||
- mIsCircleShowing = false;
|
||||
-
|
||||
- mPaintFingerprint.setColor(mColorBackground);
|
||||
- setImageResource(R.drawable.fod_icon_default);
|
||||
- invalidate();
|
||||
-
|
||||
- dispatchRelease();
|
||||
-
|
||||
- setDim(false);
|
||||
- updateAlpha();
|
||||
-
|
||||
- setKeepScreenOn(false);
|
||||
- }
|
||||
-
|
||||
- public void show() {
|
||||
- if (!mUpdateMonitor.isScreenOn()) {
|
||||
- // Keyguard is shown just after screen turning off
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- if (mIsBouncer) {
|
||||
- // Ignore show calls when Keyguard pin screen is being shown
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- mIsShowing = true;
|
||||
-
|
||||
- updatePosition();
|
||||
-
|
||||
- dispatchShow();
|
||||
- setVisibility(View.VISIBLE);
|
||||
- }
|
||||
-
|
||||
- public void hide() {
|
||||
- mIsShowing = false;
|
||||
-
|
||||
- setVisibility(View.GONE);
|
||||
- hideCircle();
|
||||
- dispatchHide();
|
||||
- }
|
||||
-
|
||||
- private void updateAlpha() {
|
||||
- if (mIsCircleShowing) {
|
||||
- setAlpha(1.0f);
|
||||
- } else {
|
||||
- setAlpha(mIsDreaming ? 0.5f : 1.0f);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- private void updatePosition() {
|
||||
- Display defaultDisplay = mWindowManager.getDefaultDisplay();
|
||||
-
|
||||
- Point size = new Point();
|
||||
- defaultDisplay.getRealSize(size);
|
||||
-
|
||||
- int rotation = defaultDisplay.getRotation();
|
||||
- switch (rotation) {
|
||||
- case Surface.ROTATION_0:
|
||||
- mParams.x = mPositionX;
|
||||
- mParams.y = mPositionY;
|
||||
- break;
|
||||
- case Surface.ROTATION_90:
|
||||
- mParams.x = mPositionY;
|
||||
- mParams.y = mPositionX;
|
||||
- break;
|
||||
- case Surface.ROTATION_180:
|
||||
- mParams.x = mPositionX;
|
||||
- mParams.y = size.y - mPositionY - mSize;
|
||||
- break;
|
||||
- case Surface.ROTATION_270:
|
||||
- mParams.x = size.x - mPositionY - mSize - mNavigationBarSize;
|
||||
- mParams.y = mPositionX;
|
||||
- break;
|
||||
- default:
|
||||
- throw new IllegalArgumentException("Unknown rotation: " + rotation);
|
||||
- }
|
||||
-
|
||||
- if (mIsDreaming) {
|
||||
- mParams.x += mDreamingOffsetX;
|
||||
- mParams.y += mDreamingOffsetY;
|
||||
- }
|
||||
-
|
||||
- mWindowManager.updateViewLayout(this, mParams);
|
||||
- }
|
||||
-
|
||||
- private void setDim(boolean dim) {
|
||||
- if (dim) {
|
||||
- int curBrightness = Settings.System.getInt(getContext().getContentResolver(),
|
||||
- Settings.System.SCREEN_BRIGHTNESS, 100);
|
||||
- int dimAmount = 0;
|
||||
-
|
||||
- IFingerprintInscreen daemon = getFingerprintInScreenDaemon();
|
||||
- try {
|
||||
- dimAmount = daemon.getDimAmount(curBrightness);
|
||||
- } catch (RemoteException e) {
|
||||
- // do nothing
|
||||
- }
|
||||
-
|
||||
- if (mShouldBoostBrightness) {
|
||||
- mParams.screenBrightness = 1.0f;
|
||||
- }
|
||||
-
|
||||
- mParams.dimAmount = dimAmount / 255.0f;
|
||||
- } else {
|
||||
- mParams.screenBrightness = 0.0f;
|
||||
- mParams.dimAmount = 0.0f;
|
||||
- }
|
||||
-
|
||||
- mWindowManager.updateViewLayout(this, mParams);
|
||||
- }
|
||||
-
|
||||
- private class BurnInProtectionTask extends TimerTask {
|
||||
- @Override
|
||||
- public void run() {
|
||||
- long now = System.currentTimeMillis() / 1000 / 60;
|
||||
-
|
||||
- mDreamingOffsetX = (int) (now % (mDreamingMaxOffset * 4));
|
||||
- if (mDreamingOffsetX > mDreamingMaxOffset * 2) {
|
||||
- mDreamingOffsetX = mDreamingMaxOffset * 4 - mDreamingOffsetX;
|
||||
- }
|
||||
-
|
||||
- // Let y to be not synchronized with x, so that we get maximum movement
|
||||
- mDreamingOffsetY = (int) ((now + mDreamingMaxOffset / 3) % (mDreamingMaxOffset * 2));
|
||||
- if (mDreamingOffsetY > mDreamingMaxOffset * 2) {
|
||||
- mDreamingOffsetY = mDreamingMaxOffset * 4 - mDreamingOffsetY;
|
||||
- }
|
||||
-
|
||||
- mDreamingOffsetX -= mDreamingMaxOffset;
|
||||
- mDreamingOffsetY -= mDreamingMaxOffset;
|
||||
-
|
||||
- mHandler.post(() -> updatePosition());
|
||||
- }
|
||||
- };
|
||||
-}
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/FODCircleViewImpl.java b/packages/SystemUI/src/com/android/systemui/biometrics/FODCircleViewImpl.java
|
||||
deleted file mode 100644
|
||||
index fb3c07af6a6..00000000000
|
||||
--- a/packages/SystemUI/src/com/android/systemui/biometrics/FODCircleViewImpl.java
|
||||
+++ /dev/null
|
||||
@@ -1,62 +0,0 @@
|
||||
-/**
|
||||
- * Copyright (C) 2019 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.systemui.biometrics;
|
||||
-
|
||||
-import android.content.pm.PackageManager;
|
||||
-import android.util.Slog;
|
||||
-import android.view.View;
|
||||
-
|
||||
-import com.android.systemui.SystemUI;
|
||||
-import com.android.systemui.statusbar.CommandQueue;
|
||||
-import com.android.systemui.statusbar.CommandQueue.Callbacks;
|
||||
-
|
||||
-import lineageos.app.LineageContextConstants;
|
||||
-
|
||||
-public class FODCircleViewImpl extends SystemUI implements CommandQueue.Callbacks {
|
||||
- private static final String TAG = "FODCircleViewImpl";
|
||||
-
|
||||
- private FODCircleView mFodCircleView;
|
||||
-
|
||||
- @Override
|
||||
- public void start() {
|
||||
- PackageManager packageManager = mContext.getPackageManager();
|
||||
- if (!packageManager.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT) ||
|
||||
- !packageManager.hasSystemFeature(LineageContextConstants.Features.FOD)) {
|
||||
- return;
|
||||
- }
|
||||
- getComponent(CommandQueue.class).addCallback(this);
|
||||
- try {
|
||||
- mFodCircleView = new FODCircleView(mContext);
|
||||
- } catch (RuntimeException e) {
|
||||
- Slog.e(TAG, "Failed to initialize FODCircleView", e);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void showInDisplayFingerprintView() {
|
||||
- if (mFodCircleView != null) {
|
||||
- mFodCircleView.show();
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void hideInDisplayFingerprintView() {
|
||||
- if (mFodCircleView != null) {
|
||||
- mFodCircleView.hide();
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
|
||||
index b99cb2e3116..655dae86303 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
|
||||
@@ -116,8 +116,6 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
|
||||
private static final int MSG_SHOW_PINNING_TOAST_ENTER_EXIT = 45 << MSG_SHIFT;
|
||||
private static final int MSG_SHOW_PINNING_TOAST_ESCAPE = 46 << MSG_SHIFT;
|
||||
private static final int MSG_RECENTS_ANIMATION_STATE_CHANGED = 47 << MSG_SHIFT;
|
||||
- private static final int MSG_SHOW_IN_DISPLAY_FINGERPRINT_VIEW = 48 << MSG_SHIFT;
|
||||
- private static final int MSG_HIDE_IN_DISPLAY_FINGERPRINT_VIEW = 49 << MSG_SHIFT;
|
||||
private static final int MSG_SET_BLOCKED_GESTURAL_NAVIGATION = 50 << MSG_SHIFT;
|
||||
|
||||
public static final int FLAG_EXCLUDE_NONE = 0;
|
||||
@@ -280,8 +278,6 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
|
||||
default void onBiometricHelp(String message) { }
|
||||
default void onBiometricError(String error) { }
|
||||
default void hideBiometricDialog() { }
|
||||
- default void showInDisplayFingerprintView() { }
|
||||
- default void hideInDisplayFingerprintView() { }
|
||||
default void setBlockedGesturalNavigation(boolean blocked) {}
|
||||
|
||||
/**
|
||||
@@ -791,20 +787,6 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
|
||||
}
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public void showInDisplayFingerprintView() {
|
||||
- synchronized (mLock) {
|
||||
- mHandler.obtainMessage(MSG_SHOW_IN_DISPLAY_FINGERPRINT_VIEW).sendToTarget();
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void hideInDisplayFingerprintView() {
|
||||
- synchronized (mLock) {
|
||||
- mHandler.obtainMessage(MSG_HIDE_IN_DISPLAY_FINGERPRINT_VIEW).sendToTarget();
|
||||
- }
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public void setBlockedGesturalNavigation(boolean blocked) {
|
||||
synchronized (mLock) {
|
||||
@@ -1119,16 +1101,6 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
|
||||
mCallbacks.get(i).onRecentsAnimationStateChanged(msg.arg1 > 0);
|
||||
}
|
||||
break;
|
||||
- case MSG_SHOW_IN_DISPLAY_FINGERPRINT_VIEW:
|
||||
- for (int i = 0; i < mCallbacks.size(); i++) {
|
||||
- mCallbacks.get(i).showInDisplayFingerprintView();
|
||||
- }
|
||||
- break;
|
||||
- case MSG_HIDE_IN_DISPLAY_FINGERPRINT_VIEW:
|
||||
- for (int i = 0; i < mCallbacks.size(); i++) {
|
||||
- mCallbacks.get(i).hideInDisplayFingerprintView();
|
||||
- }
|
||||
- break;
|
||||
case MSG_SET_BLOCKED_GESTURAL_NAVIGATION:
|
||||
for (int i = 0; i < mCallbacks.size(); i++) {
|
||||
mCallbacks.get(i).setBlockedGesturalNavigation((Boolean) msg.obj);
|
||||
diff --git a/services/core/Android.bp b/services/core/Android.bp
|
||||
index 6edd33c8d35..ee26710cf7b 100644
|
||||
--- a/services/core/Android.bp
|
||||
+++ b/services/core/Android.bp
|
||||
@@ -55,7 +55,6 @@ java_library_static {
|
||||
"dnsresolver_aidl_interface-V2-java",
|
||||
"netd_aidl_interface-V2-java",
|
||||
"netd_event_listener_interface-java",
|
||||
- "vendor.lineage.biometrics.fingerprint.inscreen-V1.0-java",
|
||||
],
|
||||
}
|
||||
|
||||
diff --git a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
|
||||
index 148cf747911..37a08de62fc 100644
|
||||
--- a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
|
||||
+++ b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
|
||||
@@ -1016,7 +1016,7 @@ public abstract class BiometricServiceBase extends SystemService
|
||||
/**
|
||||
* @return true if this is keyguard package
|
||||
*/
|
||||
- protected boolean isKeyguard(String clientPackage) {
|
||||
+ private boolean isKeyguard(String clientPackage) {
|
||||
return mKeyguardPackage.equals(clientPackage);
|
||||
}
|
||||
|
||||
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 2159f6f2f86..320e1022873 100644
|
||||
--- a/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
|
||||
+++ b/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
|
||||
@@ -75,17 +75,12 @@ import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
-import lineageos.app.LineageContextConstants;
|
||||
-
|
||||
-import vendor.lineage.biometrics.fingerprint.inscreen.V1_0.IFingerprintInscreen;
|
||||
-
|
||||
import java.io.File;
|
||||
import java.io.FileDescriptor;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
-import java.util.NoSuchElementException;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
/**
|
||||
@@ -107,9 +102,6 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
private static final long FAIL_LOCKOUT_TIMEOUT_MS = 30 * 1000;
|
||||
private static final String KEY_LOCKOUT_RESET_USER = "lockout_reset_user";
|
||||
|
||||
- private final boolean mHasFod;
|
||||
- private boolean mIsKeyguard;
|
||||
-
|
||||
private final class ResetFailedAttemptsForUserRunnable implements Runnable {
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -579,7 +571,6 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
|
||||
@GuardedBy("this")
|
||||
private IBiometricsFingerprint mDaemon;
|
||||
- private IFingerprintInscreen mFingerprintInscreenDaemon;
|
||||
private final SparseBooleanArray mTimedLockoutCleared;
|
||||
private final SparseIntArray mFailedAttempts;
|
||||
private final AlarmManager mAlarmManager;
|
||||
@@ -600,37 +591,12 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
new Fingerprint(getBiometricUtils().getUniqueName(getContext(), groupId),
|
||||
groupId, fingerId, deviceId);
|
||||
FingerprintService.super.handleEnrollResult(fingerprint, remaining);
|
||||
- if (remaining == 0 && mHasFod) {
|
||||
- IFingerprintInscreen fodDaemon = getFingerprintInScreenDaemon();
|
||||
- if (fodDaemon != null) {
|
||||
- try {
|
||||
- fodDaemon.onFinishEnroll();
|
||||
- } catch (RemoteException e) {
|
||||
- Slog.e(TAG, "onFinishEnroll failed", e);
|
||||
- }
|
||||
- }
|
||||
- try {
|
||||
- mStatusBarService.hideInDisplayFingerprintView();
|
||||
- } catch (RemoteException e) {
|
||||
- Slog.e(TAG, "hideInDisplayFingerprintView failed", e);
|
||||
- }
|
||||
- }
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAcquired(final long deviceId, final int acquiredInfo, final int vendorCode) {
|
||||
mHandler.post(() -> {
|
||||
- IFingerprintInscreen daemon = getFingerprintInScreenDaemon();
|
||||
- if (daemon != null) {
|
||||
- try {
|
||||
- if (daemon.handleAcquired(acquiredInfo, vendorCode)) {
|
||||
- return;
|
||||
- }
|
||||
- } catch (RemoteException e) {
|
||||
- Slog.e(TAG, "handleError failed", e);
|
||||
- }
|
||||
- }
|
||||
FingerprintService.super.handleAcquired(deviceId, acquiredInfo, vendorCode);
|
||||
});
|
||||
}
|
||||
@@ -641,29 +607,12 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
mHandler.post(() -> {
|
||||
Fingerprint fp = new Fingerprint("", groupId, fingerId, deviceId);
|
||||
FingerprintService.super.handleAuthenticated(fp, token);
|
||||
- if (mHasFod && fp.getBiometricId() != 0) {
|
||||
- try {
|
||||
- mStatusBarService.hideInDisplayFingerprintView();
|
||||
- } catch (RemoteException e) {
|
||||
- Slog.e(TAG, "hideInDisplayFingerprintView failed", e);
|
||||
- }
|
||||
- }
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(final long deviceId, final int error, final int vendorCode) {
|
||||
mHandler.post(() -> {
|
||||
- IFingerprintInscreen daemon = getFingerprintInScreenDaemon();
|
||||
- if (daemon != null) {
|
||||
- try {
|
||||
- if (daemon.handleError(error, vendorCode)) {
|
||||
- return;
|
||||
- }
|
||||
- } catch (RemoteException e) {
|
||||
- Slog.e(TAG, "handleError failed", e);
|
||||
- }
|
||||
- }
|
||||
FingerprintService.super.handleError(deviceId, error, vendorCode);
|
||||
// TODO: this chunk of code should be common to all biometric services
|
||||
if (error == BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE) {
|
||||
@@ -711,21 +660,6 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
Slog.w(TAG, "authenticate(): no fingerprint HAL!");
|
||||
return ERROR_ESRCH;
|
||||
}
|
||||
- if (mHasFod) {
|
||||
- IFingerprintInscreen fodDaemon = getFingerprintInScreenDaemon();
|
||||
- if (fodDaemon != null) {
|
||||
- try {
|
||||
- fodDaemon.setLongPressEnabled(mIsKeyguard);
|
||||
- } catch (RemoteException e) {
|
||||
- Slog.e(TAG, "setLongPressEnabled failed", e);
|
||||
- }
|
||||
- }
|
||||
- try {
|
||||
- mStatusBarService.showInDisplayFingerprintView();
|
||||
- } catch (RemoteException e) {
|
||||
- Slog.e(TAG, "showInDisplayFingerprintView failed", e);
|
||||
- }
|
||||
- }
|
||||
return daemon.authenticate(operationId, groupId);
|
||||
}
|
||||
|
||||
@@ -736,13 +670,6 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
Slog.w(TAG, "cancel(): no fingerprint HAL!");
|
||||
return ERROR_ESRCH;
|
||||
}
|
||||
- if (mHasFod) {
|
||||
- try {
|
||||
- mStatusBarService.hideInDisplayFingerprintView();
|
||||
- } catch (RemoteException e) {
|
||||
- Slog.e(TAG, "hideInDisplayFingerprintView failed", e);
|
||||
- }
|
||||
- }
|
||||
return daemon.cancel();
|
||||
}
|
||||
|
||||
@@ -774,21 +701,6 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
Slog.w(TAG, "enroll(): no fingerprint HAL!");
|
||||
return ERROR_ESRCH;
|
||||
}
|
||||
- if (mHasFod) {
|
||||
- IFingerprintInscreen fodDaemon = getFingerprintInScreenDaemon();
|
||||
- if (fodDaemon != null) {
|
||||
- try {
|
||||
- fodDaemon.onStartEnroll();
|
||||
- } catch (RemoteException e) {
|
||||
- Slog.e(TAG, "onStartEnroll failed", e);
|
||||
- }
|
||||
- }
|
||||
- try {
|
||||
- mStatusBarService.showInDisplayFingerprintView();
|
||||
- } catch (RemoteException e) {
|
||||
- Slog.e(TAG, "showInDisplayFingerprintView failed", e);
|
||||
- }
|
||||
- }
|
||||
return daemon.enroll(cryptoToken, groupId, timeout);
|
||||
}
|
||||
|
||||
@@ -807,9 +719,6 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
mAlarmManager = context.getSystemService(AlarmManager.class);
|
||||
context.registerReceiver(mLockoutReceiver, new IntentFilter(getLockoutResetIntent()),
|
||||
getLockoutBroadcastPermission(), null /* handler */);
|
||||
-
|
||||
- PackageManager packageManager = context.getPackageManager();
|
||||
- mHasFod = packageManager.hasSystemFeature(LineageContextConstants.Features.FOD);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -894,7 +803,6 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
|
||||
daemon.setActiveGroup(userId, fpDir.getAbsolutePath());
|
||||
mCurrentUserId = userId;
|
||||
- mIsKeyguard = isKeyguard(clientPackage);
|
||||
}
|
||||
mAuthenticatorIds.put(userId,
|
||||
hasEnrolledBiometrics(userId) ? daemon.getAuthenticatorId() : 0L);
|
||||
@@ -1032,26 +940,6 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
return mDaemon;
|
||||
}
|
||||
|
||||
- private synchronized IFingerprintInscreen getFingerprintInScreenDaemon() {
|
||||
- if (!mHasFod) {
|
||||
- return null;
|
||||
- }
|
||||
-
|
||||
- if (mFingerprintInscreenDaemon == null) {
|
||||
- try {
|
||||
- mFingerprintInscreenDaemon = IFingerprintInscreen.getService();
|
||||
- if (mFingerprintInscreenDaemon != null) {
|
||||
- mFingerprintInscreenDaemon.asBinder().linkToDeath((cookie) -> {
|
||||
- mFingerprintInscreenDaemon = null;
|
||||
- }, 0);
|
||||
- }
|
||||
- } catch (NoSuchElementException | RemoteException e) {
|
||||
- Slog.e(TAG, "Failed to get IFingerprintInscreen interface", e);
|
||||
- }
|
||||
- }
|
||||
- return mFingerprintInscreenDaemon;
|
||||
- }
|
||||
-
|
||||
private long startPreEnroll(IBinder token) {
|
||||
IBiometricsFingerprint daemon = getFingerprintDaemon();
|
||||
if (daemon == null) {
|
||||
diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
|
||||
index 81c57d75bbb..faeafc25f67 100644
|
||||
--- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
|
||||
+++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
|
||||
@@ -664,28 +664,6 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D
|
||||
}
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public void showInDisplayFingerprintView() {
|
||||
- if (mBar != null) {
|
||||
- try {
|
||||
- mBar.showInDisplayFingerprintView();
|
||||
- } catch (RemoteException ex) {
|
||||
- // do nothing
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void hideInDisplayFingerprintView() {
|
||||
- if (mBar != null) {
|
||||
- try {
|
||||
- mBar.hideInDisplayFingerprintView();
|
||||
- } catch (RemoteException ex) {
|
||||
- // do nothing
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public void setBlockedGesturalNavigation(boolean blocked) {
|
||||
if (mBar != null) {
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,25 @@
|
||||
From f0826e489f5b2823d22273a55ef628945fa9819c Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Fri, 1 Nov 2019 15:26:10 +0000
|
||||
Subject: [PATCH] [TEMP] treble: Fix init.treble-environ.rc hardcode for LOS
|
||||
|
||||
Refer to https://github.com/phhusson/device_phh_treble/commit/a6aa52f7b11cc7d3f9fbe51356b34ebf0705d775
|
||||
|
||||
Change-Id: I045e140f0eafe13bca07c6e24f31361a3f876a45
|
||||
---
|
||||
environ/init.treble-environ.rc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/environ/init.treble-environ.rc b/environ/init.treble-environ.rc
|
||||
index 4fc8c32..d36ba2c 100644
|
||||
--- a/environ/init.treble-environ.rc
|
||||
+++ b/environ/init.treble-environ.rc
|
||||
@@ -1,4 +1,4 @@
|
||||
# set up the global environment
|
||||
on init
|
||||
export BOOTCLASSPATH /apex/com.android.runtime/javalib/core-oj.jar:/apex/com.android.runtime/javalib/core-libart.jar:/apex/com.android.runtime/javalib/okhttp.jar:/apex/com.android.runtime/javalib/bouncycastle.jar:/apex/com.android.runtime/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/android.test.base.jar:/apex/com.android.conscrypt/javalib/conscrypt.jar:/apex/com.android.media/javalib/updatable-media.jar
|
||||
- export SYSTEMSERVERCLASSPATH /system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/wifi-service.jar:/system/framework/com.android.location.provider.jar
|
||||
+ export SYSTEMSERVERCLASSPATH /system/framework/org.lineageos.platform.jar:/system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/wifi-service.jar:/system/framework/com.android.location.provider.jar
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,40 @@
|
||||
From 9a0fea3a8fa45f4fd804f06eaa0a39a044ecb0d8 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 3 Nov 2019 03:32:02 +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
|
||||
|
||||
Change-Id: I7a0fcfc9c27a08100712200d50f295f4bd81494d
|
||||
---
|
||||
.../systemui/statusbar/phone/NavigationBarInflaterView.java | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
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 79a47af9fdf..50b3a47b6fa 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java
|
||||
@@ -155,7 +155,7 @@ public class NavigationBarInflaterView extends FrameLayout
|
||||
@Override
|
||||
protected void onAttachedToWindow() {
|
||||
super.onAttachedToWindow();
|
||||
- Dependency.get(TunerService.class).addTunable(this, NAV_BAR_INVERSE);
|
||||
+ Dependency.get(TunerService.class).addTunable(this, NAV_BAR_VIEWS, NAV_BAR_INVERSE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -167,7 +167,9 @@ public class NavigationBarInflaterView extends FrameLayout
|
||||
|
||||
@Override
|
||||
public void onTuningChanged(String key, String newValue) {
|
||||
- if (NAV_BAR_INVERSE.equals(key)) {
|
||||
+ if (NAV_BAR_VIEWS.equals(key)) {
|
||||
+ setNavigationBarLayout(newValue);
|
||||
+ } else if (NAV_BAR_INVERSE.equals(key)) {
|
||||
mInverseLayout = TunerService.parseIntegerSwitch(newValue, false);
|
||||
updateLayoutInversion();
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
|
62
0001-build-Don-t-handle-apns-conf.patch
Normal file
62
0001-build-Don-t-handle-apns-conf.patch
Normal file
@ -0,0 +1,62 @@
|
||||
From 834da871f22f65ee8c8a807c13f9248a4633ecee Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 22 Oct 2019 12:36:03 +0000
|
||||
Subject: [PATCH] build: Don't handle apns-conf
|
||||
|
||||
Leave it to vendor/lineage instead
|
||||
|
||||
Change-Id: I743e2d8ab8b6527c887b4d9bbc219ff4dcf6a9ba
|
||||
---
|
||||
target/product/full_base_telephony.mk | 5 -----
|
||||
target/product/gsi_common.mk | 7 -------
|
||||
target/product/mainline.mk | 4 ----
|
||||
3 files changed, 16 deletions(-)
|
||||
|
||||
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/gsi_common.mk b/target/product/gsi_common.mk
|
||||
index dac3a2fcf..b7ef78c23 100644
|
||||
--- a/target/product/gsi_common.mk
|
||||
+++ b/target/product/gsi_common.mk
|
||||
@@ -87,13 +87,6 @@ PRODUCT_PACKAGES += \
|
||||
WAPPushManager \
|
||||
WallpaperPicker \
|
||||
|
||||
-# Telephony:
|
||||
-# Provide a APN configuration to GSI product
|
||||
-ifeq ($(LINEAGE_BUILD),)
|
||||
-PRODUCT_COPY_FILES += \
|
||||
- device/sample/etc/apns-full-conf.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/apns-conf.xml
|
||||
-endif
|
||||
-
|
||||
# NFC:
|
||||
# Provide a libnfc-nci.conf to GSI product
|
||||
PRODUCT_COPY_FILES += \
|
||||
diff --git a/target/product/mainline.mk b/target/product/mainline.mk
|
||||
index ca16fc656..70da48b25 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.17.1
|
||||
|
47
0001-build_soong-Disable-generated_kernel_headers.patch
Normal file
47
0001-build_soong-Disable-generated_kernel_headers.patch
Normal file
@ -0,0 +1,47 @@
|
||||
From 61fdb30f08de01d6dee49168626de9da57d34700 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
|
||||
|
||||
Change-Id: I630857cec208f1830e776bf5031d7bb9bc4435d0
|
||||
---
|
||||
build/soong/Android.bp | 26 --------------------------
|
||||
1 file changed, 26 deletions(-)
|
||||
|
||||
diff --git a/build/soong/Android.bp b/build/soong/Android.bp
|
||||
index cbea01f3..108c52f7 100644
|
||||
--- a/build/soong/Android.bp
|
||||
+++ b/build/soong/Android.bp
|
||||
@@ -22,29 +22,3 @@ bootstrap_go_package {
|
||||
],
|
||||
pluginFor: ["soong_build"],
|
||||
}
|
||||
-
|
||||
-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/include",
|
||||
- "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 {
|
||||
- name: "generated_kernel_headers",
|
||||
- generated_headers: ["generated_kernel_includes"],
|
||||
- export_generated_headers: ["generated_kernel_includes"],
|
||||
- vendor_available: true,
|
||||
- recovery_available: true,
|
||||
-}
|
||||
--
|
||||
2.17.1
|
||||
|
106
0001-core-Add-support-for-MicroG.patch
Normal file
106
0001-core-Add-support-for-MicroG.patch
Normal file
@ -0,0 +1,106 @@
|
||||
From c9b266ded8a63da3408c24479100ea53baf455b7 Mon Sep 17 00:00:00 2001
|
||||
From: gudenau <gudenau>
|
||||
Date: Tue, 25 Sep 2018 09:44:26 +0200
|
||||
Subject: [PATCH] core: Add support for MicroG
|
||||
|
||||
-fake signatures, enabled per app by dynamic permission
|
||||
|
||||
Change-Id: I84fc7e5c606f4b57012d948a4cc6cb521db6b03e
|
||||
---
|
||||
core/res/AndroidManifest.xml | 7 ++++++
|
||||
core/res/res/values/config.xml | 2 ++
|
||||
core/res/res/values/strings.xml | 5 ++++
|
||||
.../server/pm/PackageManagerService.java | 23 +++++++++++++++++--
|
||||
4 files changed, 35 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
|
||||
index 0c3b7a137b9..fc6f9d9a1ec 100644
|
||||
--- a/core/res/AndroidManifest.xml
|
||||
+++ b/core/res/AndroidManifest.xml
|
||||
@@ -2637,6 +2637,13 @@
|
||||
android:description="@string/permdesc_getPackageSize"
|
||||
android:protectionLevel="normal" />
|
||||
|
||||
+ <!-- @hide Allows an application to change the package signature as
|
||||
+ seen by applications -->
|
||||
+ <permission android:name="android.permission.FAKE_PACKAGE_SIGNATURE"
|
||||
+ android:protectionLevel="dangerous"
|
||||
+ android:label="@string/permlab_fakePackageSignature"
|
||||
+ android:description="@string/permdesc_fakePackageSignature" />
|
||||
+
|
||||
<!-- @deprecated No longer useful, see
|
||||
{@link android.content.pm.PackageManager#addPackageToPreferred}
|
||||
for details. -->
|
||||
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
|
||||
index 91f4cf3093e..91fb69f8066 100644
|
||||
--- a/core/res/res/values/config.xml
|
||||
+++ b/core/res/res/values/config.xml
|
||||
@@ -1856,6 +1856,8 @@
|
||||
<string-array name="config_locationProviderPackageNames" translatable="false">
|
||||
<!-- The standard AOSP fused location provider -->
|
||||
<item>com.android.location.fused</item>
|
||||
+ <!-- The (faked) microg fused location provider (a free reimplementation) -->
|
||||
+ <item>com.google.android.gms</item>
|
||||
</string-array>
|
||||
|
||||
<!-- This string array can be overriden to enable test location providers initially. -->
|
||||
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
|
||||
index 152b131af8f..f8d87a37064 100644
|
||||
--- a/core/res/res/values/strings.xml
|
||||
+++ b/core/res/res/values/strings.xml
|
||||
@@ -827,6 +827,11 @@
|
||||
|
||||
<!-- Permissions -->
|
||||
|
||||
+ <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
+ <string name="permlab_fakePackageSignature">Spoof package signature</string>
|
||||
+ <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
+ <string name="permdesc_fakePackageSignature">Allows the app to pretend to be a different app. Malicious applications might be able to use this to access private application data. Legitimate uses include an emulator pretending to be what it emulates. Grant this permission with caution only!</string>
|
||||
+
|
||||
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
<string name="permlab_statusBar">disable or modify status bar</string>
|
||||
<!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
index fb672a5231f..d5878ed9fc4 100644
|
||||
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
@@ -4111,8 +4111,9 @@ public class PackageManagerService extends IPackageManager.Stub
|
||||
final Set<String> permissions = ArrayUtils.isEmpty(p.requestedPermissions)
|
||||
? Collections.emptySet() : permissionsState.getPermissions(userId);
|
||||
|
||||
- PackageInfo packageInfo = PackageParser.generatePackageInfo(p, gids, flags,
|
||||
- ps.firstInstallTime, ps.lastUpdateTime, permissions, state, userId);
|
||||
+ PackageInfo packageInfo = mayFakeSignature(p, PackageParser.generatePackageInfo(p, gids, flags,
|
||||
+ ps.firstInstallTime, ps.lastUpdateTime, permissions, state, userId),
|
||||
+ permissions);
|
||||
|
||||
if (packageInfo == null) {
|
||||
return null;
|
||||
@@ -4148,6 +4149,24 @@ public class PackageManagerService extends IPackageManager.Stub
|
||||
}
|
||||
}
|
||||
|
||||
+ private PackageInfo mayFakeSignature(PackageParser.Package p, PackageInfo pi,
|
||||
+ Set<String> permissions) {
|
||||
+ try {
|
||||
+ if (permissions.contains("android.permission.FAKE_PACKAGE_SIGNATURE")
|
||||
+ && p.applicationInfo.targetSdkVersion > Build.VERSION_CODES.LOLLIPOP_MR1
|
||||
+ && p.mAppMetaData != null) {
|
||||
+ String sig = p.mAppMetaData.getString("fake-signature");
|
||||
+ if (sig != null) {
|
||||
+ pi.signatures = new Signature[] {new Signature(sig)};
|
||||
+ }
|
||||
+ }
|
||||
+ } catch (Throwable t) {
|
||||
+ // We should never die because of any failures, this is system code!
|
||||
+ Log.w("PackageManagerService.FAKE_PACKAGE_SIGNATURE", t);
|
||||
+ }
|
||||
+ return pi;
|
||||
+ }
|
||||
+
|
||||
@Override
|
||||
public void checkPackageStartable(String packageName, int userId) {
|
||||
final int callingUid = Binder.getCallingUid();
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,40 @@
|
||||
From 8a1c7866b848c51ad470fecc330d023dd5556d43 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 24 Dec 2019 15:32:21 +0000
|
||||
Subject: [PATCH] cryptfshw: Remove dependency on generated kernel headers
|
||||
|
||||
Change-Id: I1a95cf9f4391c40bec79d5380ee9a4dc57dbe2ac
|
||||
---
|
||||
cryptfshw/1.0/Android.bp | 2 +-
|
||||
cryptfshw/1.0/qsee/Android.bp | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/cryptfshw/1.0/Android.bp b/cryptfshw/1.0/Android.bp
|
||||
index fe511ff..6157075 100644
|
||||
--- a/cryptfshw/1.0/Android.bp
|
||||
+++ b/cryptfshw/1.0/Android.bp
|
||||
@@ -21,7 +21,7 @@ cc_library_static {
|
||||
"CryptfsHwUtils.cpp",
|
||||
],
|
||||
export_include_dirs: ["."],
|
||||
- header_libs: ["generated_kernel_headers"],
|
||||
+ header_libs: ["device_kernel_headers"],
|
||||
shared_libs: [
|
||||
"libbase",
|
||||
"libhidlbase",
|
||||
diff --git a/cryptfshw/1.0/qsee/Android.bp b/cryptfshw/1.0/qsee/Android.bp
|
||||
index b06e286..01cadd4 100644
|
||||
--- a/cryptfshw/1.0/qsee/Android.bp
|
||||
+++ b/cryptfshw/1.0/qsee/Android.bp
|
||||
@@ -38,7 +38,7 @@ cc_binary {
|
||||
},
|
||||
},
|
||||
},
|
||||
- header_libs: ["generated_kernel_headers"],
|
||||
+ header_libs: ["device_kernel_headers"],
|
||||
shared_libs: [
|
||||
"libbase",
|
||||
"libdl",
|
||||
--
|
||||
2.17.1
|
||||
|
26
0001-sdk-Invert-per-app-stretch-to-fullscreen.patch
Normal file
26
0001-sdk-Invert-per-app-stretch-to-fullscreen.patch
Normal file
@ -0,0 +1,26 @@
|
||||
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
|
||||
|
117
0001-treble-Add-overlay-lineage.patch
Normal file
117
0001-treble-Add-overlay-lineage.patch
Normal file
@ -0,0 +1,117 @@
|
||||
From b35194fdd618f1ae2682c6d285d92a4ae7d421cc 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 | 4 +-
|
||||
.../lineage/res/res/values/config.xml | 81 +++++++++++++++++++
|
||||
2 files changed, 84 insertions(+), 1 deletion(-)
|
||||
create mode 100644 overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml
|
||||
|
||||
diff --git a/base.mk b/base.mk
|
||||
index 8636247..f18e1c7 100644
|
||||
--- a/base.mk
|
||||
+++ b/base.mk
|
||||
@@ -11,7 +11,9 @@ PRODUCT_COPY_FILES += \
|
||||
device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml
|
||||
|
||||
BOARD_PLAT_PRIVATE_SEPOLICY_DIR += device/phh/treble/sepolicy
|
||||
-DEVICE_PACKAGE_OVERLAYS += device/phh/treble/overlay
|
||||
+DEVICE_PACKAGE_OVERLAYS += \
|
||||
+ device/phh/treble/overlay \
|
||||
+ device/phh/treble/overlay-lineage
|
||||
|
||||
$(call inherit-product, vendor/hardware_overlay/overlay.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
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.17.1
|
||||
|
@ -0,0 +1,25 @@
|
||||
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
|
||||
|
@ -0,0 +1,30 @@
|
||||
From 06ddcd3f6403ad8c76ebf3ace73ef7ebfc8b902d 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 2be6dfff..79792b13 100644
|
||||
--- a/config/common.mk
|
||||
+++ b/config/common.mk
|
||||
@@ -87,9 +87,9 @@ PRODUCT_COPY_FILES += \
|
||||
vendor/lineage/config/permissions/privapp-permissions-lineage-product.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-lineage.xml \
|
||||
vendor/lineage/config/permissions/privapp-permissions-cm-legacy.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/privapp-permissions-cm-legacy.xml
|
||||
|
||||
-# Enforce privapp-permissions whitelist
|
||||
+# Log privapp-permissions whitelist violations
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
- ro.control_privapp_permissions=enforce
|
||||
+ ro.control_privapp_permissions=log
|
||||
|
||||
# Hidden API whitelist
|
||||
PRODUCT_COPY_FILES += \
|
||||
--
|
||||
2.17.1
|
||||
|
28
README.md
28
README.md
@ -1,27 +1 @@
|
||||
|
||||
## Building "generic" LineageOS GSIs ##
|
||||
|
||||
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-21-build-gsi; cd lineage-21-build-gsi
|
||||
|
||||
Initialize your LineageOS workspace:
|
||||
|
||||
repo init -u https://github.com/LineageOS/android.git -b lineage-21.0 --git-lfs
|
||||
|
||||
Clone both this and the patches repos:
|
||||
|
||||
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 - for example, to build for all supported archs:
|
||||
|
||||
bash lineage_build_unified/buildbot_unified.sh treble 64VN 64VS 64GN
|
||||
|
||||
Be sure to update the cloned repos from time to time!
|
||||
|
||||
---
|
||||
|
||||
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.
|
||||
Prerequisite: sync [treble_experimentations](https://github.com/AndyCGYan/treble_experimentations) to `~`; sync [treble_patches](https://github.com/AndyCGYan/treble_patches) to `treble_patches` under workspace root
|
||||
|
@ -1,33 +0,0 @@
|
||||
#!/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
|
||||
|
73
buildbot_treble_vanilla.sh
Normal file
73
buildbot_treble_vanilla.sh
Normal file
@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
|
||||
repo sync -c --force-sync --no-clone-bundle --no-tags -j$(nproc --all)
|
||||
|
||||
cd frameworks/base
|
||||
git am ../../0001-Squashed-revert-of-LOS-FOD-implementation.patch
|
||||
cd ../..
|
||||
|
||||
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 "Setting up build environment"
|
||||
source build/envsetup.sh &> /dev/null
|
||||
echo ""
|
||||
|
||||
#read -p "Press any key to start building, or CTRL-C to exit" nothing
|
||||
|
||||
echo "Applying universal patches"
|
||||
cd frameworks/base
|
||||
git am ../../0001-UI-Revive-navbar-layout-tuning-via-sysui_nav_bar-tun.patch
|
||||
git am ../../0001-Disable-vendor-mismatch-warning.patch
|
||||
git am ../../0001-core-Add-support-for-MicroG.patch
|
||||
cd ../..
|
||||
cd lineage-sdk
|
||||
git am ../0001-sdk-Invert-per-app-stretch-to-fullscreen.patch
|
||||
cd ..
|
||||
cd packages/apps/LineageParts
|
||||
git am ../../../0001-LineageParts-Invert-per-app-stretch-to-fullscreen.patch
|
||||
cd ../../..
|
||||
cd vendor/lineage
|
||||
git am ../../0001-vendor_lineage-Log-privapp-permissions-whitelist-vio.patch
|
||||
cd ../..
|
||||
echo ""
|
||||
|
||||
echo "Applying GSI-specific patches"
|
||||
cd build/make
|
||||
git am ../../0001-build-Don-t-handle-apns-conf.patch
|
||||
cd ../..
|
||||
cd device/phh/treble
|
||||
git revert 82b15278bad816632dcaeaed623b569978e9840d --no-edit #Update lineage.mk for LineageOS 16.0
|
||||
git am ../../../0001-Remove-fsck-SELinux-labels.patch
|
||||
git am ../../../0001-treble-Add-overlay-lineage.patch
|
||||
git am ../../../0001-treble-Don-t-specify-config_wallpaperCropperPackage.patch
|
||||
git am ../../../0001-Increase-system-partition-size-for-arm_ab.patch
|
||||
git am ../../../0001-TEMP-treble-Fix-init.treble-environ.rc-hardcode-for-.patch
|
||||
cd ../../..
|
||||
cd external/tinycompress
|
||||
git revert 82c8fbf6d3fb0a017026b675adf2cee3f994e08a --no-edit #tinycompress: Use generated kernel headers
|
||||
cd ../..
|
||||
cd hardware/lineage/interfaces
|
||||
git am ../../../0001-cryptfshw-Remove-dependency-on-generated-kernel-head.patch
|
||||
cd ../../..
|
||||
cd vendor/lineage
|
||||
git am ../../0001-build_soong-Disable-generated_kernel_headers.patch
|
||||
cd ../..
|
||||
echo ""
|
||||
|
||||
echo "CHECK PATCH STATUS NOW!"
|
||||
sleep 5
|
||||
echo ""
|
||||
|
||||
lunch treble_arm64_avN-userdebug
|
||||
make WITHOUT_CHECK_API=true installclean
|
||||
make WITHOUT_CHECK_API=true systemimage
|
||||
make WITHOUT_CHECK_API=true vndk-test-sepolicy
|
||||
BUILD_DATE=`date +%Y%m%d`
|
||||
mv $OUT/system.img ~/build-output/lineage-17.1-$BUILD_DATE-UNOFFICIAL-treble_arm64_avN.img
|
||||
cat $OUT/system/build.prop | grep security_patch
|
||||
echo ""
|
@ -1,166 +0,0 @@
|
||||
#!/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 ""
|
@ -1,9 +0,0 @@
|
||||
<?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>
|
@ -1,6 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
source build/envsetup.sh
|
||||
source vendor/lineage/vars/aosp_target_release
|
||||
lunch lineage_gsi_arm64-$aosp_target_release-userdebug
|
||||
make clobber
|
9
roomservice.xml
Normal file
9
roomservice.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<?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-10.0" />
|
||||
<project name="phhusson/vendor_vndk" path="vendor/vndk" remote="github" revision="android-10.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="pie" />
|
||||
<project name="phhusson/vendor_magisk" path="vendor/magisk" remote="github" revision="android-10.0" />
|
||||
</manifest>
|
@ -1,132 +0,0 @@
|
||||
#!/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