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

Commit 0d4a4e6e authored by Martijn Coenen's avatar Martijn Coenen Committed by Android Git Automerger
Browse files

am a603f083: am 2bf6529b: Merge "Verify NFC permission immediately on API calls." into lmp-mr1-dev

* commit 'a603f083':
  Verify NFC permission immediately on API calls.
parents bbf0f662 a603f083
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -60,4 +60,6 @@ interface INfcAdapter

    void addNfcUnlockHandler(INfcUnlockHandler unlockHandler, in int[] techList);
    void removeNfcUnlockHandler(INfcUnlockHandler unlockHandler);

    void verifyNfcPermission();
}
+28 −0
Original line number Diff line number Diff line
@@ -254,7 +254,11 @@ public final class NfcActivityManager extends IAppCallback.Stub
            isResumed = state.resumed;
        }
        if (isResumed) {
            // requestNfcServiceCallback() verifies permission also
            requestNfcServiceCallback();
        } else {
            // Crash API calls early in case NFC permission is missing
            verifyNfcPermission();
        }
    }

@@ -268,7 +272,11 @@ public final class NfcActivityManager extends IAppCallback.Stub
            isResumed = state.resumed;
        }
        if (isResumed) {
            // requestNfcServiceCallback() verifies permission also
            requestNfcServiceCallback();
        } else {
            // Crash API calls early in case NFC permission is missing
            verifyNfcPermission();
        }
    }

@@ -281,7 +289,11 @@ public final class NfcActivityManager extends IAppCallback.Stub
            isResumed = state.resumed;
        }
        if (isResumed) {
            // requestNfcServiceCallback() verifies permission also
            requestNfcServiceCallback();
        } else {
            // Crash API calls early in case NFC permission is missing
            verifyNfcPermission();
        }
    }

@@ -295,7 +307,11 @@ public final class NfcActivityManager extends IAppCallback.Stub
            isResumed = state.resumed;
        }
        if (isResumed) {
            // requestNfcServiceCallback() verifies permission also
            requestNfcServiceCallback();
        } else {
            // Crash API calls early in case NFC permission is missing
            verifyNfcPermission();
        }
    }

@@ -308,7 +324,11 @@ public final class NfcActivityManager extends IAppCallback.Stub
            isResumed = state.resumed;
        }
        if (isResumed) {
            // requestNfcServiceCallback() verifies permission also
            requestNfcServiceCallback();
        } else {
            // Crash API calls early in case NFC permission is missing
            verifyNfcPermission();
        }
    }

@@ -324,6 +344,14 @@ public final class NfcActivityManager extends IAppCallback.Stub
        }
    }

    void verifyNfcPermission() {
        try {
            NfcAdapter.sService.verifyNfcPermission();
        } catch (RemoteException e) {
            mAdapter.attemptDeadServiceRecovery(e);
        }
    }

    /** Callback from NFC service, usually on binder thread */
    @Override
    public BeamShareData createBeamShareData() {