public void onSubScriptionRequest(final Contact from) { String username = from.getAddress().getFullName(); String nickname = from.getName(); queryOrInsertContact(from); // FIXME Miron Uri uri = insertOrUpdateSubscription( username, nickname, Imps.Contacts.SUBSCRIPTION_TYPE_FROM, Imps.Contacts.SUBSCRIPTION_STATUS_SUBSCRIBE_PENDING); mContext .getStatusBarNotifier() .notifySubscriptionRequest( mProviderId, mAccountId, ContentUris.parseId(uri), username, nickname); final int N = mRemoteSubscriptionListeners.beginBroadcast(); for (int i = 0; i < N; i++) { ISubscriptionListener listener = mRemoteSubscriptionListeners.getBroadcastItem(i); try { listener.onSubScriptionRequest(from); } catch (RemoteException e) { // The RemoteCallbackList will take care of removing the // dead listeners. } } mRemoteSubscriptionListeners.finishBroadcast(); }
public void onSubscriptionDeclined(final String contact) { insertOrUpdateSubscription( contact, null, Imps.Contacts.SUBSCRIPTION_TYPE_NONE, Imps.Contacts.SUBSCRIPTION_STATUS_NONE); final int N = mRemoteSubscriptionListeners.beginBroadcast(); for (int i = 0; i < N; i++) { ISubscriptionListener listener = mRemoteSubscriptionListeners.getBroadcastItem(i); try { listener.onSubscriptionDeclined(contact); } catch (RemoteException e) { // The RemoteCallbackList will take care of removing the // dead listeners. } } mRemoteSubscriptionListeners.finishBroadcast(); }