Merge "cec: resolve HdmiCecTvPowerToggleTest issue [1/1]" am: 96c64c020c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2445059 Change-Id: I977345d8455a296566f487192c7a394ef6a8f1ec Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
10
services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java
Executable file → Normal file
10
services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java
Executable file → Normal file
@@ -1125,6 +1125,16 @@ abstract class HdmiCecLocalDevice {
|
||||
removeActionExcept(clazz, null);
|
||||
}
|
||||
|
||||
// Remove all running actions.
|
||||
@ServiceThreadOnly
|
||||
void removeAllActions() {
|
||||
assertRunOnServiceThread();
|
||||
for (HdmiCecFeatureAction action : mActions) {
|
||||
action.finish(false);
|
||||
}
|
||||
mActions.clear();
|
||||
}
|
||||
|
||||
// Remove all actions matched with the given Class type besides |exception|.
|
||||
@ServiceThreadOnly
|
||||
<T extends HdmiCecFeatureAction> void removeActionExcept(
|
||||
|
||||
@@ -229,6 +229,14 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
|
||||
super.disableDevice(initiatedByCec, callback);
|
||||
assertRunOnServiceThread();
|
||||
mService.unregisterTvInputCallback(mTvInputCallback);
|
||||
// Removing actions and invoking the callback is similar to
|
||||
// HdmiCecLocalDevicePlayback#disableDevice and HdmiCecLocalDeviceTv#disableDevice,
|
||||
// with the difference that in those classes only specific actions are removed and
|
||||
// here we remove all actions. We don't expect any issues with removing all actions
|
||||
// at this time, but we have to pay attention in the future.
|
||||
removeAllActions();
|
||||
// Call the callback instantly or else it will be called 5 seconds later.
|
||||
checkIfPendingActionsCleared();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -42,19 +42,6 @@
|
||||
-keep,allowoptimization,allowaccessmodification class * extends android.os.IInterface
|
||||
-keep,allowoptimization,allowaccessmodification class * extends android.os.IHwInterface
|
||||
|
||||
# Global entities normally kept through explicit Manifest entries
|
||||
# TODO(b/210510433): Revisit and consider generating from frameworks/base/core/res/AndroidManifest.xml,
|
||||
# by including that manifest with the library rule that triggers optimization.
|
||||
-keep,allowoptimization,allowaccessmodification class com.android.server.** extends android.app.Activity
|
||||
-keep,allowoptimization,allowaccessmodification class com.android.server.** extends android.app.Service
|
||||
-keep,allowoptimization,allowaccessmodification class com.android.server.** extends android.app.backup.BackupAgent
|
||||
-keep,allowoptimization,allowaccessmodification class com.android.server.** extends android.content.BroadcastReceiver
|
||||
-keep,allowoptimization,allowaccessmodification class com.android.server.** extends android.content.ContentProvider
|
||||
-keep,allowoptimization,allowaccessmodification class com.android.server.** extends android.preference.Preference
|
||||
-keep,allowoptimization,allowaccessmodification class com.android.server.** extends android.view.View {
|
||||
public <init>(...);
|
||||
}
|
||||
|
||||
# Various classes subclassed in or referenced via JNI in ethernet-service
|
||||
-keep public class android.net.** { *; }
|
||||
-keep,allowoptimization,allowaccessmodification class com.android.net.module.util.* { *; }
|
||||
|
||||
Reference in New Issue
Block a user