| /* |
| * Copyright 2014 Google Inc. All rights reserved. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.google.samples.apps.iosched.sync; |
| |
| import android.content.Context; |
| |
| import com.google.samples.apps.iosched.Config; |
| |
| import java.net.HttpURLConnection; |
| import java.util.List; |
| |
| import com.turbomanage.httpclient.BasicHttpClient; |
| import com.turbomanage.httpclient.HttpResponse; |
| import com.turbomanage.httpclient.ParameterMap; |
| |
| import static com.google.samples.apps.iosched.util.LogUtils.*; |
| |
| /** |
| * Created by lwray on 5/7/14. |
| */ |
| public class EventFeedbackApi { |
| private static final String TAG = makeLogTag(EventFeedbackApi.class); |
| |
| |
| private static final String PARAMETER_EVENT_CODE = "code"; |
| private static final String PARAMETER_API_KEY = "apikey"; |
| |
| private static final String PARAMETER_SESSION_ID = "objectid"; |
| private static final String PARAMETER_SURVEY_ID = "surveyId"; |
| private static final String PARAMETER_REGISTRANT_ID = "registrantKey"; |
| private final Context mContext; |
| private final String mUrl; |
| |
| public EventFeedbackApi(Context context) { |
| mContext = context; |
| mUrl = Config.FEEDBACK_URL; |
| } |
| |
| /** |
| * Posts a session to the event server. |
| * |
| * @param sessionId The ID of the session that was reviewed. |
| * @return whether or not updating succeeded |
| */ |
| public boolean sendSessionToServer(String sessionId, List<String> questions) { |
| |
| BasicHttpClient httpClient = new BasicHttpClient(); |
| httpClient.addHeader(PARAMETER_EVENT_CODE, Config.FEEDBACK_API_CODE); |
| httpClient.addHeader(PARAMETER_API_KEY, Config.FEEDBACK_API_KEY); |
| |
| ParameterMap parameterMap = httpClient.newParams(); |
| parameterMap.add(PARAMETER_SESSION_ID, sessionId); |
| parameterMap.add(PARAMETER_SURVEY_ID, Config.FEEDBACK_SURVEY_ID); |
| parameterMap.add(PARAMETER_REGISTRANT_ID, Config.FEEDBACK_DUMMY_REGISTRANT_ID); |
| int i = 1; |
| for (String question : questions) { |
| parameterMap.add("q" + i, question); |
| i++; |
| } |
| |
| HttpResponse response = httpClient.get(mUrl, parameterMap); |
| |
| if (response != null && response.getStatus() == HttpURLConnection.HTTP_OK) { |
| LOGD(TAG, "Server returned HTTP_OK, so session posting was successful."); |
| return true; |
| } else { |
| LOGE(TAG, "Error posting session: HTTP status " + response.getStatus()); |
| return false; |
| } |
| } |
| |
| } |