/* DConnectAvailabilityProfile.java Copyright (c) 2015 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.manager.profile; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import org.deviceconnect.android.manager.R; import org.deviceconnect.android.profile.DConnectProfile; import org.deviceconnect.android.profile.api.DConnectApi; import org.deviceconnect.android.profile.api.GetApi; import org.deviceconnect.message.DConnectMessage; import org.deviceconnect.profile.AvailabilityProfileConstants; /** * Availability Profile. * * @author NTT DOCOMO, Inc. */ public class DConnectAvailabilityProfile extends DConnectProfile implements AvailabilityProfileConstants { public DConnectAvailabilityProfile() { addApi(mGetRequest); } @Override public String getProfileName() { return PROFILE_NAME; } private final DConnectApi mGetRequest = new GetApi() { @Override public boolean onRequest(final Intent request, final Intent response) { SharedPreferences sp = getContext().getSharedPreferences(getContext().getPackageName() + "_preferences", Context.MODE_PRIVATE); if (sp.getBoolean(getContext().getString(R.string.key_settings_dconn_availability_visible_name), false)) { setName(response, sp.getString(getContext().getString(R.string.key_settings_dconn_name), null)); } setResult(response, DConnectMessage.RESULT_OK); return true; } }; public static void setName(final Intent response, final String name) { response.putExtra(PARAM_NAME, name); } }