Merge pull request #602 from sameeragunarathne/master

refactor code for firebase cloud messaging
revert-dabc3590
Harshan Liyanage 8 years ago committed by GitHub
commit 2753deb365

@ -106,7 +106,7 @@ public class AndroidAPIUtils {
// PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
// GCMService gcmService = (GCMService) ctx.getOSGiService(GCMService.class, null);
// if (gcmService == null) {
// String msg = "GCM service has not initialized.";
// String msg = "FCM service has not initialized.";
// log.error(msg);
// throw new IllegalStateException(msg);
// }
@ -143,7 +143,7 @@ public class AndroidAPIUtils {
DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID, operation, deviceIdentifiers);
// if (activity != null) {
// GCMService gcmService = getGCMService();
// if (gcmService.isGCMEnabled()) {
// if (gcmService.isFCMEnabled()) {
// List<DeviceIdentifier> deviceIDList = deviceIDHolder.getValidDeviceIDList();
// List<Device> devices = new ArrayList<Device>(deviceIDList.size());
// for (DeviceIdentifier deviceIdentifier : deviceIDList) {

@ -52,15 +52,15 @@
</div>
</div>
<div id="gcm-inputs">
<div id="fcm-inputs">
<div class="wr-input-control">
<label class="wr-input-label" for="android-config-gcm-api-key">
<label class="wr-input-label" for="android-config-fcm-api-key">
API Key*
<span class="helper" title="GCM API Key">
<span class="helper" title="FCM API Key">
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span>
</label>
<input id="android-config-gcm-api-key" type="text" class="form-control" >
<input id="android-config-fcm-api-key" type="text" class="form-control" >
</div>
</div>
<h4>

@ -29,7 +29,7 @@ function isPositiveInteger(str) {
var notifierTypeConstants = {
"LOCAL": "1",
"GCM": "2"
"FCM": "2"
};
// Constants to define platform types available
var platformTypeConstants = {
@ -47,8 +47,8 @@ var responseCodes = {
var configParams = {
"NOTIFIER_TYPE": "notifierType",
"NOTIFIER_FREQUENCY": "notifierFrequency",
"GCM_API_KEY": "gcmAPIKey",
"GCM_SENDER_ID": "gcmSenderId",
"FCM_API_KEY": "fcmAPIKey",
"FCM_SENDER_ID": "fcmSenderId",
"ANDROID_EULA": "androidEula",
"IOS_EULA": "iosEula",
"CONFIG_COUNTRY": "configCountry",
@ -81,7 +81,7 @@ var configParams = {
};
$(document).ready(function () {
$("#gcm-inputs").hide();
$("#fcm-inputs").hide();
tinymce.init({
selector: "textarea",
height:500,
@ -113,17 +113,17 @@ $(document).ready(function () {
var config = data.configuration[i];
if (config.name == configParams["NOTIFIER_TYPE"]) {
$("#android-config-notifier").val(config.value);
if (config.value != notifierTypeConstants["GCM"]) {
$("#gcm-inputs").hide();
if (config.value != notifierTypeConstants["FCM"]) {
$("#fcm-inputs").hide();
$("#local-inputs").show();
} else {
$("#gcm-inputs").show();
$("#fcm-inputs").show();
$("#local-inputs").hide();
}
} else if (config.name == configParams["NOTIFIER_FREQUENCY"]) {
$("input#android-config-notifier-frequency").val(config.value / 1000);
} else if (config.name == configParams["GCM_API_KEY"]) {
$("input#android-config-gcm-api-key").val(config.value);
} else if (config.name == configParams["FCM_API_KEY"]) {
$("input#android-config-fcm-api-key").val(config.value);
} else if (config.name == configParams["ANDROID_EULA"]) {
$("#android-eula").val(config.value);
}
@ -139,12 +139,12 @@ $(document).ready(function () {
$("#android-config-notifier").change(function () {
var notifierType = $("#android-config-notifier").find("option:selected").attr("value");
if (notifierType != notifierTypeConstants["GCM"]) {
$("#gcm-inputs").hide();
if (notifierType != notifierTypeConstants["FCM"]) {
$("#fcm-inputs").hide();
$("#local-inputs").show();
} else {
$("#local-inputs").hide();
$("#gcm-inputs").show();
$("#fcm-inputs").show();
}
});
@ -156,8 +156,8 @@ $(document).ready(function () {
$("button#save-android-btn").click(function () {
var notifierType = $("#android-config-notifier").find("option:selected").attr("value");
var notifierFrequency = $("input#android-config-notifier-frequency").val();
var gcmAPIKey = $("input#android-config-gcm-api-key").val();
var gcmSenderId = "sender_id";
var fcmAPIKey = $("input#android-config-fcm-api-key").val();
var fcmSenderId = "sender_id";
var androidLicense = tinyMCE.activeEditor.getContent();
var errorMsgWrapper = "#android-config-error-msg";
var errorMsg = "#android-config-error-msg span";
@ -167,7 +167,7 @@ $(document).ready(function () {
} else if (notifierType == notifierTypeConstants["LOCAL"] && !isPositiveInteger(notifierFrequency)) {
$(errorMsg).text("Provided notifier frequency is invalid. ");
$(errorMsgWrapper).removeClass("hidden");
} else if (notifierType == notifierTypeConstants["GCM"] && !gcmAPIKey) {
} else if (notifierType == notifierTypeConstants["FCM"] && !fcmAPIKey) {
$(errorMsg).text("FCM API Key is a required field. It cannot be empty.");
$(errorMsgWrapper).removeClass("hidden");
} else {
@ -187,15 +187,15 @@ $(document).ready(function () {
"contentType": "text"
};
var gcmKey = {
"name": configParams["GCM_API_KEY"],
"value": gcmAPIKey,
var fcmKey = {
"name": configParams["FCM_API_KEY"],
"value": fcmAPIKey,
"contentType": "text"
};
var gcmId = {
"name": configParams["GCM_SENDER_ID"],
"value": gcmSenderId,
var fcmId = {
"name": configParams["FCM_SENDER_ID"],
"value": fcmSenderId,
"contentType": "text"
};
@ -208,9 +208,9 @@ $(document).ready(function () {
configList.push(type);
configList.push(frequency);
configList.push(androidEula);
if (notifierType == notifierTypeConstants["GCM"]) {
configList.push(gcmKey);
configList.push(gcmId);
if (notifierType == notifierTypeConstants["FCM"]) {
configList.push(fcmKey);
configList.push(fcmId);
}
addConfigFormData.type = platformTypeConstants["ANDROID"];

@ -43,8 +43,8 @@ public class AndroidDeviceManagementService implements DeviceManagementService {
public static final String DEVICE_TYPE_ANDROID = "android";
private static final String SUPER_TENANT_DOMAIN = "carbon.super";
private static final String NOTIFIER_PROPERTY = "notifierType";
private static final String GCM_API_KEY = "gcmAPIKey";
private static final String GCM_SENDER_ID = "gcmSenderId";
private static final String FCM_API_KEY = "fcmAPIKey";
private static final String FCM_SENDER_ID = "fcmSenderId";
private PolicyMonitoringManager policyMonitoringManager;
@Override
@ -92,9 +92,9 @@ public class AndroidDeviceManagementService implements DeviceManagementService {
int notifierType = Integer.parseInt(notifierValue);
if (notifierType == 2) {
HashMap<String, String> config = new HashMap<>();
config.put(GCM_API_KEY, this.getConfigProperty(configuration, GCM_API_KEY));
config.put(GCM_SENDER_ID, this.getConfigProperty(configuration, GCM_SENDER_ID));
return new PushNotificationConfig(AndroidPluginConstants.NotifierType.GCM, config);
config.put(FCM_API_KEY, this.getConfigProperty(configuration, FCM_API_KEY));
config.put(FCM_SENDER_ID, this.getConfigProperty(configuration, FCM_SENDER_ID));
return new PushNotificationConfig(AndroidPluginConstants.NotifierType.FCM, config);
}
}
}

@ -52,7 +52,7 @@ public class AndroidDeviceDAOImpl implements MobileDeviceDAO{
try {
conn = AndroidDAOFactory.getConnection();
String selectDBQuery =
"SELECT DEVICE_ID, GCM_TOKEN, DEVICE_INFO, DEVICE_MODEL, SERIAL, " +
"SELECT DEVICE_ID, FCM_TOKEN, DEVICE_INFO, DEVICE_MODEL, SERIAL, " +
"VENDOR, MAC_ADDRESS, DEVICE_NAME, LATITUDE, LONGITUDE, IMEI, IMSI, OS_VERSION, OS_BUILD_DATE" +
" FROM AD_DEVICE WHERE DEVICE_ID = ?";
stmt = conn.prepareStatement(selectDBQuery);
@ -73,7 +73,7 @@ public class AndroidDeviceDAOImpl implements MobileDeviceDAO{
mobileDevice.setOsBuildDate(rs.getString(AndroidPluginConstants.OS_BUILD_DATE));
Map<String, String> propertyMap = new HashMap<String, String>();
propertyMap.put(AndroidPluginConstants.GCM_TOKEN, rs.getString(AndroidPluginConstants.GCM_TOKEN));
propertyMap.put(AndroidPluginConstants.FCM_TOKEN, rs.getString(AndroidPluginConstants.FCM_TOKEN));
propertyMap.put(AndroidPluginConstants.DEVICE_INFO, rs.getString(AndroidPluginConstants.DEVICE_INFO));
propertyMap.put(AndroidPluginConstants.DEVICE_NAME, rs.getString(AndroidPluginConstants.DEVICE_NAME));
mobileDevice.setDeviceProperties(propertyMap);
@ -103,7 +103,7 @@ public class AndroidDeviceDAOImpl implements MobileDeviceDAO{
try {
conn = AndroidDAOFactory.getConnection();
String createDBQuery =
"INSERT INTO AD_DEVICE(DEVICE_ID, GCM_TOKEN, DEVICE_INFO, SERIAL, " +
"INSERT INTO AD_DEVICE(DEVICE_ID, FCM_TOKEN, DEVICE_INFO, SERIAL, " +
"VENDOR, MAC_ADDRESS, DEVICE_NAME, LATITUDE, LONGITUDE, IMEI, IMSI, " +
"OS_VERSION, DEVICE_MODEL, OS_BUILD_DATE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
@ -111,7 +111,7 @@ public class AndroidDeviceDAOImpl implements MobileDeviceDAO{
stmt.setString(1, mobileDevice.getMobileDeviceId());
Map<String, String> properties = mobileDevice.getDeviceProperties();
stmt.setString(2, properties.get(AndroidPluginConstants.GCM_TOKEN));
stmt.setString(2, properties.get(AndroidPluginConstants.FCM_TOKEN));
stmt.setString(3, properties.get(AndroidPluginConstants.DEVICE_INFO));
stmt.setString(4, mobileDevice.getSerial());
stmt.setString(5, mobileDevice.getVendor());
@ -149,13 +149,13 @@ public class AndroidDeviceDAOImpl implements MobileDeviceDAO{
try {
conn = AndroidDAOFactory.getConnection();
String updateDBQuery =
"UPDATE AD_DEVICE SET GCM_TOKEN = ?, DEVICE_INFO = ?, SERIAL = ?, VENDOR = ?, " +
"UPDATE AD_DEVICE SET FCM_TOKEN = ?, DEVICE_INFO = ?, SERIAL = ?, VENDOR = ?, " +
"MAC_ADDRESS = ?, DEVICE_NAME = ?, LATITUDE = ?, LONGITUDE = ?, IMEI = ?, " +
"IMSI = ?, OS_VERSION = ?, DEVICE_MODEL = ?, OS_BUILD_DATE = ? WHERE DEVICE_ID = ?";
stmt = conn.prepareStatement(updateDBQuery);
Map<String, String> properties = mobileDevice.getDeviceProperties();
stmt.setString(1, properties.get(AndroidPluginConstants.GCM_TOKEN));
stmt.setString(1, properties.get(AndroidPluginConstants.FCM_TOKEN));
stmt.setString(2, properties.get(AndroidPluginConstants.DEVICE_INFO));
stmt.setString(3, mobileDevice.getSerial());
stmt.setString(4, mobileDevice.getVendor());
@ -227,7 +227,7 @@ public class AndroidDeviceDAOImpl implements MobileDeviceDAO{
try {
conn = AndroidDAOFactory.getConnection();
String selectDBQuery =
"SELECT DEVICE_ID, GCM_TOKEN, DEVICE_INFO, DEVICE_MODEL, SERIAL, " +
"SELECT DEVICE_ID, FCM_TOKEN, DEVICE_INFO, DEVICE_MODEL, SERIAL, " +
"VENDOR, MAC_ADDRESS, DEVICE_NAME, LATITUDE, LONGITUDE, IMEI, IMSI, OS_VERSION, OS_BUILD_DATE " +
"FROM AD_DEVICE";
stmt = conn.prepareStatement(selectDBQuery);
@ -247,7 +247,7 @@ public class AndroidDeviceDAOImpl implements MobileDeviceDAO{
mobileDevice.setOsBuildDate(rs.getString(AndroidPluginConstants.OS_BUILD_DATE));
Map<String, String> propertyMap = new HashMap<>();
propertyMap.put(AndroidPluginConstants.GCM_TOKEN, rs.getString(AndroidPluginConstants.GCM_TOKEN));
propertyMap.put(AndroidPluginConstants.FCM_TOKEN, rs.getString(AndroidPluginConstants.FCM_TOKEN));
propertyMap.put(AndroidPluginConstants.DEVICE_INFO, rs.getString(AndroidPluginConstants.DEVICE_INFO));
propertyMap.put(AndroidPluginConstants.DEVICE_NAME, rs.getString(AndroidPluginConstants.DEVICE_NAME));
mobileDevice.setDeviceProperties(propertyMap);

@ -16,12 +16,12 @@
* under the License.
*/
package org.wso2.carbon.device.mgt.mobile.android.impl.gcm;
package org.wso2.carbon.device.mgt.mobile.android.impl.fcm;
/**
* Represents model object for holding GCM response data.
* Represents model object for holding FCM response data.
*/
public class GCMResult {
public class FCMResult {
private String errorMsg;
private String msg;

@ -16,7 +16,7 @@
* under the License.
*/
package org.wso2.carbon.device.mgt.mobile.android.impl.gcm;
package org.wso2.carbon.device.mgt.mobile.android.impl.fcm;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@ -26,17 +26,17 @@ import java.util.ArrayList;
import java.util.List;
/**
* GCM notification service implementation for Android platform.
* FCM notification service implementation for Android platform.
*/
public class GCMService {
public class FCMService {
private static final Log log = LogFactory.getLog(GCMService.class);
private static final Log log = LogFactory.getLog(FCMService.class);
private static final String NOTIFIER_TYPE = "notifierType";
private static final String GCM_NOTIFIER_CODE = "2";
private static final String FCM_NOTIFIER_CODE = "2";
public boolean isGCMEnabled() {
String notifierType = GCMUtil.getConfigurationProperty(NOTIFIER_TYPE);
if (GCM_NOTIFIER_CODE.equals(notifierType)) {
public boolean isFCMEnabled() {
String notifierType = FCMUtil.getConfigurationProperty(NOTIFIER_TYPE);
if (FCM_NOTIFIER_CODE.equals(notifierType)) {
return true;
}
return false;
@ -45,20 +45,20 @@ public class GCMService {
public void sendNotification(String messageData, Device device) {
List<Device> devices = new ArrayList<>(1);
devices.add(device);
GCMResult result = GCMUtil.sendWakeUpCall(messageData, devices);
FCMResult result = FCMUtil.sendWakeUpCall(messageData, devices);
if (result.getStatusCode() != 200) {
log.error("Exception occurred while sending the GCM notification : " + result.getErrorMsg());
log.error("Exception occurred while sending the FCM notification : " + result.getErrorMsg());
}
}
public void sendNotification(String messageData, List<Device> devices) {
GCMResult result = GCMUtil.sendWakeUpCall(messageData, devices);
FCMResult result = FCMUtil.sendWakeUpCall(messageData, devices);
if (result.getStatusCode() != 200) {
log.error("Exception occurred while sending the GCM notification : " + result.getErrorMsg());
log.error("Exception occurred while sending the FCM notification : " + result.getErrorMsg());
}
}
public void resetTenantConfigCache() {
GCMUtil.resetTenantConfigCache();
FCMUtil.resetTenantConfigCache();
}
}

@ -16,7 +16,7 @@
* under the License.
*/
package org.wso2.carbon.device.mgt.mobile.android.impl.gcm;
package org.wso2.carbon.device.mgt.mobile.android.impl.fcm;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
@ -45,32 +45,32 @@ import java.util.HashMap;
import java.util.List;
/**
* Implements utility methods used by GCMService.
* Implements utility methods used by FCMService.
*/
public class GCMUtil {
public class FCMUtil {
private static final Log log = LogFactory.getLog(GCMService.class);
private static final Log log = LogFactory.getLog(FCMService.class);
private final static String GCM_ENDPOINT = "https://fcm.googleapis.com/fcm/send";
private static final String GCM_API_KEY = "gcmAPIKey";
private final static String FCM_ENDPOINT = "https://fcm.googleapis.com/fcm/send";
private static final String FCM_API_KEY = "fcmAPIKey";
private static final int TIME_TO_LIVE = 60;
private static final int HTTP_STATUS_CODE_OK = 200;
private static HashMap<Integer, PlatformConfiguration> tenantConfigurationCache = new HashMap<>();
public static GCMResult sendWakeUpCall(String message, List<Device> devices) {
GCMResult result = new GCMResult();
public static FCMResult sendWakeUpCall(String message, List<Device> devices) {
FCMResult result = new FCMResult();
byte[] bytes = getGCMRequest(message, getGCMTokens(devices)).getBytes();
byte[] bytes = getFCMRequest(message, getFCMTokens(devices)).getBytes();
HttpURLConnection conn;
try {
conn = (HttpURLConnection) (new URL(GCM_ENDPOINT)).openConnection();
conn = (HttpURLConnection) (new URL(FCM_ENDPOINT)).openConnection();
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setFixedLengthStreamingMode(bytes.length);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "key=" + getConfigurationProperty(GCM_API_KEY));
conn.setRequestProperty("Authorization", "key=" + getConfigurationProperty(FCM_API_KEY));
OutputStream out = conn.getOutputStream();
out.write(bytes);
@ -86,7 +86,7 @@ public class GCMUtil {
} catch (ProtocolException e) {
log.error("Exception occurred while setting the HTTP protocol.", e);
} catch (IOException ex) {
log.error("Exception occurred while sending the GCM request.", ex);
log.error("Exception occurred while sending the FCM request.", ex);
}
return result;
@ -114,16 +114,16 @@ public class GCMUtil {
return null;
}
private static String getGCMRequest(String message, List<String> registrationIds) {
JsonObject gcmRequest = new JsonObject();
gcmRequest.addProperty("delay_while_idle", false);
gcmRequest.addProperty("time_to_live", TIME_TO_LIVE);
private static String getFCMRequest(String message, List<String> registrationIds) {
JsonObject fcmRequest = new JsonObject();
fcmRequest.addProperty("delay_while_idle", false);
fcmRequest.addProperty("time_to_live", TIME_TO_LIVE);
//Add message to GCM request
//Add message to FCM request
JsonObject data = new JsonObject();
if (message != null && !message.isEmpty()) {
data.addProperty("data", message);
gcmRequest.add("data", data);
fcmRequest.add("data", data);
}
//Set device reg-ids
@ -135,27 +135,27 @@ public class GCMUtil {
regIds.add(new JsonPrimitive(regId));
}
gcmRequest.add("registration_ids", regIds);
return gcmRequest.toString();
fcmRequest.add("registration_ids", regIds);
return fcmRequest.toString();
}
private static List<String> getGCMTokens(List<Device> devices) {
private static List<String> getFCMTokens(List<Device> devices) {
List<String> tokens = new ArrayList<>(devices.size());
for (Device device : devices) {
tokens.add(getGCMToken(device.getProperties()));
tokens.add(getFCMToken(device.getProperties()));
}
return tokens;
}
private static String getGCMToken(List<Device.Property> properties) {
String gcmToken = null;
private static String getFCMToken(List<Device.Property> properties) {
String fcmToken = null;
for (Device.Property property : properties) {
if (AndroidPluginConstants.GCM_TOKEN.equals(property.getName())) {
gcmToken = property.getValue();
if (AndroidPluginConstants.FCM_TOKEN.equals(property.getName())) {
fcmToken = property.getValue();
break;
}
}
return gcmToken;
return fcmToken;
}
public static String getConfigurationProperty(String property) {

@ -25,7 +25,7 @@ public final class AndroidPluginConstants {
//Properties related to AD_DEVICE table
public static final String DEVICE_ID = "DEVICE_ID";
public static final String GCM_TOKEN = "GCM_TOKEN";
public static final String FCM_TOKEN = "FCM_TOKEN";
public static final String DEVICE_INFO = "DEVICE_INFO";
public static final String SERIAL = "SERIAL";
public static final String DEVICE_MODEL = "DEVICE_MODEL";
@ -50,7 +50,7 @@ public final class AndroidPluginConstants {
throw new AssertionError();
}
public static final String GCM = "GCM";
public static final String FCM = "FCM";
public static final String LOCAL = "LOCAL";
}

@ -19,7 +19,7 @@
package org.wso2.carbon.device.mgt.mobile.android.internal;
import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
import org.wso2.carbon.device.mgt.mobile.android.impl.gcm.GCMService;
import org.wso2.carbon.device.mgt.mobile.android.impl.fcm.FCMService;
import org.wso2.carbon.registry.core.service.RegistryService;
/**
@ -29,7 +29,7 @@ public class AndroidDeviceManagementDataHolder {
private RegistryService registryService;
private DeviceManagementService androidDeviceManagementService;
private GCMService gcmService;
private FCMService fcmService;
private static AndroidDeviceManagementDataHolder thisInstance = new AndroidDeviceManagementDataHolder();
@ -57,11 +57,11 @@ public class AndroidDeviceManagementDataHolder {
this.androidDeviceManagementService = androidDeviceManagementService;
}
public GCMService getGCMService() {
return gcmService;
public FCMService getFCMService() {
return fcmService;
}
public void setGCMService(GCMService gcmService) {
this.gcmService = gcmService;
public void setFCMService(FCMService fcmService) {
this.fcmService = fcmService;
}
}

@ -25,7 +25,7 @@ import org.osgi.framework.ServiceRegistration;
import org.osgi.service.component.ComponentContext;
import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
import org.wso2.carbon.device.mgt.mobile.android.impl.AndroidDeviceManagementService;
import org.wso2.carbon.device.mgt.mobile.android.impl.gcm.GCMService;
import org.wso2.carbon.device.mgt.mobile.android.impl.fcm.FCMService;
import org.wso2.carbon.ndatasource.core.DataSourceService;
import org.wso2.carbon.registry.core.service.RegistryService;
@ -50,7 +50,7 @@ public class AndroidDeviceManagementServiceComponent {
private static final Log log = LogFactory.getLog(AndroidDeviceManagementServiceComponent.class);
private ServiceRegistration androidServiceRegRef;
private ServiceRegistration gcmServiceRegRef;
private ServiceRegistration fcmServiceRegRef;
protected void activate(ComponentContext ctx) {
@ -61,14 +61,14 @@ public class AndroidDeviceManagementServiceComponent {
BundleContext bundleContext = ctx.getBundleContext();
DeviceManagementService androidDeviceManagementService = new AndroidDeviceManagementService();
GCMService gcmService = new GCMService();
FCMService fcmService = new FCMService();
// androidServiceRegRef =
// bundleContext.registerService(DeviceManagementService.class.getName(),
// androidDeviceManagementService, null);
gcmServiceRegRef =
bundleContext.registerService(GCMService.class.getName(), gcmService, null);
fcmServiceRegRef =
bundleContext.registerService(FCMService.class.getName(), fcmService, null);
// Policy management service
@ -78,7 +78,7 @@ public class AndroidDeviceManagementServiceComponent {
AndroidDeviceManagementDataHolder.getInstance().setAndroidDeviceManagementService(
androidDeviceManagementService);
AndroidDeviceManagementDataHolder.getInstance().setGCMService(gcmService);
AndroidDeviceManagementDataHolder.getInstance().setFCMService(fcmService);
if (log.isDebugEnabled()) {
log.debug("Android Mobile Device Management Service Component has been successfully activated");
@ -96,8 +96,8 @@ public class AndroidDeviceManagementServiceComponent {
if (androidServiceRegRef != null) {
androidServiceRegRef.unregister();
}
if (gcmServiceRegRef != null) {
gcmServiceRegRef.unregister();
if (fcmServiceRegRef != null) {
fcmServiceRegRef.unregister();
}
if (log.isDebugEnabled()) {
log.debug(

@ -30,8 +30,8 @@ var responseCodes = {
var configParams = {
"NOTIFIER_TYPE": "notifierType",
"NOTIFIER_FREQUENCY": "notifierFrequency",
"GCM_API_KEY": "gcmAPIKey",
"GCM_SENDER_ID": "gcmSenderId",
"FCM_API_KEY": "fcmAPIKey",
"FCM_SENDER_ID": "fcmSenderId",
"ANDROID_EULA": "androidEula",
"IOS_EULA": "iosEula",
"CONFIG_COUNTRY": "configCountry",

@ -275,11 +275,11 @@
</propertyDef>
</properties>
</adviceFile>
<!--<bundles>-->
<!--<bundleDef>-->
<!--org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.mobile.android:${carbon.devicemgt.plugins.version}-->
<!--</bundleDef>-->
<!--</bundles>-->
<bundles>
<bundleDef>
org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.mobile.android:${carbon.devicemgt.plugins.version}
</bundleDef>
</bundles>
<importFeatures>
<importFeatureDef>
org.wso2.carbon.core.server:${carbon.kernel.version}

@ -4,7 +4,7 @@
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AD_DEVICE` (
`DEVICE_ID` VARCHAR(45) NOT NULL,
`GCM_TOKEN` VARCHAR(1000) NULL DEFAULT NULL,
`FCM_TOKEN` VARCHAR(1000) NULL DEFAULT NULL,
`DEVICE_INFO` VARCHAR(8000) NULL DEFAULT NULL,
`IMEI` VARCHAR(45) NULL DEFAULT NULL,
`IMSI` VARCHAR(45) NULL DEFAULT NULL,

@ -4,7 +4,7 @@
IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AD_DEVICE]') AND TYPE IN (N'U'))
CREATE TABLE AD_DEVICE (
DEVICE_ID VARCHAR(45) NOT NULL,
GCM_TOKEN VARCHAR(1000) NULL DEFAULT NULL,
FCM_TOKEN VARCHAR(1000) NULL DEFAULT NULL,
DEVICE_INFO VARCHAR(8000) NULL DEFAULT NULL,
IMEI VARCHAR(45) NULL DEFAULT NULL,
IMSI VARCHAR(45) NULL DEFAULT NULL,

@ -3,7 +3,7 @@
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AD_DEVICE` (
`DEVICE_ID` VARCHAR(45) NOT NULL,
`GCM_TOKEN` VARCHAR(1000) NULL DEFAULT NULL,
`FCM_TOKEN` VARCHAR(1000) NULL DEFAULT NULL,
`DEVICE_INFO` VARCHAR(8000) NULL DEFAULT NULL,
`IMEI` VARCHAR(45) NULL DEFAULT NULL,
`IMSI` VARCHAR(45) NULL DEFAULT NULL,

@ -4,7 +4,7 @@
CREATE TABLE AD_DEVICE (
DEVICE_ID VARCHAR(45) NOT NULL ,
DEVICE_INFO VARCHAR(4000) DEFAULT NULL,
GCM_TOKEN VARCHAR(1000) DEFAULT NULL,
FCM_TOKEN VARCHAR(1000) DEFAULT NULL,
IMEI VARCHAR(45) DEFAULT NULL,
IMSI VARCHAR(45) DEFAULT NULL,
OS_VERSION VARCHAR(45) DEFAULT NULL,

@ -4,7 +4,7 @@
CREATE TABLE IF NOT EXISTS AD_DEVICE (
DEVICE_ID VARCHAR(45) NOT NULL ,
DEVICE_INFO TEXT NULL DEFAULT NULL,
GCM_TOKEN VARCHAR(1000) NULL DEFAULT NULL,
FCM_TOKEN VARCHAR(1000) NULL DEFAULT NULL,
IMEI VARCHAR(45) NULL DEFAULT NULL,
IMSI VARCHAR(45) NULL DEFAULT NULL,
OS_VERSION VARCHAR(45) NULL DEFAULT NULL,

@ -52,6 +52,10 @@
<SharedWithAllTenants>true</SharedWithAllTenants>
</ProvisioningConfig>
<!--Configuration for enable firebase push notifications-->
<!--<PushNotificationProvider type="FCM">-->
<!--</PushNotificationProvider>-->
<DataSource>
<JndiConfig>
<Name>jdbc/MobileAndroidDM_DS</Name>
@ -60,7 +64,7 @@
<Table name="AD_DEVICE">
<PrimaryKey>DEVICE_ID</PrimaryKey>
<Attributes>
<Attribute>GCM_TOKEN</Attribute>
<Attribute>FCM_TOKEN</Attribute>
<Attribute>DEVICE_INFO</Attribute>
<Attribute>IMEI</Attribute>
<Attribute>IMSI</Attribute>

Loading…
Cancel
Save