Android Open Source - SurveySDK_android C2 D M Registration Receiver From Project Back to project page SurveySDK_android .
License The source code is released under:
Apache License
If you think the Android project SurveySDK_android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.survey.android.c2dm;
/ * f r o m w w w . j a v a 2 s . c o m * /
import java.io.IOException;
import org.json.JSONException;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.preference.PreferenceManager;
import com.survey.android.containers.AppContainer;
import com.survey.android.util.ConstantData;
import com.survey.android.util.Log;
import com.survey.android.util.WhiteLabel;
import com.survey.android.webclient.RestClient;
public class C2DMRegistrationReceiver extends BroadcastReceiver {
private static final String TAG = "C2DMRegistrationReceiver" ;
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.d(TAG, "onReceive action: " + action);
if ("com.google.android.c2dm.intent.REGISTRATION" .equals(action)) {
final String registrationId = intent
.getStringExtra("registration_id" );
Log.d(TAG, "registration_id: " + registrationId);
String error = intent.getStringExtra("error" );
String unregistered = intent.getStringExtra("unregistered" );
if (ConstantData.WHITE_LABEL_APP.isWhiteLabel(WhiteLabel.SURVEY)) {
Log.d(TAG, "error: " + error);
Log.d(TAG, "unregistered: " + unregistered);
}
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(context);
String token = prefs.getString("token" , null);
if (token != null && token.length() > 0) {
String userId;
try {
userId = RestClient.getUserIdByToken(token).getString("user_id" );
Intent i = new Intent(context, RegService.class);
i.putExtra("registration_id" , registrationId);
i.putExtra("token" , token);
i.putExtra("user_id" , userId);
i.putExtra("device_id" , AppContainer.device_id);
i.setAction(android.content.Intent.ACTION_VIEW);
context.startService(i);
} catch (JSONException e) {
if (ConstantData.WHITE_LABEL_APP.isWhiteLabel(WhiteLabel.SURVEY))
Log.e(TAG, "JSONexc: " + e);
else
e.printStackTrace();
} catch (IOException e) {
if (ConstantData.WHITE_LABEL_APP.isWhiteLabel(WhiteLabel.SURVEY))
Log.e(TAG, "IOException: " + e);
else
e.printStackTrace();
}
saveRegistrationId(context, registrationId);
}
} else {
Log.d("REG_3" , "Unused Intent action" );
}
}
private void saveRegistrationId(Context context, String registrationId) {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(context);
Editor edit = prefs.edit();
Log.d(TAG, "saving registraion_id: " + registrationId);
edit.putString("registration_id" , registrationId);
edit.commit();
}
}
Java Source Code List android.UnusedStub.java com.google.android.gms.BuildConfig.java com.google.android.gms.BuildConfig.java com.survey.android.UnusedStub.java com.survey.android.c2dm.C2DMRegistrationReceiver.java com.survey.android.c2dm.C2DMTokenRefresher.java com.survey.android.c2dm.GcmBroadcastReceiver.java com.survey.android.c2dm.GcmNotificationReceiver.java com.survey.android.c2dm.GcmRegistrationService.java com.survey.android.c2dm.RegService.java com.survey.android.common.PlacesAutoCompleteAdapter.java com.survey.android.common.Themes.java com.survey.android.containers.AppContainer.java com.survey.android.containers.PollContainer.java com.survey.android.custom_widgets.FontTextView.java com.survey.android.custom_widgets.PollRatingsScaleLabeled.java com.survey.android.custom_widgets.PollRatings.java com.survey.android.custom_widgets.PollSelectionTable.java com.survey.android.db.SerializationHelper.java com.survey.android.db.SerializationManager.java com.survey.android.fragment.AudioRecorderFragment.java com.survey.android.geofence.GeofenceRemover.java com.survey.android.geofence.GeofenceRequester.java com.survey.android.geofence.GeofenceUtils.java com.survey.android.geofence.LocationServiceErrorMessages.java com.survey.android.geofence.ReceiveTransitionsIntentService.java com.survey.android.geofence.SimpleGeofenceStore.java com.survey.android.geofence.SimpleGeofence.java com.survey.android.model.AnswerModel.java com.survey.android.model.CategoryModel.java com.survey.android.model.CurrentSectionModel.java com.survey.android.model.Prefs.java com.survey.android.model.QuestionModel.java com.survey.android.model.ResponseModel.java com.survey.android.model.SurveyModel.java com.survey.android.model.UserModel.java com.survey.android.services.BackgroundUploader.java com.survey.android.services.DataBroadcastReceiver.java com.survey.android.services.DeviceStartUpReceiver.java com.survey.android.services.GeoSurveyPollService.java com.survey.android.services.LocationTesterService.java com.survey.android.services.ReferrerCatcher.java com.survey.android.session.Configuration.java com.survey.android.session.Session.java com.survey.android.util.Base64.java com.survey.android.util.ConstantData.java com.survey.android.util.GeoPush.java com.survey.android.util.GeoTriggerBroadcastReceiver.java com.survey.android.util.GeoTrigger.java com.survey.android.util.LocationLog.java com.survey.android.util.Log.java com.survey.android.util.StrToIntMap.java com.survey.android.util.StrToStrMap.java com.survey.android.util.Toiler.java com.survey.android.util.WhiteLabel.java com.survey.android.view.Dashboard.java com.survey.android.view.Gallery.java com.survey.android.view.LocalizedFragmentActivity.java com.survey.android.view.Main.java com.survey.android.view.Notification.java com.survey.android.view.Question.java com.survey.android.view.Survey.java com.survey.android.view.ThemeCustomizer.java com.survey.android.view.themed.DashboardThemed.java com.survey.android.view.themed.MainThemed.java com.survey.android.view.themed.NotificationThemed.java com.survey.android.view.themed.QuestionThemed.java com.survey.android.view.themed.SurveyThemed.java com.survey.android.webclient.HttpRequest.java com.survey.android.webclient.HttpsClient.java com.survey.android.webclient.RestClient.java com.survey.android.webclient.SurveyHttpClient.java com.survey.android.webclient.SurveyRequest.java com.survey.android.webclient.SurveySSLSocketFactory.java com.survey.android.webclient.SurveyX509TrustManager.java com.survey.android.widget.Widget.java com.survey.androiddemo.AppContainer.java com.survey.androiddemo.LoginActivity.java com.survey.androiddemo.MainActivity.java com.survey.androiddemo.SDKConfigSettings.java