sdk/src/com/socialize/util/DefaultAppUtils.java
@Override
	public boolean isNotificationsAvailable(Context context) {

		if(!notificationsAssessed) {
			
		    String permissionString = context.getPackageName() + ".permission.C2D_MESSAGE";
		    
			boolean ok = true;
			
			if(config.getBooleanProperty(SocializeConfig.SOCIALIZE_NOTIFICATIONS_ENABLED, true)) {
				if(!hasPermission(context, permissionString)) {
					lastNotificationWarning = "Notifications not available, permission [" + permissionString + "] not specified in AndroidManifest.xml";
					if(logger.isInfoEnabled()) logger.info(lastNotificationWarning);
					ok = false;
				}
				
				if(!hasPermission(context, "com.google.android.c2dm.permission.RECEIVE")) {
					lastNotificationWarning = "Notifications not available, permission com.google.android.c2dm.permission.RECEIVE not specified in AndroidManifest.xml, or device does not include Google APIs";
					if(logger.isInfoEnabled()) logger.info(lastNotificationWarning);
					ok = false;
				}
				
				if(config.isEntityLoaderCheckEnabled() && getSocialize().getEntityLoader() == null) {
					lastNotificationWarning = "Notifications not available. Entity loader not found.";
					if(logger.isInfoEnabled()) logger.info(lastNotificationWarning);
					ok = false;
				}
			}
			else {
				ok = false;
				if(logger.isDebugEnabled()) {
					logger.debug("SmartAlerts disabled in config");
				}
			}
			
			notificationsAvailable = ok;
			notificationsAssessed = true;
		}
		else if(!notificationsAvailable) {
			if(lastNotificationWarning != null && logger.isInfoEnabled()) {
				logger.info(lastNotificationWarning);
			}
		}

		return notificationsAvailable;
	}
@Override
	public boolean isNotificationsAvailable(Context context) {

		if(!notificationsAssessed) {
			
		    String permissionString = context.getPackageName() + ".permission.C2D_MESSAGE";
		    
			boolean ok = true;
			
			if(config.getBooleanProperty(SocializeConfig.SOCIALIZE_NOTIFICATIONS_ENABLED, true)) {
				if(!hasPermission(context, permissionString)) {
					lastNotificationWarning = "Notifications not available, permission [" + permissionString + "] not specified in AndroidManifest.xml";
					if(logger.isInfoEnabled()) logger.info(lastNotificationWarning);
					ok = false;
				}
				
				if(!hasPermission(context, "com.google.android.c2dm.permission.RECEIVE")) {
					lastNotificationWarning = "Notifications not available, permission com.google.android.c2dm.permission.RECEIVE not specified in AndroidManifest.xml, or device does not include Google APIs";
					if(logger.isInfoEnabled()) logger.info(lastNotificationWarning);
					ok = false;
				}
				
				if(config.isEntityLoaderCheckEnabled() && getSocialize().getEntityLoader() == null) {
					lastNotificationWarning = "Notifications not available. Entity loader not found.";
					if(logger.isInfoEnabled()) logger.info(lastNotificationWarning);
					ok = false;
				}
			}
			else {
				ok = false;
				if(logger.isDebugEnabled()) {
					logger.debug("SmartAlerts disabled in config");
				}
			}
			
			notificationsAvailable = ok;
			notificationsAssessed = true;
		}
		else if(!notificationsAvailable) {
			if(lastNotificationWarning != null && logger.isInfoEnabled()) {
				logger.info(lastNotificationWarning);
			}
		}

		return notificationsAvailable;
	}
@ Override public boolean isNotificationsAvailable ( Context context ) { if ( ! notificationsAssessed ) { String permissionString = context . getPackageName ( ) + ".permission.C2D_MESSAGE" ; boolean ok = true ; if ( config . getBooleanProperty ( SocializeConfig . SOCIALIZE_NOTIFICATIONS_ENABLED , true ) ) { if ( ! hasPermission ( context , permissionString ) ) { lastNotificationWarning = "Notifications not available, permission [" + permissionString + "] not specified in AndroidManifest.xml" ; if ( logger . isInfoEnabled ( ) ) logger . info ( lastNotificationWarning ) ; ok = false ; } if ( ! hasPermission ( context , "com.google.android.c2dm.permission.RECEIVE" ) ) { lastNotificationWarning = "Notifications not available, permission com.google.android.c2dm.permission.RECEIVE not specified in AndroidManifest.xml, or device does not include Google APIs" ; if ( logger . isInfoEnabled ( ) ) logger . info ( lastNotificationWarning ) ; ok = false ; } if ( config . isEntityLoaderCheckEnabled ( ) && getSocialize ( ) . getEntityLoader ( ) == null ) { lastNotificationWarning = "Notifications not available. Entity loader not found." ; if ( logger . isInfoEnabled ( ) ) logger . info ( lastNotificationWarning ) ; ok = false ; } } else { ok = false ; if ( logger . isDebugEnabled ( ) ) { logger . debug ( "SmartAlerts disabled in config" ) ; } } notificationsAvailable = ok ; notificationsAssessed = true ; } else if ( ! notificationsAvailable ) { if ( lastNotificationWarning != null && logger . isInfoEnabled ( ) ) { logger . info ( lastNotificationWarning ) ; } } return notificationsAvailable ; }
/* (non-Javadoc)
@see com.socialize.util.IAppUtils#isNotificationsAvaiable(android.content.Context)
/ * ( non - Javadoc )