Android Open Source - geocamTalkAndroid C2 D M Reciever






From Project

Back to project page geocamTalkAndroid.

License

The source code is released under:

NASA OPEN SOURCE AGREEMENT VERSION 1.3 THIS OPEN SOURCE AGREEMENT ("AGREEMENT") DEFINES THE RIGHTS OF USE, REPRODUCTION, DISTRIBUTION, MODIFICATION AND REDISTRIBUTION OF CERTAIN COMPUTER SOFTWARE ORI...

If you think the Android project geocamTalkAndroid 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

// __BEGIN_LICENSE__
// Copyright (C) 2008-2010 United States Government as represented by
// the Administrator of the National Aeronautics and Space Administration.
// All Rights Reserved.
// __END_LICENSE__
/*from  ww w .jav  a2s. c  om*/
package gov.nasa.arc.geocam.talk.service;

import gov.nasa.arc.geocam.talk.bean.TalkServerIntent;
import roboguice.receiver.RoboBroadcastReceiver;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

import com.google.inject.Inject;

/**
 * This BroadcastReciever is filtered to only receive c2dm-related messages and
 * delegate them to the appropriate activity / service.
 */
public class C2DMReciever extends RoboBroadcastReceiver {

  /** The intent helper. */
  @Inject private IIntentHelper intentHelper;

  /* (non-Javadoc)
   * @see roboguice.receiver.RoboBroadcastReceiver#handleReceive(android.content.Context, android.content.Intent)
   */
  @Override
  public void handleReceive(Context context, Intent intent) {
    if (intent.getAction().equals("com.google.android.c2dm.intent.REGISTRATION")) {
      // we've received a registration response
      handleRegistration(context, intent);
    } else if (intent.getAction().equals("com.google.android.c2dm.intent.RECEIVE")) {
      // we've received a push notification w/ paylaod
      handleMessage(context, intent);
    }
    setResult(Activity.RESULT_OK, null /* data */, null /* extra */);
  }

  /**
   * Handle a registration intent sent by the Google servers.
   *
   * @param context the context
   * @param intent the intent
   */
  private void handleRegistration(Context context, Intent intent) {
    String registration = intent.getStringExtra(TalkServerIntent.EXTRA_REGISTRATION_ID
        .toString());
    if (intent.getStringExtra("error") != null) {
      Log.e("Talk", "Registration Error");
    } else if (intent.getStringExtra("unregistered") != null) {
      // try to re-register
      intentHelper.RegisterC2dm();
      Log.e("Talk", "Registration not active!");
    } else if (registration != null) {
      Log.i("Talk", "Registration received!");
      intentHelper.StoreC2dmRegistrationId(registration);
    }
  }

  /**
   * Handle a push notification intent sent by the Google servers.
   *
   * @param context the context
   * @param intent the intent
   */
  private void handleMessage(Context context, Intent intent) {
    String messageId = intent.getStringExtra(TalkServerIntent.EXTRA_MESSAGE_ID.toString());
    if (messageId != null) {
      Log.i("Talk", "Message received!");
      intentHelper.PushedMessage(messageId);
    } else {
      Log.e("Talk", "Message received without a message id!");
    }
  }
}




Java Source Code List

gov.nasa.arc.geocam.talk.GeoCamTalkModule.java
gov.nasa.arc.geocam.talk.GeoCamTalkRoboApplication.java
gov.nasa.arc.geocam.talk.UIUtils.java
gov.nasa.arc.geocam.talk.activity.AuthenticatedBaseActivity.java
gov.nasa.arc.geocam.talk.activity.GeoCamTalkActivity.java
gov.nasa.arc.geocam.talk.activity.GeoCamTalkCreateActivity.java
gov.nasa.arc.geocam.talk.activity.GeoCamTalkLogon.java
gov.nasa.arc.geocam.talk.activity.GeoCamTalkMapActivity.java
gov.nasa.arc.geocam.talk.activity.GeoCamTalkMessageAdapter.java
gov.nasa.arc.geocam.talk.activity.SettingsActivity.java
gov.nasa.arc.geocam.talk.bean.GeoCamTalkMessage.java
gov.nasa.arc.geocam.talk.bean.ServerResponse.java
gov.nasa.arc.geocam.talk.bean.TalkServerIntent.java
gov.nasa.arc.geocam.talk.exception.AuthenticationFailedException.java
gov.nasa.arc.geocam.talk.service.AudioPlayer.java
gov.nasa.arc.geocam.talk.service.AudioRecorder.java
gov.nasa.arc.geocam.talk.service.C2DMReciever.java
gov.nasa.arc.geocam.talk.service.DatabaseHelper.java
gov.nasa.arc.geocam.talk.service.GeoCamSynchronizationTimerTask.java
gov.nasa.arc.geocam.talk.service.GeoLocationListener.java
gov.nasa.arc.geocam.talk.service.IAudioPlayer.java
gov.nasa.arc.geocam.talk.service.IAudioRecorder.java
gov.nasa.arc.geocam.talk.service.IDatabaseHelper.java
gov.nasa.arc.geocam.talk.service.IGeoCamSynchronizationTimerTask.java
gov.nasa.arc.geocam.talk.service.IIntentHelper.java
gov.nasa.arc.geocam.talk.service.IMessageStore.java
gov.nasa.arc.geocam.talk.service.ISiteAuth.java
gov.nasa.arc.geocam.talk.service.ITalkJsonConverter.java
gov.nasa.arc.geocam.talk.service.ITalkServer.java
gov.nasa.arc.geocam.talk.service.IntentHelper.java
gov.nasa.arc.geocam.talk.service.MessageStore.java
gov.nasa.arc.geocam.talk.service.SiteAuthCookie.java
gov.nasa.arc.geocam.talk.service.TalkJsonConverter.java
gov.nasa.arc.geocam.talk.service.TalkMapOverlay.java
gov.nasa.arc.geocam.talk.service.TalkServer.java