diff --git a/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/pom.xml b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/pom.xml
new file mode 100644
index 0000000000..0ae9c8699b
--- /dev/null
+++ b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/pom.xml
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+ org.wso2.carbon.devicemgt-plugins
+ device-mgt-iot-androidsense-feature
+ 1.9.2-SNAPSHOT
+ ../pom.xml
+
+
+ 4.0.0
+ org.wso2.carbon.device.mgt.iot.androidsense.feature
+ pom
+ 1.9.2-SNAPSHOT
+ WSO2 Carbon - IoT Server Android Sense Feature
+ http://wso2.org
+ This feature contains the Android Sense Device type specific implementations for the IoT Server
+
+
+
+
+ org.wso2.carbon.devicemgt-plugins
+ org.wso2.carbon.device.mgt.iot.androidsense
+ 1.9.2-SNAPSHOT
+
+
+ org.wso2.carbon.devicemgt-plugins
+ org.wso2.carbon.device.mgt.iot.androidsense.api
+ 1.9.2-SNAPSHOT
+ war
+
+
+
+
+
+
+ maven-resources-plugin
+
+
+ copy-resources
+ generate-resources
+
+ copy-resources
+
+
+ src/main/resources
+
+
+ resources
+
+ build.properties
+ p2.inf
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-jaxrs-war
+ package
+
+ copy
+
+
+
+
+ org.wso2.carbon.devicemgt-plugins
+ org.wso2.carbon.device.mgt.iot.androidsense.service.impl
+
+ war
+ true
+ ${basedir}/src/main/resources/webapps/
+ androidsense.war
+
+
+
+
+
+
+
+
+ org.wso2.maven
+ carbon-p2-plugin
+
+
+ p2-feature-generation
+ package
+
+ p2-feature-gen
+
+
+ org.wso2.carbon.device.mgt.iot.androidsense
+ ../../../features/etc/feature.properties
+
+
+ org.wso2.carbon.p2.category.type:server
+ org.eclipse.equinox.p2.type.group:false
+
+
+
+
+ org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.iot.androidsense.plugin.impl:${carbon.iot.device.mgt.version}
+
+
+
+ org.wso2.carbon.core.server:${carbon.kernel.version}
+
+ org.wso2.carbon.device.mgt.server:${carbon.device.mgt.version}
+
+
+
+
+
+
+
+
+
diff --git a/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/agent/androidsense.apk b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/agent/androidsense.apk
new file mode 100644
index 0000000000..0c86f8395d
Binary files /dev/null and b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/agent/androidsense.apk differ
diff --git a/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/agent/sketch.properties b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/agent/sketch.properties
new file mode 100644
index 0000000000..aefe1a60bf
--- /dev/null
+++ b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/agent/sketch.properties
@@ -0,0 +1,2 @@
+templates=androidsense.apk
+zipfilename=androidsense.zip
\ No newline at end of file
diff --git a/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/build.properties b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/build.properties
new file mode 100644
index 0000000000..93c4b10701
--- /dev/null
+++ b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/build.properties
@@ -0,0 +1 @@
+custom = true
\ No newline at end of file
diff --git a/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/dbscripts/h2_android_sense.sql b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/dbscripts/h2_android_sense.sql
new file mode 100644
index 0000000000..218cdbf05c
--- /dev/null
+++ b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/dbscripts/h2_android_sense.sql
@@ -0,0 +1,11 @@
+
+-- -----------------------------------------------------
+-- Table `ANDROID_DEVICE`
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS `ANDROID_SENSE_DEVICE` (
+ `ANDROID_DEVICE_ID` VARCHAR(45) NOT NULL ,
+ `DEVICE_NAME` VARCHAR(100) NULL DEFAULT NULL,
+ PRIMARY KEY (`ANDROID_DEVICE_ID`) );
+
+
+
diff --git a/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/dbscripts/mysql_android_sense.sql b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/dbscripts/mysql_android_sense.sql
new file mode 100644
index 0000000000..4637b4daf2
--- /dev/null
+++ b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/dbscripts/mysql_android_sense.sql
@@ -0,0 +1,12 @@
+-- -----------------------------------------------------
+-- Table `ANDROID_DEVICE`
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS `ANDROID_SENSE_DEVICE` (
+ `ANDROID_DEVICE_ID` VARCHAR(45) NOT NULL ,
+ `DEVICE_NAME` VARCHAR(100) NULL DEFAULT NULL,
+ PRIMARY KEY (`ANDROID_DEVICE_ID`) )
+ENGINE = InnoDB;
+
+
+
+
diff --git a/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/jaggeryapps.devicemgt.app.units.iot.unit.device.androidsense-overview/androidsense-overview.hbs b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/jaggeryapps.devicemgt.app.units.iot.unit.device.androidsense-overview/androidsense-overview.hbs
new file mode 100644
index 0000000000..737550d14d
--- /dev/null
+++ b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/jaggeryapps.devicemgt.app.units.iot.unit.device.androidsense-overview/androidsense-overview.hbs
@@ -0,0 +1,36 @@
+
+
+ {{unit "cdmf.unit.device.overview.androidsense-display-image"}}
+
+
+
Device Overview - Android Sense
+ {{#defineZone "device-detail-properties"}}
+
+
+ Device | {{device.viewModel.vendor}} {{device.properties.model}} |
+ Model | {{device.viewModel.model}} |
+ IMEI | {{device.viewModel.imei}} |
+ {{#if device.viewModel.udid}}
+ UDID | {{device.viewModel.udid}} |
+ {{/if}}
+ {{#if device.viewModel.phoneNumber}}
+ Phone Number | {{device.viewModel.phoneNumber}} |
+ {{/if}}
+
+ Status |
+
+ {{#equal device.status "ACTIVE"}} Active{{/equal}}
+ {{#equal device.status "INACTIVE"}} Inactive{{/equal}}
+ {{#equal device.status "BLOCKED"}} Blocked{{/equal}}
+ {{#equal device.status "REMOVED"}} Removed{{/equal}}
+ |
+
+
+
+ {{/defineZone}}
+
Operations
+
+ {{unit "cdmf.unit.device.iot-operation" deviceType=device.type}}
+
+
+
\ No newline at end of file
diff --git a/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/jaggeryapps.devicemgt.app.units.iot.unit.device.androidsense-overview/androidsense-overview.js b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/jaggeryapps.devicemgt.app.units.iot.unit.device.androidsense-overview/androidsense-overview.js
new file mode 100644
index 0000000000..bd9503d3f6
--- /dev/null
+++ b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/jaggeryapps.devicemgt.app.units.iot.unit.device.androidsense-overview/androidsense-overview.js
@@ -0,0 +1,25 @@
+function onRequest (context) {
+ var log = new Log("detail.js");
+ var deviceType = request.getParameter("type");
+ var deviceId = request.getParameter("id");
+
+ if (deviceType != null && deviceType != undefined && deviceId != null && deviceId != undefined) {
+ var deviceModule = require("/modules/device.js").deviceModule;
+ var device = deviceModule.viewDevice(deviceType, deviceId);
+
+ if (device) {
+ var viewModel = {};
+ var deviceInfo = device.properties.DEVICE_INFO;
+ if (deviceInfo != undefined && String(deviceInfo.toString()).length > 0) {
+ deviceInfo = parse(stringify(deviceInfo));
+ viewModel.system = device.properties.IMEI;
+ viewModel.machine = "Android Sense";
+ viewModel.vendor = device.properties.VENDOR;
+ }
+ device.viewModel = viewModel;
+ }
+ context.device = device;
+
+ return context;
+ }
+}
\ No newline at end of file
diff --git a/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/jaggeryapps.devicemgt.app.units.iot.unit.device.androidsense-overview/androidsense-overview.json b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/jaggeryapps.devicemgt.app.units.iot.unit.device.androidsense-overview/androidsense-overview.json
new file mode 100644
index 0000000000..688e939808
--- /dev/null
+++ b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/jaggeryapps.devicemgt.app.units.iot.unit.device.androidsense-overview/androidsense-overview.json
@@ -0,0 +1,3 @@
+{
+ "version": "1.0.0"
+}
\ No newline at end of file
diff --git a/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/p2.inf b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/p2.inf
new file mode 100644
index 0000000000..3b13ed62d3
--- /dev/null
+++ b/features/device-mgt-iot-androidsense-feature/org.wso2.carbon.device.mgt.iot.androidsense.feature/src/main/resources/p2.inf
@@ -0,0 +1,6 @@
+instruction.configure = /
+org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../deployment/server/webapps/);\
+org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.androidsense_${feature.version}/webapps/,target:${installFolder}/../../deployment/server/webapps/,overwrite:true);\
+org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.androidsense_${feature.version}/dbscripts/,target:${installFolder}/../../../dbscripts/cdm/plugins/androidsense,overwrite:true);\
+org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../deployment/server/jaggeryapps/);\
+org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.iot.androidsense_${feature.version}/jaggeryapps/,target:${installFolder}/../../deployment/server/jaggeryapps/,overwrite:true);\