@Override
 public ServiceSubscription<WebAppPinStatusListener> subscribeIsWebAppPinned(
     String webAppId, WebAppPinStatusListener listener) {
   mWebAppPinnedSubscription =
       service.getWebAppLauncher().subscribeIsWebAppPinned(webAppId, listener);
   return mWebAppPinnedSubscription;
 }
  @Override
  public void close(ResponseListener<Object> listener) {
    mActiveCommands.clear();

    if (mPlayStateSubscription != null) {
      mPlayStateSubscription.unsubscribe();
      mPlayStateSubscription = null;
    }

    if (mMessageSubscription != null) {
      mMessageSubscription.unsubscribe();
      mMessageSubscription = null;
    }

    if (mWebAppPinnedSubscription != null) {
      mWebAppPinnedSubscription.unsubscribe();
      mWebAppPinnedSubscription = null;
    }

    service.getWebAppLauncher().closeWebApp(launchSession, listener);
  }
 @Override
 public void isWebAppPinned(String webAppId, WebAppPinStatusListener listener) {
   service.getWebAppLauncher().isWebAppPinned(webAppId, listener);
 }
 @Override
 public void unPinWebApp(String webAppId, ResponseListener<Object> listener) {
   service.getWebAppLauncher().unPinWebApp(webAppId, listener);
 }