Compare commits
10 Commits
01693449b8
...
201050d707
Author | SHA1 | Date | |
---|---|---|---|
|
201050d707 | ||
|
ec4deb39f7 | ||
|
fcfa9d0ee2 | ||
|
3d849377eb | ||
|
54183357d4 | ||
|
eba4b17b61 | ||
|
c06888bd93 | ||
|
2930204aad | ||
|
45b9af4bdc | ||
|
8a48d127cf |
@ -1,7 +1,7 @@
|
||||
From 381142e1299600d7b16c77c57207732dd06536fc Mon Sep 17 00:00:00 2001
|
||||
From 7ff66a5a2479b490ae553781be0cf19ac5cf9010 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Koskovich <zvnexus@outlook.com>
|
||||
Date: Sat, 3 Oct 2020 14:28:35 -0700
|
||||
Subject: [PATCH] Make broken copy headers the default.
|
||||
Subject: [PATCH 1/2] Make broken copy headers the default.
|
||||
|
||||
* Do not take this for S unless needed, this is a hack
|
||||
for this cycle.
|
||||
|
@ -0,0 +1,42 @@
|
||||
From bd52c99f0fb44194a420df337f23639af8c26db9 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 5 Sep 2021 00:22:49 +0000
|
||||
Subject: [PATCH 2/2] Revert "Add llkd to mainline_system"
|
||||
|
||||
This reverts commit 8879840c52b2647c000dffee0935bb5af662998a.
|
||||
---
|
||||
target/product/mainline_system.mk | 9 ++++-----
|
||||
1 file changed, 4 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/target/product/mainline_system.mk b/target/product/mainline_system.mk
|
||||
index a787707a0..4653207b3 100644
|
||||
--- a/target/product/mainline_system.mk
|
||||
+++ b/target/product/mainline_system.mk
|
||||
@@ -39,9 +39,6 @@ PRODUCT_PACKAGES += \
|
||||
Tag \
|
||||
TimeZoneUpdater \
|
||||
|
||||
-# Binaries
|
||||
-PRODUCT_PACKAGES += llkd
|
||||
-
|
||||
# OTA support
|
||||
PRODUCT_PACKAGES += \
|
||||
recovery-refresh \
|
||||
@@ -49,10 +46,12 @@ PRODUCT_PACKAGES += \
|
||||
update_verifier \
|
||||
|
||||
# Wrapped net utils for /vendor access.
|
||||
-PRODUCT_PACKAGES += netutils-wrapper-1.0
|
||||
+PRODUCT_PACKAGES += \
|
||||
+ netutils-wrapper-1.0 \
|
||||
|
||||
# Charger images
|
||||
-PRODUCT_PACKAGES += charger_res_images
|
||||
+PRODUCT_PACKAGES += \
|
||||
+ charger_res_images \
|
||||
|
||||
# system_other support
|
||||
PRODUCT_PACKAGES += \
|
||||
--
|
||||
2.25.1
|
||||
|
@ -0,0 +1,223 @@
|
||||
From 3f7f3f9546f9f23d66381f7dff887cd562285ce6 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Keith <javelinanddart@gmail.com>
|
||||
Date: Tue, 30 Oct 2018 15:46:18 +0100
|
||||
Subject: [PATCH] Messaging: Add "Mark as read" quick action for message
|
||||
notifications
|
||||
|
||||
Change-Id: I7194dca022e5062926fa35709de282721ca64320
|
||||
---
|
||||
res/drawable/ic_wear_read.xml | 9 +++++++++
|
||||
res/values/cm_strings.xml | 3 +++
|
||||
.../messaging/datamodel/BugleNotifications.java | 14 ++++++++++++++
|
||||
.../datamodel/MessageNotificationState.java | 8 ++++++++
|
||||
.../messaging/datamodel/NotificationState.java | 12 +++++++++++-
|
||||
.../messaging/receiver/NotificationReceiver.java | 12 +++++++++++-
|
||||
src/com/android/messaging/ui/UIIntents.java | 11 +++++++++++
|
||||
src/com/android/messaging/ui/UIIntentsImpl.java | 14 ++++++++++++++
|
||||
8 files changed, 81 insertions(+), 2 deletions(-)
|
||||
create mode 100644 res/drawable/ic_wear_read.xml
|
||||
|
||||
diff --git a/res/drawable/ic_wear_read.xml b/res/drawable/ic_wear_read.xml
|
||||
new file mode 100644
|
||||
index 0000000..9d017e6
|
||||
--- /dev/null
|
||||
+++ b/res/drawable/ic_wear_read.xml
|
||||
@@ -0,0 +1,9 @@
|
||||
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
+ android:height="24dp"
|
||||
+ android:width="24dp"
|
||||
+ android:viewportWidth="24"
|
||||
+ android:viewportHeight="24">
|
||||
+ <path
|
||||
+ android:fillColor="#ffffff"
|
||||
+ android:pathData="M0.41,13.41L6,19L7.41,17.58L1.83,12M22.24,5.58L11.66,16.17L7.5,12L6.07,13.41L11.66,19L23.66,7M18,7L16.59,5.58L10.24,11.93L11.66,13.34L18,7Z" />
|
||||
+</vector>
|
||||
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
|
||||
index f285555..858f093 100644
|
||||
--- a/res/values/cm_strings.xml
|
||||
+++ b/res/values/cm_strings.xml
|
||||
@@ -23,6 +23,9 @@
|
||||
<string name="show_emoticons_pref_title">Emoticons access</string>
|
||||
<string name="show_emoticons_pref_summary">Show the emoticons key on the keyboard</string>
|
||||
|
||||
+ <!-- Mark message as read -->
|
||||
+ <string name="notification_mark_as_read">Mark as read</string>
|
||||
+
|
||||
<!-- Notification channel -->
|
||||
<string name="notification_channel_messages_title">Messages</string>
|
||||
</resources>
|
||||
diff --git a/src/com/android/messaging/datamodel/BugleNotifications.java b/src/com/android/messaging/datamodel/BugleNotifications.java
|
||||
index 6df9e88..dbe86ff 100644
|
||||
--- a/src/com/android/messaging/datamodel/BugleNotifications.java
|
||||
+++ b/src/com/android/messaging/datamodel/BugleNotifications.java
|
||||
@@ -789,6 +789,7 @@ public class BugleNotifications {
|
||||
(MultiMessageNotificationState) notificationState);
|
||||
addDownloadMmsAction(notifBuilder, wearableExtender, notificationState);
|
||||
addWearableVoiceReplyAction(notifBuilder, wearableExtender, notificationState);
|
||||
+ addReadAction(notifBuilder, wearableExtender, notificationState);
|
||||
}
|
||||
|
||||
// Apply the wearable options and build & post the notification
|
||||
@@ -876,6 +877,19 @@ public class BugleNotifications {
|
||||
wearableExtender.addAction(wearActionBuilder.build());
|
||||
}
|
||||
|
||||
+ private static void addReadAction(final NotificationCompat.Builder notifBuilder,
|
||||
+ final WearableExtender wearableExtender, final NotificationState notificationState) {
|
||||
+ final Context context = Factory.get().getApplicationContext();
|
||||
+ final PendingIntent readPendingIntent = notificationState.getReadIntent();
|
||||
+ final NotificationCompat.Action.Builder readActionBuilder =
|
||||
+ new NotificationCompat.Action.Builder(R.drawable.ic_wear_read,
|
||||
+ context.getString(R.string.notification_mark_as_read), readPendingIntent);
|
||||
+ notifBuilder.addAction(readActionBuilder.build());
|
||||
+
|
||||
+ // Support the action on a wearable device as well
|
||||
+ wearableExtender.addAction(readActionBuilder.build());
|
||||
+ }
|
||||
+
|
||||
private static void addDownloadMmsAction(final NotificationCompat.Builder notifBuilder,
|
||||
final WearableExtender wearableExtender, final NotificationState notificationState) {
|
||||
if (!(notificationState instanceof MultiMessageNotificationState)) {
|
||||
diff --git a/src/com/android/messaging/datamodel/MessageNotificationState.java b/src/com/android/messaging/datamodel/MessageNotificationState.java
|
||||
index 4a4bfd5..7555d97 100644
|
||||
--- a/src/com/android/messaging/datamodel/MessageNotificationState.java
|
||||
+++ b/src/com/android/messaging/datamodel/MessageNotificationState.java
|
||||
@@ -334,6 +334,14 @@ public abstract class MessageNotificationState extends NotificationState {
|
||||
getClearIntentRequestCode());
|
||||
}
|
||||
|
||||
+ @Override
|
||||
+ public PendingIntent getReadIntent() {
|
||||
+ return UIIntents.get().getPendingIntentForMarkingAsRead(
|
||||
+ Factory.get().getApplicationContext(),
|
||||
+ mConversationIds,
|
||||
+ getReadIntentRequestCode());
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* Notification for multiple messages in at least 2 different conversations.
|
||||
*/
|
||||
diff --git a/src/com/android/messaging/datamodel/NotificationState.java b/src/com/android/messaging/datamodel/NotificationState.java
|
||||
index 144f0fe..4c11537 100644
|
||||
--- a/src/com/android/messaging/datamodel/NotificationState.java
|
||||
+++ b/src/com/android/messaging/datamodel/NotificationState.java
|
||||
@@ -43,7 +43,8 @@ import java.util.HashSet;
|
||||
public abstract class NotificationState {
|
||||
private static final int CONTENT_INTENT_REQUEST_CODE_OFFSET = 0;
|
||||
private static final int CLEAR_INTENT_REQUEST_CODE_OFFSET = 1;
|
||||
- private static final int NUM_REQUEST_CODES_NEEDED = 2;
|
||||
+ private static final int READ_INTENT_REQUEST_CODE_OFFSET = 2;
|
||||
+ private static final int NUM_REQUEST_CODES_NEEDED = 3;
|
||||
|
||||
public interface FailedMessageQuery {
|
||||
static final String FAILED_MESSAGES_WHERE_CLAUSE =
|
||||
@@ -78,6 +79,11 @@ public abstract class NotificationState {
|
||||
*/
|
||||
public abstract PendingIntent getClearIntent();
|
||||
|
||||
+ /**
|
||||
+ * The intent to be triggered when mark as read is pressed.
|
||||
+ */
|
||||
+ public abstract PendingIntent getReadIntent();
|
||||
+
|
||||
protected Uri getAttachmentUri() {
|
||||
return null;
|
||||
}
|
||||
@@ -116,6 +122,10 @@ public abstract class NotificationState {
|
||||
return mBaseRequestCode + CLEAR_INTENT_REQUEST_CODE_OFFSET;
|
||||
}
|
||||
|
||||
+ public int getReadIntentRequestCode() {
|
||||
+ return mBaseRequestCode + READ_INTENT_REQUEST_CODE_OFFSET;
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* Gets the appropriate icon needed for notifications.
|
||||
*/
|
||||
diff --git a/src/com/android/messaging/receiver/NotificationReceiver.java b/src/com/android/messaging/receiver/NotificationReceiver.java
|
||||
index bbb847d..f87779c 100644
|
||||
--- a/src/com/android/messaging/receiver/NotificationReceiver.java
|
||||
+++ b/src/com/android/messaging/receiver/NotificationReceiver.java
|
||||
@@ -20,6 +20,7 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.android.messaging.datamodel.BugleNotifications;
|
||||
+import com.android.messaging.datamodel.action.MarkAsReadAction;
|
||||
import com.android.messaging.datamodel.action.MarkAsSeenAction;
|
||||
import com.android.messaging.ui.UIIntents;
|
||||
import com.android.messaging.util.ConversationIdSet;
|
||||
@@ -52,6 +53,15 @@ public class NotificationReceiver extends BroadcastReceiver {
|
||||
BugleNotifications.resetLastMessageDing(conversationId);
|
||||
}
|
||||
}
|
||||
+ } else if (intent.getAction().equals(UIIntents.ACTION_MARK_AS_READ)) {
|
||||
+ final String conversationIdSetString =
|
||||
+ intent.getStringExtra(UIIntents.UI_INTENT_EXTRA_CONVERSATION_ID_SET);
|
||||
+ if (conversationIdSetString != null) {
|
||||
+ for (final String conversationId :
|
||||
+ ConversationIdSet.createSet(conversationIdSetString)) {
|
||||
+ MarkAsReadAction.markAsRead(conversationId);
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
}
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
diff --git a/src/com/android/messaging/ui/UIIntents.java b/src/com/android/messaging/ui/UIIntents.java
|
||||
index 2d10527..144e831 100644
|
||||
--- a/src/com/android/messaging/ui/UIIntents.java
|
||||
+++ b/src/com/android/messaging/ui/UIIntents.java
|
||||
@@ -69,6 +69,9 @@ public abstract class UIIntents {
|
||||
public static final String ACTION_RESET_NOTIFICATIONS =
|
||||
"com.android.messaging.reset_notifications";
|
||||
|
||||
+ public static final String ACTION_MARK_AS_READ =
|
||||
+ "com.android.messaging.mark_as_read";
|
||||
+
|
||||
// Sending VCard uri to VCard detail activity
|
||||
public static final String UI_INTENT_EXTRA_VCARD_URI = "vcard_uri";
|
||||
|
||||
@@ -323,6 +326,14 @@ public abstract class UIIntents {
|
||||
final int updateTargets, final ConversationIdSet conversationIdSet,
|
||||
final int requestCode);
|
||||
|
||||
+ /**
|
||||
+ * Get a PendingIntent for marking a conversation as read.
|
||||
+ *
|
||||
+ * <p>This is intended to be used by notifications.
|
||||
+ */
|
||||
+ public abstract PendingIntent getPendingIntentForMarkingAsRead(final Context context,
|
||||
+ final ConversationIdSet conversationIdSet, final int requestCode);
|
||||
+
|
||||
/**
|
||||
* Get a PendingIntent for showing low storage notifications.
|
||||
*/
|
||||
diff --git a/src/com/android/messaging/ui/UIIntentsImpl.java b/src/com/android/messaging/ui/UIIntentsImpl.java
|
||||
index d64082d..9281899 100644
|
||||
--- a/src/com/android/messaging/ui/UIIntentsImpl.java
|
||||
+++ b/src/com/android/messaging/ui/UIIntentsImpl.java
|
||||
@@ -430,6 +430,20 @@ public class UIIntentsImpl extends UIIntents {
|
||||
PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
}
|
||||
|
||||
+ @Override
|
||||
+ public PendingIntent getPendingIntentForMarkingAsRead(final Context context,
|
||||
+ final ConversationIdSet conversationIdSet, final int requestCode) {
|
||||
+ final Intent intent = new Intent(context, NotificationReceiver.class);
|
||||
+ intent.setAction(ACTION_MARK_AS_READ);
|
||||
+ if (conversationIdSet != null) {
|
||||
+ intent.putExtra(UI_INTENT_EXTRA_CONVERSATION_ID_SET,
|
||||
+ conversationIdSet.getDelimitedString());
|
||||
+ }
|
||||
+ return PendingIntent.getBroadcast(context,
|
||||
+ requestCode, intent,
|
||||
+ PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* Gets a PendingIntent associated with an Intent to start an Activity. All notifications
|
||||
* that starts an Activity must use this method to get a PendingIntent, which achieves two
|
||||
--
|
||||
2.25.1
|
||||
|
@ -0,0 +1,57 @@
|
||||
From 54ae0f29ba89e7dc79b69540f78cdabdd943a0d3 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 30 Nov 2021 12:58:00 +0000
|
||||
Subject: [PATCH] SearchLauncher: Adapt to Trebuchet
|
||||
|
||||
---
|
||||
apps/SearchLauncher/Android.mk | 4 ++--
|
||||
apps/SearchLauncher/AndroidManifest.xml | 4 +++-
|
||||
2 files changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/apps/SearchLauncher/Android.mk b/apps/SearchLauncher/Android.mk
|
||||
index 0b7f7d4..91da3c8 100644
|
||||
--- a/apps/SearchLauncher/Android.mk
|
||||
+++ b/apps/SearchLauncher/Android.mk
|
||||
@@ -23,7 +23,7 @@ LOCAL_USE_AAPT2 := true
|
||||
LOCAL_AAPT2_ONLY := true
|
||||
|
||||
# Relative path for AOSP Launcher3 directory
|
||||
-LAUNCHER_PATH := ../../../../packages/apps/Launcher3
|
||||
+LAUNCHER_PATH := ../../../../packages/apps/Trebuchet
|
||||
|
||||
LOCAL_STATIC_ANDROID_LIBRARIES := Launcher3CommonDepsLib
|
||||
LOCAL_STATIC_JAVA_LIBRARIES := lib_launcherClient
|
||||
@@ -60,7 +60,7 @@ LOCAL_USE_AAPT2 := true
|
||||
LOCAL_AAPT2_ONLY := true
|
||||
|
||||
# Relative path for AOSP Launcher3 directory
|
||||
-LAUNCHER_PATH := ../../../../packages/apps/Launcher3
|
||||
+LAUNCHER_PATH := ../../../../packages/apps/Trebuchet
|
||||
|
||||
LOCAL_STATIC_ANDROID_LIBRARIES := Launcher3CommonDepsLib
|
||||
LOCAL_STATIC_JAVA_LIBRARIES := \
|
||||
diff --git a/apps/SearchLauncher/AndroidManifest.xml b/apps/SearchLauncher/AndroidManifest.xml
|
||||
index 6f48d23..f8ca8e3 100644
|
||||
--- a/apps/SearchLauncher/AndroidManifest.xml
|
||||
+++ b/apps/SearchLauncher/AndroidManifest.xml
|
||||
@@ -19,6 +19,7 @@
|
||||
-->
|
||||
<manifest
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
+ xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.android.launcher3">
|
||||
<uses-sdk android:targetSdkVersion="29" android:minSdkVersion="25"/>
|
||||
<!--
|
||||
@@ -36,7 +37,8 @@
|
||||
android:theme="@style/AppTheme"
|
||||
android:largeHeap="@bool/config_largeHeap"
|
||||
android:restoreAnyVersion="true"
|
||||
- android:supportsRtl="true" >
|
||||
+ android:supportsRtl="true"
|
||||
+ tools:replace="android:icon" >
|
||||
|
||||
<!--
|
||||
Main launcher activity. When extending only change the name, and keep all the
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From be385f9b5a114352ad71a1224b08f40431ef9527 Mon Sep 17 00:00:00 2001
|
||||
From 82f334dccb2d14c1415ad31ec955b646b5ef0903 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Mon, 5 Mar 2018 23:12:46 +0800
|
||||
Subject: [PATCH 1/2] DeskClock: Adjust colors and layout
|
||||
Subject: [PATCH 1/3] DeskClock: Adjust colors and layout
|
||||
|
||||
Change-Id: I6e876ddf94bdf63062630764beb9b5139110fe4d
|
||||
---
|
||||
|
@ -1,7 +1,7 @@
|
||||
From c17ad9817f16ca7ef8d0209713dec79a0d0afbac Mon Sep 17 00:00:00 2001
|
||||
From 9dbc9d8105c3df1efe714d509622d338e7b9413f Mon Sep 17 00:00:00 2001
|
||||
From: AndyCGYan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 26 Dec 2018 22:38:54 +0800
|
||||
Subject: [PATCH 2/2] DeskClock: Revert date and clock to Lollipop style
|
||||
Subject: [PATCH 2/3] DeskClock: Revert date and clock to Lollipop style
|
||||
|
||||
Also added dynamic date format based on alarm presence
|
||||
|
||||
|
@ -0,0 +1,61 @@
|
||||
From 5778373cb0bfbf81bfb264930a61435a1c5eda2a Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 5 Sep 2021 00:30:33 +0000
|
||||
Subject: [PATCH 3/3] DeskClock: Remove night mode
|
||||
|
||||
Change-Id: I885f39027e78fcda397f1be59d17bc24bc66671a
|
||||
---
|
||||
res/xml/screensaver_settings.xml | 8 +-------
|
||||
src/com/android/deskclock/Screensaver.java | 5 ++---
|
||||
src/com/android/deskclock/ScreensaverActivity.java | 2 +-
|
||||
3 files changed, 4 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/res/xml/screensaver_settings.xml b/res/xml/screensaver_settings.xml
|
||||
index 1680aab83..73375dcfa 100644
|
||||
--- a/res/xml/screensaver_settings.xml
|
||||
+++ b/res/xml/screensaver_settings.xml
|
||||
@@ -24,10 +24,4 @@
|
||||
android:key="screensaver_clock_style"
|
||||
android:title="@string/clock_style" />
|
||||
|
||||
- <CheckBoxPreference
|
||||
- android:defaultValue="true"
|
||||
- android:key="screensaver_night_mode"
|
||||
- android:summary="@string/night_mode_summary"
|
||||
- android:title="@string/night_mode_title" />
|
||||
-
|
||||
-</PreferenceScreen>
|
||||
\ No newline at end of file
|
||||
+</PreferenceScreen>
|
||||
diff --git a/src/com/android/deskclock/Screensaver.java b/src/com/android/deskclock/Screensaver.java
|
||||
index 7f01d880a..b295d7a77 100644
|
||||
--- a/src/com/android/deskclock/Screensaver.java
|
||||
+++ b/src/com/android/deskclock/Screensaver.java
|
||||
@@ -166,9 +166,8 @@ public final class Screensaver extends DreamService {
|
||||
|
||||
private void setClockStyle() {
|
||||
Utils.setScreensaverClockStyle(mDigitalClock, mAnalogClock);
|
||||
- final boolean dimNightMode = DataModel.getDataModel().getScreensaverNightModeOn();
|
||||
- Utils.dimClockView(dimNightMode, mMainClockView);
|
||||
- setScreenBright(!dimNightMode);
|
||||
+ Utils.dimClockView(false, mMainClockView);
|
||||
+ setScreenBright(true);
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/src/com/android/deskclock/ScreensaverActivity.java b/src/com/android/deskclock/ScreensaverActivity.java
|
||||
index 14c9bab00..912d59b2c 100644
|
||||
--- a/src/com/android/deskclock/ScreensaverActivity.java
|
||||
+++ b/src/com/android/deskclock/ScreensaverActivity.java
|
||||
@@ -119,7 +119,7 @@ public class ScreensaverActivity extends BaseActivity {
|
||||
Utils.setClockIconTypeface(mMainClockView);
|
||||
Utils.setTimeFormat((TextClock) digitalClock, false);
|
||||
Utils.setClockStyle(digitalClock, analogClock);
|
||||
- Utils.dimClockView(true, mMainClockView);
|
||||
+ Utils.dimClockView(false, mMainClockView);
|
||||
analogClock.enableSeconds(false);
|
||||
|
||||
mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 52c4c60343cc71aa6c8cfa8efc68f394981c8da9 Mon Sep 17 00:00:00 2001
|
||||
From 736cce8f2de28a5924b7eb93e63b76da64a673eb Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 17 Oct 2020 07:57:20 +0000
|
||||
Subject: [PATCH] Messaging: Use blue accent
|
||||
@ -16,7 +16,8 @@ Change-Id: I88d4de2d423afdb1bc854788aa84524af4048f9d
|
||||
res/mipmap-xxxhdpi/ic_background.png | Bin 1703 -> 15814 bytes
|
||||
res/mipmap-xxxhdpi/ic_foreground.png | Bin 73275 -> 76057 bytes
|
||||
res/values/colors.xml | 10 +++++-----
|
||||
11 files changed, 5 insertions(+), 5 deletions(-)
|
||||
res/values/lineage_colors.xml | 2 +-
|
||||
12 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/res/mipmap-hdpi/ic_background.png b/res/mipmap-hdpi/ic_background.png
|
||||
index b4a472c2d5bf54a78026c78872fa680865dba4ab..57d070ee334520304146ac85115dbce207211f92 100644
|
||||
@ -6485,7 +6486,7 @@ zNk8y${U;j&s$AQ+(;gNk*;GM$r6TdatC�&m_WG@&BhZ{m#E9N#yi6+k!mo9!|71
|
||||
L^wq0WZ6p2%y}sDs
|
||||
|
||||
diff --git a/res/values/colors.xml b/res/values/colors.xml
|
||||
index a380383..747bc43 100644
|
||||
index a380383..2ae2833 100644
|
||||
--- a/res/values/colors.xml
|
||||
+++ b/res/values/colors.xml
|
||||
@@ -15,13 +15,13 @@
|
||||
@ -6510,7 +6511,7 @@ index a380383..747bc43 100644
|
||||
<color name="message_audio_button_color_incoming">#ffffffff</color>
|
||||
- <color name="message_bubble_color_selected">#8BC34A</color>
|
||||
- <color name="message_image_selected_tint">#80689F38</color>
|
||||
+ <color name="message_bubble_color_selected">@color/lineage_accent</color>
|
||||
+ <color name="message_bubble_color_selected">#3ea4dc</color>
|
||||
+ <color name="message_image_selected_tint">#800288d1</color>
|
||||
<color name="generic_video_icon">#ff808080</color>
|
||||
|
||||
@ -6524,6 +6525,19 @@ index a380383..747bc43 100644
|
||||
<color name="search_view_text_cursor">#b0dddddd</color>
|
||||
|
||||
<color name="button_bar_action_button_text_color">#03a9f4</color>
|
||||
diff --git a/res/values/lineage_colors.xml b/res/values/lineage_colors.xml
|
||||
index 787d5e5..a3b1037 100644
|
||||
--- a/res/values/lineage_colors.xml
|
||||
+++ b/res/values/lineage_colors.xml
|
||||
@@ -16,7 +16,7 @@
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
- <color name="lineage_accent">#FF9800</color>
|
||||
+ <color name="lineage_accent">#0288D1</color>
|
||||
<color name="button_text">#000000</color>
|
||||
|
||||
<color name="navigation_bar_bg">@android:color/white</color>
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From d2ccffcaf2ad6f8b467afb04683677a3271deafa Mon Sep 17 00:00:00 2001
|
||||
From 9dd12aff1bdee7020ddd18c4821d390611dc2b5f Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 8 Aug 2021 01:43:40 +0000
|
||||
Subject: [PATCH 2/2] Revert "mainline_system: Exclude vendor.lineage.power@1.0
|
||||
Subject: [PATCH] Revert "mainline_system: Exclude vendor.lineage.power@1.0
|
||||
from artifact path requirements"
|
||||
|
||||
This reverts commit 78c28df40f72fdcbe3f82a83828060ad19765fa1.
|
@ -1,60 +0,0 @@
|
||||
From e679bd168b2d45d552e43072f11786f2891358db Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Mon, 5 Oct 2020 01:51:46 +0000
|
||||
Subject: [PATCH 1/2] build: Don't handle apns-conf
|
||||
|
||||
Leave it to vendor/lineage instead
|
||||
|
||||
Change-Id: I51fb1436ee0ee2e33b20ca0810b69e827f3f34dc
|
||||
---
|
||||
target/product/aosp_product.mk | 5 -----
|
||||
target/product/full_base_telephony.mk | 5 -----
|
||||
target/product/mainline.mk | 4 ----
|
||||
3 files changed, 14 deletions(-)
|
||||
|
||||
diff --git a/target/product/aosp_product.mk b/target/product/aosp_product.mk
|
||||
index 3e03e6213..1e370fce8 100644
|
||||
--- a/target/product/aosp_product.mk
|
||||
+++ b/target/product/aosp_product.mk
|
||||
@@ -40,11 +40,6 @@ PRODUCT_PACKAGES += \
|
||||
WallpaperPicker \
|
||||
|
||||
ifeq ($(LINEAGE_BUILD),)
|
||||
-# Telephony:
|
||||
-# Provide a APN configuration to GSI product
|
||||
-PRODUCT_COPY_FILES += \
|
||||
- device/sample/etc/apns-full-conf.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/apns-conf.xml
|
||||
-
|
||||
# NFC:
|
||||
# Provide a libnfc-nci.conf to GSI product
|
||||
PRODUCT_COPY_FILES += \
|
||||
diff --git a/target/product/full_base_telephony.mk b/target/product/full_base_telephony.mk
|
||||
index 314de3e92..ad46fb97f 100644
|
||||
--- a/target/product/full_base_telephony.mk
|
||||
+++ b/target/product/full_base_telephony.mk
|
||||
@@ -30,10 +30,5 @@ endif
|
||||
PRODUCT_COPY_FILES := \
|
||||
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
|
||||
|
||||
-ifeq ($(LINEAGE_BUILD),)
|
||||
-PRODUCT_COPY_FILES += \
|
||||
- device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml
|
||||
-endif
|
||||
-
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony.mk)
|
||||
diff --git a/target/product/mainline.mk b/target/product/mainline.mk
|
||||
index 418b1eedd..9754cc8e2 100644
|
||||
--- a/target/product/mainline.mk
|
||||
+++ b/target/product/mainline.mk
|
||||
@@ -40,7 +40,3 @@ endif
|
||||
PRODUCT_PACKAGES += \
|
||||
PhotoTable \
|
||||
WallpaperPicker \
|
||||
-
|
||||
-ifeq ($(LINEAGE_BUILD),)
|
||||
-PRODUCT_COPY_FILES += device/sample/etc/apns-full-conf.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/apns-conf.xml
|
||||
-endif
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,22 +0,0 @@
|
||||
From 13f428e6a81c5bba49ecfe5323b450ddae5025b0 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 8 Aug 2021 01:43:40 +0000
|
||||
Subject: [PATCH 1/7] Revert "Update lineage.mk for LineageOS 16.0"
|
||||
|
||||
This reverts commit 82b15278bad816632dcaeaed623b569978e9840d.
|
||||
---
|
||||
lineage.mk | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/lineage.mk b/lineage.mk
|
||||
index 172bb01..f6315b9 100644
|
||||
--- a/lineage.mk
|
||||
+++ b/lineage.mk
|
||||
@@ -1,3 +1,4 @@
|
||||
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
|
||||
+$(call inherit-product, device/lineage/sepolicy/common/sepolicy.mk)
|
||||
-include vendor/lineage/build/core/config.mk
|
||||
-include vendor/lineage/build/core/apicheck.mk
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,22 +1,44 @@
|
||||
From cceaa8cfab8e6f00b1c0d79f2852f7fb2623b075 Mon Sep 17 00:00:00 2001
|
||||
From: AndyCGYan <GeForce8800Ultra@gmail.com>
|
||||
Date: Mon, 15 Jul 2019 10:43:52 +0000
|
||||
Subject: [PATCH 3/7] treble: Add overlay-lineage
|
||||
From f58f4704de0b4e9f9e650ca954de1bf971d897d1 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Thu, 18 Nov 2021 02:19:52 +0000
|
||||
Subject: [PATCH 1/3] treble: Lineage-ify
|
||||
|
||||
Change-Id: I9d313b1488d98acc7cf37d23820946ee99745426
|
||||
Squash of:
|
||||
- Proper target names
|
||||
- Remove fsck SELinux labels
|
||||
- treble: Add overlay-lineage
|
||||
- treble: Don't specify config_wallpaperCropperPackage
|
||||
- treble: Don't handle apns-conf
|
||||
---
|
||||
base.mk | 12 ++-
|
||||
base-pre.mk | 3 -
|
||||
base.mk | 16 ++--
|
||||
generate.sh | 2 +-
|
||||
.../lineage/res/res/values/config.xml | 81 +++++++++++++++++++
|
||||
2 files changed, 90 insertions(+), 3 deletions(-)
|
||||
.../base/core/res/res/values/config.xml | 1 -
|
||||
sepolicy/file_contexts | 3 -
|
||||
6 files changed, 91 insertions(+), 15 deletions(-)
|
||||
create mode 100644 overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml
|
||||
|
||||
diff --git a/base-pre.mk b/base-pre.mk
|
||||
index 6a317e4..e69de29 100644
|
||||
--- a/base-pre.mk
|
||||
+++ b/base-pre.mk
|
||||
@@ -1,3 +0,0 @@
|
||||
-#Use a more decent APN config
|
||||
-PRODUCT_COPY_FILES += \
|
||||
- device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml
|
||||
diff --git a/base.mk b/base.mk
|
||||
index 43f3707..5d16dbe 100644
|
||||
index 301fee9..e8ac0a3 100644
|
||||
--- a/base.mk
|
||||
+++ b/base.mk
|
||||
@@ -13,7 +13,13 @@ PRODUCT_COPY_FILES += \
|
||||
device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml
|
||||
@@ -8,12 +8,14 @@ PRODUCT_COPY_FILES := \
|
||||
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \
|
||||
frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
|
||||
|
||||
-#Use a more decent APN config
|
||||
-PRODUCT_COPY_FILES += \
|
||||
- device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml
|
||||
-
|
||||
BOARD_PLAT_PRIVATE_SEPOLICY_DIR += device/phh/treble/sepolicy
|
||||
-PRODUCT_PACKAGE_OVERLAYS += device/phh/treble/overlay
|
||||
+
|
||||
@ -29,7 +51,7 @@ index 43f3707..5d16dbe 100644
|
||||
|
||||
$(call inherit-product, vendor/hardware_overlay/overlay.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
@@ -30,11 +36,11 @@ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
@@ -30,11 +32,11 @@ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
ro.build.version.security_patch=$(PLATFORM_SECURITY_PATCH) \
|
||||
ro.adb.secure=0 \
|
||||
ro.logd.auditd=true
|
||||
@ -43,6 +65,19 @@ index 43f3707..5d16dbe 100644
|
||||
|
||||
#VNDK config files
|
||||
PRODUCT_COPY_FILES += \
|
||||
diff --git a/generate.sh b/generate.sh
|
||||
index c1494c7..2760fad 100644
|
||||
--- a/generate.sh
|
||||
+++ b/generate.sh
|
||||
@@ -64,7 +64,7 @@ for part in a ab;do
|
||||
optional_base='$(call inherit-product, device/phh/treble/base-sas.mk)'
|
||||
fi
|
||||
|
||||
- target="treble_${arch}_${part_suffix}${apps_suffix}${su_suffix}"
|
||||
+ target="lineage_${arch}_${part_suffix}${apps_suffix}${su_suffix}"
|
||||
|
||||
baseArch="$arch"
|
||||
if [ "$arch" = "a64" ];then
|
||||
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
|
||||
@ -130,6 +165,32 @@ index 0000000..8df673a
|
||||
+ config to 7. -->
|
||||
+ <integer name="config_deviceHardwareWakeKeys">127</integer>
|
||||
+</resources>
|
||||
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
|
||||
index 2d5c21e..7a15163 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>
|
||||
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
|
||||
index 4ae5095..5e39d5b 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.25.1
|
||||
|
@ -1,29 +0,0 @@
|
||||
From ecd6a5affd7df4bd9ab4b89472b2cadc15a6aeba 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 2/7] 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 7cfb226..7ab5e91 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.25.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From d7b179f234d76c3acf7a723fc05f07efe9adc84c Mon Sep 17 00:00:00 2001
|
||||
From 3003b3b500c33aca047d5c61e5d9bf1db9980faf Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 8 Aug 2021 09:29:32 +0000
|
||||
Subject: [PATCH 6/7] treble: Set BOARD_EXT4_SHARE_DUP_BLOCKS explicitly
|
||||
Subject: [PATCH 2/3] treble: Set BOARD_EXT4_SHARE_DUP_BLOCKS explicitly
|
||||
|
||||
Change-Id: I725443154fabde548d2e6c1b072d34c27596c421
|
||||
---
|
@ -1,7 +1,7 @@
|
||||
From 9d0b5acf3e811eb17eb7501dd43ff952ec3b172f Mon Sep 17 00:00:00 2001
|
||||
From 384487e08861871d0cdccadecc01abb14cfa8709 Mon Sep 17 00:00:00 2001
|
||||
From: Victor Bo <bvoid@yandex.ru>
|
||||
Date: Tue, 15 Sep 2020 21:26:45 -0400
|
||||
Subject: [PATCH 7/7] add offline charger sepolicy
|
||||
Subject: [PATCH 3/3] add offline charger sepolicy
|
||||
|
||||
---
|
||||
sepolicy/gsicharger.te | 1 +
|
@ -1,25 +0,0 @@
|
||||
From 1ab462e2b735ff92e75fc9eef0d62b3b920771f1 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 4/7] 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 2d5c21e..7a15163 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.25.1
|
||||
|
@ -1,39 +0,0 @@
|
||||
From 1e5aef82a995e0244b3eb084fca25c7f1eedc324 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 27 Jun 2021 15:37:56 +0000
|
||||
Subject: [PATCH 5/7] treble: Don't handle apns-conf
|
||||
|
||||
LineageOS has its own well-maintained copy
|
||||
|
||||
Change-Id: If568101f21098c75879af8b9b6141af179566960
|
||||
---
|
||||
base-pre.mk | 3 ---
|
||||
base.mk | 4 ----
|
||||
2 files changed, 7 deletions(-)
|
||||
|
||||
diff --git a/base-pre.mk b/base-pre.mk
|
||||
index 6a317e4..e69de29 100644
|
||||
--- a/base-pre.mk
|
||||
+++ b/base-pre.mk
|
||||
@@ -1,3 +0,0 @@
|
||||
-#Use a more decent APN config
|
||||
-PRODUCT_COPY_FILES += \
|
||||
- device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml
|
||||
diff --git a/base.mk b/base.mk
|
||||
index 5d16dbe..878aaae 100644
|
||||
--- a/base.mk
|
||||
+++ b/base.mk
|
||||
@@ -8,10 +8,6 @@ PRODUCT_COPY_FILES := \
|
||||
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \
|
||||
frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
|
||||
|
||||
-#Use a more decent APN config
|
||||
-PRODUCT_COPY_FILES += \
|
||||
- device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml
|
||||
-
|
||||
BOARD_PLAT_PRIVATE_SEPOLICY_DIR += device/phh/treble/sepolicy
|
||||
|
||||
PRODUCT_PACKAGE_OVERLAYS += \
|
||||
--
|
||||
2.25.1
|
||||
|
@ -0,0 +1,187 @@
|
||||
From 3680359ce25f87c626687ce391ba1d01f593f4b1 Mon Sep 17 00:00:00 2001
|
||||
From: Raphael Mounier <mounierr07@gmail.com>
|
||||
Date: Fri, 26 Nov 2021 07:53:04 +0100
|
||||
Subject: [PATCH] Huawei cell signal strength indicator not working
|
||||
|
||||
This patch fixes a problem concerning all Huawei kirin devices (MediaPad, Prague, Warsaw ..). On these devices the signal quality is not recovered correctly from the modem layer
|
||||
---
|
||||
.../com/android/internal/telephony/RIL.java | 122 ++++++++++++++++++
|
||||
.../internal/telephony/RadioIndication.java | 27 +++-
|
||||
2 files changed, 143 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/java/com/android/internal/telephony/RIL.java b/src/java/com/android/internal/telephony/RIL.java
|
||||
index 782cd9ebb..417740343 100644
|
||||
--- a/src/java/com/android/internal/telephony/RIL.java
|
||||
+++ b/src/java/com/android/internal/telephony/RIL.java
|
||||
@@ -6706,6 +6706,128 @@ public class RIL extends BaseCommands implements CommandsInterface {
|
||||
new CellSignalStrengthNr());
|
||||
}
|
||||
|
||||
+
|
||||
+ /**
|
||||
+ * Fixup for SignalStrength for Huawei device
|
||||
+ * @param signalStrength the initial signal strength
|
||||
+ * @return a new SignalStrength
|
||||
+ */
|
||||
+ public SignalStrength fixupSignalStrengthHuawei(android.hardware.radio.V1_0.SignalStrength signalStrength) {
|
||||
+ int gsmSignalStrength = signalStrength.gw.signalStrength;
|
||||
+ int gsmBitErrorRate = signalStrength.gw.bitErrorRate;
|
||||
+ int gsmTimingAdvance = signalStrength.gw.timingAdvance;
|
||||
+ int mWcdmaRscp = 0;
|
||||
+ int mWcdmaEcio = 0;
|
||||
+ int cdmaDbm = signalStrength.cdma.dbm;
|
||||
+ int cdmaEcio = signalStrength.cdma.ecio;
|
||||
+ int evdoDbm = signalStrength.evdo.dbm;
|
||||
+ int evdoEcio = signalStrength.evdo.ecio;
|
||||
+ int evdoSnr = signalStrength.evdo.signalNoiseRatio;
|
||||
+ int lteSignalStrength = signalStrength.lte.signalStrength;
|
||||
+ int lteRsrp = signalStrength.lte.rsrp;
|
||||
+ int lteRsrq = signalStrength.lte.rsrq;
|
||||
+ int lteRssnr = signalStrength.lte.rssnr;
|
||||
+ int lteCqi = signalStrength.lte.cqi;
|
||||
+ int lteTimingAdvance = signalStrength.lte.timingAdvance;
|
||||
+ int mGsm = 0;
|
||||
+ int mRat = 0;
|
||||
+
|
||||
+
|
||||
+
|
||||
+ //Calcul level with Rssnr, Rsrq, Rsrp value - so specify KEY_PARAMETERS_USED_FOR_LTE_SIGNAL_BAR_INT (parameters_used_for_lte_signal_bar_int) to use this 3 values
|
||||
+ //RSRP = 1 << 0
|
||||
+ //RSRQ = 1 << 1
|
||||
+ //RSSNR = 1 << 2
|
||||
+ //
|
||||
+ if (lteRsrp != 0) { // LTE
|
||||
+ // Nothing to DO
|
||||
+ } else if (gsmSignalStrength == 0 && lteRsrp == 0) { // 3G
|
||||
+ lteRsrp = (mWcdmaRscp & 0xFF) - 256;
|
||||
+ lteRsrq = (mWcdmaEcio & 0xFF) - 256;
|
||||
+ if (lteRsrp > -20) { // None or Unknown
|
||||
+ lteRssnr = -200;
|
||||
+ } else if (lteRsrp >= -85) { // Great
|
||||
+ lteRssnr = 300;
|
||||
+ } else if (lteRsrp >= -95) { // Good
|
||||
+ lteRssnr = 129;
|
||||
+ } else if (lteRsrp >= -105) { // Moderate
|
||||
+ lteRssnr = 44;
|
||||
+ } else if (lteRsrp >= -115) { // Poor
|
||||
+ lteRssnr = 9;
|
||||
+ } else if (lteRsrp >= -140) { // None or Unknown
|
||||
+ lteRssnr = -200;
|
||||
+ }
|
||||
+ } else if (mWcdmaRscp == 0 && lteRsrp == 0) { // 2G
|
||||
+ lteRsrp = (gsmSignalStrength & 0xFF) - 256;
|
||||
+ if (lteRsrp > -20) { // None or Unknown
|
||||
+ lteRsrq = -21;
|
||||
+ lteRssnr = -200;
|
||||
+ } else if (lteRsrp >= -85) { // Great
|
||||
+ lteRsrq = -3;
|
||||
+ lteRssnr = 300;
|
||||
+ } else if (lteRsrp >= -95) { // Good
|
||||
+ lteRsrq = -7;
|
||||
+ lteRssnr = 129;
|
||||
+ } else if (lteRsrp >= -105) { // Moderate
|
||||
+ lteRsrq = -12;
|
||||
+ lteRssnr = 44;
|
||||
+ } else if (lteRsrp >= -115) { // Poor
|
||||
+ lteRsrq = -17;
|
||||
+ lteRssnr = 9;
|
||||
+ } else if (lteRsrp >= -140) { // None or Unknown
|
||||
+ lteRsrq = -21;
|
||||
+ lteRssnr = -200;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+
|
||||
+ // 4G - LTE
|
||||
+ // .lte = {.signalStrength = 99, .rsrp = -104, .rsrq = -16, .rssnr = -4, .cqi = 2147483647, .timingAdvance = -1},
|
||||
+ // public CellSignalStrengthLte(int rssi, int rsrp, int rsrq, int rssnr, int cqi, int timingAdvance) {
|
||||
+ CellSignalStrengthLte lteStrength = new CellSignalStrengthLte(SignalStrength.INVALID,
|
||||
+ lteRsrp,
|
||||
+ lteRsrq,
|
||||
+ lteRssnr,
|
||||
+ lteCqi,
|
||||
+ lteTimingAdvance);
|
||||
+
|
||||
+ // GSM
|
||||
+ // .gw = {.signalStrength = -91, .bitErrorRate = -1, .timingAdvance = 0}
|
||||
+ // public CellSignalStrengthGsm(int rssi, int ber, int ta) {
|
||||
+ // rssi in dBm [-113, -51] or UNAVAILABLE
|
||||
+ // bit error rate (0-7, 99) TS 27.007 8.5 or UNAVAILABLE
|
||||
+ CellSignalStrengthGsm gsmStrength = new CellSignalStrengthGsm(gsmSignalStrength,
|
||||
+ gsmBitErrorRate,
|
||||
+ gsmTimingAdvance);
|
||||
+
|
||||
+ if (RILJ_LOGD) {
|
||||
+ riljLog("Huawei signal : LTE dbm : " + String.valueOf(lteStrength.getDbm()) +
|
||||
+ ", level : " + String.valueOf(lteStrength.getLevel()) +
|
||||
+ ", Rsrp : " + String.valueOf(lteStrength.getRsrp()) +
|
||||
+ ", Rsrq : " + String.valueOf(lteStrength.getRsrq()) +
|
||||
+ ", Rssi : " + String.valueOf(lteStrength.getRssi()) +
|
||||
+ ", Rssnr : " + String.valueOf(lteStrength.getRssnr()));
|
||||
+ riljLog("Huawei signal : GSM dbm : " + String.valueOf(gsmStrength.getDbm()) +
|
||||
+ ", errorrate : " + String.valueOf(gsmStrength.getBitErrorRate()) +
|
||||
+ ", timingadvance : " + String.valueOf(gsmStrength.getTimingAdvance()));
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+
|
||||
+ // Perhaps add also gsm signalStrength
|
||||
+ return new SignalStrength(
|
||||
+ new CellSignalStrengthCdma(),
|
||||
+ gsmStrength,
|
||||
+ new CellSignalStrengthWcdma(),
|
||||
+ new CellSignalStrengthTdscdma(),
|
||||
+ lteStrength,
|
||||
+ new CellSignalStrengthNr());
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+
|
||||
/**
|
||||
* Convert CellInfo defined in 1.4/types.hal to CellInfo type.
|
||||
* @param records List of CellInfo defined in 1.4/types.hal.
|
||||
diff --git a/src/java/com/android/internal/telephony/RadioIndication.java b/src/java/com/android/internal/telephony/RadioIndication.java
|
||||
index bf8ae5f02..e3342790c 100644
|
||||
--- a/src/java/com/android/internal/telephony/RadioIndication.java
|
||||
+++ b/src/java/com/android/internal/telephony/RadioIndication.java
|
||||
@@ -233,14 +233,29 @@ public class RadioIndication extends IRadioIndication.Stub {
|
||||
|
||||
public void currentSignalStrength(int indicationType,
|
||||
android.hardware.radio.V1_0.SignalStrength signalStrength) {
|
||||
- mRil.processIndication(indicationType);
|
||||
-
|
||||
- SignalStrength ssInitial = new SignalStrength(signalStrength);
|
||||
+ SignalStrength ss = null;
|
||||
|
||||
- SignalStrength ss = mRil.fixupSignalStrength10(ssInitial);
|
||||
- // Note this is set to "verbose" because it happens frequently
|
||||
- if (RIL.RILJ_LOGV) mRil.unsljLogvRet(RIL_UNSOL_SIGNAL_STRENGTH, ss);
|
||||
+ mRil.processIndication(indicationType);
|
||||
|
||||
+ // Note this is set to "verbose" because it happens frequently
|
||||
+ if (RIL.RILJ_LOGV) mRil.unsljLogvRet(RIL_UNSOL_SIGNAL_STRENGTH, signalStrength);
|
||||
+
|
||||
+ // Fix signalStrength for Huawei
|
||||
+ String hardware = android.os.SystemProperties.get("ro.hardware", "");
|
||||
+ if(hardware.contains("hi3660") || hardware.contains("hi6250") || hardware.contains("hi3670") || hardware.contains("kirin"))
|
||||
+ {
|
||||
+ if (RIL.RILJ_LOGV) mRil.riljLog("currentSignalStrength Found Huawei device");
|
||||
+ ss = mRil.fixupSignalStrengthHuawei(signalStrength);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ SignalStrength ssInitial = new SignalStrength(signalStrength);
|
||||
+ ss = mRil.fixupSignalStrength10(ssInitial);
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ // Note this is set to "verbose" because it happens frequently
|
||||
+ if (RIL.RILJ_LOGV) mRil.unsljLogvRet(RIL_UNSOL_SIGNAL_STRENGTH, ss);
|
||||
if (mRil.mSignalStrengthRegistrant != null) {
|
||||
mRil.mSignalStrengthRegistrant.notifyRegistrant(new AsyncResult (null, ss, null));
|
||||
}
|
||||
--
|
||||
2.30.2
|
||||
|
@ -0,0 +1,26 @@
|
||||
From 7ac875c7930932e79db2e96a662c0db037a57122 Mon Sep 17 00:00:00 2001
|
||||
From: Victor Bo <bvoid@yandex.ru>
|
||||
Date: Fri, 17 Dec 2021 21:13:19 +0000
|
||||
Subject: [PATCH] try to fix screen recording for some devices
|
||||
|
||||
based on https://github.com/eremitein/treble-patches/issues/40
|
||||
---
|
||||
Parcel.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Parcel.cpp b/Parcel.cpp
|
||||
index 6be57d3..a0cb27b 100644
|
||||
--- a/Parcel.cpp
|
||||
+++ b/Parcel.cpp
|
||||
@@ -1348,7 +1348,7 @@ bool Parcel::verifyBufferObject(const binder_buffer_object *buffer_obj,
|
||||
ALOGE("Buffer in parent %p differs from embedded buffer %p",
|
||||
bufferInParent, childBuffer);
|
||||
android_errorWriteLog(0x534e4554, "179289794");
|
||||
- return false;
|
||||
+ return true;
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
@ -0,0 +1,28 @@
|
||||
From d3a5ff46fdff9f0fe115600168e4fd1e9a6df940 Mon Sep 17 00:00:00 2001
|
||||
From: Raphael Mounier <mounierr07@gmail.com>
|
||||
Date: Fri, 26 Nov 2021 22:55:10 +0100
|
||||
Subject: [PATCH] Vold : Timeout error on unmounting files contained in phh
|
||||
folder
|
||||
|
||||
Timeout error on unmounting files contained in /mnt/phh/ folder :
|
||||
/mnt/phh/_system_lib64_vndk-26_libsoftkeymasterdevice.so
|
||||
/mnt/phh/_apex_com.android.vndk.v26_lib_libsoftkeymasterdevice.so
|
||||
---
|
||||
VolumeManager.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/VolumeManager.cpp b/VolumeManager.cpp
|
||||
index 585d2d5..6f67d4a 100644
|
||||
--- a/VolumeManager.cpp
|
||||
+++ b/VolumeManager.cpp
|
||||
@@ -975,6 +975,7 @@ int VolumeManager::unmountAll() {
|
||||
while ((mentry = getmntent(fp)) != NULL) {
|
||||
auto test = std::string(mentry->mnt_dir);
|
||||
if ((StartsWith(test, "/mnt/") &&
|
||||
+ !StartsWith(test, "/mnt/phh") &&
|
||||
#ifdef __ANDROID_DEBUGGABLE__
|
||||
!StartsWith(test, "/mnt/scratch") &&
|
||||
#endif
|
||||
--
|
||||
2.30.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 79bc0294a742981eff0905118921e035241878dc Mon Sep 17 00:00:00 2001
|
||||
From e8889bf1c7c3e5f1c14ec7864a77cc1656bc6fca Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 8 Aug 2021 09:31:01 +0000
|
||||
Subject: [PATCH 1/3] Revert "treble: Set BOARD_EXT4_SHARE_DUP_BLOCKS
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ec91b5cae6341702dc39bf6e579a4fd791af87c0 Mon Sep 17 00:00:00 2001
|
||||
From 4d6a4c4839266a249f2a37194cbd1154e58464f8 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 22 Jun 2021 13:38:31 +0000
|
||||
Subject: [PATCH 2/3] Add Meizu 18 vibrator support
|
||||
@ -27,13 +27,13 @@ Change-Id: Iecf12cd814e8773abfd78a19f98e31125a73761a
|
||||
create mode 100644 hal/meizu-vibrator/service.cpp
|
||||
|
||||
diff --git a/base.mk b/base.mk
|
||||
index 878aaae..1755f9e 100644
|
||||
index e8ac0a3..6fc7726 100644
|
||||
--- a/base.mk
|
||||
+++ b/base.mk
|
||||
@@ -203,3 +203,6 @@ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
# AOSP overlays
|
||||
@@ -207,3 +207,6 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
NavigationBarMode2ButtonOverlay
|
||||
oplus-alert-slider
|
||||
+
|
||||
+PRODUCT_PACKAGES += \
|
||||
+ android.hardware.vibrator@1.3-service.meizu
|
||||
@ -395,13 +395,13 @@ index 0000000..1405dfb
|
||||
+ joinRpcThreadpool();
|
||||
+}
|
||||
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
|
||||
index 7ab5e91..2b59077 100644
|
||||
index 5e39d5b..41d395d 100644
|
||||
--- a/sepolicy/file_contexts
|
||||
+++ b/sepolicy/file_contexts
|
||||
@@ -12,6 +12,7 @@
|
||||
/dev/dsm u:object_r:dmd_device:s0
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
/system/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.oppo.compat u:object_r:hal_fingerprint_oppo_compat_exec:s0
|
||||
/system/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.oplus.compat u:object_r:hal_fingerprint_oppo_compat_exec:s0
|
||||
+/system/bin/hw/android.hardware.vibrator@1.3-service.meizu u:object_r:hal_vibrator_default_exec:s0
|
||||
|
||||
/efs u:object_r:efs_file:s0
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 271f7db60868e2e96fbe5be09b81b943d8fbc91d Mon Sep 17 00:00:00 2001
|
||||
From f4372e21a63da73345a1b9c6606f47d1c00038d3 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 27 Jun 2021 05:21:38 +0000
|
||||
Subject: [PATCH 3/3] Only use meizu-vibrator on Meizu 18
|
||||
@ -76,10 +76,10 @@ index 0000000..b34a10b
|
||||
+<manifest version="1.0" type="framework">
|
||||
+</manifest>
|
||||
diff --git a/rw-system.sh b/rw-system.sh
|
||||
index 38271b4..dcb007e 100644
|
||||
index 65dd3eb..60baa31 100644
|
||||
--- a/rw-system.sh
|
||||
+++ b/rw-system.sh
|
||||
@@ -314,6 +314,12 @@ if [ "$foundFingerprint" = false ];then
|
||||
@@ -321,6 +321,12 @@ if [ "$foundFingerprint" = false ];then
|
||||
mount -o bind system/phh/empty /system/etc/permissions/android.hardware.fingerprint.xml
|
||||
fi
|
||||
|
||||
@ -92,7 +92,7 @@ index 38271b4..dcb007e 100644
|
||||
if ! grep android.hardware.bluetooth /vendor/manifest.xml && ! grep android.hardware.bluetooth /vendor/etc/vintf/manifest.xml; then
|
||||
mount -o bind system/phh/empty /system/etc/permissions/android.hardware.bluetooth.xml
|
||||
mount -o bind system/phh/empty /system/etc/permissions/android.hardware.bluetooth_le.xml
|
||||
@@ -385,7 +391,7 @@ if getprop ro.build.overlay.deviceid |grep -q -e CPH1859 -e CPH1861 -e RMX1811 -
|
||||
@@ -392,7 +398,7 @@ if getprop ro.build.overlay.deviceid |grep -q -e CPH1859 -e CPH1861 -e RMX1811 -
|
||||
setprop persist.sys.qcom-brightness "$(cat /sys/class/leds/lcd-backlight/max_brightness)"
|
||||
fi
|
||||
|
||||
@ -101,7 +101,7 @@ index 38271b4..dcb007e 100644
|
||||
setprop persist.sys.qcom-brightness 2047
|
||||
setprop persist.sys.overlay.devinputjack true
|
||||
setprop persist.sys.phh.fingerprint.nocleanup true
|
||||
@@ -873,7 +879,7 @@ if getprop ro.build.overlay.deviceid |grep -qiE -e '^RMX' -e '^CPH';then
|
||||
@@ -887,7 +893,7 @@ if getprop ro.build.overlay.deviceid |grep -qiE -e '^RMX' -e '^CPH';then
|
||||
setprop persist.sys.phh.fod.bbk true
|
||||
fi
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e3c7e720c893a6ecef90b4b950787ed820792581 Mon Sep 17 00:00:00 2001
|
||||
From 0fd8513d53c1de4d9dee64cb03ce4e28ffd21070 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Thu, 12 Sep 2019 12:54:23 +0200
|
||||
Subject: [PATCH 1/2] Use vndk_lite ld.config only on same-version vendor
|
||||
@ -16,10 +16,10 @@ Change-Id: I55257cd7c738b1d20582e198e1d5621e1c87a03e
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/linker/linker.cpp b/linker/linker.cpp
|
||||
index f24167722..a82d7c430 100644
|
||||
index c87118b9f..6df9cfe23 100644
|
||||
--- a/linker/linker.cpp
|
||||
+++ b/linker/linker.cpp
|
||||
@@ -3372,7 +3372,10 @@ static std::string get_ld_config_file_apex_path(const char* executable_path) {
|
||||
@@ -3443,7 +3443,10 @@ static std::string get_ld_config_file_apex_path(const char* executable_path) {
|
||||
}
|
||||
|
||||
static std::string get_ld_config_file_vndk_path() {
|
||||
@ -32,5 +32,5 @@ index f24167722..a82d7c430 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 709393961b2c65d2e9c50fdb5c2db3370811da5c Mon Sep 17 00:00:00 2001
|
||||
From 4d9b1dd121a9c5444cc313914e67c738a27fec0c Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 26 Oct 2020 23:23:24 +0100
|
||||
Subject: [PATCH 3/3] Ignore vndk lite when looking for ld.config
|
||||
Subject: [PATCH 2/2] Ignore vndk lite when looking for ld.config
|
||||
|
||||
Change-Id: I6927ba11dcb8435fab1866985c177a1852488414
|
||||
---
|
||||
@ -9,7 +9,7 @@ Change-Id: I6927ba11dcb8435fab1866985c177a1852488414
|
||||
1 file changed, 8 deletions(-)
|
||||
|
||||
diff --git a/linker/linker.cpp b/linker/linker.cpp
|
||||
index ae2c00c21..ea504c91e 100644
|
||||
index 6df9cfe23..62d39fa53 100644
|
||||
--- a/linker/linker.cpp
|
||||
+++ b/linker/linker.cpp
|
||||
@@ -93,7 +93,6 @@ static uint64_t g_module_unload_counter = 0;
|
||||
@ -20,7 +20,7 @@ index ae2c00c21..ea504c91e 100644
|
||||
|
||||
static const char* const kLdGeneratedConfigFilePath = "/linkerconfig/ld.config.txt";
|
||||
|
||||
@@ -3372,13 +3371,6 @@ static std::string get_ld_config_file_apex_path(const char* executable_path) {
|
||||
@@ -3443,13 +3442,6 @@ static std::string get_ld_config_file_apex_path(const char* executable_path) {
|
||||
}
|
||||
|
||||
static std::string get_ld_config_file_vndk_path() {
|
||||
@ -35,5 +35,5 @@ index ae2c00c21..ea504c91e 100644
|
||||
size_t insert_pos = ld_config_file_vndk.find_last_of('.');
|
||||
if (insert_pos == std::string::npos) {
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From f85268cf7b0e928d741d316b59b3b31773fae7c8 Mon Sep 17 00:00:00 2001
|
||||
From 6147c29ccea27751cc485572af549a5ac887ca45 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Pohl <pohl199885@gmail.com>
|
||||
Date: Fri, 15 Jun 2018 19:58:07 +0200
|
||||
Subject: [PATCH 01/14] Fix WiFi-Display on Huawei devices (EMUI 8.0)
|
||||
Subject: [PATCH 01/26] Fix WiFi-Display on Huawei devices (EMUI 8.0)
|
||||
|
||||
Huaweis media stack doesn't handle intra-refresh-mode, so skip the error instead.
|
||||
|
||||
@ -11,10 +11,10 @@ Thanks to Chris Vandomelen for pointing that out.
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
|
||||
index 63ab6548b4..e25f8f6558 100644
|
||||
index 4a3b32f3ee..a86a267d48 100644
|
||||
--- a/media/libstagefright/ACodec.cpp
|
||||
+++ b/media/libstagefright/ACodec.cpp
|
||||
@@ -4432,9 +4432,8 @@ status_t ACodec::setupAVCEncoderParameters(const sp<AMessage> &msg) {
|
||||
@@ -4469,9 +4469,8 @@ status_t ACodec::setupAVCEncoderParameters(const sp<AMessage> &msg) {
|
||||
if (msg->findInt32("intra-refresh-mode", &intraRefreshMode)) {
|
||||
err = setCyclicIntraMacroblockRefresh(msg, intraRefreshMode);
|
||||
if (err != OK) {
|
||||
@ -27,5 +27,5 @@ index 63ab6548b4..e25f8f6558 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 4ab15a33857452d990581a3d0073e35215e1c542 Mon Sep 17 00:00:00 2001
|
||||
From 80edce28d0bd6ac672f3f64249910af62becd364 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 19 Aug 2018 22:59:06 +0200
|
||||
Subject: [PATCH 02/14] ::Kirin:: Remove lock to prevent self-lock
|
||||
Subject: [PATCH 02/26] Kirin:: Remove lock to prevent self-lock
|
||||
|
||||
With Huawei Camera HAL, we get the following call order:
|
||||
cameraserver CameraService::enumerateProviders (*)
|
||||
@ -19,10 +19,10 @@ Change-Id: I464255b5a3af8d75d72b1772ab55aa655f395a60
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp
|
||||
index af1e01d8e1..05252d6308 100644
|
||||
index fcccd262fe..1c0c55b36d 100644
|
||||
--- a/services/camera/libcameraservice/CameraService.cpp
|
||||
+++ b/services/camera/libcameraservice/CameraService.cpp
|
||||
@@ -301,7 +301,7 @@ status_t CameraService::getSystemCameraKind(const String8& cameraId, SystemCamer
|
||||
@@ -313,7 +313,7 @@ status_t CameraService::getSystemCameraKind(const String8& cameraId, SystemCamer
|
||||
}
|
||||
|
||||
void CameraService::updateCameraNumAndIds() {
|
||||
@ -32,5 +32,5 @@ index af1e01d8e1..05252d6308 100644
|
||||
// Excludes hidden secure cameras
|
||||
mNumberOfCameras =
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 1083cc0b59ed11aa69af22103ebaf74ae11f272c Mon Sep 17 00:00:00 2001
|
||||
From 880b5dba6d462970a0a593f6e4cb1345bcf1c38d Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 19 Aug 2018 23:05:26 +0200
|
||||
Subject: [PATCH 03/14] We might not have a mFlashlight at this state, but
|
||||
Subject: [PATCH 03/26] We might not have a mFlashlight at this state, but
|
||||
that's ok
|
||||
|
||||
---
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH 03/14] We might not have a mFlashlight at this state, but
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp
|
||||
index 05252d6308..e1d23073f4 100644
|
||||
index 1c0c55b36d..ae8473f397 100644
|
||||
--- a/services/camera/libcameraservice/CameraService.cpp
|
||||
+++ b/services/camera/libcameraservice/CameraService.cpp
|
||||
@@ -337,7 +337,7 @@ void CameraService::addStates(const String8 id) {
|
||||
@@ -349,7 +349,7 @@ void CameraService::addStates(const String8 id) {
|
||||
conflicting, deviceKind));
|
||||
}
|
||||
|
||||
@ -22,5 +22,5 @@ index 05252d6308..e1d23073f4 100644
|
||||
mTorchStatusMap.add(id, TorchModeStatus::AVAILABLE_OFF);
|
||||
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 1c0e912c7bdef868de97dc07dd5227d298cd66a9 Mon Sep 17 00:00:00 2001
|
||||
From c5db38ed90be9bc617a8d1a1b44dc5897f6a1ddf Mon Sep 17 00:00:00 2001
|
||||
From: Artem Borisov <dedsa2002@gmail.com>
|
||||
Date: Tue, 25 Sep 2018 12:39:22 +0300
|
||||
Subject: [PATCH 04/14] CameraService: Support calling addStates in
|
||||
Subject: [PATCH 04/26] CameraService: Support calling addStates in
|
||||
enumerateProviders
|
||||
|
||||
Some pre-P camera HALs trigger onDeviceStatusChange callback during HAL init.
|
||||
@ -22,7 +22,7 @@ Change-Id: Ife25b9753fdb679ab0c77f385e1b8527551a4711
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp
|
||||
index e1d23073f4..83dea10f3a 100644
|
||||
index ae8473f397..cbdcc3d002 100644
|
||||
--- a/services/camera/libcameraservice/CameraService.cpp
|
||||
+++ b/services/camera/libcameraservice/CameraService.cpp
|
||||
@@ -221,6 +221,20 @@ status_t CameraService::enumerateProviders() {
|
||||
@ -46,7 +46,7 @@ index e1d23073f4..83dea10f3a 100644
|
||||
if (getCameraState(id8) == nullptr) {
|
||||
onDeviceStatusChanged(id8, CameraDeviceStatus::PRESENT);
|
||||
}
|
||||
@@ -375,8 +389,10 @@ void CameraService::onDeviceStatusChanged(const String8& id,
|
||||
@@ -387,8 +401,10 @@ void CameraService::onDeviceStatusChanged(const String8& id,
|
||||
ALOGI("%s: Unknown camera ID %s, a new camera is added",
|
||||
__FUNCTION__, id.string());
|
||||
|
||||
@ -58,5 +58,5 @@ index e1d23073f4..83dea10f3a 100644
|
||||
updateStatus(newStatus, id);
|
||||
} else {
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 3afbad626827104662f61ab04ba3fbe6af32f73f Mon Sep 17 00:00:00 2001
|
||||
From 53099b517ca45410b1ec17925cd21acc00dcf93c Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 5 Aug 2019 18:09:50 +0200
|
||||
Subject: [PATCH 05/14] Fix BT in-call on CAF devices
|
||||
Subject: [PATCH 05/26] Fix BT in-call on CAF devices
|
||||
|
||||
See https://github.com/phhusson/treble_experimentations/issues/374
|
||||
|
||||
@ -127,5 +127,5 @@ index 883e713326..d85dbdf113 100644
|
||||
|
||||
for (const xmlNode *children = cur->xmlChildrenNode; children != NULL;
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 4f7930e14f979ec5be530bd630ca9bb664050420 Mon Sep 17 00:00:00 2001
|
||||
From b60f955e43cd81ee1dcca4ad31b218a015210fd3 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 1 Oct 2019 13:35:49 +0200
|
||||
Subject: [PATCH 06/14] Add (partial, cam id is hardcoded) support for Asus ZF6
|
||||
Subject: [PATCH 06/26] Add (partial, cam id is hardcoded) support for Asus ZF6
|
||||
motor camera
|
||||
|
||||
Change-Id: Iea6e1370780a1d16f728748d1d948d092532d8fe
|
||||
@ -11,7 +11,7 @@ Change-Id: Iea6e1370780a1d16f728748d1d948d092532d8fe
|
||||
2 files changed, 29 insertions(+)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp
|
||||
index 83dea10f3a..37ea512bdd 100644
|
||||
index cbdcc3d002..ca66bef6b9 100644
|
||||
--- a/services/camera/libcameraservice/CameraService.cpp
|
||||
+++ b/services/camera/libcameraservice/CameraService.cpp
|
||||
@@ -25,6 +25,7 @@
|
||||
@ -30,7 +30,7 @@ index 83dea10f3a..37ea512bdd 100644
|
||||
mEventLog(DEFAULT_EVENT_LOG_LENGTH),
|
||||
mNumberOfCameras(0),
|
||||
mNumberOfCamerasWithoutSystemCamera(0),
|
||||
@@ -1785,6 +1787,7 @@ Status CameraService::connectHelper(const sp<CALLBACK>& cameraCb, const String8&
|
||||
@@ -1804,6 +1806,7 @@ Status CameraService::connectHelper(const sp<CALLBACK>& cameraCb, const String8&
|
||||
mServiceLock.lock();
|
||||
} else {
|
||||
// Otherwise, add client to active clients list
|
||||
@ -38,7 +38,7 @@ index 83dea10f3a..37ea512bdd 100644
|
||||
finishConnectLocked(client, partial);
|
||||
}
|
||||
} // lock is destroyed, allow further connect calls
|
||||
@@ -1866,6 +1869,27 @@ status_t CameraService::addOfflineClient(String8 cameraId, sp<BasicClient> offli
|
||||
@@ -1885,6 +1888,27 @@ status_t CameraService::addOfflineClient(String8 cameraId, sp<BasicClient> offli
|
||||
return OK;
|
||||
}
|
||||
|
||||
@ -66,7 +66,7 @@ index 83dea10f3a..37ea512bdd 100644
|
||||
Status CameraService::setTorchMode(const String16& cameraId, bool enabled,
|
||||
const sp<IBinder>& clientBinder) {
|
||||
Mutex::Autolock lock(mServiceLock);
|
||||
@@ -2840,6 +2864,8 @@ binder::Status CameraService::BasicClient::disconnect() {
|
||||
@@ -2873,6 +2897,8 @@ binder::Status CameraService::BasicClient::disconnect() {
|
||||
}
|
||||
mDisconnected = true;
|
||||
|
||||
@ -76,10 +76,10 @@ index 83dea10f3a..37ea512bdd 100644
|
||||
sCameraService->logDisconnected(mCameraIdStr, mClientPid, String8(mClientPackageName));
|
||||
sCameraService->mCameraProviderManager->removeRef(CameraProviderManager::DeviceMode::CAMERA,
|
||||
diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h
|
||||
index 4321201100..85b1706996 100644
|
||||
index 685ed5ee1d..8ea8113401 100644
|
||||
--- a/services/camera/libcameraservice/CameraService.h
|
||||
+++ b/services/camera/libcameraservice/CameraService.h
|
||||
@@ -202,6 +202,9 @@ public:
|
||||
@@ -203,6 +203,9 @@ public:
|
||||
// Register an offline client for a given active camera id
|
||||
status_t addOfflineClient(String8 cameraId, sp<BasicClient> offlineClient);
|
||||
|
||||
@ -90,5 +90,5 @@ index 4321201100..85b1706996 100644
|
||||
// Client functionality
|
||||
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 93d21e226a4cac72ebc73f8fcec3001160d8570f Mon Sep 17 00:00:00 2001
|
||||
From a2885cac60af1248c24f520975aca1911c847bec Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Thu, 23 Jan 2020 11:13:43 +0800
|
||||
Subject: [PATCH 07/14] audiopolicy: try again with trimmed audio port name if
|
||||
Subject: [PATCH 07/26] audiopolicy: try again with trimmed audio port name if
|
||||
not found
|
||||
|
||||
* In Spreadtrum BSP, some audio routes may contain ports with extra
|
||||
@ -55,5 +55,5 @@ index d85dbdf113..e25dda07c7 100644
|
||||
sources.add(source);
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 2c80a9c1453230a62f538fc128f286005d91b802 Mon Sep 17 00:00:00 2001
|
||||
From ef2e8b09124da26d25f0f91b55f22edebc3cd2ec Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 13 Apr 2020 21:01:16 +0200
|
||||
Subject: [PATCH 08/14] There are three SCO devices. Fallback from one to the
|
||||
Subject: [PATCH 08/26] There are three SCO devices. Fallback from one to the
|
||||
others if needed
|
||||
|
||||
Change-Id: I414dcb6b154855c00cb8520b23dc1069827864b2
|
||||
@ -42,5 +42,5 @@ index d31e4437e1..b2ca5e85de 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
From ab92e063952b11ee1090cbf9c0ba0935325a54af Mon Sep 17 00:00:00 2001
|
||||
From 139678208872579470419be602f9344efbeba153 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Thu, 14 May 2020 19:54:55 +0200
|
||||
Subject: [PATCH] Add persist.sys.phh.samsung.camera_ids property to access
|
||||
hidden Samsung cameras
|
||||
Subject: [PATCH 09/26] Add persist.sys.phh.samsung.camera_ids property to
|
||||
access hidden Samsung cameras
|
||||
|
||||
Change-Id: I2c7bf535272acc28ed2277e96c78ddd28a0b4593
|
||||
---
|
||||
@ -11,10 +11,10 @@ Change-Id: I2c7bf535272acc28ed2277e96c78ddd28a0b4593
|
||||
2 files changed, 14 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/Android.bp b/services/camera/libcameraservice/Android.bp
|
||||
index 53fc1be7eb..99ca362bf3 100644
|
||||
index 92e9817e16..994391eecb 100644
|
||||
--- a/services/camera/libcameraservice/Android.bp
|
||||
+++ b/services/camera/libcameraservice/Android.bp
|
||||
@@ -131,7 +131,8 @@ cc_library_shared {
|
||||
@@ -132,7 +132,8 @@ cc_library_shared {
|
||||
"android.hardware.camera.device@3.3",
|
||||
"android.hardware.camera.device@3.4",
|
||||
"android.hardware.camera.device@3.5",
|
@ -1,7 +1,7 @@
|
||||
From 6dff7fa42818b525faa0a80d161ad54055ebc38e Mon Sep 17 00:00:00 2001
|
||||
From 078667f06c281154048bf6f5dfdc05ee1fe60843 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 19 May 2020 14:01:14 +0200
|
||||
Subject: [PATCH 11/14] Add a property to force camera timestamp source
|
||||
Subject: [PATCH 10/26] Add a property to force camera timestamp source
|
||||
|
||||
Some devices wrongly report their timesource
|
||||
Camera's timesource can either be CLOCK_MONOTONIC, or CLOCK_BOOTTIME
|
||||
@ -18,7 +18,7 @@ timestamp source.
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp
|
||||
index 4a509aa745..cdf9fc783e 100644
|
||||
index fc3a5b4901..3db7bc6b22 100644
|
||||
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
|
||||
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
|
||||
@@ -316,8 +316,16 @@ status_t Camera3Device::initializeCommonLocked() {
|
||||
@ -41,5 +41,5 @@ index 4a509aa745..cdf9fc783e 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 7f14fcbf4bcf6d8f8c4b89f6ac4b91bc4961ed6f Mon Sep 17 00:00:00 2001
|
||||
From 9dc2ceeb7e2e4e429f373be2c0462ba2c2c1001f Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 24 Apr 2018 00:14:28 +0200
|
||||
Subject: [PATCH 12/14] FIH devices: Fix "Earpiece" audio output
|
||||
Subject: [PATCH 11/26] FIH devices: Fix "Earpiece" audio output
|
||||
|
||||
On some FIH devices (confirmed on Razer, and probably on Aquos SS2),
|
||||
Earpiece is not listed in attachedDevices, and devicePort's profile
|
||||
@ -75,5 +75,5 @@ index e25dda07c7..a8eb142c81 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
@ -1,9 +1,9 @@
|
||||
From 4b6dc11462996df5987ac339bf2fb750f500a067 Mon Sep 17 00:00:00 2001
|
||||
From fc3dfc814de0310bbc7f41b5658c255df02e8a0a Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 12 Sep 2020 12:32:50 +0200
|
||||
Subject: [PATCH 13/14] [audiopolicy] No longer make re-assigning legacy audio
|
||||
groups fatal. Mi9 declares AUDIO_STREAM_PATCH and AUDIO_STREAM_REROUTING
|
||||
which is defined by framework too
|
||||
Subject: [PATCH 12/26] No longer make re-assigning legacy audio groups fatal.
|
||||
Mi9 declares AUDIO_STREAM_PATCH and AUDIO_STREAM_REROUTING which is defined
|
||||
by framework too
|
||||
|
||||
Change-Id: I794fe22d63a8af705be4f5f09b9879ecaab3eae5
|
||||
---
|
||||
@ -28,5 +28,5 @@ index 1bc7fe3dcc..fe18d0d794 100644
|
||||
}
|
||||
addSupportedAttributesToGroup(group, volumeGroup, strategy);
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From d24b9bfa7113578d6a9e7a98a01e0ef6dfb970ea Mon Sep 17 00:00:00 2001
|
||||
From 5d00177e7416d5a65c0d024978e954e57c91cd8b Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 25 May 2020 21:26:54 +0200
|
||||
Subject: [PATCH 14/14] Add persist.sys.phh.disable_a2dp_offload property to
|
||||
Subject: [PATCH 13/26] Add persist.sys.phh.disable_a2dp_offload property to
|
||||
force a2dp offload
|
||||
|
||||
Change-Id: Id474540c33c594cc4010a1a398d82bff8aadaeea
|
||||
@ -13,10 +13,10 @@ Change-Id: Id474540c33c594cc4010a1a398d82bff8aadaeea
|
||||
4 files changed, 199 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
|
||||
index e25f8f6558..7ff3c8f61b 100644
|
||||
index a86a267d48..fdba45d8fd 100644
|
||||
--- a/media/libstagefright/ACodec.cpp
|
||||
+++ b/media/libstagefright/ACodec.cpp
|
||||
@@ -1166,6 +1166,9 @@ status_t ACodec::configureOutputBuffersFromNativeWindow(
|
||||
@@ -1176,6 +1176,9 @@ status_t ACodec::configureOutputBuffersFromNativeWindow(
|
||||
return err;
|
||||
}
|
||||
|
||||
@ -26,7 +26,7 @@ index e25f8f6558..7ff3c8f61b 100644
|
||||
// FIXME: assume that surface is controlled by app (native window
|
||||
// returns the number for the case when surface is not controlled by app)
|
||||
// FIXME2: This means that minUndeqeueudBufs can be 1 larger than reported
|
||||
@@ -1178,22 +1181,29 @@ status_t ACodec::configureOutputBuffersFromNativeWindow(
|
||||
@@ -1188,22 +1191,29 @@ status_t ACodec::configureOutputBuffersFromNativeWindow(
|
||||
// 2. try to allocate two (2) additional buffers to reduce starvation from
|
||||
// the consumer
|
||||
// plus an extra buffer to account for incorrect minUndequeuedBufs
|
||||
@ -303,7 +303,7 @@ index a8eb142c81..73e4a3e096 100644
|
||||
}
|
||||
|
||||
diff --git a/services/audiopolicy/enginedefault/src/Engine.cpp b/services/audiopolicy/enginedefault/src/Engine.cpp
|
||||
index b14d2bbb0b..16a7a4bbac 100755
|
||||
index 37f1a9815f..fbfd60cf75 100755
|
||||
--- a/services/audiopolicy/enginedefault/src/Engine.cpp
|
||||
+++ b/services/audiopolicy/enginedefault/src/Engine.cpp
|
||||
@@ -52,7 +52,7 @@ static const std::vector<legacy_strategy_map>& getLegacyStrategy() {
|
||||
@ -316,7 +316,7 @@ index b14d2bbb0b..16a7a4bbac 100755
|
||||
{ "STRATEGY_CALL_ASSISTANT", STRATEGY_CALL_ASSISTANT },
|
||||
};
|
||||
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
|
||||
index c5c13e9a5a..1c5ed86b86 100644
|
||||
index a592dea65c..63dcd538b1 100644
|
||||
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
|
||||
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
|
||||
@@ -93,6 +93,8 @@ bool operator!= (const SortedVector<T> &left, const SortedVector<T> &right)
|
||||
@ -328,7 +328,7 @@ index c5c13e9a5a..1c5ed86b86 100644
|
||||
// ----------------------------------------------------------------------------
|
||||
// AudioPolicyInterface implementation
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -4458,6 +4460,7 @@ static status_t deserializeAudioPolicyXmlConfig(AudioPolicyConfig &config) {
|
||||
@@ -4462,6 +4464,7 @@ static status_t deserializeAudioPolicyXmlConfig(AudioPolicyConfig &config) {
|
||||
} else if (property_get_bool("persist.bluetooth.bluetooth_audio_hal.disabled", false)) {
|
||||
fileNames.push_back(AUDIO_POLICY_BLUETOOTH_LEGACY_HAL_XML_CONFIG_FILE_NAME);
|
||||
}
|
||||
@ -337,5 +337,5 @@ index c5c13e9a5a..1c5ed86b86 100644
|
||||
|
||||
for (const char* fileName : fileNames) {
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 3c374cb65bd0e28c73fbd452e8201487dd1acb94 Mon Sep 17 00:00:00 2001
|
||||
From 7e05a92d0ba0fdcbd4bc4ab674a79a0178e31ea1 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 3 Dec 2019 14:04:17 +0100
|
||||
Subject: [PATCH 15/15] Fix for some Huawei camera
|
||||
Subject: [PATCH 14/26] Fix for some Huawei camera
|
||||
|
||||
---
|
||||
services/camera/libcameraservice/CameraService.cpp | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp
|
||||
index 5d062a5fb3..97e9825c51 100644
|
||||
index ca66bef6b9..ea8862dce9 100644
|
||||
--- a/services/camera/libcameraservice/CameraService.cpp
|
||||
+++ b/services/camera/libcameraservice/CameraService.cpp
|
||||
@@ -16,7 +16,7 @@
|
@ -1,7 +1,7 @@
|
||||
From 6a6c54584fae07783b493a56afd047984f589ed0 Mon Sep 17 00:00:00 2001
|
||||
From b916cfd97a909be09e387927f1a68b1eea1f6906 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 21 Dec 2020 20:19:11 +0100
|
||||
Subject: [PATCH 16/16] Make camera IDs filter-out optional
|
||||
Subject: [PATCH 15/26] Make camera IDs filter-out optional
|
||||
|
||||
Nowadays most people have Camera 2 apps, and would like to have all
|
||||
cameras, rather than limit which cameras are available.
|
@ -1,7 +1,7 @@
|
||||
From a141c7102252377bc882b982b36980edb60f931e Mon Sep 17 00:00:00 2001
|
||||
From aa4105767f6d138a777c34d4cf35ffbd21db63ec Mon Sep 17 00:00:00 2001
|
||||
From: Wonsik Kim <wonsik@google.com>
|
||||
Date: Tue, 5 Jan 2021 18:58:15 -0800
|
||||
Subject: [PATCH 19/30] CCodec: store flushed config as work items
|
||||
Subject: [PATCH 16/26] CCodec: store flushed config as work items
|
||||
|
||||
Store flushed config as work items and queue them to the component
|
||||
directly, instead of going through MediaCodecBuffer.
|
@ -1,7 +1,7 @@
|
||||
From bfa866666f0fb3e95755e5fb5d22a89c1fdd6767 Mon Sep 17 00:00:00 2001
|
||||
From 64daa21a802f564a47118c34898f055499e4f8fa Mon Sep 17 00:00:00 2001
|
||||
From: David Stevens <stevensd@google.com>
|
||||
Date: Tue, 20 Oct 2020 15:00:41 +0900
|
||||
Subject: [PATCH 20/30] BufferPool: limit number of idle buffers in caches
|
||||
Subject: [PATCH 17/26] BufferPool: limit number of idle buffers in caches
|
||||
|
||||
Some systems have limits on the total number of graphics buffers that
|
||||
can be allocated, not just the total size. When dealing with
|
@ -1,7 +1,7 @@
|
||||
From ecab6fe48819adeafaceec1a33e7e1d380caec75 Mon Sep 17 00:00:00 2001
|
||||
From 20ddcc2e04ef3bde507140be5da4f86f9dc0ba20 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 13 Mar 2021 14:20:03 -0500
|
||||
Subject: [PATCH 33/38] Support Samsung R multi-cams
|
||||
Subject: [PATCH 18/26] Support Samsung R multi-cams
|
||||
|
||||
---
|
||||
services/camera/libcameraservice/Android.bp | 1 +
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH 33/38] Support Samsung R multi-cams
|
||||
2 files changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/Android.bp b/services/camera/libcameraservice/Android.bp
|
||||
index be275e9346..bede98bfdc 100644
|
||||
index 994391eecb..aa15e14d1e 100644
|
||||
--- a/services/camera/libcameraservice/Android.bp
|
||||
+++ b/services/camera/libcameraservice/Android.bp
|
||||
@@ -129,6 +129,7 @@ cc_library_shared {
|
||||
@@ -134,6 +134,7 @@ cc_library_shared {
|
||||
"android.hardware.camera.device@3.5",
|
||||
"android.hardware.camera.device@3.6",
|
||||
"vendor.samsung.hardware.camera.provider@3.0",
|
@ -1,7 +1,7 @@
|
||||
From 347755b3b0d26b557ac0775433ccdbabe23ac6ed Mon Sep 17 00:00:00 2001
|
||||
From 5dc5c6290ff4daf792153118dab8106a3d757587 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 23 Mar 2021 00:16:42 +0100
|
||||
Subject: [PATCH 34/38] [audiopolicy] Don't crash on unknown audio devices
|
||||
Subject: [PATCH 19/26] Don't crash on unknown audio devices
|
||||
|
||||
---
|
||||
.../common/managerdefinitions/src/Serializer.cpp | 7 ++++++-
|
@ -1,7 +1,7 @@
|
||||
From 0b8723c62a0d5b63f8afd46fddc3c38123b49d04 Mon Sep 17 00:00:00 2001
|
||||
From 383d6a204d405f91f9df919386b3c582de63dc21 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Sun, 28 Mar 2021 16:17:36 +0800
|
||||
Subject: [PATCH 35/38] AudioPolicyManager: retry with SW bridge if hardware
|
||||
Subject: [PATCH 20/26] AudioPolicyManager: retry with SW bridge if hardware
|
||||
audio patch fails
|
||||
|
||||
* On two of my MT6771 Q vendor devices, in-call audio is broken due to
|
||||
@ -75,10 +75,10 @@ index 63dcd538b1..6d2c38811e 100644
|
||||
} else {
|
||||
return BAD_VALUE;
|
||||
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
index b588f898d4..60cbd7175e 100644
|
||||
index b2a670e6a4..c05f8a51d5 100644
|
||||
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
@@ -910,12 +910,14 @@ private:
|
||||
@@ -910,12 +910,14 @@ protected:
|
||||
* @param[in] delayMs if required
|
||||
* @param[in] sourceDesc [optional] in case of external source, source client to be
|
||||
* configured by the patch, i.e. assigning an Output (HW or SW)
|
@ -1,7 +1,7 @@
|
||||
From c8a6af6fd0f3134b96fc291910cfc0380bc0dc31 Mon Sep 17 00:00:00 2001
|
||||
From 42da083007be60cb02c72c74a71f20d5fe159839 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 28 Mar 2021 14:47:52 +0200
|
||||
Subject: [PATCH 36/38] Reenable STRATEGY_ROUTING. This is a leftover of tries
|
||||
Subject: [PATCH 21/26] Reenable STRATEGY_ROUTING. This is a leftover of tries
|
||||
of 587b198, wrongly commited in 20f869
|
||||
|
||||
---
|
||||
@ -9,7 +9,7 @@ Subject: [PATCH 36/38] Reenable STRATEGY_ROUTING. This is a leftover of tries
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/audiopolicy/enginedefault/src/Engine.cpp b/services/audiopolicy/enginedefault/src/Engine.cpp
|
||||
index 16a7a4bbac..b14d2bbb0b 100755
|
||||
index fbfd60cf75..37f1a9815f 100755
|
||||
--- a/services/audiopolicy/enginedefault/src/Engine.cpp
|
||||
+++ b/services/audiopolicy/enginedefault/src/Engine.cpp
|
||||
@@ -52,7 +52,7 @@ static const std::vector<legacy_strategy_map>& getLegacyStrategy() {
|
@ -1,7 +1,7 @@
|
||||
From c3bd3dc63c34de7c688b24999769f7eb504784a3 Mon Sep 17 00:00:00 2001
|
||||
From 293af5eccdd01586455f47387121a1176d807f5d Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 28 Mar 2021 14:48:49 +0200
|
||||
Subject: [PATCH 37/38] Use a fake volume policy when none has been found
|
||||
Subject: [PATCH 22/26] Use a fake volume policy when none has been found
|
||||
|
||||
This is useful, because on Samsung devices, the "real"
|
||||
(=non-gsi-cheating) audio policy doesn't have any volume policy.
|
@ -1,7 +1,7 @@
|
||||
From 23f277e7a6afee9d256582204099c4c645606b98 Mon Sep 17 00:00:00 2001
|
||||
From 47130e6b9ac45b6e5de14f63cbc3d65d01614011 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 28 Mar 2021 18:54:47 +0200
|
||||
Subject: [PATCH 38/38] Not all sources in a route are valid. Dont ignore the
|
||||
Subject: [PATCH 23/26] Not all sources in a route are valid. Dont ignore the
|
||||
whole route because of one broken source
|
||||
|
||||
---
|
@ -1,7 +1,7 @@
|
||||
From 2fd4810ec5e6a453e980cacba2e1bcdd30b3f967 Mon Sep 17 00:00:00 2001
|
||||
From 55ec222972110aa5c1f20f1c383ba8b886487dff Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Wed, 14 Apr 2021 10:20:22 +0800
|
||||
Subject: [PATCH 39/40] Revert "AudioPolicyManager: retry with SW bridge if
|
||||
Subject: [PATCH 24/26] Revert "AudioPolicyManager: retry with SW bridge if
|
||||
hardware audio patch fails"
|
||||
|
||||
This reverts commit 5d869232d42a2fee6b7cb07b6a240aef5838021b.
|
||||
@ -49,10 +49,10 @@ index 6d2c38811e..63dcd538b1 100644
|
||||
} else {
|
||||
return BAD_VALUE;
|
||||
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
index 60cbd7175e..b588f898d4 100644
|
||||
index c05f8a51d5..b2a670e6a4 100644
|
||||
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
@@ -910,14 +910,12 @@ private:
|
||||
@@ -910,14 +910,12 @@ protected:
|
||||
* @param[in] delayMs if required
|
||||
* @param[in] sourceDesc [optional] in case of external source, source client to be
|
||||
* configured by the patch, i.e. assigning an Output (HW or SW)
|
@ -1,7 +1,7 @@
|
||||
From 7bb3de067cec0c8c3bd5341bf9ad42b808fefd39 Mon Sep 17 00:00:00 2001
|
||||
From f1fffcbcfed01f65e190f36b7871852c8d3deb20 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Wed, 14 Apr 2021 11:09:12 +0800
|
||||
Subject: [PATCH 40/40] APM: Fall back to legacy voice call routing if creating
|
||||
Subject: [PATCH 25/26] APM: Fall back to legacy voice call routing if creating
|
||||
audio patch failed
|
||||
|
||||
* On some MT6771 Q vendor devices, in-call audio is broken due to APM
|
@ -1,7 +1,7 @@
|
||||
From 9baa78c7bd75638e1b9ebd4377596e997275927d Mon Sep 17 00:00:00 2001
|
||||
From 65ca140c685c2bc4d95206a7616282d868eabbd6 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 7 Aug 2021 11:11:39 +0200
|
||||
Subject: [PATCH 40/40] When aux cameras are enabled, ignore "system only"
|
||||
Subject: [PATCH 26/26] When aux cameras are enabled, ignore "system only"
|
||||
camera flag (it shouldnt be q security issue since secure cameras are listed
|
||||
otherwise)
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 494741f30b1c6a1ce223e6331d6ade70e9bc0b52 Mon Sep 17 00:00:00 2001
|
||||
From ba3e4a959adb7b59885d83736d86b0e531a81da6 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 28 Nov 2017 18:28:04 +0100
|
||||
Subject: [PATCH] Relax requirement for visible flag to sdcards
|
||||
Subject: [PATCH 01/41] Relax requirement for visible flag to sdcards
|
||||
|
||||
The vast majority of sdcard readers are stable enough to be declared by
|
||||
the API. (I see no counter-example)
|
||||
@ -13,10 +13,10 @@ Change-Id: Ia616671c03562d1eadaff5531a5c708a62d7ad3a
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
|
||||
index 498c52a5aa6..dd7f4560000 100644
|
||||
index db8656ea3d5..b0ceaee8977 100644
|
||||
--- a/services/core/java/com/android/server/StorageManagerService.java
|
||||
+++ b/services/core/java/com/android/server/StorageManagerService.java
|
||||
@@ -1525,7 +1525,8 @@ class StorageManagerService extends IStorageManager.Stub
|
||||
@@ -1534,7 +1534,8 @@ class StorageManagerService extends IStorageManager.Stub
|
||||
|
||||
// Adoptable public disks are visible to apps, since they meet
|
||||
// public API requirement of being in a stable location.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From db0376e279f7aa4744934376157b844f51d334ce Mon Sep 17 00:00:00 2001
|
||||
From 13a6922acefdbff1b631be22811cb21900a60bb5 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 24 Mar 2018 08:01:48 +0100
|
||||
Subject: [PATCH] backlight: Fix backlight control on Galaxy S9(+)
|
||||
Subject: [PATCH 02/41] backlight: Fix backlight control on Galaxy S9(+)
|
||||
|
||||
Change-Id: I1fbbb47939c377597ef8ad6b88b2acea5f4acaa6
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From b236ed36a97c09a15fa18d3387ff20dadd5be965 Mon Sep 17 00:00:00 2001
|
||||
From b5dcca82cf5b77f83635afd1561f922f4126d006 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 1 May 2018 17:47:36 +0200
|
||||
Subject: [PATCH 03/25] Also scan /system/overlay
|
||||
Subject: [PATCH 03/41] Also scan /system/overlay
|
||||
|
||||
Change-Id: Ib0223560606b80cdaaa986b159b34b4db0154589
|
||||
---
|
||||
@ -25,10 +25,10 @@ index 12abc256a20..3133f2f3023 100644
|
||||
LOG(WARNING) << "no directories for idmap2 to scan";
|
||||
return env->NewObjectArray(0, g_stringClass, nullptr);
|
||||
diff --git a/core/jni/fd_utils.cpp b/core/jni/fd_utils.cpp
|
||||
index c72668f84fb..d4307ae6579 100644
|
||||
index 49d75dc35e6..d5f2317d7c0 100644
|
||||
--- a/core/jni/fd_utils.cpp
|
||||
+++ b/core/jni/fd_utils.cpp
|
||||
@@ -135,7 +135,8 @@ bool FileDescriptorWhitelist::IsAllowed(const std::string& path) const {
|
||||
@@ -136,7 +136,8 @@ bool FileDescriptorWhitelist::IsAllowed(const std::string& path) const {
|
||||
|| android::base::StartsWith(path, kSystemOdmOverlayDir)
|
||||
|| android::base::StartsWith(path, kOdmOverlayDir)
|
||||
|| android::base::StartsWith(path, kSystemOemOverlayDir)
|
||||
@ -39,5 +39,5 @@ index c72668f84fb..d4307ae6579 100644
|
||||
&& path.find("/../") == std::string::npos) {
|
||||
return true;
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 2436b6da10c438a3b71ca3a2a5aa9705e7c00813 Mon Sep 17 00:00:00 2001
|
||||
From 5a860b80300eaf21d4bc370350f751ea318cb816 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Thu, 17 May 2018 20:28:35 +0200
|
||||
Subject: [PATCH 04/25] Don't crash if there is IR HAL is not declared
|
||||
Subject: [PATCH 04/41] Don't crash if there is IR HAL is not declared
|
||||
|
||||
---
|
||||
services/core/java/com/android/server/ConsumerIrService.java | 2 --
|
||||
@ -21,5 +21,5 @@ index 2ed6c77baa0..c574a03c9a3 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,17 +1,17 @@
|
||||
From 25b2ec68fe9ce8a2e3b35fc91ff47ae65ba95be4 Mon Sep 17 00:00:00 2001
|
||||
From 92b7d4527507f738f5baa3406d6cc20efe585907 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Wed, 30 May 2018 14:05:30 +0200
|
||||
Subject: [PATCH 05/25] Fix(?) #62
|
||||
Subject: [PATCH 05/41] Fix(?) #62
|
||||
|
||||
---
|
||||
.../src/com/android/keyguard/KeyguardUpdateMonitor.java | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
|
||||
index 3acbfb87c3f..358053343f2 100644
|
||||
index 8e5f128143d..c0c5c1c0c6d 100644
|
||||
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
|
||||
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
|
||||
@@ -1270,7 +1270,10 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
||||
@@ -1282,7 +1282,10 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
||||
|
||||
@Override
|
||||
public void onAuthenticationError(int errMsgId, CharSequence errString) {
|
||||
@ -24,5 +24,5 @@ index 3acbfb87c3f..358053343f2 100644
|
||||
|
||||
@Override
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
From f3d0a467c4c1f9df19c3c4819b4c6cb4b26fe2a3 Mon Sep 17 00:00:00 2001
|
||||
From 59cf97b58783f0fe6b2180d69a7ee955519f4fb4 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Fri, 11 Sep 2020 23:42:37 +0200
|
||||
Subject: [PATCH] property-matching RROs: allow to prefix the value with + to
|
||||
do glob match instead of exact match
|
||||
Subject: [PATCH 06/41] property-matching RROs: allow to prefix the value with
|
||||
+ to do glob match instead of exact match
|
||||
|
||||
Change-Id: I1f5b7c907523eb6e48d41f5163984564d3db9506
|
||||
---
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 649f6bd7789acae16c1e3fa8c57919bd4ae0d1e3 Mon Sep 17 00:00:00 2001
|
||||
From 1d4e89caf6261b0f85ebc033112f232c3593b470 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 2 Jul 2018 23:36:39 +0200
|
||||
Subject: [PATCH 07/25] [Galaxy S9] "remaining" of HAL onEnroll is actually a
|
||||
percent of progress
|
||||
Subject: [PATCH 07/41] "remaining" of HAL onEnroll is actually a percent of
|
||||
progress
|
||||
|
||||
Change-Id: I8a586163eca93ae3c5bd968d1e7ddbf994ddcc91
|
||||
---
|
||||
@ -10,10 +10,10 @@ Change-Id: I8a586163eca93ae3c5bd968d1e7ddbf994ddcc91
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
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 6b7ba6a56d8..c247731be13 100644
|
||||
index a90fee6788a..7ab2a44bcc0 100644
|
||||
--- a/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
|
||||
+++ b/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
|
||||
@@ -588,7 +588,13 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
@@ -661,7 +661,13 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
final Fingerprint fingerprint =
|
||||
new Fingerprint(getBiometricUtils().getUniqueName(getContext(), groupId),
|
||||
groupId, fingerId, deviceId);
|
||||
@ -29,5 +29,5 @@ index 6b7ba6a56d8..c247731be13 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From ee9dcfb6a267f05f6affb47b4bdc1e908c01ec84 Mon Sep 17 00:00:00 2001
|
||||
From 92a1a350b06a4f847e318076ea013cde579a6ce5 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 6 Aug 2018 12:49:00 +0200
|
||||
Subject: [PATCH] Show APN Settings for CDMA carriers
|
||||
Subject: [PATCH 08/41] Show APN Settings for CDMA carriers
|
||||
|
||||
---
|
||||
telephony/java/android/telephony/CarrierConfigManager.java | 2 +-
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 44809d8cda54d0fcfaa76c81f858ac26c0c08cbe Mon Sep 17 00:00:00 2001
|
||||
From 8d86373cd08189aa68f9a40ce0d7bed34b666c5a Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 21 Aug 2018 22:24:02 +0200
|
||||
Subject: [PATCH] Don't wait IR HAL to the infinity and beyond
|
||||
Subject: [PATCH 09/41] Don't wait IR HAL to the infinity and beyond
|
||||
|
||||
Change-Id: I3afded27441bbee8244d5fda544b3e6d1238dc1b
|
||||
---
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 6befde035c29a499fd4320753909c98a2c239410 Mon Sep 17 00:00:00 2001
|
||||
From b05a49890f39eb9749cbde9ba7624ca8076dc339 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Thu, 8 Nov 2018 23:04:03 +0100
|
||||
Subject: [PATCH 10/25] Re-order services so that it works even without qtaguid
|
||||
Subject: [PATCH 10/41] Re-order services so that it works even without qtaguid
|
||||
|
||||
Change-Id: I0c0f527b3ae151d45c68f7ac6c205da3f34e74df
|
||||
---
|
||||
@ -9,10 +9,10 @@ Change-Id: I0c0f527b3ae151d45c68f7ac6c205da3f34e74df
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
|
||||
index d6557f6410e..e65edcdc12c 100644
|
||||
index eeccb73da3a..2b603feb1e0 100644
|
||||
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
|
||||
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
|
||||
@@ -731,6 +731,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
@@ -748,6 +748,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "systemReady");
|
||||
final int oldPriority = Process.getThreadPriority(Process.myTid());
|
||||
try {
|
||||
@ -23,7 +23,7 @@ index d6557f6410e..e65edcdc12c 100644
|
||||
// Boost thread's priority during system server init
|
||||
Process.setThreadPriority(Process.THREAD_PRIORITY_FOREGROUND);
|
||||
if (!isBandwidthControlEnabled()) {
|
||||
@@ -738,10 +742,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
@@ -755,10 +759,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -35,5 +35,5 @@ index d6557f6410e..e65edcdc12c 100644
|
||||
synchronized (mNetworkPoliciesSecondLock) {
|
||||
updatePowerSaveWhitelistUL();
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
From bff763fb4b54c97fbb3535ea68a093acf81969bc Mon Sep 17 00:00:00 2001
|
||||
From 3a6869d07b2d6d273f1f22e1e3744cfc28dccd77 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 24 Mar 2019 23:05:14 +0100
|
||||
Subject: [PATCH] Support new samsung Pie and Q light hal and Samsung Power
|
||||
HALs
|
||||
Subject: [PATCH 11/41] Support new samsung Pie and Q light hal and Samsung
|
||||
Power HALs
|
||||
|
||||
Change-Id: I37dc7af3fbc6f9bfa2a4822d4dfba817e803945e
|
||||
---
|
||||
|
@ -1,7 +1,7 @@
|
||||
From ea68a77524fc2cbfa571d7afa01442460b3ea284 Mon Sep 17 00:00:00 2001
|
||||
From 94adb798b2f9c994b24e09ad0e07f8d090441590 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 2 Jul 2019 21:19:29 +0200
|
||||
Subject: [PATCH 12/25] Make Samsung fingerprint broken HAL overridable
|
||||
Subject: [PATCH 12/41] Make Samsung fingerprint broken HAL overridable
|
||||
|
||||
Change-Id: I8be38daa7c80fdb61e9209f12215e6daea171d03
|
||||
---
|
||||
@ -9,10 +9,10 @@ Change-Id: I8be38daa7c80fdb61e9209f12215e6daea171d03
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
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 c247731be13..5552086c17f 100644
|
||||
index 7ab2a44bcc0..def1a873590 100644
|
||||
--- a/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
|
||||
+++ b/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
|
||||
@@ -590,8 +590,10 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
@@ -663,8 +663,10 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
groupId, fingerId, deviceId);
|
||||
|
||||
int remaining2 = remaining;
|
||||
@ -25,5 +25,5 @@ index c247731be13..5552086c17f 100644
|
||||
|
||||
FingerprintService.super.handleEnrollResult(fingerprint, remaining2);
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From e9848dbafb20526eed8e5d8dfbd2df01b240cab8 Mon Sep 17 00:00:00 2001
|
||||
From 1e0500b2933a1323216139a606aa53469f663bc6 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 11 Aug 2019 10:30:37 +0200
|
||||
Subject: [PATCH 13/25] Add property to use linear brightness slider
|
||||
Subject: [PATCH 13/41] Add property to use linear brightness slider
|
||||
|
||||
Change-Id: I1af7eb923779fa60c7a735904ba8fc82d0622c1d
|
||||
---
|
||||
@ -34,5 +34,5 @@ index 4f86afaa995..f1fe73a6a1d 100644
|
||||
final float normalizedVal = MathUtils.norm(min, max, val) * 12;
|
||||
final float ret;
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 33ba0d099de0181f34b3795ad5b2ee25d8c252a4 Mon Sep 17 00:00:00 2001
|
||||
From 1034f1287025b834b7fb264ff720cfc06926efcc Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 12 Aug 2019 23:08:26 +0200
|
||||
Subject: [PATCH 14/25] Add support for samsung touch proximity sensor as
|
||||
Subject: [PATCH 14/41] Add support for samsung touch proximity sensor as
|
||||
fallback to real proximity sensor
|
||||
|
||||
---
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH 14/25] Add support for samsung touch proximity sensor as
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
index 9411c562945..774e5a38777 100644
|
||||
index f77f0e302aa..4b8d65d00c3 100644
|
||||
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
@@ -527,6 +527,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
@@ -545,6 +545,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
|
||||
if (!DEBUG_PRETEND_PROXIMITY_SENSOR_ABSENT) {
|
||||
mProximitySensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
|
||||
@ -26,7 +26,7 @@ index 9411c562945..774e5a38777 100644
|
||||
if (mProximitySensor != null) {
|
||||
mProximityThreshold = Math.min(mProximitySensor.getMaximumRange(),
|
||||
TYPICAL_PROXIMITY_THRESHOLD);
|
||||
@@ -1970,6 +1977,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
@@ -2074,6 +2081,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
public void onSensorChanged(SensorEvent event) {
|
||||
if (mProximitySensorEnabled) {
|
||||
final long time = SystemClock.uptimeMillis();
|
||||
@ -41,5 +41,5 @@ index 9411c562945..774e5a38777 100644
|
||||
boolean positive = distance >= 0.0f && distance < mProximityThreshold;
|
||||
handleProximitySensorEvent(time, positive);
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 298c7cd14541920c09b4bbcfb3255ec1ddcaad67 Mon Sep 17 00:00:00 2001
|
||||
From c3f762b056afb9a12898b28c717e89bd126ac4fe Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Wed, 14 Aug 2019 23:36:45 +0200
|
||||
Subject: [PATCH 15/25] Also add com.samsung.sensor.physical_proximity (if
|
||||
Subject: [PATCH 15/41] Also add com.samsung.sensor.physical_proximity (if
|
||||
available, it is more a true proximity sensor than touch proximity sensor)
|
||||
|
||||
---
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH 15/25] Also add com.samsung.sensor.physical_proximity (if
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
index 774e5a38777..4c12ebbd94f 100644
|
||||
index 4b8d65d00c3..7a50ef4346c 100644
|
||||
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
@@ -527,6 +527,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
@@ -545,6 +545,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
|
||||
if (!DEBUG_PRETEND_PROXIMITY_SENSOR_ABSENT) {
|
||||
mProximitySensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
|
||||
@ -27,5 +27,5 @@ index 774e5a38777..4c12ebbd94f 100644
|
||||
List<Sensor> sensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);
|
||||
for(Sensor sensor: sensors) {
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
From d2cdf9ba6dc99f28c94e093078c1307dd4414a56 Mon Sep 17 00:00:00 2001
|
||||
From acd804ea45ec0a9b40870e8238543836a4a7e813 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Thu, 2 Jan 2020 10:16:49 +0800
|
||||
Subject: [PATCH] fix crashing on devices with higher aspect ratio down to
|
||||
sw288dp
|
||||
Subject: [PATCH 16/41] fix crashing on devices with higher aspect ratio down
|
||||
to sw288dp
|
||||
|
||||
* This is what the Qin 2 (Pro) is.
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 76cbbb0d09a80eaad75c64281d635e58976bd5be Mon Sep 17 00:00:00 2001
|
||||
From 0e2924e35111803bfd95d2825cd9d09adb564ef6 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 1 Mar 2020 18:14:40 +0100
|
||||
Subject: [PATCH 17/25] Remove orientation 4 from sensor earlier in the process
|
||||
Subject: [PATCH 17/41] Remove orientation 4 from sensor earlier in the process
|
||||
chain
|
||||
|
||||
Change-Id: Id8e2e860a73d417fc70db6cf5fc5fa5ef187aa50
|
||||
@ -10,10 +10,10 @@ Change-Id: Id8e2e860a73d417fc70db6cf5fc5fa5ef187aa50
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/policy/WindowOrientationListener.java b/services/core/java/com/android/server/policy/WindowOrientationListener.java
|
||||
index 0157706866c..732417b88f4 100644
|
||||
index 34867adec91..f3899dc9654 100644
|
||||
--- a/services/core/java/com/android/server/policy/WindowOrientationListener.java
|
||||
+++ b/services/core/java/com/android/server/policy/WindowOrientationListener.java
|
||||
@@ -1055,6 +1055,9 @@ public abstract class WindowOrientationListener {
|
||||
@@ -1060,6 +1060,9 @@ public abstract class WindowOrientationListener {
|
||||
|
||||
synchronized (mLock) {
|
||||
mDesiredRotation = reportedRotation;
|
||||
@ -24,5 +24,5 @@ index 0157706866c..732417b88f4 100644
|
||||
}
|
||||
if (newRotation >=0) {
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 0dc5a490d8aac60ce2ed3efafc9f6bcb6ced71f4 Mon Sep 17 00:00:00 2001
|
||||
From f6f9505fb1462e8095dee8c74418593f0215fbe4 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 10 Mar 2020 23:30:17 +0100
|
||||
Subject: [PATCH 18/25] Allow disabling of fingerprint cleanups, needed on some
|
||||
Subject: [PATCH 18/41] Allow disabling of fingerprint cleanups, needed on some
|
||||
Realme devices that cant enumerate
|
||||
|
||||
Change-Id: I8a486e707712b81711fb1a691faec029499fa897
|
||||
@ -10,10 +10,10 @@ Change-Id: I8a486e707712b81711fb1a691faec029499fa897
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
|
||||
index 75452ea5fb6..fd77ada1109 100644
|
||||
index 70369732fea..aa50e18071b 100644
|
||||
--- a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
|
||||
+++ b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
|
||||
@@ -344,6 +344,7 @@ public abstract class BiometricServiceBase extends SystemService
|
||||
@@ -347,6 +347,7 @@ public abstract class BiometricServiceBase extends SystemService
|
||||
private List<? extends BiometricAuthenticator.Identifier> mEnrolledList;
|
||||
// List of templates to remove from the HAL
|
||||
private List<BiometricAuthenticator.Identifier> mUnknownHALTemplates = new ArrayList<>();
|
||||
@ -21,7 +21,7 @@ index 75452ea5fb6..fd77ada1109 100644
|
||||
|
||||
InternalEnumerateClient(Context context,
|
||||
DaemonWrapper daemon, long halDeviceId, IBinder token,
|
||||
@@ -389,8 +390,10 @@ public abstract class BiometricServiceBase extends SystemService
|
||||
@@ -392,8 +393,10 @@ public abstract class BiometricServiceBase extends SystemService
|
||||
Slog.e(getTag(), "doTemplateCleanup(): Removing dangling template from framework: "
|
||||
+ identifier.getBiometricId() + " "
|
||||
+ identifier.getName());
|
||||
@ -35,5 +35,5 @@ index 75452ea5fb6..fd77ada1109 100644
|
||||
statsModality(),
|
||||
BiometricsProtoEnums.ISSUE_UNKNOWN_TEMPLATE_ENROLLED_FRAMEWORK);
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From dc92080dc096ff77e5d751026d24decc1e424ca9 Mon Sep 17 00:00:00 2001
|
||||
From cb7cc744be862936a84c2c0d51294896abc8c518 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 5 Apr 2020 16:32:46 +0200
|
||||
Subject: [PATCH 20/25] Always allow overriding the number of work profiles
|
||||
Subject: [PATCH 19/41] Always allow overriding the number of work profiles
|
||||
|
||||
Change-Id: I6eb09aa71663c6fbe7563e3038bffcabdba0ff6a
|
||||
---
|
||||
@ -9,10 +9,10 @@ Change-Id: I6eb09aa71663c6fbe7563e3038bffcabdba0ff6a
|
||||
1 file changed, 2 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
|
||||
index 27924a68ff4..4d687679f59 100644
|
||||
index a768e8e0291..6b8eaf1657d 100644
|
||||
--- a/services/core/java/com/android/server/pm/UserManagerService.java
|
||||
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
|
||||
@@ -5282,12 +5282,8 @@ public class UserManagerService extends IUserManager.Stub {
|
||||
@@ -5353,12 +5353,8 @@ public class UserManagerService extends IUserManager.Stub {
|
||||
*/
|
||||
private static int getMaxUsersOfTypePerParent(UserTypeDetails userTypeDetails) {
|
||||
final int defaultMax = userTypeDetails.getMaxAllowedPerParent();
|
||||
@ -28,5 +28,5 @@ index 27924a68ff4..4d687679f59 100644
|
||||
return defaultMax;
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 3be1d7309cb7c496963c5d391b53ad3932563282 Mon Sep 17 00:00:00 2001
|
||||
From 97fb86a12ed60322e5a06829649416d17008ce53 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 6 Jun 2020 18:21:56 +0200
|
||||
Subject: [PATCH] HOME deserves to wake-up devices just as well as back and
|
||||
menu
|
||||
Subject: [PATCH 20/41] HOME deserves to wake-up devices just as well as back
|
||||
and menu
|
||||
|
||||
Change-Id: Ia562bafd8c620d00c17e8eb338e4701c6c4a3c3a
|
||||
---
|
@ -1,7 +1,7 @@
|
||||
From b8adbf5e35d5d1e40077b3226ad3f842fc9be6dc Mon Sep 17 00:00:00 2001
|
||||
From 778b360f0b111463f648aeaf50be8b134c05e307 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 21 Sep 2020 10:30:18 +0200
|
||||
Subject: [PATCH 23/25] On old inits (A-only devices), multi-sim basedband
|
||||
Subject: [PATCH 21/41] On old inits (A-only devices), multi-sim basedband
|
||||
property too long, catch that and make it shorter
|
||||
|
||||
Change-Id: I2f52595409f0d43b148063d5fd90c80d1182ff8c
|
||||
@ -10,10 +10,10 @@ Change-Id: I2f52595409f0d43b148063d5fd90c80d1182ff8c
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
|
||||
index 8ae1ee99b06..4659c7909bc 100644
|
||||
index 10c3e6db520..09acdea73c1 100644
|
||||
--- a/telephony/java/android/telephony/TelephonyManager.java
|
||||
+++ b/telephony/java/android/telephony/TelephonyManager.java
|
||||
@@ -10104,7 +10104,13 @@ public class TelephonyManager {
|
||||
@@ -10120,7 +10120,13 @@ public class TelephonyManager {
|
||||
if (SubscriptionManager.isValidPhoneId(phoneId)) {
|
||||
List<String> newList = updateTelephonyProperty(
|
||||
TelephonyProperties.baseband_version(), phoneId, version);
|
||||
@ -29,5 +29,5 @@ index 8ae1ee99b06..4659c7909bc 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 11dae80179722994abd9e3501e6c14d4393c4c93 Mon Sep 17 00:00:00 2001
|
||||
From ddd256856f8fd33fced66ef4c33a101ff45047be Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 29 Sep 2020 22:39:47 +0200
|
||||
Subject: [PATCH 24/25] Some devices have proximity sensor reporting NaN as max
|
||||
Subject: [PATCH 22/41] Some devices have proximity sensor reporting NaN as max
|
||||
range for some reason. Make them behave standard way by setting 5 cm
|
||||
|
||||
Change-Id: I3c39e3e914a05903c140235702e0480d2d58a612
|
||||
@ -10,10 +10,10 @@ Change-Id: I3c39e3e914a05903c140235702e0480d2d58a612
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
index 4c12ebbd94f..01f367e8a2f 100644
|
||||
index 7a50ef4346c..f9f9e581ecc 100644
|
||||
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
@@ -544,6 +544,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
@@ -562,6 +562,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
if (mProximitySensor != null) {
|
||||
mProximityThreshold = Math.min(mProximitySensor.getMaximumRange(),
|
||||
TYPICAL_PROXIMITY_THRESHOLD);
|
||||
@ -24,5 +24,5 @@ index 4c12ebbd94f..01f367e8a2f 100644
|
||||
}
|
||||
mCurrentScreenBrightnessSetting = getScreenBrightnessSetting();
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From c341fe6ac6366d2e78b8ec69d11729180ab5cb84 Mon Sep 17 00:00:00 2001
|
||||
From 768c5822cdf1376018df4599ce71f4774a7e1ddc Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 29 Sep 2020 22:40:10 +0200
|
||||
Subject: [PATCH 25/25] Fix brightness range not being complete on Samsung
|
||||
Subject: [PATCH 23/41] Fix brightness range not being complete on Samsung
|
||||
devices
|
||||
|
||||
On some devices, minimum brightness is 0, which totally messes with
|
||||
@ -15,10 +15,10 @@ Change-Id: I4d97cbc32490949e83272b81ec6320a5483310b1
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
|
||||
index 764ac969e18..40aeb32c40a 100644
|
||||
index 3a2f3a211c8..d28078050b1 100644
|
||||
--- a/services/core/java/com/android/server/power/PowerManagerService.java
|
||||
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
|
||||
@@ -913,9 +913,11 @@ public final class PowerManagerService extends SystemService
|
||||
@@ -964,9 +964,11 @@ public final class PowerManagerService extends SystemService
|
||||
|
||||
if (min == INVALID_BRIGHTNESS_IN_CONFIG || max == INVALID_BRIGHTNESS_IN_CONFIG
|
||||
|| def == INVALID_BRIGHTNESS_IN_CONFIG) {
|
||||
@ -33,5 +33,5 @@ index 764ac969e18..40aeb32c40a 100644
|
||||
PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX);
|
||||
mScreenBrightnessMaximum = BrightnessSynchronizer.brightnessIntToFloat(
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From cbe557557ea73ea8fef866f362c869daf4c3be51 Mon Sep 17 00:00:00 2001
|
||||
From c7dc08773098e4b27b5ef0666e4e897d91ac643c Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 25 Oct 2020 23:57:26 +0100
|
||||
Subject: [PATCH 26/26] Re-implement fnmatch-like behaviour for RRO java-side
|
||||
Subject: [PATCH 24/41] Re-implement fnmatch-like behaviour for RRO java-side
|
||||
|
||||
Change-Id: Id38292a9a1453aa87b8401c1fdb390fa4e63c7d1
|
||||
---
|
||||
@ -33,5 +33,5 @@ index 70e4e6cbf62..a4d8941d1e5 100644
|
||||
}
|
||||
return true;
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 772f3c12ec0676d9e22eea8a005ddf302ad09940 Mon Sep 17 00:00:00 2001
|
||||
From e580b18a7166a3d9fe2753816a9efee9c8a006e0 Mon Sep 17 00:00:00 2001
|
||||
From: Danny Lin <danny@kdrag0n.dev>
|
||||
Date: Mon, 5 Oct 2020 12:36:35 -0700
|
||||
Subject: [PATCH 27/27] Add support for app signature spoofing
|
||||
Subject: [PATCH 25/41] Add support for app signature spoofing
|
||||
|
||||
This is needed by microG GmsCore to pretend to be the official Google
|
||||
Play Services package, because client apps check the package signature
|
||||
@ -46,10 +46,10 @@ index 952ccdad992..73fb59fedab 100644
|
||||
field public static final String GET_ACCOUNTS = "android.permission.GET_ACCOUNTS";
|
||||
field public static final String GET_ACCOUNTS_PRIVILEGED = "android.permission.GET_ACCOUNTS_PRIVILEGED";
|
||||
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
|
||||
index 9945057f0e9..e1adee20ccf 100644
|
||||
index ee428371a01..542b11a65ed 100644
|
||||
--- a/core/res/AndroidManifest.xml
|
||||
+++ b/core/res/AndroidManifest.xml
|
||||
@@ -2829,6 +2829,13 @@
|
||||
@@ -2852,6 +2852,13 @@
|
||||
android:description="@string/permdesc_getPackageSize"
|
||||
android:protectionLevel="normal" />
|
||||
|
||||
@ -64,10 +64,10 @@ index 9945057f0e9..e1adee20ccf 100644
|
||||
{@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 d21930f31df..372319ed32b 100644
|
||||
index f4efcc7e4ee..51b461e7949 100644
|
||||
--- a/core/res/res/values/config.xml
|
||||
+++ b/core/res/res/values/config.xml
|
||||
@@ -1646,6 +1646,8 @@
|
||||
@@ -1654,6 +1654,8 @@
|
||||
<string-array name="config_locationProviderPackageNames" translatable="false">
|
||||
<!-- The standard AOSP fused location provider -->
|
||||
<item>com.android.location.fused</item>
|
||||
@ -77,7 +77,7 @@ index d21930f31df..372319ed32b 100644
|
||||
|
||||
<!-- 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 4f9911fbe38..32f2dbf33d3 100644
|
||||
index d6ee28b93f9..d5b3f54afc5 100644
|
||||
--- a/core/res/res/values/strings.xml
|
||||
+++ b/core/res/res/values/strings.xml
|
||||
@@ -847,6 +847,18 @@
|
||||
@ -112,10 +112,10 @@ index 5f15216e840..c29feb9cd7b 100644
|
||||
field public static final String GET_ACCOUNTS = "android.permission.GET_ACCOUNTS";
|
||||
field public static final String GET_ACCOUNTS_PRIVILEGED = "android.permission.GET_ACCOUNTS_PRIVILEGED";
|
||||
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
index c3c655d632e..f7faf418fb4 100644
|
||||
index 70b869e594d..af619aa6bd2 100644
|
||||
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
@@ -4395,8 +4395,9 @@ public class PackageManagerService extends IPackageManager.Stub
|
||||
@@ -4454,8 +4454,9 @@ public class PackageManagerService extends IPackageManager.Stub
|
||||
});
|
||||
}
|
||||
|
||||
@ -127,7 +127,7 @@ index c3c655d632e..f7faf418fb4 100644
|
||||
|
||||
if (packageInfo == null) {
|
||||
return null;
|
||||
@@ -4432,6 +4433,24 @@ public class PackageManagerService extends IPackageManager.Stub
|
||||
@@ -4491,6 +4492,24 @@ public class PackageManagerService extends IPackageManager.Stub
|
||||
}
|
||||
}
|
||||
|
||||
@ -153,5 +153,5 @@ index c3c655d632e..f7faf418fb4 100644
|
||||
public void checkPackageStartable(String packageName, int userId) {
|
||||
final int callingUid = Binder.getCallingUid();
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 014ba558076692fb0009b0100c4f18a6800e30ac Mon Sep 17 00:00:00 2001
|
||||
From 10e7e4c086909f0ff7c1c0fac457d5592cfb4740 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 6 Dec 2020 12:20:08 +0100
|
||||
Subject: [PATCH] Make rounded corners padding overridable with
|
||||
Subject: [PATCH 26/41] Make rounded corners padding overridable with
|
||||
persist.sys.phh.rounded_corners_padding
|
||||
|
||||
Change-Id: Id5d73b06b9a2cb2da95ff31f204c1984555872ff
|
||||
@ -12,7 +12,7 @@ Change-Id: Id5d73b06b9a2cb2da95ff31f204c1984555872ff
|
||||
3 files changed, 15 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
|
||||
index 7533f2ac1db..94fd996d085 100644
|
||||
index b1c3782c85e..006b52fbe1e 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
|
||||
@@ -32,6 +32,7 @@ import android.graphics.Rect;
|
||||
@ -23,7 +23,7 @@ index 7533f2ac1db..94fd996d085 100644
|
||||
import android.provider.AlarmClock;
|
||||
import android.provider.Settings;
|
||||
import android.service.notification.ZenModeConfig;
|
||||
@@ -447,8 +448,11 @@ public class QuickStatusBarHeader extends RelativeLayout implements
|
||||
@@ -448,8 +449,11 @@ public class QuickStatusBarHeader extends RelativeLayout implements
|
||||
Resources resources = mContext.getResources();
|
||||
updateMinimumHeight();
|
||||
|
||||
@ -37,7 +37,7 @@ index 7533f2ac1db..94fd996d085 100644
|
||||
|
||||
// Update height for a few views, especially due to landscape mode restricting space.
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
|
||||
index 8a4ea21a11c..a54269460e5 100644
|
||||
index 574f835401c..9baac56410a 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
|
||||
@@ -25,6 +25,7 @@ import android.content.res.Resources;
|
||||
@ -48,7 +48,7 @@ index 8a4ea21a11c..a54269460e5 100644
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Pair;
|
||||
import android.util.TypedValue;
|
||||
@@ -186,8 +187,11 @@ public class KeyguardStatusBarView extends RelativeLayout
|
||||
@@ -175,8 +176,11 @@ public class KeyguardStatusBarView extends RelativeLayout
|
||||
R.dimen.system_icons_super_container_avatarless_margin_end);
|
||||
mCutoutSideNudge = getResources().getDimensionPixelSize(
|
||||
R.dimen.display_cutout_margin_consumption);
|
||||
@ -62,7 +62,7 @@ index 8a4ea21a11c..a54269460e5 100644
|
||||
|
||||
private void updateVisibilities() {
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
|
||||
index 1c6c7db6a69..f0e5c7bb3d2 100644
|
||||
index 8856d892fcf..3debe9263eb 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
|
||||
@@ -25,6 +25,7 @@ import android.content.Context;
|
||||
@ -73,7 +73,7 @@ index 1c6c7db6a69..f0e5c7bb3d2 100644
|
||||
import android.util.AttributeSet;
|
||||
import android.util.EventLog;
|
||||
import android.util.Pair;
|
||||
@@ -331,8 +332,11 @@ public class PhoneStatusBarView extends PanelBar implements Callbacks {
|
||||
@@ -332,8 +333,11 @@ public class PhoneStatusBarView extends PanelBar implements Callbacks {
|
||||
public void updateResources() {
|
||||
mCutoutSideNudge = getResources().getDimensionPixelSize(
|
||||
R.dimen.display_cutout_margin_consumption);
|
@ -1,7 +1,7 @@
|
||||
From 54222334328e1bf9202ca95a941894ce48758c40 Mon Sep 17 00:00:00 2001
|
||||
From 78dcffe53a015cae6eedf2a26b82c3f6f568781a Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Fri, 11 Dec 2020 14:41:09 +0100
|
||||
Subject: [PATCH 30/35] Remove useless notification about "console" service
|
||||
Subject: [PATCH 27/41] Remove useless notification about "console" service
|
||||
being running
|
||||
|
||||
---
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH 30/35] Remove useless notification about "console" service
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
|
||||
index 091c77ecaac..df72122a4c5 100644
|
||||
index 0ae9cc279e6..07fd9ba7984 100644
|
||||
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
|
||||
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
|
||||
@@ -5563,7 +5563,7 @@ public class ActivityManagerService extends IActivityManager.Stub
|
||||
@@ -5574,7 +5574,7 @@ public class ActivityManagerService extends IActivityManager.Stub
|
||||
}
|
||||
|
||||
private void showConsoleNotificationIfActive() {
|
@ -1,17 +1,17 @@
|
||||
From 9d2d5c8b106404769d8e6c2bebd4a2779fd2f21f Mon Sep 17 00:00:00 2001
|
||||
From 0115026473a0efdf8c92be97fa64cdbe8c371271 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 13 Dec 2020 01:38:50 +0100
|
||||
Subject: [PATCH 31/35] [Tethering] Ignore DUN required and always use main APN
|
||||
Subject: [PATCH 28/41] Ignore DUN required and always use main APN
|
||||
|
||||
---
|
||||
.../android/networkstack/tethering/TetheringConfiguration.java | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/packages/Tethering/src/com/android/networkstack/tethering/TetheringConfiguration.java b/packages/Tethering/src/com/android/networkstack/tethering/TetheringConfiguration.java
|
||||
index e1771a56137..65d17ffa54b 100644
|
||||
index ef2ea3ad6d0..90eb638ec31 100644
|
||||
--- a/packages/Tethering/src/com/android/networkstack/tethering/TetheringConfiguration.java
|
||||
+++ b/packages/Tethering/src/com/android/networkstack/tethering/TetheringConfiguration.java
|
||||
@@ -132,7 +132,7 @@ public class TetheringConfiguration {
|
||||
@@ -130,7 +130,7 @@ public class TetheringConfiguration {
|
||||
tetherableBluetoothRegexs = getResourceStringArray(
|
||||
res, R.array.config_tether_bluetooth_regexs);
|
||||
|
@ -1,7 +1,7 @@
|
||||
From e8f19bb6d060133e461791fc51c243f081fc00d0 Mon Sep 17 00:00:00 2001
|
||||
From b794722f0917a6548dda6ce031ab7b130929bcee Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Wed, 16 Dec 2020 21:24:12 +0800
|
||||
Subject: [PATCH 32/35] Revert "Remove unused SystemProperties.set"
|
||||
Subject: [PATCH 29/41] Revert "Remove unused SystemProperties.set"
|
||||
|
||||
This reverts commit debb4616ef67f9ed5054eca51ec58592358ff55f.
|
||||
|
||||
@ -11,10 +11,10 @@ This reverts commit debb4616ef67f9ed5054eca51ec58592358ff55f.
|
||||
1 file changed, 69 insertions(+)
|
||||
|
||||
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
|
||||
index 1b197b00069..89147084043 100644
|
||||
index 09acdea73c1..79c11feb7f4 100644
|
||||
--- a/telephony/java/android/telephony/TelephonyManager.java
|
||||
+++ b/telephony/java/android/telephony/TelephonyManager.java
|
||||
@@ -7033,6 +7033,75 @@ public class TelephonyManager {
|
||||
@@ -7043,6 +7043,75 @@ public class TelephonyManager {
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 7268f850f701698f948f37a7d5bfac3cc4dae644 Mon Sep 17 00:00:00 2001
|
||||
From 2f71f5fb95dcaf1933e66e17c3c257c0d9e90efb Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Wed, 16 Dec 2020 13:46:15 +0800
|
||||
Subject: [PATCH 33/35] TelephonyManager: bring back getNetworkClass()
|
||||
Subject: [PATCH 30/41] TelephonyManager: bring back getNetworkClass()
|
||||
|
||||
This partially reverts commit c058cac051ab083dc7fb7ea6aa85699110b2e9bf.
|
||||
|
||||
@ -11,10 +11,10 @@ This partially reverts commit c058cac051ab083dc7fb7ea6aa85699110b2e9bf.
|
||||
1 file changed, 58 insertions(+)
|
||||
|
||||
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
|
||||
index 89147084043..f470d4595c3 100644
|
||||
index 79c11feb7f4..130d872b985 100644
|
||||
--- a/telephony/java/android/telephony/TelephonyManager.java
|
||||
+++ b/telephony/java/android/telephony/TelephonyManager.java
|
||||
@@ -3135,6 +3135,64 @@ public class TelephonyManager {
|
||||
@@ -3145,6 +3145,64 @@ public class TelephonyManager {
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 04a8e10d1ac42ade9e707081920940931bc80f07 Mon Sep 17 00:00:00 2001
|
||||
From c015a844f9180ed590127edaeb3493bb54101bbd Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Wed, 16 Dec 2020 21:26:45 +0800
|
||||
Subject: [PATCH 34/35] TelephonyManager: add API annotations for
|
||||
Subject: [PATCH 31/41] TelephonyManager: add API annotations for
|
||||
setTelephonyProperty
|
||||
|
||||
* This method was added back by reverting commit
|
||||
@ -14,10 +14,10 @@ Subject: [PATCH 34/35] TelephonyManager: add API annotations for
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
|
||||
index f470d4595c3..4b912e88798 100644
|
||||
index 130d872b985..8e16e783523 100644
|
||||
--- a/telephony/java/android/telephony/TelephonyManager.java
|
||||
+++ b/telephony/java/android/telephony/TelephonyManager.java
|
||||
@@ -7097,7 +7097,7 @@ public class TelephonyManager {
|
||||
@@ -7107,7 +7107,7 @@ public class TelephonyManager {
|
||||
* @hide
|
||||
*/
|
||||
@UnsupportedAppUsage
|
||||
@ -26,7 +26,7 @@ index f470d4595c3..4b912e88798 100644
|
||||
String propVal = "";
|
||||
String p[] = null;
|
||||
String prop = SystemProperties.get(property);
|
||||
@@ -7151,7 +7151,8 @@ public class TelephonyManager {
|
||||
@@ -7161,7 +7161,8 @@ public class TelephonyManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
@ -1,7 +1,7 @@
|
||||
From 368af07a0fc4fbed6f6946c8bf8237702841d914 Mon Sep 17 00:00:00 2001
|
||||
From c80e63a38195f4a3f45c76f4b583b68e09f8b2ac Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Fri, 18 Dec 2020 16:38:58 -0500
|
||||
Subject: [PATCH] Fix Samsung Power HAL (switch/case was filled with
|
||||
Subject: [PATCH 32/41] Fix Samsung Power HAL (switch/case was filled with
|
||||
mines/returns), and cleanup code and add logs
|
||||
|
||||
---
|
@ -1,7 +1,8 @@
|
||||
From a54f02964ce04634fcf6178c8127800dfb1cfba6 Mon Sep 17 00:00:00 2001
|
||||
From c965a22bfdf6b0c9b7c39d006d25422ff2058fb1 Mon Sep 17 00:00:00 2001
|
||||
From: Alberto Ponces <ponces26@gmail.com>
|
||||
Date: Mon, 18 Jan 2021 09:23:57 +0000
|
||||
Subject: [PATCH] KeyStore: Block key attestation for Google Play Services
|
||||
Subject: [PATCH 33/41] KeyStore: Block key attestation for Google Play
|
||||
Services
|
||||
|
||||
Change-Id: Ia2cd58ea1abfdb1a2c0eb358442c36b5c6809c6b
|
||||
---
|
@ -1,7 +1,7 @@
|
||||
From d47fac84706c80d14989b6348808d2d6602a250d Mon Sep 17 00:00:00 2001
|
||||
From b30f8b1b3f5d3376733bc059cabde9cc5815b9ac Mon Sep 17 00:00:00 2001
|
||||
From: Alberto Ponces <ponces26@gmail.com>
|
||||
Date: Tue, 2 Feb 2021 10:20:51 +0000
|
||||
Subject: [PATCH 37/37] Fix Wakelock issue
|
||||
Subject: [PATCH 34/41] Fix Wakelock issue
|
||||
|
||||
Prevent SystemUI crash due to "WakeLock under-locked Doze" (issue #12) by only releasing a wakelock that was not already released
|
||||
---
|
||||
@ -9,10 +9,10 @@ Prevent SystemUI crash due to "WakeLock under-locked Doze" (issue #12) by only r
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java b/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java
|
||||
index 08cd6e38389..c54dca88dcf 100644
|
||||
index 8d77c4a194a..e9f25343374 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java
|
||||
@@ -109,7 +109,9 @@ public interface WakeLock {
|
||||
@@ -110,7 +110,9 @@ public interface WakeLock {
|
||||
} else {
|
||||
mActiveClients.put(why, count - 1);
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
From 109bc691f314f18f923c5c72fc82ff072c77eca3 Mon Sep 17 00:00:00 2001
|
||||
From f298ce644fa19ee8b43b776a24119bcc006aa7ac Mon Sep 17 00:00:00 2001
|
||||
From: N Harish <kqn736@zebra.com>
|
||||
Date: Mon, 25 Jan 2021 17:22:33 +0530
|
||||
Subject: [PATCH 40/40] Fix for TestDirectBootEmulated testcase
|
||||
Subject: [PATCH 35/41] Fix for TestDirectBootEmulated testcase
|
||||
|
||||
In case of emulated FBE the secrets are empty hence add this
|
||||
exception to prevent from unlocking userkey.
|
||||
@ -16,10 +16,10 @@ Change-Id: I5be2ceb61d9ef47219862e75cc8ec03ab5513426
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
|
||||
index 87afdac45dae..179899ee6067 100644
|
||||
index b0ceaee8977..676dab2fa4c 100644
|
||||
--- a/services/core/java/com/android/server/StorageManagerService.java
|
||||
+++ b/services/core/java/com/android/server/StorageManagerService.java
|
||||
@@ -3295,6 +3295,12 @@ class StorageManagerService extends IStorageManager.Stub
|
||||
@@ -3321,6 +3321,12 @@ class StorageManagerService extends IStorageManager.Stub
|
||||
enforcePermission(android.Manifest.permission.STORAGE_INTERNAL);
|
||||
|
||||
if (isFsEncrypted) {
|
@ -1,7 +1,7 @@
|
||||
From 8b9a1e5df3dd1b25b2cf9d83eca1353327697796 Mon Sep 17 00:00:00 2001
|
||||
From 5296cec29b201ca7c4ededf348d16a57a18220f4 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 6 Mar 2021 18:39:15 -0500
|
||||
Subject: [PATCH 41/41] Make secondary displays' lock screen black. Useful for
|
||||
Subject: [PATCH 36/41] Make secondary displays' lock screen black. Useful for
|
||||
Moto Razr AOD
|
||||
|
||||
---
|
||||
@ -9,7 +9,7 @@ Subject: [PATCH 41/41] Make secondary displays' lock screen black. Useful for
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/packages/SystemUI/res-keyguard/layout/keyguard_presentation.xml b/packages/SystemUI/res-keyguard/layout/keyguard_presentation.xml
|
||||
index f4d34f4ca141..58650b26ceaf 100644
|
||||
index f4d34f4ca14..58650b26cea 100644
|
||||
--- a/packages/SystemUI/res-keyguard/layout/keyguard_presentation.xml
|
||||
+++ b/packages/SystemUI/res-keyguard/layout/keyguard_presentation.xml
|
||||
@@ -22,7 +22,8 @@
|
@ -1,7 +1,7 @@
|
||||
From e202b51e3522636dade7a0ede8688ccd38306468 Mon Sep 17 00:00:00 2001
|
||||
From 7cb9e3ee13d036156ac48d84c9220d2b2270d044 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 13 Mar 2021 13:21:46 -0500
|
||||
Subject: [PATCH 42/45] On Samsung R vendor, there is still the ISehMiscPower
|
||||
Subject: [PATCH 37/41] On Samsung R vendor, there is still the ISehMiscPower
|
||||
HIDL HAL, but there is also the AOSP's AIDL HAL. It was previously assumed
|
||||
this wouldn't happen, fix this assumption.
|
||||
|
||||
@ -10,10 +10,10 @@ Subject: [PATCH 42/45] On Samsung R vendor, there is still the ISehMiscPower
|
||||
1 file changed, 8 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/services/core/jni/com_android_server_power_PowerManagerService.cpp b/services/core/jni/com_android_server_power_PowerManagerService.cpp
|
||||
index 2ebff05d6c5c..c5d9aa94687e 100644
|
||||
index 298cd8c7171..a5812379f86 100644
|
||||
--- a/services/core/jni/com_android_server_power_PowerManagerService.cpp
|
||||
+++ b/services/core/jni/com_android_server_power_PowerManagerService.cpp
|
||||
@@ -112,6 +112,14 @@ static HalVersion connectPowerHalLocked() {
|
||||
@@ -124,6 +124,14 @@ static HalVersion connectPowerHalLocked() {
|
||||
if (!gPowerHalHidlExists && !gPowerHalAidlExists) {
|
||||
return HalVersion::NONE;
|
||||
}
|
||||
@ -28,7 +28,7 @@ index 2ebff05d6c5c..c5d9aa94687e 100644
|
||||
if (gPowerHalAidlExists) {
|
||||
if (!gPowerHalAidl_) {
|
||||
gPowerHalAidl_ = waitForVintfService<IPowerAidl>();
|
||||
@@ -123,12 +131,6 @@ static HalVersion connectPowerHalLocked() {
|
||||
@@ -135,12 +143,6 @@ static HalVersion connectPowerHalLocked() {
|
||||
gPowerHalAidlExists = false;
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
From a4d9278457f0035b44a4b18e07a224d0a827e446 Mon Sep 17 00:00:00 2001
|
||||
From 7d5c3b0bc59848c5bac63d8410431c2d70862ca4 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 20 Mar 2021 14:30:17 +0100
|
||||
Subject: [PATCH 43/45] Handle another type of Samsung proximity sensor: Hover
|
||||
Subject: [PATCH 38/41] Handle another type of Samsung proximity sensor: Hover
|
||||
Proximity Sensor, with yet another behavior (seen on S20 FE)
|
||||
|
||||
---
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH 43/45] Handle another type of Samsung proximity sensor: Hover
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
index bd41d38ad34c..0d160c37f6ea 100644
|
||||
index f9f9e581ecc..733d245e1a9 100644
|
||||
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
@@ -540,6 +540,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
@@ -552,6 +552,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
mProximitySensor = sensor;
|
||||
}
|
||||
}
|
||||
@ -26,7 +26,7 @@ index bd41d38ad34c..0d160c37f6ea 100644
|
||||
if(mProximitySensor == null) {
|
||||
List<Sensor> sensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);
|
||||
for(Sensor sensor: sensors) {
|
||||
@@ -2055,6 +2062,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
@@ -2098,6 +2105,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
handleProximitySensorEvent(time, positive);
|
||||
return;
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
From b560c2bba2559c95a97ca614fa46d542be6d2858 Mon Sep 17 00:00:00 2001
|
||||
From 83131b917d381afd9866645aa9cfa69bf447b755 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 20 Mar 2021 14:31:01 +0100
|
||||
Subject: [PATCH 44/45] Automatically detect pick up sensor, so that an overlay
|
||||
Subject: [PATCH 39/41] Automatically detect pick up sensor, so that an overlay
|
||||
is required for the sole purpose of enabling pulse doze on pick up sensor
|
||||
|
||||
---
|
||||
@ -9,7 +9,7 @@ Subject: [PATCH 44/45] Automatically detect pick up sensor, so that an overlay
|
||||
1 file changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/core/java/android/hardware/display/AmbientDisplayConfiguration.java b/core/java/android/hardware/display/AmbientDisplayConfiguration.java
|
||||
index ece5c28884fa..010fce24057d 100644
|
||||
index ece5c28884f..010fce24057 100644
|
||||
--- a/core/java/android/hardware/display/AmbientDisplayConfiguration.java
|
||||
+++ b/core/java/android/hardware/display/AmbientDisplayConfiguration.java
|
||||
@@ -23,6 +23,9 @@ import android.os.SystemProperties;
|
@ -1,7 +1,7 @@
|
||||
From 575db4c47ba68a6355774abc815f2f4c8de7a996 Mon Sep 17 00:00:00 2001
|
||||
From 21fbfa2f75c222e4c866d79ac02dcb258a5585fb Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 23 Mar 2021 19:43:26 +0100
|
||||
Subject: [PATCH 45/45] Catch broken mainBuiltInDisplayCutoutRectApproximation
|
||||
Subject: [PATCH 40/41] Catch broken mainBuiltInDisplayCutoutRectApproximation
|
||||
|
||||
Some devices (Redmi Note 9T) have:
|
||||
mainBuiltInDisplayCutoutRectApproximation = @android:mainBuiltInDisplayCutout
|
||||
@ -16,7 +16,7 @@ Fix it by catching it, and parsing mainBuiltInDisplayCutout instead
|
||||
1 file changed, 9 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/core/java/android/view/DisplayCutout.java b/core/java/android/view/DisplayCutout.java
|
||||
index b4863f9c6dd0..e1d57e6869aa 100644
|
||||
index b4863f9c6dd..e1d57e6869a 100644
|
||||
--- a/core/java/android/view/DisplayCutout.java
|
||||
+++ b/core/java/android/view/DisplayCutout.java
|
||||
@@ -681,9 +681,15 @@ public final class DisplayCutout {
|
@ -0,0 +1,823 @@
|
||||
From 6b85e4a7d4f31df6f3be30d3d10907fe6f2edccf Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 10 Aug 2021 19:09:56 -0400
|
||||
Subject: [PATCH 41/41] Import back FacolaView for under-display fingerprint
|
||||
|
||||
Tested, working-ish on OnePlus Nord2
|
||||
---
|
||||
services/core/Android.bp | 6 +
|
||||
.../biometrics/fingerprint/FacolaView.java | 703 ++++++++++++++++++
|
||||
.../fingerprint/FingerprintService.java | 35 +
|
||||
3 files changed, 744 insertions(+)
|
||||
create mode 100644 services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java
|
||||
|
||||
diff --git a/services/core/Android.bp b/services/core/Android.bp
|
||||
index 7ad86fae59f..0e3707cf5bd 100644
|
||||
--- a/services/core/Android.bp
|
||||
+++ b/services/core/Android.bp
|
||||
@@ -141,6 +141,12 @@ java_library_static {
|
||||
"org.lineageos.platform.internal",
|
||||
"overlayable_policy_aidl-java",
|
||||
"SurfaceFlingerProperties",
|
||||
+ "vendor.goodix.extend.service-V2.0-java",
|
||||
+ "vendor.goodix.hardware.biometrics.fingerprint-V2.1-java",
|
||||
+ "vendor.samsung.hardware.biometrics.fingerprint-V2.1-java",
|
||||
+ "vendor.samsung.hardware.biometrics.fingerprint-V3.0-java",
|
||||
+ "vendor.oppo.hardware.biometrics.fingerprint-V2.1-java",
|
||||
+ "vendor.xiaomi.hardware.fingerprintextension-V1.0-java",
|
||||
],
|
||||
}
|
||||
|
||||
diff --git a/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java b/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java
|
||||
new file mode 100644
|
||||
index 00000000000..1b052db6fea
|
||||
--- /dev/null
|
||||
+++ b/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java
|
||||
@@ -0,0 +1,703 @@
|
||||
+/**
|
||||
+ * 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.server.biometrics.fingerprint;
|
||||
+
|
||||
+import android.graphics.Canvas;
|
||||
+import android.graphics.Color;
|
||||
+import android.graphics.Paint;
|
||||
+import android.graphics.Point;
|
||||
+import android.content.Context;
|
||||
+import android.view.View.OnTouchListener;
|
||||
+import android.view.View;
|
||||
+import android.widget.ImageView;
|
||||
+import android.view.MotionEvent;
|
||||
+import android.util.Slog;
|
||||
+
|
||||
+import android.view.WindowManager;
|
||||
+import android.graphics.PixelFormat;
|
||||
+import android.view.Gravity;
|
||||
+
|
||||
+import java.io.BufferedReader;
|
||||
+import java.io.File;
|
||||
+import java.io.FileReader;
|
||||
+import java.io.PrintWriter;
|
||||
+import java.util.Arrays;
|
||||
+
|
||||
+import vendor.xiaomi.hardware.fingerprintextension.V1_0.IXiaomiFingerprint;
|
||||
+import vendor.goodix.extend.service.V2_0.IGoodixFPExtendService;
|
||||
+import vendor.samsung.hardware.biometrics.fingerprint.V2_1.ISecBiometricsFingerprint;
|
||||
+import vendor.samsung.hardware.biometrics.fingerprint.V3_0.ISehBiometricsFingerprint;
|
||||
+
|
||||
+import android.hardware.display.DisplayManager;
|
||||
+
|
||||
+import android.os.Build;
|
||||
+import android.os.FileObserver;
|
||||
+import android.os.Handler;
|
||||
+import android.os.HandlerThread;
|
||||
+import android.os.ServiceManager;
|
||||
+
|
||||
+import android.util.DisplayMetrics;
|
||||
+
|
||||
+public class FacolaView extends ImageView implements OnTouchListener {
|
||||
+ private int mX, mY, mW, mH;
|
||||
+ private final Paint mPaintFingerprint = new Paint();
|
||||
+ private final Paint mPaintShow = new Paint();
|
||||
+ private IXiaomiFingerprint mXiaomiFingerprint = null;
|
||||
+ private IGoodixFPExtendService mGoodixFingerprint = null;
|
||||
+ private vendor.goodix.hardware.biometrics.fingerprint.V2_1.IGoodixFingerprintDaemon mGoodixFingerprintV2_1 = null;
|
||||
+ private ISecBiometricsFingerprint mSamsungFingerprint = null;
|
||||
+ private ISehBiometricsFingerprint mSamsungFingerprint3_0 = null;
|
||||
+ private vendor.oppo.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint mOppoFingerprint = null;
|
||||
+ private boolean mInsideCircle = false;
|
||||
+ private final WindowManager.LayoutParams mParams = new WindowManager.LayoutParams();
|
||||
+ private final WindowManager.LayoutParams mParamsTouched = new WindowManager.LayoutParams();
|
||||
+
|
||||
+ private final static float UNTOUCHED_DIM = .0f;
|
||||
+ private final static float TOUCHED_DIM = .9f;
|
||||
+
|
||||
+ private final HandlerThread mHandlerThread;
|
||||
+ private final Handler mHandler;
|
||||
+
|
||||
+ private final WindowManager mWM;
|
||||
+ private final DisplayManager mDM;
|
||||
+ private final boolean samsungFod = samsungHasCmd("fod_enable");
|
||||
+ private boolean noDim;
|
||||
+ private boolean bypassedBrightness;
|
||||
+ private boolean isDown = false;
|
||||
+
|
||||
+ private java.util.ArrayList<Object> objectsToKeep = new java.util.ArrayList();
|
||||
+
|
||||
+ private boolean mFullGreenDisplayed = false;
|
||||
+ private final View mFullGreen;
|
||||
+ private boolean mHidden = true;
|
||||
+ private boolean mUiHidden = true;
|
||||
+ private boolean xiaomiAsynchronous = false;
|
||||
+ FacolaView(Context context) {
|
||||
+ super(context);
|
||||
+
|
||||
+ mFullGreen = new ImageView(context) {
|
||||
+ @Override
|
||||
+ protected void onDraw(Canvas canvas) {
|
||||
+ super.onDraw(canvas);
|
||||
+ canvas.drawCircle(mW/2, mH/2, (float) (mW/2.0f), mPaintFingerprint);
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ mWM = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
|
||||
+ mDM = (DisplayManager) getContext().getSystemService(Context.DISPLAY_SERVICE);
|
||||
+
|
||||
+ Point displayRealSize = new Point();
|
||||
+ DisplayMetrics displayMetrics = new DisplayMetrics();
|
||||
+ mDM.getDisplay(0).getRealSize(displayRealSize);
|
||||
+ mDM.getDisplay(0).getMetrics(displayMetrics);
|
||||
+
|
||||
+ android.util.Log.d("PHH", "Samsung FOD " + samsungFod);
|
||||
+
|
||||
+ mHandlerThread = new HandlerThread("FacolaThread");
|
||||
+ mHandlerThread.start();
|
||||
+ mHandler = new Handler(mHandlerThread.getLooper());
|
||||
+
|
||||
+ noDim = android.os.SystemProperties.getBoolean("persist.sys.phh.nodim", false);
|
||||
+ String[] location = android.os.SystemProperties.get("persist.vendor.sys.fp.fod.location.X_Y", "").split(",");
|
||||
+ if(location.length != 2)
|
||||
+ location = android.os.SystemProperties.get("persist.sys.fp.fod.location.X_Y", "").split(",");
|
||||
+ String[] size = android.os.SystemProperties.get("persist.vendor.sys.fp.fod.size.width_height", "").split(",");
|
||||
+ if(size.length != 2)
|
||||
+ size = android.os.SystemProperties.get("persist.sys.fp.fod.size.width_height", "").split(",");
|
||||
+ Slog.d("PHH-Enroll", "FacolaView hello");
|
||||
+ if(size.length == 2 && location.length == 2) {
|
||||
+ Slog.d("PHH-Enroll", "Got real values");
|
||||
+ mX = Integer.parseInt(location[0]);
|
||||
+ mY = Integer.parseInt(location[1]);
|
||||
+ mW = Integer.parseInt(size[0]);
|
||||
+ mH = Integer.parseInt(size[1]);
|
||||
+ } else {
|
||||
+ //a50
|
||||
+ //mX = -1;//443;// - 190/2;
|
||||
+ //mY = -1;// 1972;// - 190 / 2;
|
||||
+ //mW = -1;//190;
|
||||
+ //mH = -1;//190;
|
||||
+
|
||||
+ //x2 pro
|
||||
+ //mX = 445;// - 190/2;
|
||||
+ //mY = 1988;// - 190/2;
|
||||
+ //mW = 190;
|
||||
+ //mH = 190;
|
||||
+ mX = -1;
|
||||
+ mY = -1;
|
||||
+ mW = -1;
|
||||
+ mH = -1;
|
||||
+ }
|
||||
+
|
||||
+ mParamsTouched.dimAmount = 0;
|
||||
+
|
||||
+ int oppoSize = android.os.SystemProperties.getInt("persist.vendor.fingerprint.optical.iconsize", 0);
|
||||
+ if(oppoSize > 0) {
|
||||
+ mW = oppoSize;
|
||||
+ mH = oppoSize;
|
||||
+ }
|
||||
+ int oppoLocation = android.os.SystemProperties.getInt("persist.vendor.fingerprint.optical.iconlocation", 0);
|
||||
+ if(oppoLocation > 0) {
|
||||
+ Slog.d("PHH-Enroll", "Got Oppo icon location " + oppoLocation);
|
||||
+ Slog.d("PHH-Enroll", "\tscreen size " + displayRealSize.x + ", " + displayRealSize.y);
|
||||
+ mX = displayRealSize.x/2 - mW/2;
|
||||
+ mY = displayRealSize.y - mH/2 - oppoLocation;
|
||||
+ Slog.d("PHH-Enroll", "\tfacola at " + mX + ", " + mY);
|
||||
+ noDim = true;
|
||||
+ }
|
||||
+
|
||||
+ String gammaStr = android.os.SystemProperties.get("persist.sys.phh.fod.gamma", "2.2");
|
||||
+ float gamma = Float.parseFloat(gammaStr);
|
||||
+
|
||||
+ mPaintFingerprint.setAntiAlias(true);
|
||||
+ mPaintFingerprint.setColor(Color.GREEN);
|
||||
+
|
||||
+ mPaintShow.setAntiAlias(true);
|
||||
+ mPaintShow.setColor(Color.argb(0x18, 0x00, 0xff, 0x00));
|
||||
+ setOnTouchListener(this);
|
||||
+ Slog.d("PHH-Enroll", "Created facola...");
|
||||
+ try {
|
||||
+ mXiaomiFingerprint = IXiaomiFingerprint.getService();
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed getting xiaomi fingerprint service", e);
|
||||
+ }
|
||||
+ try {
|
||||
+ mGoodixFingerprint = IGoodixFPExtendService.getService();
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed getting goodix fingerprint service", e);
|
||||
+ }
|
||||
+ try {
|
||||
+ mGoodixFingerprintV2_1 = vendor.goodix.hardware.biometrics.fingerprint.V2_1.IGoodixFingerprintDaemon.getService();
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed getting goodix2 fingerprint service", e);
|
||||
+ }
|
||||
+ try {
|
||||
+ mSamsungFingerprint = ISecBiometricsFingerprint.getService();
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed getting samsung fingerprint service", e);
|
||||
+ }
|
||||
+ try {
|
||||
+ mSamsungFingerprint3_0 = ISehBiometricsFingerprint.getService();
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed getting samsung 3.0 fingerprint service", e);
|
||||
+ }
|
||||
+ try {
|
||||
+ mOppoFingerprint = vendor.oppo.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint.getService();
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed getting oppo fingerprint service", e);
|
||||
+ }
|
||||
+
|
||||
+ if(mSamsungFingerprint3_0 != null || mSamsungFingerprint != null) {
|
||||
+ noDim = true;
|
||||
+ bypassedBrightness = true;
|
||||
+
|
||||
+ String fodPositionString = readFile("/sys/class/fingerprint/fingerprint/position");
|
||||
+ final String brightnessFile;
|
||||
+ if("qcom".equals(Build.HARDWARE))
|
||||
+ brightnessFile = "/sys/class/backlight/panel0-backlight/brightness";
|
||||
+ else
|
||||
+ brightnessFile = "/sys/class/lcd/panel/device/backlight/panel/brightness";
|
||||
+
|
||||
+ String maskBrightnessStr = readFile("/sys/class/lcd/panel/mask_brightness");
|
||||
+ if(maskBrightnessStr == null) {
|
||||
+ maskBrightnessStr = readFile("/sys/class/backlight/panel0-backlight/max_brightness");
|
||||
+ }
|
||||
+ String actualMaskBrightnessPath = "/sys/class/lcd/panel/actual_mask_brightness";
|
||||
+
|
||||
+ Slog.d("PHH-Enroll", "Got fod position, mask brightness " + fodPositionString + ", " + maskBrightnessStr);
|
||||
+
|
||||
+ if(fodPositionString != null && maskBrightnessStr != null) {
|
||||
+ double maskBrightness = Double.parseDouble(maskBrightnessStr);
|
||||
+ String[] fodPositionArray = readFile("/sys/class/fingerprint/fingerprint/position").split(",");
|
||||
+ float bottomMM = Float.parseFloat(fodPositionArray[0]);
|
||||
+ float areaSizeMM = Float.parseFloat(fodPositionArray[5]);
|
||||
+
|
||||
+ float bottomInch = bottomMM * 0.0393700787f;
|
||||
+ float areaSizeInch = areaSizeMM * 0.0393700787f;
|
||||
+
|
||||
+ int bottomPx = (int)(bottomInch * displayMetrics.ydpi);
|
||||
+ int areaSizePx = (int)(areaSizeInch * displayMetrics.ydpi);
|
||||
+ mW = areaSizePx;
|
||||
+ mH = areaSizePx;
|
||||
+ mX = displayRealSize.x/2 - mW/2;
|
||||
+ mY = displayRealSize.y - bottomPx - mH;
|
||||
+ Slog.d("PHH-Enroll", "Samsung computed " + mX + "," + mY + "; " + mW + "x" + mH);
|
||||
+
|
||||
+ String cmd = String.format("fod_rect,%d,%d,%d,%d", mX, mY, mX+mW, mY+mH);
|
||||
+ samsungCmd(cmd);
|
||||
+
|
||||
+ Slog.d("PHH-Enroll", "Reading brightness file gives " + readFile(brightnessFile));
|
||||
+ FileObserver samsungCallback = new FileObserver(brightnessFile, FileObserver.MODIFY) {
|
||||
+ //Don't use LightsService' observer, because Samsung's brightness file is in nits, which makes for much more accurate computation
|
||||
+ @Override
|
||||
+ public void onEvent(int event, String path) {
|
||||
+ String currentBrightnessStr = readFile(brightnessFile);
|
||||
+ Slog.d("PHH-Enroll", "New brightness is " + currentBrightnessStr);
|
||||
+ int currentBrightness = Integer.parseInt(currentBrightnessStr);
|
||||
+
|
||||
+ mHandler.post( () -> {
|
||||
+ double dim = 1.0d - Math.pow( (currentBrightness / maskBrightness), 1/gamma);
|
||||
+ Slog.d("PHH-Enroll", "Setting dim to " + dim);
|
||||
+ mParamsTouched.dimAmount = (float)dim;
|
||||
+ if(!mHidden) {
|
||||
+ Slog.d("PHH-Enroll", "++Setting dim to " + dim);
|
||||
+ if(mFullGreenDisplayed && !mHidden) {
|
||||
+ mWM.updateViewLayout(mFullGreen, mParamsTouched);
|
||||
+ }
|
||||
+ }
|
||||
+ });
|
||||
+ }
|
||||
+ };
|
||||
+ samsungCallback.startWatching();
|
||||
+ objectsToKeep.add(samsungCallback);
|
||||
+
|
||||
+ Slog.d("PHH-Enroll", "Reading actual brightness file gives " + readFile(actualMaskBrightnessPath));
|
||||
+ FileObserver actualMaskObserver = new FileObserver(actualMaskBrightnessPath, FileObserver.MODIFY) {
|
||||
+ @Override
|
||||
+ public void onEvent(int event, String path) {
|
||||
+ String actualMask = readFile(actualMaskBrightnessPath);
|
||||
+ Slog.d("PHH-Enroll", "New actual mask brightness is " + actualMask);
|
||||
+ try {
|
||||
+ int eventReq = 0;
|
||||
+ if("0".equals(actualMask)) {
|
||||
+ eventReq = 1; //released
|
||||
+ } else {
|
||||
+ eventReq = 2; //pressed
|
||||
+ }
|
||||
+ if(mSamsungFingerprint != null) {
|
||||
+ mSamsungFingerprint.request(22 /* SEM_FINGER_STATE */, 0, eventReq, new java.util.ArrayList<Byte>(),
|
||||
+ (int retval, java.util.ArrayList<Byte> out) -> {} );
|
||||
+ } else if(mSamsungFingerprint3_0 != null) {
|
||||
+ mSamsungFingerprint3_0.sehRequest(22 /* SEM_FINGER_STATE */, eventReq, new java.util.ArrayList<Byte>(),
|
||||
+ (int retval, java.util.ArrayList<Byte> out) -> {} );
|
||||
+ }
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed setting samsung event for mask observer", e);
|
||||
+ }
|
||||
+ }
|
||||
+ };
|
||||
+ actualMaskObserver.startWatching();
|
||||
+ objectsToKeep.add(actualMaskObserver);
|
||||
+
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ String xiaomiFodReadyPath = "/sys/class/drm/card0-DSI-1/fod_ui_ready";
|
||||
+ if(new File(xiaomiFodReadyPath).exists()) {
|
||||
+ xiaomiAsynchronous = true;
|
||||
+ noDim = true;
|
||||
+ FileObserver xiaomiUiReadyCb = new FileObserver(xiaomiFodReadyPath, FileObserver.MODIFY) {
|
||||
+ @Override
|
||||
+ public void onEvent(int event, String path) {
|
||||
+ String currentUiReady = readFile(xiaomiFodReadyPath);
|
||||
+ Slog.d("PHH-Enroll", "New fod ready is " + currentUiReady);
|
||||
+
|
||||
+ mHandler.post( () -> {
|
||||
+ try {
|
||||
+ if("0".equals(currentUiReady)) {
|
||||
+ mXiaomiFingerprint.extCmd(0xa, 0);
|
||||
+ } else if("1".equals(currentUiReady)) {
|
||||
+ mXiaomiFingerprint.extCmd(0xa, 1);
|
||||
+ }
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed Xiaomi async extcmd", e);
|
||||
+ }
|
||||
+ });
|
||||
+ }
|
||||
+ };
|
||||
+ xiaomiUiReadyCb.startWatching();
|
||||
+ objectsToKeep.add(xiaomiUiReadyCb);
|
||||
+ }
|
||||
+
|
||||
+ if(mX != -1) {
|
||||
+ android.os.SystemProperties.set("persist.sys.phh.has_fod", "true");
|
||||
+ } else {
|
||||
+ android.os.SystemProperties.set("persist.sys.phh.has_fod", "false");
|
||||
+ }
|
||||
+ /*
|
||||
+ com.android.server.lights.LightsService.backlightChangeListener = new com.android.server.lights.LightsService.OnBacklightChange() {
|
||||
+ public void onBacklightChange(int brightness) {
|
||||
+ //Simple (but wrong) math assuming 255 is max brightness with 2.2 screen gamma and linear backlight
|
||||
+ double dim = (1.0 - Math.pow(brightness/255.0, 1/gamma));
|
||||
+
|
||||
+ int alpha = (int)(255.0*dim);
|
||||
+ Slog.d("PHH-Enroll", "Setting Xiaomi dim alpha to " + alpha + ", from " + brightness);
|
||||
+ writeFile("/sys/class/drm/card0-DSI-1/dim_alpha", Integer.toString(alpha));
|
||||
+
|
||||
+ mHandler.post( () -> {
|
||||
+ if(!noDim) {
|
||||
+ Slog.d("PHH-Enroll", "Setting dim to " + dim);
|
||||
+ mParams.dimAmount = (float)dim;
|
||||
+ if(!mUiHidden) {
|
||||
+ Slog.d("PHH-Enroll", "++Setting dim to " + dim);
|
||||
+ mWM.updateViewLayout(FacolaView.this, mParams);
|
||||
+ }
|
||||
+ }
|
||||
+ });
|
||||
+ }
|
||||
+ };*/
|
||||
+
|
||||
+ bypassedBrightness = hbmCtrl1.exists() || noDim;
|
||||
+ }
|
||||
+
|
||||
+ private final File hbmCtrl1 = new File("/proc/leds/hbm_mode");
|
||||
+
|
||||
+ private boolean oppoFodInited = false;
|
||||
+ private File oppoFod;
|
||||
+ private void oppoPress(boolean pressed) {
|
||||
+ if(!oppoFodInited) {
|
||||
+ oppoFodInited = true;
|
||||
+ oppoFod = new File("/sys/kernel/oppo_display/notify_fppress");
|
||||
+ if(!oppoFod.exists())
|
||||
+ oppoFod = new File("/sys/kernel/oplus_display/oplus_notify_fppress");
|
||||
+ }
|
||||
+ if(oppoFod == null || !oppoFod.exists()) return;
|
||||
+ try {
|
||||
+ String v = "0";
|
||||
+ if(pressed) v = "1";
|
||||
+ PrintWriter writer = new PrintWriter(oppoFod, "UTF-8");
|
||||
+ writer.println(v);
|
||||
+ writer.close();
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH", "Failed to notify oppo fp press", e);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ protected void onDraw(Canvas canvas) {
|
||||
+ super.onDraw(canvas);
|
||||
+
|
||||
+ Slog.d("PHH-Enroll", "Drawing at " + mX + ", " + mY + ", " + mW + ", " + mH);
|
||||
+ //TODO w!=h?
|
||||
+ if(mInsideCircle) {
|
||||
+ try {
|
||||
+ mParamsTouched.x = mX;
|
||||
+ mParamsTouched.y = mY;
|
||||
+
|
||||
+ mParamsTouched.height = mW;
|
||||
+ mParamsTouched.width = mH;
|
||||
+ mParamsTouched.format = PixelFormat.TRANSLUCENT;
|
||||
+
|
||||
+ mParamsTouched.type = WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY;
|
||||
+ mParamsTouched.setTitle("Fingerprint on display.touched");
|
||||
+ mParamsTouched.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
|
||||
+ WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN |
|
||||
+ WindowManager.LayoutParams.FLAG_DIM_BEHIND;
|
||||
+ writeFile(hbmCtrl1, "1");
|
||||
+ if(!noDim) {
|
||||
+ mParamsTouched.screenBrightness = 1.0f;
|
||||
+ if(!bypassedBrightness) {
|
||||
+ mParamsTouched.screenBrightness = 1.0f;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ mParamsTouched.packageName = "android";
|
||||
+
|
||||
+ mParamsTouched.gravity = Gravity.TOP | Gravity.LEFT;
|
||||
+ if(!mFullGreenDisplayed && !mHidden) {
|
||||
+ mHandler.post( () -> {
|
||||
+ Slog.d("PHH-Enroll", "Adding full green because of finger pressed");
|
||||
+ mFullGreenDisplayed = true;
|
||||
+ mWM.addView(mFullGreen, mParamsTouched);
|
||||
+ });
|
||||
+ }
|
||||
+ if(!isDown) {
|
||||
+ isDown = true;
|
||||
+ int nitValue = 2;
|
||||
+ mHandler.postDelayed( () -> {
|
||||
+ try {
|
||||
+ if(mXiaomiFingerprint != null && !xiaomiAsynchronous) {
|
||||
+ mXiaomiFingerprint.extCmd(0xa, nitValue);
|
||||
+ } else if(mGoodixFingerprint != null) {
|
||||
+ mGoodixFingerprint.goodixExtendCommand(10, 1);
|
||||
+ } else if(mGoodixFingerprintV2_1 != null) {
|
||||
+ mGoodixFingerprintV2_1.sendCommand(0x600, new java.util.ArrayList<Byte>(),
|
||||
+ (int retval, java.util.ArrayList<Byte> out) -> {} );
|
||||
+ }
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed calling late fp extcmd", e);
|
||||
+ }
|
||||
+ }, 200);
|
||||
+ }
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed calling fp extcmd", e);
|
||||
+ }
|
||||
+ oppoPress(true);
|
||||
+ } else {
|
||||
+ writeFile(hbmCtrl1, "1");
|
||||
+ oppoPress(false);
|
||||
+ if(isDown) {
|
||||
+ isDown = false;
|
||||
+ try {
|
||||
+ if(mXiaomiFingerprint != null && !xiaomiAsynchronous) {
|
||||
+ mXiaomiFingerprint.extCmd(0xa, 0);
|
||||
+ } else if(mGoodixFingerprint != null) {
|
||||
+ mGoodixFingerprint.goodixExtendCommand(10, 0);
|
||||
+ } else if(mGoodixFingerprintV2_1 != null) {
|
||||
+ mGoodixFingerprintV2_1.sendCommand(0x601, new java.util.ArrayList<Byte>(),
|
||||
+ (int retval, java.util.ArrayList<Byte> out) -> {});
|
||||
+ } else if(mSamsungFingerprint != null) {
|
||||
+ mSamsungFingerprint.request(22 /* SEM_FINGER_STATE */, 0, 1 /* released */, new java.util.ArrayList<Byte>(),
|
||||
+ (int retval, java.util.ArrayList<Byte> out) -> {} );
|
||||
+ } else if(mSamsungFingerprint3_0 != null) {
|
||||
+ mSamsungFingerprint3_0.sehRequest(22 /* SEM_FINGER_STATE */, 1 /* released */, new java.util.ArrayList<Byte>(),
|
||||
+ (int retval, java.util.ArrayList<Byte> out) -> {} );
|
||||
+ }
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed calling fp extcmd", e);
|
||||
+ }
|
||||
+
|
||||
+ }
|
||||
+ if(mFullGreenDisplayed) {
|
||||
+ mHandler.post( () -> {
|
||||
+ Slog.d("PHH-Enroll", "Removing full green because of finger released");
|
||||
+ mFullGreenDisplayed = false;
|
||||
+ mWM.removeView(mFullGreen);
|
||||
+ });
|
||||
+ }
|
||||
+ }
|
||||
+ canvas.drawCircle(mW/2, mH/2, (float) (mW/2.0f), this.mPaintShow);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean onTouch(View v, MotionEvent event) {
|
||||
+ float x = event.getAxisValue(MotionEvent.AXIS_X);
|
||||
+ float y = event.getAxisValue(MotionEvent.AXIS_Y);
|
||||
+
|
||||
+ boolean newInside = (x > 0 && x < mW) && (y > 0 && y < mW);
|
||||
+ if(event.getAction() == MotionEvent.ACTION_UP)
|
||||
+ newInside = false;
|
||||
+
|
||||
+ Slog.d("PHH-Enroll", "Got action " + event.getAction() + ", x = " + x + ", y = " + y + ", inside = " + mInsideCircle + "/" + newInside);
|
||||
+ if(newInside == mInsideCircle) return mInsideCircle;
|
||||
+ mInsideCircle = newInside;
|
||||
+
|
||||
+ invalidate();
|
||||
+
|
||||
+ if(!mInsideCircle) {
|
||||
+ mParams.screenBrightness = .0f;
|
||||
+ if(!noDim) {
|
||||
+ mParams.dimAmount = UNTOUCHED_DIM;
|
||||
+ }
|
||||
+ mWM.updateViewLayout(this, mParams);
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ if(!noDim) {
|
||||
+ mParams.dimAmount = TOUCHED_DIM;
|
||||
+ mParams.screenBrightness = 1.0f;
|
||||
+ }
|
||||
+ mWM.updateViewLayout(this, mParams);
|
||||
+
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ public void show() {
|
||||
+ Slog.d("PHH-Enroll", "Show", new Exception());
|
||||
+ if(!mHidden) return;
|
||||
+ mHidden = false;
|
||||
+ try {
|
||||
+ mSamsungFingerprint = ISecBiometricsFingerprint.getService();
|
||||
+ mSamsungFingerprint.request(20 /* SEM_FINGER_STATE */, 0, 0 /* released */, new java.util.ArrayList<Byte>(),
|
||||
+ (int retval, java.util.ArrayList<Byte> out) -> {} );
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed setting fast fingerprint recognition");
|
||||
+ }
|
||||
+ try {
|
||||
+ mSamsungFingerprint3_0 = ISehBiometricsFingerprint.getService();
|
||||
+ Slog.d("PHH-Enroll", "Samsung ask for sensor status");
|
||||
+ mSamsungFingerprint3_0.sehRequest(6, 0, new java.util.ArrayList(), (int retval, java.util.ArrayList<Byte> out) -> {
|
||||
+ Slog.d("PHH-Enroll", "Result is " + retval);
|
||||
+ for(int i=0; i<out.size(); i++) {
|
||||
+ Slog.d("PHH-Enroll", "\t" + i + ":" + out.get(i));
|
||||
+ }
|
||||
+ } );
|
||||
+ Slog.d("PHH-Enroll", "Samsung ask for sensor brightness value");
|
||||
+ mSamsungFingerprint3_0.sehRequest(32, 0, new java.util.ArrayList(), (int retval, java.util.ArrayList<Byte> out) -> {
|
||||
+ Slog.d("PHH-Enroll", "Result is " + retval);
|
||||
+ for(int i=0; i<out.size(); i++) {
|
||||
+ Slog.d("PHH-Enroll", "\t" + i + ":" + out.get(i));
|
||||
+ }
|
||||
+ } );
|
||||
+
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed setting samsung3.0 fingerprint recognition", e);
|
||||
+ }
|
||||
+
|
||||
+ if(mOppoFingerprint != null) {
|
||||
+ try {
|
||||
+ mOppoFingerprint.setScreenState(vendor.oppo.hardware.biometrics.fingerprint.V2_1.FingerprintScreenState.FINGERPRINT_SCREEN_ON);
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed setting oppo screen state", e);
|
||||
+ }
|
||||
+ }
|
||||
+ mInsideCircle = false;
|
||||
+ writeFile("/sys/kernel/oppo_display/dimlayer_hbm", "1");
|
||||
+ writeFile("/sys/kernel/oplus_display/dimlayer_bl_en", "1");
|
||||
+ if(samsungFod) {
|
||||
+ samsungCmd("fod_enable,1,1");
|
||||
+ samsungCmd("fod_enable,1,1,0");
|
||||
+ }
|
||||
+ if(mX == -1 || mY == -1 || mW == -1 || mH == -1) return;
|
||||
+
|
||||
+ try {
|
||||
+ PrintWriter writer = new PrintWriter("/sys/devices/virtual/touch/tp_dev/fod_status", "UTF-8");
|
||||
+ writer.println("1");
|
||||
+ writer.close();
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed setting fod status for touchscreen");
|
||||
+ }
|
||||
+
|
||||
+ mParams.x = mX;
|
||||
+ mParams.y = mY;
|
||||
+
|
||||
+ mParams.height = mW;
|
||||
+ mParams.width = mH;
|
||||
+ mParams.format = PixelFormat.TRANSLUCENT;
|
||||
+
|
||||
+ mParams.type = WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY;
|
||||
+ mParams.setTitle("Fingerprint on display.untouched");
|
||||
+ mParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
|
||||
+ WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH |
|
||||
+ WindowManager.LayoutParams.FLAG_DIM_BEHIND |
|
||||
+ WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
|
||||
+ if(!noDim) {
|
||||
+ mParams.dimAmount = UNTOUCHED_DIM;
|
||||
+ mParams.screenBrightness = .0f;
|
||||
+ } else {
|
||||
+ mParams.dimAmount = 0;
|
||||
+ }
|
||||
+
|
||||
+ mParams.packageName = "android";
|
||||
+
|
||||
+ mParams.gravity = Gravity.TOP | Gravity.LEFT;
|
||||
+ mHandler.post( () -> {
|
||||
+ mUiHidden = false;
|
||||
+ mWM.addView(this, mParams);
|
||||
+ });
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ public void hide() {
|
||||
+ mInsideCircle = false;
|
||||
+ Slog.d("PHH-Enroll", "Hide", new Exception());
|
||||
+ if(mHidden) return;
|
||||
+ if(mOppoFingerprint != null) {
|
||||
+ try {
|
||||
+ mOppoFingerprint.setScreenState(vendor.oppo.hardware.biometrics.fingerprint.V2_1.FingerprintScreenState.FINGERPRINT_SCREEN_ON);
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed setting oppo screen state", e);
|
||||
+ }
|
||||
+ }
|
||||
+ writeFile("/sys/kernel/oppo_display/dimlayer_hbm", "0");
|
||||
+ writeFile("/sys/kernel/oplus_display/dimlayer_bl_en", "0");
|
||||
+ mHidden = true;
|
||||
+ if(mFullGreenDisplayed) {
|
||||
+ Slog.d("PHH-Enroll", "Removing full green because of hide");
|
||||
+ mFullGreenDisplayed = false;
|
||||
+ mWM.removeView(mFullGreen);
|
||||
+ }
|
||||
+ if(samsungFod) {
|
||||
+ samsungCmd("fod_enable,0");
|
||||
+ }
|
||||
+ if(mX == -1 || mY == -1 || mW == -1 || mH == -1) return;
|
||||
+
|
||||
+ try {
|
||||
+ if(mXiaomiFingerprint != null) {
|
||||
+ mXiaomiFingerprint.extCmd(0xa, 0);
|
||||
+ }
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed calling xiaomi fp extcmd");
|
||||
+ }
|
||||
+ try {
|
||||
+ PrintWriter writer = new PrintWriter("/sys/devices/virtual/touch/tp_dev/fod_status", "UTF-8");
|
||||
+ writer.println("0");
|
||||
+ writer.close();
|
||||
+ } catch(Exception e) {
|
||||
+ Slog.d("PHH-Enroll", "Failed setting fod status for touchscreen");
|
||||
+ }
|
||||
+
|
||||
+ Slog.d("PHH-Enroll", "Removed facola");
|
||||
+ mHandler.post( () -> {
|
||||
+ mUiHidden = true;
|
||||
+ mWM.removeView(this);
|
||||
+ });
|
||||
+ }
|
||||
+
|
||||
+ private static boolean samsungHasCmd(String cmd) {
|
||||
+ try {
|
||||
+ File f = new File("/sys/devices/virtual/sec/tsp/cmd_list");
|
||||
+ if(!f.exists()) return false;
|
||||
+
|
||||
+ BufferedReader b = new BufferedReader(new FileReader(f));
|
||||
+ String line = null;
|
||||
+ while( (line = b.readLine()) != null) {
|
||||
+ if(line.equals(cmd)) return true;
|
||||
+ }
|
||||
+ return false;
|
||||
+ } catch(Exception e) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private static String readFile(String path) {
|
||||
+ try {
|
||||
+ File f = new File(path);
|
||||
+
|
||||
+ BufferedReader b = new BufferedReader(new FileReader(f));
|
||||
+ return b.readLine();
|
||||
+ } catch(Exception e) {
|
||||
+ return null;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ public static void samsungCmd(String cmd) {
|
||||
+ try {
|
||||
+ PrintWriter writer = new PrintWriter("/sys/devices/virtual/sec/tsp/cmd", "UTF-8");
|
||||
+ writer.println(cmd);
|
||||
+ writer.close();
|
||||
+
|
||||
+ String status = readFile("/sys/devices/virtual/sec/tsp/cmd_status");
|
||||
+ String ret = readFile("/sys/devices/virtual/sec/tsp/cmd_result");
|
||||
+
|
||||
+ android.util.Log.d("PHH", "Sending command " + cmd + " returned " + ret + ":" + status);
|
||||
+ } catch(Exception e) {
|
||||
+ android.util.Log.d("PHH", "Failed sending command " + cmd, e);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private static void writeFile(String path, String value) {
|
||||
+ try {
|
||||
+ PrintWriter writer = new PrintWriter(path, "UTF-8");
|
||||
+ writer.println(value);
|
||||
+ writer.close();
|
||||
+ } catch(Exception e) {
|
||||
+ android.util.Log.d("PHH", "Failed writing to " + path + ": " + value);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private static void writeFile(File file, String value) {
|
||||
+ try {
|
||||
+ PrintWriter writer = new PrintWriter(file, "UTF-8");
|
||||
+ writer.println(value);
|
||||
+ writer.close();
|
||||
+ } catch(Exception e) {
|
||||
+ android.util.Log.d("PHH", "Failed writing to " + file + ": " + value);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+}
|
||||
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 def1a873590..7143655d5da 100644
|
||||
--- a/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
|
||||
+++ b/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
|
||||
@@ -126,6 +126,7 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
}
|
||||
}
|
||||
|
||||
+ private FacolaView mFacola;
|
||||
private final class FingerprintAuthClient extends AuthenticationClientImpl {
|
||||
private final boolean mDetectOnly;
|
||||
|
||||
@@ -186,6 +187,34 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
|
||||
boolean isDetectOnly() {
|
||||
return mDetectOnly;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean onAcquired(int acquiredInfo, int vendorCode) {
|
||||
+ boolean result = super.onAcquired(acquiredInfo, vendorCode);
|
||||
+ if(result) mFacola.hide();
|
||||
+ return result;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean onAuthenticated(BiometricAuthenticator.Identifier identifier,
|
||||
+ boolean authenticated, ArrayList<Byte> token) {
|
||||
+ boolean result = super.onAuthenticated(identifier, authenticated, token);
|
||||
+ if(result) mFacola.hide();
|
||||
+ return result;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ @Override
|
||||
+ public int start() {
|
||||
+ mFacola.show();
|
||||
+ return super.start();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int stop(boolean initiatedByClient) {
|
||||
+ mFacola.hide();
|
||||
+ return super.stop(initiatedByClient);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -216,6 +245,7 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
final IFingerprintServiceReceiver receiver, final int flags,
|
||||
final String opPackageName) {
|
||||
checkPermission(MANAGE_FINGERPRINT);
|
||||
+ mFacola.show();
|
||||
|
||||
final boolean restricted = isRestricted();
|
||||
final int groupId = userId; // default group for fingerprint enrollment
|
||||
@@ -707,6 +737,9 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
public void onError(final long deviceId, final int error, final int vendorCode) {
|
||||
mHandler.post(() -> {
|
||||
FingerprintService.super.handleError(deviceId, error, vendorCode);
|
||||
+ if ( error == BiometricConstants.BIOMETRIC_ERROR_CANCELED) {
|
||||
+ mFacola.hide();
|
||||
+ }
|
||||
// TODO: this chunk of code should be common to all biometric services
|
||||
if (error == BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE) {
|
||||
// If we get HW_UNAVAILABLE, try to connect again later...
|
||||
@@ -794,6 +827,7 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
Slog.w(TAG, "enroll(): no fingerprint HAL!");
|
||||
return ERROR_ESRCH;
|
||||
}
|
||||
+ mFacola.show();
|
||||
return daemon.enroll(cryptoToken, groupId, timeout);
|
||||
}
|
||||
|
||||
@@ -813,6 +847,7 @@ public class FingerprintService extends BiometricServiceBase {
|
||||
context.registerReceiver(mLockoutReceiver, new IntentFilter(getLockoutResetIntent()),
|
||||
getLockoutBroadcastPermission(), null /* handler */);
|
||||
mLockPatternUtils = new LockPatternUtils(context);
|
||||
+ mFacola = new FacolaView(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From d8fbdb4092155a1c8f8e2b2ee77b4fcfb7102367 Mon Sep 17 00:00:00 2001
|
||||
From b6a356865be43df45ef33cc6473683f3795b77d8 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 12 Aug 2019 23:48:37 +0200
|
||||
Subject: [PATCH 1/8] Some Samsung devices requires lying colorspace
|
||||
Subject: [PATCH 01/12] Some Samsung devices requires lying colorspace
|
||||
|
||||
Change-Id: I4153b8e7abc10c519565e4e4386c6388621477b2
|
||||
---
|
||||
@ -28,5 +28,5 @@ index aa24e8ee6..1c6380f6f 100644
|
||||
} else if (colorspace == EGL_GL_COLORSPACE_SRGB_KHR) {
|
||||
return HAL_DATASPACE_V0_SRGB;
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 61f5f4b804e8e14f15b928630489f22a5e7df04e Mon Sep 17 00:00:00 2001
|
||||
From ecd87a69db2346a697eeb81aa0c4f2173a6298f8 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Wed, 14 Aug 2019 23:37:10 +0200
|
||||
Subject: [PATCH 2/8] On Samsung, we need to send a hack-message to HAL to get
|
||||
all Sensors
|
||||
Subject: [PATCH 02/12] On Samsung, we need to send a hack-message to HAL to
|
||||
get all Sensors
|
||||
|
||||
Change-Id: Id6a1fa48340de61c418493668e9abd22c2599376
|
||||
---
|
||||
@ -24,7 +24,7 @@ index 1c6380f6f..6e810e592 100644
|
||||
if (colorspace == EGL_GL_COLORSPACE_LINEAR_KHR) {
|
||||
if(samsungColorspace)
|
||||
diff --git a/services/sensorservice/SensorDevice.cpp b/services/sensorservice/SensorDevice.cpp
|
||||
index 8a282e238..53b686870 100644
|
||||
index e35559417..99b10faf5 100644
|
||||
--- a/services/sensorservice/SensorDevice.cpp
|
||||
+++ b/services/sensorservice/SensorDevice.cpp
|
||||
@@ -34,7 +34,9 @@
|
||||
@ -47,5 +47,5 @@ index 8a282e238..53b686870 100644
|
||||
[&](const auto &list) {
|
||||
const size_t count = list.size();
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
From 113f48e1e25d168e16e6a6717c7ea70fbef033e3 Mon Sep 17 00:00:00 2001
|
||||
From 9c8545bb4e7cc03e38e665aef1e11ba733002556 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 10 Mar 2020 23:26:55 +0100
|
||||
Subject: [PATCH 3/8] Use BKK's hwcomposer hacks to properly display FOD layers
|
||||
Subject: [PATCH 03/12] Use BKK's hwcomposer hacks to properly display FOD
|
||||
layers
|
||||
|
||||
Insecure hack: Set FOD layers to magical Z values to trigger
|
||||
OPPO/Realme/Oneplus' whole blitter behaviours:
|
||||
@ -38,5 +39,5 @@ index 1faf775ed..deb0b0923 100644
|
||||
outputDependentState.z, to_string(error).c_str(), static_cast<int32_t>(error));
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 0c7b289c3d724f32f4d64e8972736f3aa8e3261f Mon Sep 17 00:00:00 2001
|
||||
From 5d0b6b58d1f928894cd48d784d80e82719fcf4c7 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Wed, 20 May 2020 21:16:56 +0200
|
||||
Subject: [PATCH 4/8] Samsung + Xiaomi new FOD HBM controls
|
||||
Subject: [PATCH 04/12] Samsung + Xiaomi new FOD HBM controls
|
||||
|
||||
Change-Id: I5ab27fa70882efa85f0c917bf31bb32adaa09bb1
|
||||
---
|
||||
@ -10,7 +10,7 @@ Change-Id: I5ab27fa70882efa85f0c917bf31bb32adaa09bb1
|
||||
2 files changed, 39 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/surfaceflinger/BufferQueueLayer.cpp b/services/surfaceflinger/BufferQueueLayer.cpp
|
||||
index 07be7916e..472ceda4d 100644
|
||||
index 6e4235e40..22b564b8d 100644
|
||||
--- a/services/surfaceflinger/BufferQueueLayer.cpp
|
||||
+++ b/services/surfaceflinger/BufferQueueLayer.cpp
|
||||
@@ -26,6 +26,7 @@
|
||||
@ -36,7 +36,7 @@ index 07be7916e..472ceda4d 100644
|
||||
namespace android {
|
||||
|
||||
BufferQueueLayer::BufferQueueLayer(const LayerCreationArgs& args) : BufferLayer(args) {}
|
||||
@@ -486,6 +495,7 @@ void BufferQueueLayer::onFirstRef() {
|
||||
@@ -491,6 +500,7 @@ void BufferQueueLayer::onFirstRef() {
|
||||
mConsumer =
|
||||
mFlinger->getFactory().createBufferLayerConsumer(consumer, mFlinger->getRenderEngine(),
|
||||
mTextureName, this);
|
||||
@ -44,7 +44,7 @@ index 07be7916e..472ceda4d 100644
|
||||
mConsumer->setConsumerUsageBits(getEffectiveUsage(0));
|
||||
|
||||
mContentsChangedListener = new ContentsChangedListener(this);
|
||||
@@ -509,9 +519,16 @@ status_t BufferQueueLayer::setDefaultBufferProperties(uint32_t w, uint32_t h, Pi
|
||||
@@ -514,9 +524,16 @@ status_t BufferQueueLayer::setDefaultBufferProperties(uint32_t w, uint32_t h, Pi
|
||||
return BAD_VALUE;
|
||||
}
|
||||
|
||||
@ -118,5 +118,5 @@ index deb0b0923..5f9620715 100644
|
||||
|
||||
if (auto error = hwcLayer->setZOrder(z); error != hal::Error::NONE) {
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 15125c6d89352f46742c0e575556e43720e1c03c Mon Sep 17 00:00:00 2001
|
||||
From 028e6894c88da578f88c7fa5359623d57fa340d3 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Fri, 11 Sep 2020 21:33:05 +0200
|
||||
Subject: [PATCH 5/8] vr_hwc crashes because it registers a 2.3 hwc, while
|
||||
Subject: [PATCH 05/12] vr_hwc crashes because it registers a 2.3 hwc, while
|
||||
manifest says 2.1
|
||||
|
||||
Change-Id: Icfaea3e471209e5773f52f880ffbcf5de744737e
|
||||
@ -23,5 +23,5 @@ index 1068cac33..6694ac086 100644
|
||||
<name>IComposer</name>
|
||||
<instance>vr</instance>
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 1003d0293dc372b8fc0bbefe160f7d6a770b184b Mon Sep 17 00:00:00 2001
|
||||
From 1bd5c0c257ad9df65049928fb859b04353278c5a Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Wed, 30 Sep 2020 22:41:39 +0200
|
||||
Subject: [PATCH 6/8] Add persist.sys.phh.no_present_or_validate property to
|
||||
Subject: [PATCH 06/12] Add persist.sys.phh.no_present_or_validate property to
|
||||
disable presentOrValidate since on vndk 26/27 presentOrValidate can be broken
|
||||
|
||||
Change-Id: I5f0c6c5e129bc21348d6f279d3ba455a5a0f008b
|
||||
@ -46,5 +46,5 @@ index 7a2f0f34e..1ea104521 100644
|
||||
uint32_t state = UINT32_MAX;
|
||||
error = hwcDisplay->presentOrValidate(&numTypes, &numRequests, &outPresentFence , &state);
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
From dc47d76a49d2a2d8dc2bd6bf68098cd910fcb364 Mon Sep 17 00:00:00 2001
|
||||
From f42ba2e579fcac3e8be40dc52de43a6a1a4c64d8 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Wed, 30 Sep 2020 22:51:37 +0200
|
||||
Subject: [PATCH 7/8] Add persist.sys.phh.disable_sensor_direct_report property
|
||||
to disable Sensors direct report (it seems to break Qin 2 Pro sensors HAL)
|
||||
Subject: [PATCH 07/12] Add persist.sys.phh.disable_sensor_direct_report
|
||||
property to disable Sensors direct report (it seems to break Qin 2 Pro
|
||||
sensors HAL)
|
||||
|
||||
Change-Id: I0763324a4bd6a3ba6716c396c4cb3f0772b85d62
|
||||
---
|
||||
@ -10,7 +11,7 @@ Change-Id: I0763324a4bd6a3ba6716c396c4cb3f0772b85d62
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/services/sensorservice/SensorDevice.cpp b/services/sensorservice/SensorDevice.cpp
|
||||
index 53b686870..87899e2cd 100644
|
||||
index 99b10faf5..eb5bfe281 100644
|
||||
--- a/services/sensorservice/SensorDevice.cpp
|
||||
+++ b/services/sensorservice/SensorDevice.cpp
|
||||
@@ -22,6 +22,7 @@
|
||||
@ -37,5 +38,5 @@ index 53b686870..87899e2cd 100644
|
||||
|
||||
void SensorDevice::initializeSensorList() {
|
||||
--
|
||||
2.17.1
|
||||
2.25.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From f26a70a804a669d6379d80285c92520ecfa3942e Mon Sep 17 00:00:00 2001
|
||||
From 7cb681c036beac8cae5912d8af30493a12d9df22 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Thu, 22 Oct 2020 23:22:46 +0200
|
||||
Subject: [PATCH 08/10] Matching an input with a display uses uniqueId
|
||||
Subject: [PATCH 08/12] Matching an input with a display uses uniqueId
|
||||
|
||||
Not all devices have a `location`, notably bluetooth devices.
|
||||
However, we might still want to associate them with a screen,
|
||||
@ -15,10 +15,10 @@ Change-Id: Ifcbc8329d54386f58e013270d9888316c0f516b6
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/inputflinger/reader/InputDevice.cpp b/services/inputflinger/reader/InputDevice.cpp
|
||||
index 4b19e5e35..8f2d3a685 100644
|
||||
index 3347ba6ad..67a3c565f 100644
|
||||
--- a/services/inputflinger/reader/InputDevice.cpp
|
||||
+++ b/services/inputflinger/reader/InputDevice.cpp
|
||||
@@ -275,7 +275,10 @@ void InputDevice::configure(nsecs_t when, const InputReaderConfiguration* config
|
||||
@@ -279,7 +279,10 @@ void InputDevice::configure(nsecs_t when, const InputReaderConfiguration* config
|
||||
mAssociatedDisplayPort = std::nullopt;
|
||||
mAssociatedViewport = std::nullopt;
|
||||
// Find the display port that corresponds to the current input port.
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user