Skip to content

Commit c5f3fd6

Browse files
Martijn CoenenAndroid (Google) Code Review
authored andcommitted
Merge "Revert "Remove deprecated (hidden) enableForegroundNdefPush API's." (DO NOT MERGE)." into ics-mr1
2 parents 41ffab8 + 0946fe5 commit c5f3fd6

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)