1 /* 2 * Copyright (C) 2013 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.nfc; 18 19 import android.content.ComponentName; 20 import android.nfc.INfcEventCallback; 21 22 import android.nfc.cardemulation.AidGroup; 23 import android.nfc.cardemulation.ApduServiceInfo; 24 import android.os.RemoteCallback; 25 26 /** 27 * @hide 28 */ 29 interface INfcCardEmulation 30 { isDefaultServiceForCategory(int userHandle, in ComponentName service, String category)31 boolean isDefaultServiceForCategory(int userHandle, in ComponentName service, String category); isDefaultServiceForAid(int userHandle, in ComponentName service, String aid)32 boolean isDefaultServiceForAid(int userHandle, in ComponentName service, String aid); setDefaultServiceForCategory(int userHandle, in ComponentName service, String category)33 boolean setDefaultServiceForCategory(int userHandle, in ComponentName service, String category); setDefaultForNextTap(int userHandle, in ComponentName service)34 boolean setDefaultForNextTap(int userHandle, in ComponentName service); setShouldDefaultToObserveModeForService(int userId, in android.content.ComponentName service, boolean enable)35 boolean setShouldDefaultToObserveModeForService(int userId, in android.content.ComponentName service, boolean enable); registerAidGroupForService(int userHandle, in ComponentName service, in AidGroup aidGroup)36 boolean registerAidGroupForService(int userHandle, in ComponentName service, in AidGroup aidGroup); registerPollingLoopFilterForService(int userHandle, in ComponentName service, in String pollingLoopFilter, boolean autoTransact)37 boolean registerPollingLoopFilterForService(int userHandle, in ComponentName service, in String pollingLoopFilter, boolean autoTransact); registerPollingLoopPatternFilterForService(int userHandle, in ComponentName service, in String pollingLoopPatternFilter, boolean autoTransact)38 boolean registerPollingLoopPatternFilterForService(int userHandle, in ComponentName service, in String pollingLoopPatternFilter, boolean autoTransact); setOffHostForService(int userHandle, in ComponentName service, in String offHostSecureElement)39 boolean setOffHostForService(int userHandle, in ComponentName service, in String offHostSecureElement); unsetOffHostForService(int userHandle, in ComponentName service)40 boolean unsetOffHostForService(int userHandle, in ComponentName service); getAidGroupForService(int userHandle, in ComponentName service, String category)41 AidGroup getAidGroupForService(int userHandle, in ComponentName service, String category); removeAidGroupForService(int userHandle, in ComponentName service, String category)42 boolean removeAidGroupForService(int userHandle, in ComponentName service, String category); removePollingLoopFilterForService(int userHandle, in ComponentName service, in String pollingLoopFilter)43 boolean removePollingLoopFilterForService(int userHandle, in ComponentName service, in String pollingLoopFilter); removePollingLoopPatternFilterForService(int userHandle, in ComponentName service, in String pollingLoopPatternFilter)44 boolean removePollingLoopPatternFilterForService(int userHandle, in ComponentName service, in String pollingLoopPatternFilter); getServices(int userHandle, in String category)45 List<ApduServiceInfo> getServices(int userHandle, in String category); setPreferredService(in ComponentName service)46 boolean setPreferredService(in ComponentName service); unsetPreferredService()47 boolean unsetPreferredService(); supportsAidPrefixRegistration()48 boolean supportsAidPrefixRegistration(); getPreferredPaymentService(int userHandle)49 ApduServiceInfo getPreferredPaymentService(int userHandle); setServiceEnabledForCategoryOther(int userHandle, in ComponentName app, boolean status)50 int setServiceEnabledForCategoryOther(int userHandle, in ComponentName app, boolean status); isDefaultPaymentRegistered()51 boolean isDefaultPaymentRegistered(); 52 overrideRoutingTable(int userHandle, String protocol, String technology, in String pkg)53 void overrideRoutingTable(int userHandle, String protocol, String technology, in String pkg); recoverRoutingTable(int userHandle)54 void recoverRoutingTable(int userHandle); isEuiccSupported()55 boolean isEuiccSupported(); getDefaultNfcSubscriptionId(in String pkg)56 int getDefaultNfcSubscriptionId(in String pkg); setDefaultNfcSubscriptionId(int subscriptionId, in String pkg)57 int setDefaultNfcSubscriptionId(int subscriptionId, in String pkg); setAutoChangeStatus(boolean state)58 void setAutoChangeStatus(boolean state); isAutoChangeEnabled()59 boolean isAutoChangeEnabled(); getRoutingStatus()60 List<String> getRoutingStatus(); overwriteRoutingTable(int userHandle, String emptyAid, String protocol, String tech, String sc)61 void overwriteRoutingTable(int userHandle, String emptyAid, String protocol, String tech, String sc); 62 registerNfcEventCallback(in INfcEventCallback listener)63 void registerNfcEventCallback(in INfcEventCallback listener); unregisterNfcEventCallback(in INfcEventCallback listener)64 void unregisterNfcEventCallback(in INfcEventCallback listener); 65 } 66