/* WebRTCSystemProfile.java Copyright (c) 2015 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.deviceplugin.webrtc.profile; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import org.deviceconnect.android.deviceplugin.webrtc.WebRTCApplication; import org.deviceconnect.android.deviceplugin.webrtc.setting.SettingActivity; import org.deviceconnect.android.event.EventManager; import org.deviceconnect.android.message.DConnectMessageService; import org.deviceconnect.android.message.MessageUtils; import org.deviceconnect.android.profile.SystemProfile; import org.deviceconnect.android.profile.api.DConnectApi; import org.deviceconnect.android.profile.api.DeleteApi; import org.deviceconnect.message.DConnectMessage; /** * System Profile. * * @author NTT DOCOMO, INC. */ public class WebRTCSystemProfile extends SystemProfile { private final DConnectApi mDeleteEventsApi = new DeleteApi() { @Override public boolean onRequest(final Intent request, final Intent response) { String sessionKey = getSessionKey(request); if (sessionKey == null || sessionKey.length() == 0) { MessageUtils.setInvalidRequestParameterError(response); return true; } boolean eventsDeleted = deleteEvents(); if (!eventsDeleted) { MessageUtils.setUnknownError(response); } if (EventManager.INSTANCE.removeEvents(sessionKey)) { setResult(response, DConnectMessage.RESULT_OK); } else { MessageUtils.setUnknownError(response); } return true; } }; public WebRTCSystemProfile() { addApi(mDeleteEventsApi); } @Override protected Class<? extends Activity> getSettingPageActivity(final Intent request, final Bundle param) { return SettingActivity.class; } private boolean deleteEvents() { DConnectMessageService s = (DConnectMessageService) getContext(); WebRTCApplication app = (WebRTCApplication) s.getApplication(); app.destroyPeer(); return true; } }