Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9d6d6f52 authored by Jared Duke's avatar Jared Duke
Browse files

Use WeaklyReferencedCallback annotation

Apply this annotation to several callback types to ensure write-only
member fields are kept during optimization, helping preserve lifecycle
semantics.

A follow-up change will clean up some of the @KeepForWeakReference
field annotations that should no longer be necessary.

Bug: 349245577
Test: FULL_SYSTEM_OPTIMIZE_JAVA=true m services
Flag: EXEMPT bugfix
Change-Id: Ied71a08d2b1a71b0e0789d863af6b61ae9b0918f
parent cf2e1f67
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import android.telephony.ims.MediaThreshold;
import android.util.Log;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.WeaklyReferencedCallback;
import com.android.internal.telephony.IPhoneStateListener;
import com.android.internal.telephony.flags.Flags;

@@ -69,6 +70,7 @@ import java.util.stream.Collectors;
 * its manifest file. Where permissions apply, they are noted in the
 * appropriate sub-interfaces.
 */
@WeaklyReferencedCallback
public class TelephonyCallback {
    private static final String LOG_TAG = "TelephonyCallback";
    /**
+2 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.os.MessageQueue;
import android.util.Log;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.WeaklyReferencedCallback;

import dalvik.annotation.optimization.FastNative;

@@ -40,6 +41,7 @@ import java.lang.ref.WeakReference;
 *
 * @hide
 */
@WeaklyReferencedCallback
public abstract class DisplayEventReceiver {

    /**
+2 −0
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ import android.view.animation.AnimationUtils;

import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.WeaklyReferencedCallback;
import com.android.internal.util.DumpUtils;
import com.android.server.DisplayThread;
import com.android.server.LocalServices;
@@ -1730,6 +1731,7 @@ public final class ColorDisplayService extends SystemService {
    /**
     * Interface for applying transforms to a given AppWindow.
     */
    @WeaklyReferencedCallback
    public interface ColorTransformController {

        /**