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

Commit 2520ed8c authored by satok's avatar satok
Browse files

Resolve memory leak in TextServicesManagerService

Bug: 5499490
Change-Id: I3537b0d733a53d4783902a545cd9ecc7e4c2eac1
parent b4529b0a
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -635,7 +635,9 @@ public class TextServicesManagerService extends ITextServicesManager.Stub {
                    if (DBG) {
                        Slog.w(TAG, "Remove " + removeList.get(i));
                    }
                    mListeners.remove(removeList.get(i));
                    final InternalDeathRecipient idr = removeList.get(i);
                    idr.mScListener.asBinder().unlinkToDeath(idr, 0);
                    mListeners.remove(idr);
                }
                cleanLocked();
            }
@@ -664,6 +666,11 @@ public class TextServicesManagerService extends ITextServicesManager.Stub {
        public void removeAll() {
            Slog.e(TAG, "Remove the spell checker bind unexpectedly.");
            synchronized(mSpellCheckerMap) {
                final int size = mListeners.size();
                for (int i = 0; i < size; ++i) {
                    final InternalDeathRecipient idr = mListeners.get(i);
                    idr.mScListener.asBinder().unlinkToDeath(idr, 0);
                }
                mListeners.clear();
                cleanLocked();
            }