Skip to content

Commit 0946fe5

Browse files
author
Martijn Coenen
committed
Revert "Remove deprecated (hidden) enableForegroundNdefPush API's." (DO NOT MERGE).
This reverts commit 562dfff. These API's are still used by GMM in the version that ships with MR1, so we need them to keep Beam working for GMM. Note that these APIs are hidden. From version 5.13 onwards GMM will use the new API's. Change-Id: I316a9c9b7d0052a14f6c1df70f2ed463bca61800
1 parent c1c5d4f commit 0946fe5

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

core/java/android/nfc/NfcAdapter.java

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -767,6 +767,61 @@ public void disableForegroundNdefPush(Activity activity) {
767767
mNfcActivityManager.setOnNdefPushCompleteCallback(activity, null);
768768
}
769769

770+
/**
771+
* TODO: Remove this once pre-built apk's (Maps, Youtube etc) are updated
772+
* @deprecated use {@link CreateNdefMessageCallback} or {@link OnNdefPushCompleteCallback}
773+
* @hide
774+
*/
775+
@Deprecated
776+
public interface NdefPushCallback {
777+
/**
778+
* @deprecated use {@link CreateNdefMessageCallback} instead
779+
*/
780+
@Deprecated
781+
NdefMessage createMessage();
782+
/**
783+
* @deprecated use{@link OnNdefPushCompleteCallback} instead
784+
*/
785+
@Deprecated
786+
void onMessagePushed();
787+
}
788+
789+
/**
790+
* TODO: Remove this
791+
* Converts new callbacks to old callbacks.
792+
*/
793+
static final class LegacyCallbackWrapper implements CreateNdefMessageCallback,
794+
OnNdefPushCompleteCallback {
795+
final NdefPushCallback mLegacyCallback;
796+
LegacyCallbackWrapper(NdefPushCallback legacyCallback) {
797+
mLegacyCallback = legacyCallback;
798+
}
799+
@Override
800+
public void onNdefPushComplete(NfcEvent event) {
801+
mLegacyCallback.onMessagePushed();
802+
}
803+
@Override
804+
public NdefMessage createNdefMessage(NfcEvent event) {
805+
return mLegacyCallback.createMessage();
806+
}
807+
}
808+
809+
/**
810+
* TODO: Remove this once pre-built apk's (Maps, Youtube etc) are updated
811+
* @deprecated use {@link #setNdefPushMessageCallback} instead
812+
* @hide
813+
*/
814+
@Deprecated
815+
public void enableForegroundNdefPush(Activity activity, final NdefPushCallback callback) {
816+
if (activity == null || callback == null) {
817+
throw new NullPointerException();
818+
}
819+
enforceResumed(activity);
820+
LegacyCallbackWrapper callbackWrapper = new LegacyCallbackWrapper(callback);
821+
mNfcActivityManager.setNdefPushMessageCallback(activity, callbackWrapper);
822+
mNfcActivityManager.setOnNdefPushCompleteCallback(activity, callbackWrapper);
823+
}
824+
770825
/**
771826
* Enable NDEF Push feature.
772827
* <p>This API is for the Settings application.

0 commit comments

Comments
 (0)