diff options
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 ****/ |