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

Commit a6e7a4b5 authored by Vinit Nayak's avatar Vinit Nayak Committed by Android (Google) Code Review
Browse files

Merge "Don't throw exception for SafeCloseable objects" into udc-dev

parents b9f04842 fa5a61c8
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -136,16 +136,19 @@ public class MainThreadInitializedObject<T> {
                if (mDestroyed) {
                    Log.e(TAG, "Static object access with a destroyed context");
                }
                if (!mAllowedObjects.contains(object)) {
                    throw new IllegalStateException(
                            "Leaking unknown objects " + object + "  " + provider);
                }

                T t = (T) mObjectMap.get(object);
                if (t != null) {
                    return t;
                }
                if (Looper.myLooper() == Looper.getMainLooper()) {
                    t = createObject(provider);
                    // Check if we've explicitly allowed the object or if it's a SafeCloseable,
                    // it will get destroyed in onDestroy()
                    if (!mAllowedObjects.contains(object) && !(t instanceof SafeCloseable)) {
                        throw new IllegalStateException(
                                "Leaking unknown objects " + object + "  " + provider + " " + t);
                    }
                    mObjectMap.put(object, t);
                    mOrderedObjects.add(t);
                    return t;