diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/package.json b/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/package.json deleted file mode 100644 index 36d3264c..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "com.huawei.cordovahmsgmscheckplugin", - "version": "1.0.0", - "description": "Account Check Kit 4.0", - "cordova": { - "id": "com.huawei.cordovahmsgmscheckplugin", - "platforms": [ - "android" - ] - }, - "keywords": [ - "ecosystem:cordova", - "cordova-android" - ], - "author": "", - "license": "ISC" -} diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/plugin.xml b/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/plugin.xml deleted file mode 100644 index 63d1d203..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/plugin.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - CordovaHMSGMSCheckPlugin - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/after_prepare.js b/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/after_prepare.js deleted file mode 100644 index b3da28cf..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/after_prepare.js +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env node - -"use strict"; - -/** - * This hook makes sure projects using [cordova-plugin-firebase](https://github.com/arnesson/cordova-plugin-firebase) - * will build properly and have the required key files copied to the proper destinations when the app is build on Ionic Cloud using the package command. - * Credits: https://github.com/arnesson. - */ -var fs = require("fs"); -var path = require("path"); -var utilities = require("./lib/utilities"); - -var config = fs.readFileSync("config.xml").toString(); -var name = utilities.getValue(config, "name"); - -var ANDROID_DIR = "platforms/android"; - -var PLATFORM = { - ANDROID: { - dest: [ANDROID_DIR + "/app/agconnect-services.json"], - src: ["agconnect-services.json"], - }, -}; - -module.exports = function (context) { - //get platform from the context supplied by cordova - var platforms = context.opts.platforms; - // Copy key files to their platform specific folders - if ( - platforms.indexOf("android") !== -1 && - utilities.directoryExists(ANDROID_DIR) - ) { - console.log("Preparing HMS GMS Check Kit on Android"); - // utilities.copyKey(PLATFORM.ANDROID); - } -}; diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/android/after_plugin_install.js b/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/android/after_plugin_install.js deleted file mode 100644 index 09e73419..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/android/after_plugin_install.js +++ /dev/null @@ -1,9 +0,0 @@ -var helper = require('./helper'); - -module.exports = function(context) { - - // Modify the Gradle build file to add a task that will upload the debug symbols - // at build time. - helper.restoreRootBuildGradle(); - helper.modifyRootBuildGradle(); -}; \ No newline at end of file diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/android/before_plugin_uninstall.js b/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/android/before_plugin_uninstall.js deleted file mode 100644 index 9c32e552..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/android/before_plugin_uninstall.js +++ /dev/null @@ -1,7 +0,0 @@ -var helper = require('./helper'); - -module.exports = function(context) { - - // Remove the Gradle modifications that were added when the plugin was installed. - helper.restoreRootBuildGradle(); -}; \ No newline at end of file diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/android/helper.js b/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/android/helper.js deleted file mode 100644 index cd4b8111..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/android/helper.js +++ /dev/null @@ -1,131 +0,0 @@ -var fs = require("fs"); -var path = require("path"); - -function rootBuildGradleExists() { - var target = path.join("platforms", "android", "build.gradle"); - return fs.existsSync(target); -} - -/* - * Helper function to read the build.gradle that sits at the root of the project - */ -function readRootBuildGradle() { - var target = path.join("platforms", "android", "build.gradle"); - return fs.readFileSync(target, "utf-8"); -} - -/* - * Added a dependency on 'com.google.gms' based on the position of the know 'com.android.tools.build' dependency in the build.gradle - */ -function addDependencies(buildGradle) { - // find the known line to match - var match = buildGradle.match( - /^(\s*)classpath 'com.android.tools.build(.*)/m - ); - var whitespace = match[1]; - - // modify the line to add the necessary dependencies - var agcDependency = - whitespace + "classpath 'com.huawei.agconnect:agcp:1.2.0.300'"; - - var modifiedLine = match[0] + "\n" + agcDependency; - - // modify the actual line - return buildGradle.replace( - /^(\s*)classpath 'com.android.tools.build(.*)/m, - modifiedLine - ); -} - -/* - * Add 'google()' and Crashlytics to the repository repo list - */ -function addRepos(buildGradle) { - // find the known line to match - var match = buildGradle.match(/^(\s*)jcenter\(\)/m); - var whitespace = match[1]; - - // modify the line to add the necessary repo - var huaweiMavenRepo = - whitespace + "maven { url 'http://developer.huawei.com/repo/' }"; - var modifiedLine = match[0] + "\n" + huaweiMavenRepo; - - // modify the actual line - buildGradle = buildGradle.replace(/^(\s*)jcenter\(\)/m, modifiedLine); - - // update the all projects grouping - var allProjectsIndex = buildGradle.indexOf("allprojects"); - if (allProjectsIndex > 0) { - // split the string on allprojects because jcenter is in both groups and we need to modify the 2nd instance - var firstHalfOfFile = buildGradle.substring(0, allProjectsIndex); - var secondHalfOfFile = buildGradle.substring(allProjectsIndex); - - // Add google() to the allprojects section of the string - match = secondHalfOfFile.match(/^(\s*)jcenter\(\)/m); - var huaweiMavenRepo = - whitespace + "maven { url 'http://developer.huawei.com/repo/' }"; - modifiedLine = match[0] + "\n" + huaweiMavenRepo; - // modify the part of the string that is after 'allprojects' - secondHalfOfFile = secondHalfOfFile.replace( - /^(\s*)jcenter\(\)/m, - modifiedLine - ); - - // recombine the modified line - buildGradle = firstHalfOfFile + secondHalfOfFile; - } else { - // this should not happen, but if it does, we should try to add the dependency to the buildscript - match = buildGradle.match(/^(\s*)jcenter\(\)/m); - var huaweiMavenRepo = - whitespace + "maven { url 'http://developer.huawei.com/repo/' }"; - modifiedLine = match[0] + "\n" + huaweiMavenRepo; - // modify the part of the string that is after 'allprojects' - buildGradle = buildGradle.replace(/^(\s*)jcenter\(\)/m, modifiedLine); - } - - return buildGradle; -} - -/* - * Helper function to write to the build.gradle that sits at the root of the project - */ -function writeRootBuildGradle(contents) { - var target = path.join("platforms", "android", "build.gradle"); - fs.writeFileSync(target, contents); -} - -module.exports = { - modifyRootBuildGradle: function () { - // be defensive and don't crash if the file doesn't exist - if (!rootBuildGradleExists) { - return; - } - - var buildGradle = readRootBuildGradle(); - - // Add Google Play Services Dependency - buildGradle = addDependencies(buildGradle); - - // Add Google's Maven Repo - buildGradle = addRepos(buildGradle); - - writeRootBuildGradle(buildGradle); - }, - - restoreRootBuildGradle: function () { - // be defensive and don't crash if the file doesn't exist - if (!rootBuildGradleExists) { - return; - } - - var buildGradle = readRootBuildGradle(); - - // remove any lines we added - buildGradle = buildGradle.replace( - /(?:^|\r?\n)(.*)com.huawei.cordovahmsgmscheckplugin*?(?=$|\r?\n)/g, - "" - ); - - writeRootBuildGradle(buildGradle); - }, -}; diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/lib/utilities.js b/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/lib/utilities.js deleted file mode 100644 index 89ecc01f..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/scripts/lib/utilities.js +++ /dev/null @@ -1,93 +0,0 @@ -/** - * Utilities and shared functionality for the build hooks. - */ -var fs = require("fs"); -var path = require("path"); - -fs.ensureDirSync = function (dir) { - if (!fs.existsSync(dir)) { - dir.split(path.sep).reduce(function (currentPath, folder) { - currentPath += folder + path.sep; - if (!fs.existsSync(currentPath)) { - fs.mkdirSync(currentPath); - } - return currentPath; - }, ""); - } -}; - -module.exports = { - /** - * Used to get the name of the application as defined in the config.xml. - * - * @param {object} context - The Cordova context. - * @returns {string} The value of the name element in config.xml. - */ - getAppName: function (context) { - var ConfigParser = context.requireCordovaModule("cordova-lib").configparser; - var config = new ConfigParser("config.xml"); - return config.name(); - }, - - /** - * The ID of the plugin; this should match the ID in plugin.xml. - */ - getPluginId: function () { - return "com.huawei.cordovahmsgmscheckplugin"; - }, - - copyKey: function (platform) { - for (var i = 0; i < platform.src.length; i++) { - var file = platform.src[i]; - if (this.fileExists(file)) { - try { - var contents = fs.readFileSync(file).toString(); - - try { - platform.dest.forEach(function (destinationPath) { - var folder = destinationPath.substring( - 0, - destinationPath.lastIndexOf("/") - ); - fs.ensureDirSync(folder); - fs.writeFileSync(destinationPath, contents); - }); - } catch (e) { - // skip - } - } catch (err) { - console.log(err); - } - - break; - } - } - }, - - getValue: function (config, name) { - var value = config.match( - new RegExp("<" + name + "(.*?)>(.*?)", "i") - ); - if (value && value[2]) { - return value[2]; - } else { - return null; - } - }, - - fileExists: function (path) { - try { - return fs.statSync(path).isFile(); - } catch (e) { - return false; - } - }, - - directoryExists: function (path) { - try { - return fs.statSync(path).isDirectory(); - } catch (e) { - return false; - } - }, -}; diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/src/android/CordovaHMSGMSCheckPlugin.java b/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/src/android/CordovaHMSGMSCheckPlugin.java deleted file mode 100644 index 86307e6b..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/src/android/CordovaHMSGMSCheckPlugin.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.huawei.cordovahmsgmscheckplugin; - -import android.content.Context; -import android.content.Intent; -import android.util.Log; - -import com.huawei.hms.api.HuaweiApiAvailability; -// import com.google.android.gms.common.GoogleApiAvailability; - -import org.apache.cordova.CordovaInterface; -import org.apache.cordova.CordovaInterfaceImpl; -import org.apache.cordova.CordovaPlugin; -import org.apache.cordova.CallbackContext; - -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; - -/** - * This class echoes a string called from JavaScript. - */ -public class CordovaHMSGMSCheckPlugin extends CordovaPlugin { - - private static final String TAG = CordovaHMSGMSCheckPlugin.class.getSimpleName(); - private CallbackContext mCallbackContext; - - @Override - public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { - switch (action) { - case "isHmsAvailable": - mCallbackContext = callbackContext; - cordova.getThreadPool().execute(this::isHmsAvailable); - return true; - case "isGmsAvailable": - // mCallbackContext = callbackContext; - // cordova.getThreadPool().execute(this::isGmsAvailable); - return false; - } - return false; - } - - private void isHmsAvailable() { - boolean isAvailable = false; - Context context = cordova.getContext(); - if (null != cordova.getContext()) { - int result = HuaweiApiAvailability.getInstance().isHuaweiMobileServicesAvailable(context); - isAvailable = (com.huawei.hms.api.ConnectionResult.SUCCESS == result); - } - Log.i("Cordova", "isHmsAvailable: " + isAvailable); - String msg = "false"; - if(isAvailable){ - msg = "true"; - } - outputCallbackContext(0, msg); - } - - // private void isGmsAvailable() { - // boolean isAvailable = false; - // Context context = cordova.getContext(); - // if (null != context) { - // int result = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(context); - // isAvailable = (com.google.android.gms.common.ConnectionResult.SUCCESS == result); - // } - // Log.i("Cordova", "isGmsAvailable: " + isAvailable); - // String msg = "false"; - // if(isAvailable){ - // msg = "true"; - // } - // outputCallbackContext(0, msg); - // } - - /** - * @param type 0-success,1-error - * @param msg message - */ - private void outputCallbackContext(int type, String msg) { - if (mCallbackContext != null) { - switch (type) { - case 0: - mCallbackContext.success(msg); - break; - case 1: - mCallbackContext.error(msg); - break; - } - } - } -} diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/src/android/build.gradle b/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/src/android/build.gradle deleted file mode 100644 index 30dda1bf..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSGMSCheckPlugin/src/android/build.gradle +++ /dev/null @@ -1,29 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. - -buildscript { - repositories { - google() - jcenter() - // huawei maven - maven { url 'http://developer.huawei.com/repo/' } - } - dependencies { - classpath 'com.android.tools.build:gradle:3.2.0' - // classpath 'com.huawei.agconnect:agcp:1.2.0.300' - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - } -} - -allprojects { - repositories { - google() - jcenter() - // huawei maven - maven { url 'http://developer.huawei.com/repo/' } - } -} - -cdvPluginPostBuildExtras.add({ - apply plugin: 'com.huawei.agconnect' -}) diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/package.json b/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/package.json deleted file mode 100644 index 8b3323cf..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "com.huawei.cordovahmslocationplugin", - "version": "1.0.0", - "description": "Location Service", - "cordova": { - "id": "com.huawei.cordovahmslocationplugin", - "platforms": [ - "android" - ] - }, - "keywords": [ - "ecosystem:cordova", - "cordova-android" - ], - "author": "", - "license": "ISC" -} diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/plugin.xml b/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/plugin.xml deleted file mode 100644 index 126ffbc8..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/plugin.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - CordovaHMSLocationPlugin - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/after_prepare.js b/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/after_prepare.js deleted file mode 100644 index adc5a480..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/after_prepare.js +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env node - -'use strict'; - -/** - * This hook makes sure projects using [cordova-plugin-firebase](https://github.com/arnesson/cordova-plugin-firebase) - * will build properly and have the required key files copied to the proper destinations when the app is build on Ionic Cloud using the package command. - * Credits: https://github.com/arnesson. - */ -var fs = require('fs'); -var path = require('path'); -var utilities = require("./lib/utilities"); - -var config = fs.readFileSync('config.xml').toString(); -var name = utilities.getValue(config, 'name'); - -var ANDROID_DIR = 'platforms/android'; - -var PLATFORM = { - ANDROID: { - dest: [ - ANDROID_DIR + '/app/agconnect-services.json' - ], - src: [ - 'agconnect-services.json' - ], - } -}; - -module.exports = function (context) { - //get platform from the context supplied by cordova - var platforms = context.opts.platforms; - // Copy key files to their platform specific folders - if (platforms.indexOf('android') !== -1 && utilities.directoryExists(ANDROID_DIR)) { - console.log('Preparing HMS Location Kit on Android'); - utilities.copyKey(PLATFORM.ANDROID); - } -}; \ No newline at end of file diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/android/after_plugin_install.js b/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/android/after_plugin_install.js deleted file mode 100644 index 09e73419..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/android/after_plugin_install.js +++ /dev/null @@ -1,9 +0,0 @@ -var helper = require('./helper'); - -module.exports = function(context) { - - // Modify the Gradle build file to add a task that will upload the debug symbols - // at build time. - helper.restoreRootBuildGradle(); - helper.modifyRootBuildGradle(); -}; \ No newline at end of file diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/android/before_plugin_uninstall.js b/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/android/before_plugin_uninstall.js deleted file mode 100644 index 9c32e552..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/android/before_plugin_uninstall.js +++ /dev/null @@ -1,7 +0,0 @@ -var helper = require('./helper'); - -module.exports = function(context) { - - // Remove the Gradle modifications that were added when the plugin was installed. - helper.restoreRootBuildGradle(); -}; \ No newline at end of file diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/android/helper.js b/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/android/helper.js deleted file mode 100644 index da715c24..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/android/helper.js +++ /dev/null @@ -1,117 +0,0 @@ -var fs = require("fs"); -var path = require("path"); - -function rootBuildGradleExists() { - var target = path.join("platforms", "android", "build.gradle"); - return fs.existsSync(target); -} - -/* - * Helper function to read the build.gradle that sits at the root of the project - */ -function readRootBuildGradle() { - var target = path.join("platforms", "android", "build.gradle"); - return fs.readFileSync(target, "utf-8"); -} - -/* - * Added a dependency on 'com.google.gms' based on the position of the know 'com.android.tools.build' dependency in the build.gradle - */ -function addDependencies(buildGradle) { - // find the known line to match - var match = buildGradle.match(/^(\s*)classpath 'com.android.tools.build(.*)/m); - var whitespace = match[1]; - - // modify the line to add the necessary dependencies - var agcDependency = whitespace + 'classpath \'com.huawei.agconnect:agcp:1.2.0.300\'' - - var modifiedLine = match[0] + '\n' + agcDependency; - - // modify the actual line - return buildGradle.replace(/^(\s*)classpath 'com.android.tools.build(.*)/m, modifiedLine); -} - -/* - * Add 'google()' and Crashlytics to the repository repo list - */ -function addRepos(buildGradle) { - // find the known line to match - var match = buildGradle.match(/^(\s*)jcenter\(\)/m); - var whitespace = match[1]; - - // modify the line to add the necessary repo - var huaweiMavenRepo = whitespace + 'maven { url \'http://developer.huawei.com/repo/\' }' - var modifiedLine = match[0] + '\n' + huaweiMavenRepo; - - // modify the actual line - buildGradle = buildGradle.replace(/^(\s*)jcenter\(\)/m, modifiedLine); - - // update the all projects grouping - var allProjectsIndex = buildGradle.indexOf('allprojects'); - if (allProjectsIndex > 0) { - // split the string on allprojects because jcenter is in both groups and we need to modify the 2nd instance - var firstHalfOfFile = buildGradle.substring(0, allProjectsIndex); - var secondHalfOfFile = buildGradle.substring(allProjectsIndex); - - // Add google() to the allprojects section of the string - match = secondHalfOfFile.match(/^(\s*)jcenter\(\)/m); - var huaweiMavenRepo = whitespace + 'maven { url \'http://developer.huawei.com/repo/\' }' - modifiedLine = match[0] + '\n' + huaweiMavenRepo; - // modify the part of the string that is after 'allprojects' - secondHalfOfFile = secondHalfOfFile.replace(/^(\s*)jcenter\(\)/m, modifiedLine); - - // recombine the modified line - buildGradle = firstHalfOfFile + secondHalfOfFile; - } else { - // this should not happen, but if it does, we should try to add the dependency to the buildscript - match = buildGradle.match(/^(\s*)jcenter\(\)/m); - var huaweiMavenRepo = whitespace + 'maven { url \'http://developer.huawei.com/repo/\' }' - modifiedLine = match[0] + '\n' + huaweiMavenRepo; - // modify the part of the string that is after 'allprojects' - buildGradle = buildGradle.replace(/^(\s*)jcenter\(\)/m, modifiedLine); - } - - return buildGradle; -} - -/* - * Helper function to write to the build.gradle that sits at the root of the project - */ -function writeRootBuildGradle(contents) { - var target = path.join("platforms", "android", "build.gradle"); - fs.writeFileSync(target, contents); -} - -module.exports = { - - modifyRootBuildGradle: function() { - // be defensive and don't crash if the file doesn't exist - if (!rootBuildGradleExists) { - return; - } - - var buildGradle = readRootBuildGradle(); - - // Add Google Play Services Dependency - buildGradle = addDependencies(buildGradle); - - // Add Google's Maven Repo - buildGradle = addRepos(buildGradle); - - writeRootBuildGradle(buildGradle); - }, - - restoreRootBuildGradle: function() { - // be defensive and don't crash if the file doesn't exist - if (!rootBuildGradleExists) { - return; - } - - var buildGradle = readRootBuildGradle(); - - // remove any lines we added - buildGradle = buildGradle.replace(/(?:^|\r?\n)(.*)com.huawei.cordovahmspushplugin*?(?=$|\r?\n)/g, ''); - - writeRootBuildGradle(buildGradle); - } -}; \ No newline at end of file diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/lib/utilities.js b/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/lib/utilities.js deleted file mode 100644 index 015f6831..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/scripts/lib/utilities.js +++ /dev/null @@ -1,88 +0,0 @@ -/** - * Utilities and shared functionality for the build hooks. - */ -var fs = require('fs'); -var path = require("path"); - -fs.ensureDirSync = function (dir) { - if (!fs.existsSync(dir)) { - dir.split(path.sep).reduce(function (currentPath, folder) { - currentPath += folder + path.sep; - if (!fs.existsSync(currentPath)) { - fs.mkdirSync(currentPath); - } - return currentPath; - }, ''); - } -}; - -module.exports = { - /** - * Used to get the name of the application as defined in the config.xml. - * - * @param {object} context - The Cordova context. - * @returns {string} The value of the name element in config.xml. - */ - getAppName: function (context) { - var ConfigParser = context.requireCordovaModule("cordova-lib").configparser; - var config = new ConfigParser("config.xml"); - return config.name(); - }, - - /** - * The ID of the plugin; this should match the ID in plugin.xml. - */ - getPluginId: function () { - return "com.huawei.cordovahmspushplugin"; - }, - - copyKey: function (platform) { - for (var i = 0; i < platform.src.length; i++) { - var file = platform.src[i]; - if (this.fileExists(file)) { - try { - var contents = fs.readFileSync(file).toString(); - - try { - platform.dest.forEach(function (destinationPath) { - var folder = destinationPath.substring(0, destinationPath.lastIndexOf('/')); - fs.ensureDirSync(folder); - fs.writeFileSync(destinationPath, contents); - }); - } catch (e) { - // skip - } - } catch (err) { - console.log(err); - } - - break; - } - } - }, - - getValue: function (config, name) { - var value = config.match(new RegExp('<' + name + '(.*?)>(.*?)', 'i')); - if (value && value[2]) { - return value[2] - } else { - return null - } - }, - - fileExists: function (path) { - try { - return fs.statSync(path).isFile(); - } catch (e) { - return false; - } - }, - - directoryExists: function (path) { - try { - return fs.statSync(path).isDirectory(); - } catch (e) { - return false; - } - } -}; \ No newline at end of file diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/src/android/CordovaHMSLocationPlugin.java b/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/src/android/CordovaHMSLocationPlugin.java deleted file mode 100644 index 4b094ad5..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/src/android/CordovaHMSLocationPlugin.java +++ /dev/null @@ -1,186 +0,0 @@ -package com.huawei.cordovahmslocationplugin; - -import android.Manifest; -import android.content.IntentSender; -import android.location.Location; -import android.os.Build; -import android.os.Looper; -import android.util.Log; - -import com.huawei.hms.common.ApiException; -import com.huawei.hms.common.ResolvableApiException; -import com.huawei.hms.location.FusedLocationProviderClient; -import com.huawei.hms.location.LocationCallback; -import com.huawei.hms.location.LocationRequest; -import com.huawei.hms.location.LocationResult; -import com.huawei.hms.location.LocationServices; -import com.huawei.hms.location.LocationSettingsRequest; -import com.huawei.hms.location.LocationSettingsStatusCodes; -import com.huawei.hms.location.SettingsClient; - -import org.apache.cordova.CallbackContext; -import org.apache.cordova.CordovaPlugin; -import org.apache.cordova.PluginResult; -import org.json.JSONArray; -import org.json.JSONException; - -/** - * - */ - // https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References-V1/data-types-0000001056511617-V1#section2512153819346 -public class CordovaHMSLocationPlugin extends CordovaPlugin { - - private static final String TAG = CordovaHMSLocationPlugin.class.getSimpleName(); - - private FusedLocationProviderClient fusedLocationProviderClient; - private LocationRequest mLocationRequest; - private LocationCallback mLocationCallback; - private CallbackContext mCallbackContext; - - @Override - public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { - requestPermission(); - if (fusedLocationProviderClient == null) { - fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(cordova.getContext()); - } - switch (action) { - case "requestLocation": - this.setLocationRequest(); - this.setLocationCallback(); - this.checkLocationSetting(callbackContext); - return true; - case "removeLocation": - this.stopLocation(); - return true; - case "getLastlocation": - this.getLastlocation(callbackContext); - return true; - default: - return false; - } - } - - private void returnLocation(Location location) { - if (mCallbackContext != null) { - Log.d(TAG, "returnLocation"); - String message = location.getLatitude() + "," + location.getLongitude() + "," + location.isFromMockProvider(); - PluginResult result = new PluginResult(PluginResult.Status.OK, message); - result.setKeepCallback(true); - mCallbackContext.sendPluginResult(result); - } - } - - private void getLastlocation(CallbackContext callbackContext) { - fusedLocationProviderClient.getLastLocation().addOnSuccessListener(location -> { - Log.d(TAG, "getLastlocation success"); - if (location == null) { - return; - } - // Location对象的处理逻辑 - String message = location.getLatitude() + "," + location.getLongitude(); - callbackContext.success(message); - }).addOnFailureListener(e -> { - // 异常处理逻辑 - callbackContext.error("getLastlocation fail"); - }); - } - - private void stopLocation() { - if (fusedLocationProviderClient == null) { - Log.d(TAG, "fusedLocationProviderClient is null"); - return; - } - // 注意:停止位置更新时,mLocationCallback必须与requestLocationUpdates方法中的LocationCallback参数为同一对象。 - fusedLocationProviderClient.removeLocationUpdates(mLocationCallback) - .addOnSuccessListener(aVoid -> { - // 停止位置更新成功 - Log.d(TAG, "stop success"); - mCallbackContext = null; - }) - .addOnFailureListener(e -> { - // 停止位置更新失败 - Log.d(TAG, "stop fail"); - }); - } - - private void setLocationCallback() { - mLocationCallback = new LocationCallback() { - @Override - public void onLocationResult(LocationResult locationResult) { - if (locationResult != null) { - //处理位置回调结果 - if (mLocationCallback != null) { - Log.d(TAG, "onLocationResult"); - Location location = locationResult.getLocations().get(0); - returnLocation(location); - } - } - } - }; - } - - private void setLocationRequest() { - mLocationRequest = new LocationRequest(); - // 设置位置更新的间隔(毫秒为单位) - mLocationRequest.setInterval(10000); -// mLocationRequest.setNumUpdates(1); - // 设置权重 - mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); - } - - private void checkLocationSetting(CallbackContext callbackContext) { - SettingsClient settingsClient = LocationServices.getSettingsClient(cordova.getContext()); - LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder(); - builder.addLocationRequest(mLocationRequest); - LocationSettingsRequest locationSettingsRequest = builder.build(); - // 检查设备定位设置 - settingsClient.checkLocationSettings(locationSettingsRequest) - .addOnSuccessListener(locationSettingsResponse -> { - - // 设置满足定位条件,再发起位置请求 - fusedLocationProviderClient - .requestLocationUpdates(mLocationRequest, mLocationCallback, Looper.getMainLooper()) - .addOnSuccessListener(aVoid -> { - // 接口调用成功的处理 - Log.d(TAG, "request success"); - mCallbackContext = callbackContext; - }); - }) - .addOnFailureListener(e -> { - // 设置不满足定位条件 - int statusCode = ((ApiException) e).getStatusCode(); - switch (statusCode) { - case LocationSettingsStatusCodes.RESOLUTION_REQUIRED: - try { - ResolvableApiException rae = (ResolvableApiException) e; - // 调用startResolutionForResult可以弹窗提示用户打开相应权限 - rae.startResolutionForResult(cordova.getActivity(), 0); - } catch (IntentSender.SendIntentException sie) { - Log.d(TAG, sie.getMessage()); - } - break; - } - }); - } - - private void requestPermission() { - if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) { - Log.i(TAG, "sdk < 29 Q"); - if (!cordova.hasPermission(Manifest.permission.ACCESS_FINE_LOCATION) - || !cordova.hasPermission(Manifest.permission.ACCESS_COARSE_LOCATION)) { - String[] strings = - {Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}; - cordova.requestPermissions(this, 1, strings); - } - } else { - if (!cordova.hasPermission(Manifest.permission.ACCESS_FINE_LOCATION) - || !cordova.hasPermission(Manifest.permission.ACCESS_COARSE_LOCATION) - || !cordova.hasPermission("android.permission.ACCESS_BACKGROUND_LOCATION")) { - String[] strings = {android.Manifest.permission.ACCESS_FINE_LOCATION, - android.Manifest.permission.ACCESS_COARSE_LOCATION, - "android.permission.ACCESS_BACKGROUND_LOCATION"}; - cordova.requestPermissions(this, 2, strings); - } - } - } -} diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/src/android/build.gradle b/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/src/android/build.gradle deleted file mode 100644 index 23296fb7..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSLocationPlugin/src/android/build.gradle +++ /dev/null @@ -1,29 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. - -buildscript { - repositories { - google() - jcenter() - // huawei maven - maven { url 'http://developer.huawei.com/repo/' } - } - dependencies { - classpath 'com.android.tools.build:gradle:3.2.0' - classpath 'com.huawei.agconnect:agcp:1.2.0.300' - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - } -} - -allprojects { - repositories { - google() - jcenter() - // huawei maven - maven { url 'http://developer.huawei.com/repo/' } - } -} - -cdvPluginPostBuildExtras.add({ - apply plugin: 'com.huawei.agconnect' -}) diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/package.json b/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/package.json deleted file mode 100644 index 9be71e48..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "cordovahmspushplugin", - "version": "1.0.0", - "description": "For Hms Push", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "test", - "license": "ISC", - "cordova": { - "id": "com.huawei.cordovahmspushplugin", - "platforms": [ - "android" - ] - }, - "keywords": [ - "ecosystem:cordova", - "cordova-android" - ] -} diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/plugin.xml b/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/plugin.xml deleted file mode 100644 index d7ccbfa7..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/plugin.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - CordovaHMSPushPlugin - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/after_prepare.js b/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/after_prepare.js deleted file mode 100644 index ab6c7b7e..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/after_prepare.js +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env node - -'use strict'; - -/** - * This hook makes sure projects using [cordova-plugin-firebase](https://github.com/arnesson/cordova-plugin-firebase) - * will build properly and have the required key files copied to the proper destinations when the app is build on Ionic Cloud using the package command. - * Credits: https://github.com/arnesson. - */ -var fs = require('fs'); -var path = require('path'); -var utilities = require("./lib/utilities"); - -var config = fs.readFileSync('config.xml').toString(); -var name = utilities.getValue(config, 'name'); - -var ANDROID_DIR = 'platforms/android'; - -var PLATFORM = { - ANDROID: { - dest: [ - ANDROID_DIR + '/app/agconnect-services.json' - ], - src: [ - 'agconnect-services.json' - ], - } -}; - -module.exports = function (context) { - //get platform from the context supplied by cordova - var platforms = context.opts.platforms; - // Copy key files to their platform specific folders - if (platforms.indexOf('android') !== -1 && utilities.directoryExists(ANDROID_DIR)) { - console.log('Preparing HMS Push Kit on Android'); - utilities.copyKey(PLATFORM.ANDROID); - } -}; \ No newline at end of file diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/android/after_plugin_install.js b/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/android/after_plugin_install.js deleted file mode 100644 index 09e73419..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/android/after_plugin_install.js +++ /dev/null @@ -1,9 +0,0 @@ -var helper = require('./helper'); - -module.exports = function(context) { - - // Modify the Gradle build file to add a task that will upload the debug symbols - // at build time. - helper.restoreRootBuildGradle(); - helper.modifyRootBuildGradle(); -}; \ No newline at end of file diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/android/before_plugin_uninstall.js b/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/android/before_plugin_uninstall.js deleted file mode 100644 index 9c32e552..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/android/before_plugin_uninstall.js +++ /dev/null @@ -1,7 +0,0 @@ -var helper = require('./helper'); - -module.exports = function(context) { - - // Remove the Gradle modifications that were added when the plugin was installed. - helper.restoreRootBuildGradle(); -}; \ No newline at end of file diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/android/helper.js b/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/android/helper.js deleted file mode 100644 index da715c24..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/android/helper.js +++ /dev/null @@ -1,117 +0,0 @@ -var fs = require("fs"); -var path = require("path"); - -function rootBuildGradleExists() { - var target = path.join("platforms", "android", "build.gradle"); - return fs.existsSync(target); -} - -/* - * Helper function to read the build.gradle that sits at the root of the project - */ -function readRootBuildGradle() { - var target = path.join("platforms", "android", "build.gradle"); - return fs.readFileSync(target, "utf-8"); -} - -/* - * Added a dependency on 'com.google.gms' based on the position of the know 'com.android.tools.build' dependency in the build.gradle - */ -function addDependencies(buildGradle) { - // find the known line to match - var match = buildGradle.match(/^(\s*)classpath 'com.android.tools.build(.*)/m); - var whitespace = match[1]; - - // modify the line to add the necessary dependencies - var agcDependency = whitespace + 'classpath \'com.huawei.agconnect:agcp:1.2.0.300\'' - - var modifiedLine = match[0] + '\n' + agcDependency; - - // modify the actual line - return buildGradle.replace(/^(\s*)classpath 'com.android.tools.build(.*)/m, modifiedLine); -} - -/* - * Add 'google()' and Crashlytics to the repository repo list - */ -function addRepos(buildGradle) { - // find the known line to match - var match = buildGradle.match(/^(\s*)jcenter\(\)/m); - var whitespace = match[1]; - - // modify the line to add the necessary repo - var huaweiMavenRepo = whitespace + 'maven { url \'http://developer.huawei.com/repo/\' }' - var modifiedLine = match[0] + '\n' + huaweiMavenRepo; - - // modify the actual line - buildGradle = buildGradle.replace(/^(\s*)jcenter\(\)/m, modifiedLine); - - // update the all projects grouping - var allProjectsIndex = buildGradle.indexOf('allprojects'); - if (allProjectsIndex > 0) { - // split the string on allprojects because jcenter is in both groups and we need to modify the 2nd instance - var firstHalfOfFile = buildGradle.substring(0, allProjectsIndex); - var secondHalfOfFile = buildGradle.substring(allProjectsIndex); - - // Add google() to the allprojects section of the string - match = secondHalfOfFile.match(/^(\s*)jcenter\(\)/m); - var huaweiMavenRepo = whitespace + 'maven { url \'http://developer.huawei.com/repo/\' }' - modifiedLine = match[0] + '\n' + huaweiMavenRepo; - // modify the part of the string that is after 'allprojects' - secondHalfOfFile = secondHalfOfFile.replace(/^(\s*)jcenter\(\)/m, modifiedLine); - - // recombine the modified line - buildGradle = firstHalfOfFile + secondHalfOfFile; - } else { - // this should not happen, but if it does, we should try to add the dependency to the buildscript - match = buildGradle.match(/^(\s*)jcenter\(\)/m); - var huaweiMavenRepo = whitespace + 'maven { url \'http://developer.huawei.com/repo/\' }' - modifiedLine = match[0] + '\n' + huaweiMavenRepo; - // modify the part of the string that is after 'allprojects' - buildGradle = buildGradle.replace(/^(\s*)jcenter\(\)/m, modifiedLine); - } - - return buildGradle; -} - -/* - * Helper function to write to the build.gradle that sits at the root of the project - */ -function writeRootBuildGradle(contents) { - var target = path.join("platforms", "android", "build.gradle"); - fs.writeFileSync(target, contents); -} - -module.exports = { - - modifyRootBuildGradle: function() { - // be defensive and don't crash if the file doesn't exist - if (!rootBuildGradleExists) { - return; - } - - var buildGradle = readRootBuildGradle(); - - // Add Google Play Services Dependency - buildGradle = addDependencies(buildGradle); - - // Add Google's Maven Repo - buildGradle = addRepos(buildGradle); - - writeRootBuildGradle(buildGradle); - }, - - restoreRootBuildGradle: function() { - // be defensive and don't crash if the file doesn't exist - if (!rootBuildGradleExists) { - return; - } - - var buildGradle = readRootBuildGradle(); - - // remove any lines we added - buildGradle = buildGradle.replace(/(?:^|\r?\n)(.*)com.huawei.cordovahmspushplugin*?(?=$|\r?\n)/g, ''); - - writeRootBuildGradle(buildGradle); - } -}; \ No newline at end of file diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/lib/utilities.js b/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/lib/utilities.js deleted file mode 100644 index 015f6831..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/scripts/lib/utilities.js +++ /dev/null @@ -1,88 +0,0 @@ -/** - * Utilities and shared functionality for the build hooks. - */ -var fs = require('fs'); -var path = require("path"); - -fs.ensureDirSync = function (dir) { - if (!fs.existsSync(dir)) { - dir.split(path.sep).reduce(function (currentPath, folder) { - currentPath += folder + path.sep; - if (!fs.existsSync(currentPath)) { - fs.mkdirSync(currentPath); - } - return currentPath; - }, ''); - } -}; - -module.exports = { - /** - * Used to get the name of the application as defined in the config.xml. - * - * @param {object} context - The Cordova context. - * @returns {string} The value of the name element in config.xml. - */ - getAppName: function (context) { - var ConfigParser = context.requireCordovaModule("cordova-lib").configparser; - var config = new ConfigParser("config.xml"); - return config.name(); - }, - - /** - * The ID of the plugin; this should match the ID in plugin.xml. - */ - getPluginId: function () { - return "com.huawei.cordovahmspushplugin"; - }, - - copyKey: function (platform) { - for (var i = 0; i < platform.src.length; i++) { - var file = platform.src[i]; - if (this.fileExists(file)) { - try { - var contents = fs.readFileSync(file).toString(); - - try { - platform.dest.forEach(function (destinationPath) { - var folder = destinationPath.substring(0, destinationPath.lastIndexOf('/')); - fs.ensureDirSync(folder); - fs.writeFileSync(destinationPath, contents); - }); - } catch (e) { - // skip - } - } catch (err) { - console.log(err); - } - - break; - } - } - }, - - getValue: function (config, name) { - var value = config.match(new RegExp('<' + name + '(.*?)>(.*?)', 'i')); - if (value && value[2]) { - return value[2] - } else { - return null - } - }, - - fileExists: function (path) { - try { - return fs.statSync(path).isFile(); - } catch (e) { - return false; - } - }, - - directoryExists: function (path) { - try { - return fs.statSync(path).isDirectory(); - } catch (e) { - return false; - } - } -}; \ No newline at end of file diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/src/android/CordovaHMSPushPlugin.java b/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/src/android/CordovaHMSPushPlugin.java deleted file mode 100644 index d2ef10b4..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/src/android/CordovaHMSPushPlugin.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.huawei.cordovahmspushplugin; - -import android.text.TextUtils; -import android.util.Log; - -import com.huawei.agconnect.config.AGConnectServicesConfig; -import com.huawei.hms.aaid.HmsInstanceId; -import com.huawei.hms.push.HmsMessaging; -import com.huawei.hmf.tasks.OnCompleteListener; -import com.huawei.hmf.tasks.Task; - -import org.apache.cordova.CallbackContext; -import org.apache.cordova.CordovaPlugin; -import org.apache.cordova.PluginResult; -import org.json.JSONArray; -import org.json.JSONException; - -/** - * This class echoes a string called from JavaScript. - */ -public class CordovaHMSPushPlugin extends CordovaPlugin { - - private static final String TAG = CordovaHMSPushPlugin.class.getSimpleName(); - - private static CallbackContext mCallbackContext; - private static CallbackContext mTokenCallback; - - @Override - public boolean execute(String action, JSONArray args, CallbackContext callbackContext) { - switch (action) { - case "getToken": - this.getToken(callbackContext); - return true; - case "getMessageCallback": - Log.d(TAG, "getMessageCallback"); - mCallbackContext = callbackContext; - return true; - case "subscribeTopic": - Log.d(TAG, "subscribeTopic"); - try { - String topic = args.getString(0); - this.subscribeTopic(topic, callbackContext); - } catch (JSONException e) { - return true; - } - return true; - default: - return false; - } - } - - public static void returnMessage(String message) { - if (mCallbackContext != null) { - Log.d(TAG, "returnMessage"); - PluginResult result = new PluginResult(PluginResult.Status.OK, message); - result.setKeepCallback(true); - mCallbackContext.sendPluginResult(result); - } - } - - public static void returnToken(String token) { - if (mTokenCallback != null) { - mTokenCallback.success(token); - mTokenCallback = null; - } - } - - /** - * get push token - */ - private void getToken(CallbackContext callbackContext) { - Log.i(TAG, "get token: begin"); - - try { - String appId = AGConnectServicesConfig.fromContext(cordova.getContext()).getString("client/app_id"); - String pushToken = HmsInstanceId.getInstance(cordova.getContext()).getToken(appId, "HCM"); - if (!TextUtils.isEmpty(pushToken)) { - Log.i(TAG, "get token:" + pushToken); - callbackContext.success(pushToken); - }else { - mTokenCallback = callbackContext; - } - } catch (Exception e) { - Log.e(TAG, "getToken Failed, " + e); - callbackContext.error("getToken Failed, error : " + e.getMessage()); - } - } - - public void subscribeTopic(String topic, final CallbackContext callBack) { - // callBack.success("user subscribe to topic named as: "+ topic); - if (topic == null || topic.toString().equals("")) { - callBack.error("topic is empty!"); - return; - } - try { - HmsMessaging.getInstance(cordova.getContext()).subscribe(topic). - addOnCompleteListener(new OnCompleteListener() { - @Override - public void onComplete(Task task) { - if (task.isSuccessful()) { - callBack.success("user subscribe to topic: "+ topic); - } else { - callBack.error("getToken Failed, error : " + task.getException().getMessage()); - } - } - }); - } catch (Exception e) { - callBack.error("getToken Failed, error : " + e.getMessage()); - } - } - -} diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/src/android/MessageService.java b/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/src/android/MessageService.java deleted file mode 100644 index d32542ef..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/src/android/MessageService.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.huawei.cordovahmspushplugin; - -import com.huawei.cordovahmspushplugin.CordovaHMSPushPlugin; -import com.huawei.hms.push.HmsMessageService; -import com.huawei.hms.push.RemoteMessage; - -import android.util.Log; - -public class MessageService extends HmsMessageService { - - private static final String TAG = MessageService.class.getSimpleName(); - - @Override - public void onMessageReceived(RemoteMessage remoteMessage) { - super.onMessageReceived(remoteMessage); - Log.d(TAG, "onMessageReceived"); - if (remoteMessage != null) { - String message = remoteMessage.getData(); - Log.d(TAG, message); - CordovaHMSPushPlugin.returnMessage(message); - } - } - - @Override - public void onNewToken(String s) { - super.onNewToken(s); - if (s != null) { - Log.d(TAG, "token:" + s); - CordovaHMSPushPlugin.returnToken(s); - } - } -} diff --git a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/src/android/build.gradle b/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/src/android/build.gradle deleted file mode 100644 index 23296fb7..00000000 --- a/Mohem/CordovaHMSPlugin/CordovaHMSPushPlugin/src/android/build.gradle +++ /dev/null @@ -1,29 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. - -buildscript { - repositories { - google() - jcenter() - // huawei maven - maven { url 'http://developer.huawei.com/repo/' } - } - dependencies { - classpath 'com.android.tools.build:gradle:3.2.0' - classpath 'com.huawei.agconnect:agcp:1.2.0.300' - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - } -} - -allprojects { - repositories { - google() - jcenter() - // huawei maven - maven { url 'http://developer.huawei.com/repo/' } - } -} - -cdvPluginPostBuildExtras.add({ - apply plugin: 'com.huawei.agconnect' -}) diff --git a/Mohem/package.json b/Mohem/package.json index eca4aeb3..5dc035bd 100644 --- a/Mohem/package.json +++ b/Mohem/package.json @@ -145,8 +145,6 @@ "@types/jasminewd2": "~2.0.3", "@types/node": "~10.12.0", "codelyzer": "~4.5.0", - "com.huawei.cordovahmsgmscheckplugin": "file:CordovaHMSPlugin/CordovaHMSGMSCheckPlugin", - "com.huawei.cordovahmslocationplugin": "file:CordovaHMSPlugin/CordovaHMSLocationPlugin", "cordova-ios": "^6.2.0", "cordova-plugin-wifiwizard2": "^3.1.1", "es6-promise-plugin": "^4.1.0", @@ -212,8 +210,6 @@ }, "phonegap-nfc": {}, "wifiwizard2": {}, - "com.huawei.cordovahmsgmscheckplugin": {}, - "com.huawei.cordovahmslocationplugin": {}, "cordova-plugin-x-socialsharing": {}, "cordova-plugin-firebasex": { "FIREBASE_ANALYTICS_COLLECTION_ENABLED": "true", @@ -251,8 +247,8 @@ "cordova-plugin-filechooser": {} }, "platforms": [ - "android", - "ios" + "ios", + "android" ] } } \ No newline at end of file diff --git a/Mohem/resources/android/icon/drawable-hdpi-icon.png b/Mohem/resources/android/icon/drawable-hdpi-icon.png index 7c940227..52836c3f 100644 Binary files a/Mohem/resources/android/icon/drawable-hdpi-icon.png and b/Mohem/resources/android/icon/drawable-hdpi-icon.png differ diff --git a/Mohem/resources/android/icon/drawable-ldpi-icon.png b/Mohem/resources/android/icon/drawable-ldpi-icon.png index 068e3250..8fc379ef 100644 Binary files a/Mohem/resources/android/icon/drawable-ldpi-icon.png and b/Mohem/resources/android/icon/drawable-ldpi-icon.png differ diff --git a/Mohem/resources/android/icon/drawable-mdpi-icon.png b/Mohem/resources/android/icon/drawable-mdpi-icon.png index 07a0cbda..0ade9487 100644 Binary files a/Mohem/resources/android/icon/drawable-mdpi-icon.png and b/Mohem/resources/android/icon/drawable-mdpi-icon.png differ diff --git a/Mohem/resources/android/icon/drawable-xhdpi-icon.png b/Mohem/resources/android/icon/drawable-xhdpi-icon.png index 3f089549..92c4139f 100644 Binary files a/Mohem/resources/android/icon/drawable-xhdpi-icon.png and b/Mohem/resources/android/icon/drawable-xhdpi-icon.png differ diff --git a/Mohem/resources/android/icon/drawable-xxhdpi-icon.png b/Mohem/resources/android/icon/drawable-xxhdpi-icon.png index 935dbf4e..2d82d78e 100644 Binary files a/Mohem/resources/android/icon/drawable-xxhdpi-icon.png and b/Mohem/resources/android/icon/drawable-xxhdpi-icon.png differ diff --git a/Mohem/resources/android/icon/drawable-xxxhdpi-icon.png b/Mohem/resources/android/icon/drawable-xxxhdpi-icon.png index 83185e55..526f775d 100644 Binary files a/Mohem/resources/android/icon/drawable-xxxhdpi-icon.png and b/Mohem/resources/android/icon/drawable-xxxhdpi-icon.png differ diff --git a/Mohem/resources/android/splash/drawable-land-hdpi-screen.png b/Mohem/resources/android/splash/drawable-land-hdpi-screen.png index 5f5de2d2..287d0e7a 100644 Binary files a/Mohem/resources/android/splash/drawable-land-hdpi-screen.png and b/Mohem/resources/android/splash/drawable-land-hdpi-screen.png differ diff --git a/Mohem/resources/android/splash/drawable-land-ldpi-screen.png b/Mohem/resources/android/splash/drawable-land-ldpi-screen.png index dade5b7b..94aba8dc 100644 Binary files a/Mohem/resources/android/splash/drawable-land-ldpi-screen.png and b/Mohem/resources/android/splash/drawable-land-ldpi-screen.png differ diff --git a/Mohem/resources/android/splash/drawable-land-mdpi-screen.png b/Mohem/resources/android/splash/drawable-land-mdpi-screen.png index 27fdcd49..80138315 100644 Binary files a/Mohem/resources/android/splash/drawable-land-mdpi-screen.png and b/Mohem/resources/android/splash/drawable-land-mdpi-screen.png differ diff --git a/Mohem/resources/android/splash/drawable-land-xhdpi-screen.png b/Mohem/resources/android/splash/drawable-land-xhdpi-screen.png index 36d268f6..974142b5 100644 Binary files a/Mohem/resources/android/splash/drawable-land-xhdpi-screen.png and b/Mohem/resources/android/splash/drawable-land-xhdpi-screen.png differ diff --git a/Mohem/resources/android/splash/drawable-land-xxhdpi-screen.png b/Mohem/resources/android/splash/drawable-land-xxhdpi-screen.png index c30d7392..04a1786f 100644 Binary files a/Mohem/resources/android/splash/drawable-land-xxhdpi-screen.png and b/Mohem/resources/android/splash/drawable-land-xxhdpi-screen.png differ diff --git a/Mohem/resources/android/splash/drawable-land-xxxhdpi-screen.png b/Mohem/resources/android/splash/drawable-land-xxxhdpi-screen.png index 64081e5e..26e47cf9 100644 Binary files a/Mohem/resources/android/splash/drawable-land-xxxhdpi-screen.png and b/Mohem/resources/android/splash/drawable-land-xxxhdpi-screen.png differ diff --git a/Mohem/resources/android/splash/drawable-port-hdpi-screen.png b/Mohem/resources/android/splash/drawable-port-hdpi-screen.png index 0191aafd..aac974e0 100644 Binary files a/Mohem/resources/android/splash/drawable-port-hdpi-screen.png and b/Mohem/resources/android/splash/drawable-port-hdpi-screen.png differ diff --git a/Mohem/resources/android/splash/drawable-port-ldpi-screen.png b/Mohem/resources/android/splash/drawable-port-ldpi-screen.png index 8dfe11bb..f1790177 100644 Binary files a/Mohem/resources/android/splash/drawable-port-ldpi-screen.png and b/Mohem/resources/android/splash/drawable-port-ldpi-screen.png differ diff --git a/Mohem/resources/android/splash/drawable-port-mdpi-screen.png b/Mohem/resources/android/splash/drawable-port-mdpi-screen.png index 554ab333..1ab11686 100644 Binary files a/Mohem/resources/android/splash/drawable-port-mdpi-screen.png and b/Mohem/resources/android/splash/drawable-port-mdpi-screen.png differ diff --git a/Mohem/resources/android/splash/drawable-port-xhdpi-screen.png b/Mohem/resources/android/splash/drawable-port-xhdpi-screen.png index fba61dc8..eccccbbe 100644 Binary files a/Mohem/resources/android/splash/drawable-port-xhdpi-screen.png and b/Mohem/resources/android/splash/drawable-port-xhdpi-screen.png differ diff --git a/Mohem/resources/android/splash/drawable-port-xxhdpi-screen.png b/Mohem/resources/android/splash/drawable-port-xxhdpi-screen.png index 5513fd18..1b21b52c 100644 Binary files a/Mohem/resources/android/splash/drawable-port-xxhdpi-screen.png and b/Mohem/resources/android/splash/drawable-port-xxhdpi-screen.png differ diff --git a/Mohem/resources/android/splash/drawable-port-xxxhdpi-screen.png b/Mohem/resources/android/splash/drawable-port-xxxhdpi-screen.png index 7b105aea..667426f7 100644 Binary files a/Mohem/resources/android/splash/drawable-port-xxxhdpi-screen.png and b/Mohem/resources/android/splash/drawable-port-xxxhdpi-screen.png differ diff --git a/Mohem/src/app/hmg-common/hmg_utils.ts b/Mohem/src/app/hmg-common/hmg_utils.ts index d29b9946..dee6d53f 100644 --- a/Mohem/src/app/hmg-common/hmg_utils.ts +++ b/Mohem/src/app/hmg-common/hmg_utils.ts @@ -26,11 +26,11 @@ export class HMGUtils { this.devicePermissionsService.requestLocationAutherization().then( async granted => { if(granted == true) { if (this.platform.is('android')) { - if ((await this.isHuaweiDevice())) { - this.getHMSLocation(callBack); - } else { + // if ((await this.isHuaweiDevice())) { + // this.getHMSLocation(callBack); + // } else { this.getGMSLocation(callBack); - } + // } } else { this.getIOSLocation(callBack); } @@ -42,60 +42,60 @@ export class HMGUtils { } - async isHuaweiDevice(): Promise { - const result: any = await new Promise((resolve, reject) => { - cordova.plugins.CordovaHMSGMSCheckPlugin.isHmsAvailable( - "index.js", - (_res) => { - const hmsAvailable = _res === "true"; - resolve(hmsAvailable); - }, - (_err) => { - reject({ "status": false, "error": JSON.stringify(_err) }); - this.common.presentAlert(this.ts.trPK('general', 'huawei-hms-gms-error')); - } - ); - }); + // async isHuaweiDevice(): Promise { + // const result: any = await new Promise((resolve, reject) => { + // cordova.plugins.CordovaHMSGMSCheckPlugin.isHmsAvailable( + // "index.js", + // (_res) => { + // const hmsAvailable = _res === "true"; + // resolve(hmsAvailable); + // }, + // (_err) => { + // reject({ "status": false, "error": JSON.stringify(_err) }); + // this.common.presentAlert(this.ts.trPK('general', 'huawei-hms-gms-error')); + // } + // ); + // }); - return result; - } + // return result; + // } - private getHMSLocation(callBack: Function) { - try { - cordova.plugins.CordovaHMSLocationPlugin.requestLocation( - "index.js", - (_res) => { - console.log("Huawei Location Success: [Stop Getting]"); - cordova.plugins.CordovaHMSLocationPlugin.removeLocation("", (_res) => { }, (_err) => { }); - const location = _res.split(',') - console.log(location); - if (location.length == 3) { - let mock = false; - const lat = Number(_res.split(',')[0]); - const long = Number(_res.split(',')[1]); - const mockValue = _res.split(',')[2]; + // private getHMSLocation(callBack: Function) { + // try { + // cordova.plugins.CordovaHMSLocationPlugin.requestLocation( + // "index.js", + // (_res) => { + // console.log("Huawei Location Success: [Stop Getting]"); + // cordova.plugins.CordovaHMSLocationPlugin.removeLocation("", (_res) => { }, (_err) => { }); + // const location = _res.split(',') + // console.log(location); + // if (location.length == 3) { + // let mock = false; + // const lat = Number(_res.split(',')[0]); + // const long = Number(_res.split(',')[1]); + // const mockValue = _res.split(',')[2]; - // if (mockValue == 'true') { - // mock = true; - // } else { - // mock = false; - // } - callBack({"latitude":lat, "longitude":long, "isfake":mock}) - } else { - this.common.presentAlert(this.ts.trPK('general', 'invalid-huawei-location')); - } - }, - (_err) => { - console.log("Huawei Location [Getting Error]: " + JSON.stringify(_err)); - this.common.presentAlert(this.ts.trPK('general', 'invalid-huawei-location')); - } - ); + // // if (mockValue == 'true') { + // // mock = true; + // // } else { + // // mock = false; + // // } + // callBack({"latitude":lat, "longitude":long, "isfake":mock}) + // } else { + // this.common.presentAlert(this.ts.trPK('general', 'invalid-huawei-location')); + // } + // }, + // (_err) => { + // console.log("Huawei Location [Getting Error]: " + JSON.stringify(_err)); + // this.common.presentAlert(this.ts.trPK('general', 'invalid-huawei-location')); + // } + // ); - } catch (_err) { - console.log("Huawei Location Plugin [Error]: " + + JSON.stringify(_err)); - this.common.presentAlert(this.ts.trPK('general', 'huawei-plugin-issue')); - } - } + // } catch (_err) { + // console.log("Huawei Location Plugin [Error]: " + + JSON.stringify(_err)); + // this.common.presentAlert(this.ts.trPK('general', 'huawei-plugin-issue')); + // } + // } private getGMSLocation(callBack: Function) { this.backgroundGeolocation.getCurrentLocation({ timeout: 10000, enableHighAccuracy: true, maximumAge: 3000 }).then((resp) => {