Android Open Source - final_year_frontend Gcm Register Device Task






From Project

Back to project page final_year_frontend.

License

The source code is released under:

MIT License

If you think the Android project final_year_frontend 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.james.erebus.networking;
/*w  w w . j  a  va  2  s.c o m*/
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

import android.app.AlertDialog;
import android.content.Context;
import android.util.Log;

import com.google.android.gcm.GCMRegistrar;

public class GcmRegisterDeviceTask extends TimerTask{
  
  private static Context context;
  private static int failures;
  private static ArrayList<AlertDialog> dialogs = new ArrayList<AlertDialog>();

  @SuppressWarnings("deprecation")
  @Override
  public void run() {
    GCMRegistrar.checkDevice(context);

    GCMRegistrar.checkManifest(context);
    final String regId = GCMRegistrar.getRegistrationId(context);

    if (regId.equals("")) {
      GCMRegistrar.register(context, "585651294813");
    } else {
      Log.v("Gcm register tag", "Already registered");
    }
    Log.v("reg_id", regId);
    
    if(!GCMRegistrar.isRegistered(context) && GcmRegisterDeviceTask.failures < 2)
    {
      GcmRegisterDeviceTask task = new GcmRegisterDeviceTask();
      Timer t = new Timer();
      Date d = Calendar.getInstance().getTime();
      d.setSeconds(d.getSeconds() + 10);
      t.schedule(task, d);
      GcmRegisterDeviceTask.failures++;
      MiscNetworkingHelpers.handler.post(new Runnable() {

        @Override
        public void run() {
          AlertDialog.Builder builder = new AlertDialog.Builder(context);
          builder.setMessage("Cannot connect to the server, re-trying")
          .setTitle("Connection error");
          AlertDialog dialog = builder.create();
          GcmRegisterDeviceTask.dialogs.add(dialog);
          dialog.show();
        }  });      
    }
    else if(!GCMRegistrar.isRegistered(context) && GcmRegisterDeviceTask.failures >= 2)
    {
      MiscNetworkingHelpers.handler.post(new Runnable() {

        @Override
        public void run() {
          AlertDialog.Builder builder = new AlertDialog.Builder(context);
          builder.setMessage("No connection to the server - please check your wireless is on and connected to a network")
          .setTitle("Connection error");
          AlertDialog dialog = builder.create();
          for(AlertDialog retryDialog : GcmRegisterDeviceTask.dialogs)
          {
            retryDialog.dismiss();
          }
          dialog.show();
        }  });
      GcmRegisterDeviceTask.failures = 0;
    }
    else if(!GCMRegistrar.isRegistered(context) && GcmRegisterDeviceTask.failures < 2)
    {
      for(AlertDialog retryDialog : GcmRegisterDeviceTask.dialogs)
      {
        retryDialog.dismiss();
      }
    }
  }

  
  public static void setContext(Context c)
  {
    GcmRegisterDeviceTask.context = c;
  }

}




Java Source Code List

com.james.erebus.GCMIntentService.java
com.james.erebus.JSONJava.CDL.java
com.james.erebus.JSONJava.CookieList.java
com.james.erebus.JSONJava.Cookie.java
com.james.erebus.JSONJava.HTTPTokener.java
com.james.erebus.JSONJava.HTTP.java
com.james.erebus.JSONJava.JSONArray.java
com.james.erebus.JSONJava.JSONException.java
com.james.erebus.JSONJava.JSONML.java
com.james.erebus.JSONJava.JSONObject.java
com.james.erebus.JSONJava.JSONString.java
com.james.erebus.JSONJava.JSONStringer.java
com.james.erebus.JSONJava.JSONTokener.java
com.james.erebus.JSONJava.JSONWriter.java
com.james.erebus.JSONJava.XMLTokener.java
com.james.erebus.JSONJava.XML.java
com.james.erebus.core.C2DMRegistrationReceiver.java
com.james.erebus.core.CustomOnItemSelectedListener.java
com.james.erebus.core.MainActivity.java
com.james.erebus.core.MatchActivity.java
com.james.erebus.core.MatchButtonActivity.java
com.james.erebus.core.MatchOptions.java
com.james.erebus.core.MatchPreferencesFragment.java
com.james.erebus.core.Match.java
com.james.erebus.core.NotificationActivity.java
com.james.erebus.core.Notification.java
com.james.erebus.core.ParentPreferencesFragment.java
com.james.erebus.core.TournamentActivity.java
com.james.erebus.core.TournamentButtonActivity.java
com.james.erebus.core.TournamentFactory.java
com.james.erebus.core.TournamentPreferencesFragment.java
com.james.erebus.core.Tournament.java
com.james.erebus.core.TournyMatchOptions.java
com.james.erebus.misc.AppConsts.java
com.james.erebus.misc.MiscJsonHelpers.java
com.james.erebus.misc.misc.java
com.james.erebus.networking.AddDeviceTask.java
com.james.erebus.networking.AddMatchSubscriptionTask.java
com.james.erebus.networking.AddTournamentSubscriptionToServerTask.java
com.james.erebus.networking.GcmRegisterDeviceTask.java
com.james.erebus.networking.GetMatchesTask.java
com.james.erebus.networking.GetTournamentsTask.java
com.james.erebus.networking.MatchRetriever.java
com.james.erebus.networking.MatchSubscriptionManager.java
com.james.erebus.networking.MiscNetworkingHelpers.java
com.james.erebus.networking.NotificationManager.java
com.james.erebus.networking.RemoveMatchSubscriptionFromServerTask.java
com.james.erebus.networking.RemoveTournamentSubscriptionFromServerTask.java
com.james.erebus.networking.Retriever.java
com.james.erebus.networking.SubscriptionManager.java
com.james.erebus.networking.SubscriptionRetriever.java
com.james.erebus.networking.TournamentRetriever.java
com.james.erebus.networking.TournamentSubscriptionManager.java