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

Commit 01588aca authored by Nick Pelly's avatar Nick Pelly Committed by Android (Google) Code Review
Browse files

Merge "Preserve invariant that sService is not null (although NfcAdapter.get()...

Merge "Preserve invariant that sService is not null (although NfcAdapter.get() can return null)" into gingerbread
parents 7816eded 15bc894a
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -67,7 +67,11 @@ public final class NfcAdapterExtras {

    /** get service handles */
    private static void initService() {
        sService = sAdapter.getNfcAdapterExtrasInterface();
        final INfcAdapterExtras service = sAdapter.getNfcAdapterExtrasInterface();
        if (service != null) {
            // Leave stale rather than receive a null value.
            sService = service;
        }
    }

    /**
@@ -84,18 +88,19 @@ public final class NfcAdapterExtras {
            if (sSingleton == null) {
                try {
                    sAdapter = adapter;
                    sRouteOff = new CardEmulationRoute(CardEmulationRoute.ROUTE_OFF, null);
                    sSingleton = new NfcAdapterExtras();
                    sEmbeddedEe = new NfcExecutionEnvironment(sSingleton);
                    sRouteOff = new CardEmulationRoute(CardEmulationRoute.ROUTE_OFF, null);
                    sRouteOnWhenScreenOn = new CardEmulationRoute(
                            CardEmulationRoute.ROUTE_ON_WHEN_SCREEN_ON, sEmbeddedEe);
                    initService();
                } finally {
                    if (sSingleton == null) {
                        sService = null;
                        sEmbeddedEe = null;
                        sRouteOff = null;
                    if (sService == null) {
                        sRouteOnWhenScreenOn = null;
                        sRouteOff = null;
                        sEmbeddedEe = null;
                        sSingleton = null;
                        sAdapter = null;
                    }
                }
            }