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

Commit c1b7c374 authored by Vairavan Srinivasan's avatar Vairavan Srinivasan
Browse files

HandlerCaller: Fix to remove references in recycled args

Change-Id: I8ec735a0deafe6a9e0a6849453f8e8a3586c083e
parent f82fa927
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -45,6 +45,19 @@ public class HandlerCaller {
        public int argi4;
        public int argi5;
        public int argi6;

        /*package*/ void clearForRecycle() {
             arg1 = null;
             arg2 = null;
             arg3 = null;
             arg4 = null;
             argi1 = 0;
             argi2 = 0;
             argi3 = 0;
             argi4 = 0;
             argi5 = 0;
             argi6 = 0;
        }
    }
    
    static final int ARGS_POOL_MAX_SIZE = 10;
@@ -96,6 +109,7 @@ public class HandlerCaller {
    public void recycleArgs(SomeArgs args) {
        synchronized (mH) {
            if (mArgsPoolSize < ARGS_POOL_MAX_SIZE) {
                args.clearForRecycle();
                args.next = mArgsPool;
                mArgsPool = args;
                mArgsPoolSize++;