Sha256: 231cde8099d7e89bccc814e46e2df737b5b24891d05e8e67c4fa9db1e1d6c6c4

Contents?: true

Size: 1.57 KB

Versions: 9

Compression:

Stored size: 1.57 KB

Contents

package com.rhomobile.rhodes;

import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Build;

public class PushService {

	private static final String TAG = "PushService";
	
	public static final String C2DM_INTENT_PREFIX = "com.google.android.c2dm.intent.";
	
	private static void checkCapabilities() throws IllegalAccessException {
		if (!Capabilities.PUSH_ENABLED)
			throw new IllegalAccessException("Capability PUSH disabled");
	}
	
	private static boolean isOsVersionEnough() {
		int sdkVersion = Integer.parseInt(Build.VERSION.SDK);
		return sdkVersion >= Build.VERSION_CODES.FROYO;
	}
	
	public static void register() throws IllegalAccessException {
		if (!isOsVersionEnough())
			return;
		
		checkCapabilities();
		
		Logger.D(TAG, "Register for PUSH messages (use \"" + Push.SENDER + "\" as sender)");
		
		Context ctx = RhodesService.getContext();
		Intent registrationIntent = new Intent(C2DM_INTENT_PREFIX + "REGISTER");
		registrationIntent.putExtra("app", PendingIntent.getBroadcast(ctx, 0, new Intent(), 0));
		registrationIntent.putExtra("sender", Push.SENDER);
		ctx.startService(registrationIntent);
	}
	
	public static void unregister() throws IllegalAccessException {
		if (!isOsVersionEnough())
			return;
		
		checkCapabilities();
		
		Logger.D(TAG, "Unregister from PUSH messages");
		
		Context ctx = RhodesService.getContext();
		Intent unregIntent = new Intent(C2DM_INTENT_PREFIX + "UNREGISTER");
		unregIntent.putExtra("app", PendingIntent.getBroadcast(ctx, 0, new Intent(), 0));
		ctx.startService(unregIntent);
	}
	
}

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rhodes-2.3.2 platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java
rhodes-2.3.2.beta.2 platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java
rhodes-2.3.2.beta.1 platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java
rhodes-2.3.1 platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java
rhodes-2.3.1.beta.1 platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java
rhodes-2.3.0 platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java
rhodes-2.3.0.beta.3 platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java
rhodes-2.3.0.beta.2 platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java
rhodes-2.3.0.beta.1 platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java