summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/java/android/media/tv/tuner/Tuner.java4
-rw-r--r--services/core/java/com/android/server/tv/tunerresourcemanager/ClientProfile.java3
-rw-r--r--services/tests/servicestests/src/com/android/server/tv/tunerresourcemanager/TunerResourceManagerServiceTest.java8
3 files changed, 14 insertions, 1 deletions
diff --git a/media/java/android/media/tv/tuner/Tuner.java b/media/java/android/media/tv/tuner/Tuner.java
index dec0709c97d8..02b6571b0802 100644
--- a/media/java/android/media/tv/tuner/Tuner.java
+++ b/media/java/android/media/tv/tuner/Tuner.java
@@ -454,10 +454,12 @@ public class Tuner implements AutoCloseable {
*
* <p>Tuner resource manager (TRM) uses the client priority value to decide whether it is able
* to reclaim insufficient resources from another client.
+ *
* <p>The nice value represents how much the client intends to give up the resource when an
* insufficient resource situation happens.
*
- * @param priority the new priority.
+ * @param priority the new priority. Any negative value would cause no-op on priority setting
+ * and the API would only process nice value setting in that case.
* @param niceValue the nice value.
*/
public void updateResourcePriority(int priority, int niceValue) {
diff --git a/services/core/java/com/android/server/tv/tunerresourcemanager/ClientProfile.java b/services/core/java/com/android/server/tv/tunerresourcemanager/ClientProfile.java
index 2fc17fe65775..036049ffa628 100644
--- a/services/core/java/com/android/server/tv/tunerresourcemanager/ClientProfile.java
+++ b/services/core/java/com/android/server/tv/tunerresourcemanager/ClientProfile.java
@@ -126,6 +126,9 @@ public final class ClientProfile {
}
public void setPriority(int priority) {
+ if (priority < 0) {
+ return;
+ }
mPriority = priority;
}
diff --git a/services/tests/servicestests/src/com/android/server/tv/tunerresourcemanager/TunerResourceManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/tv/tunerresourcemanager/TunerResourceManagerServiceTest.java
index 1055069c746b..8f7ea87bcb41 100644
--- a/services/tests/servicestests/src/com/android/server/tv/tunerresourcemanager/TunerResourceManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/tv/tunerresourcemanager/TunerResourceManagerServiceTest.java
@@ -815,6 +815,14 @@ public class TunerResourceManagerServiceTest {
shareClientId1[0],
400/*priority*/,
0/*niceValue*/);
+ mTunerResourceManagerService.updateClientPriorityInternal(
+ shareClientId1[0],
+ -1/*invalid priority*/,
+ 0/*niceValue*/);
+ assertThat(mTunerResourceManagerService
+ .getClientProfile(shareClientId1[0])
+ .getPriority())
+ .isEqualTo(400);
/**** Init Frontend Resources ****/