DELETED all unwanted files
parent
cef0d886c7
commit
adf9a1cf04
@ -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"
|
|
||||||
}
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='utf-8'?>
|
|
||||||
<plugin id="com.huawei.cordovahmsgmscheckplugin" version="1.0.0" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<name>CordovaHMSGMSCheckPlugin</name>
|
|
||||||
<js-module name="CordovaHMSGMSCheckPlugin" src="www/CordovaHMSGMSCheckPlugin.js">
|
|
||||||
<clobbers target="cordova.plugins.CordovaHMSGMSCheckPlugin" />
|
|
||||||
</js-module>
|
|
||||||
<platform name="android">
|
|
||||||
<!-- hook for add maven repositories and agc plugin-->
|
|
||||||
<hook src="scripts/android/after_plugin_install.js" type="after_plugin_install" />
|
|
||||||
<hook src="scripts/android/before_plugin_uninstall.js" type="before_plugin_uninstall" />
|
|
||||||
|
|
||||||
<framework custom="true" src="src/android/build.gradle" type="gradleReference" />
|
|
||||||
<!-- Account Kit dependency-->
|
|
||||||
<framework src="com.huawei.hms:base:5.0.4.301" />
|
|
||||||
<!-- <framework src="com.google.android.gms:play-services-base:17.2.1" /> -->
|
|
||||||
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="CordovaHMSGMSCheckPlugin">
|
|
||||||
<param name="android-package"
|
|
||||||
value="com.huawei.cordovahmsgmscheckplugin.CordovaHMSGMSCheckPlugin" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="AndroidManifest.xml"></config-file>
|
|
||||||
<source-file src="src/android/CordovaHMSGMSCheckPlugin.java"
|
|
||||||
target-dir="src/com/huawei/cordovahmsgmscheckplugin" />
|
|
||||||
</platform>
|
|
||||||
<!-- Script help to copy agconnect-services.json to right places-->
|
|
||||||
<hook src="scripts/after_prepare.js" type="after_prepare" />
|
|
||||||
</plugin>
|
|
||||||
@ -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);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@ -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();
|
|
||||||
};
|
|
||||||
@ -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();
|
|
||||||
};
|
|
||||||
@ -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);
|
|
||||||
},
|
|
||||||
};
|
|
||||||
@ -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 + "(.*?)>(.*?)</" + 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;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
|
||||||
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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'
|
|
||||||
})
|
|
||||||
@ -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"
|
|
||||||
}
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='utf-8'?>
|
|
||||||
<plugin xmlns:android="http://schemas.android.com/apk/res/android" id="com.huawei.cordovahmslocationplugin"
|
|
||||||
version="1.0.0"
|
|
||||||
xmlns="http://apache.org/cordova/ns/plugins/1.0">
|
|
||||||
<name>CordovaHMSLocationPlugin</name>
|
|
||||||
<js-module name="CordovaHMSLocationPlugin" src="www/CordovaHMSLocationPlugin.js">
|
|
||||||
<clobbers target="cordova.plugins.CordovaHMSLocationPlugin" />
|
|
||||||
</js-module>
|
|
||||||
<platform name="android">
|
|
||||||
<!-- hook for add maven repositories and agc plugin-->
|
|
||||||
<hook src="scripts/android/after_plugin_install.js" type="after_plugin_install" />
|
|
||||||
<hook src="scripts/android/before_plugin_uninstall.js" type="before_plugin_uninstall" />
|
|
||||||
|
|
||||||
<framework custom="true" src="src/android/build.gradle" type="gradleReference" />
|
|
||||||
<!-- Location Kit dependency-->
|
|
||||||
<framework src="com.huawei.hms:location:4.0.0.300" />
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="CordovaHMSLocationPlugin">
|
|
||||||
<param name="android-package"
|
|
||||||
value="com.huawei.cordovahmslocationplugin.CordovaHMSLocationPlugin" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/*" target="AndroidManifest.xml"></config-file>
|
|
||||||
<source-file src="src/android/CordovaHMSLocationPlugin.java"
|
|
||||||
target-dir="src/com/huawei/cordovahmslocationplugin" />
|
|
||||||
</platform>
|
|
||||||
<!-- Script help to copy agconnect-services.json to right places-->
|
|
||||||
<hook src="scripts/after_prepare.js" type="after_prepare" />
|
|
||||||
</plugin>
|
|
||||||
@ -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);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@ -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();
|
|
||||||
};
|
|
||||||
@ -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();
|
|
||||||
};
|
|
||||||
@ -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);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@ -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 + '(.*?)>(.*?)</' + 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@ -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'
|
|
||||||
})
|
|
||||||
@ -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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@ -1,38 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='utf-8'?><!-- Plugin Id and Version-->
|
|
||||||
<plugin xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
id="com.huawei.cordovahmspushplugin" version="1.0.0"
|
|
||||||
xmlns="http://apache.org/cordova/ns/plugins/1.0">
|
|
||||||
<js-module name="CordovaHMSPushPlugin" src="www/CordovaHMSPushPlugin.js">
|
|
||||||
<clobbers target="cordova.plugins.CordovaHMSPushPlugin" />
|
|
||||||
</js-module>
|
|
||||||
<!-- Plugin Name -->
|
|
||||||
<name>CordovaHMSPushPlugin</name>
|
|
||||||
<platform name="android">
|
|
||||||
<!-- hook for add maven repositories and agc plugin-->
|
|
||||||
<hook src="scripts/android/after_plugin_install.js" type="after_plugin_install" />
|
|
||||||
<hook src="scripts/android/before_plugin_uninstall.js" type="before_plugin_uninstall" />
|
|
||||||
|
|
||||||
<framework custom="true" src="src/android/build.gradle" type="gradleReference" />
|
|
||||||
<!-- Push Kit dependency-->
|
|
||||||
<framework src="com.huawei.hms:push:4.0.0.300" />
|
|
||||||
<config-file parent="/*" target="res/xml/config.xml">
|
|
||||||
<feature name="CordovaHMSPushPlugin">
|
|
||||||
<param name="android-package"
|
|
||||||
value="com.huawei.cordovahmspushplugin.CordovaHMSPushPlugin" />
|
|
||||||
</feature>
|
|
||||||
</config-file>
|
|
||||||
<config-file parent="/manifest/application" target="AndroidManifest.xml">
|
|
||||||
<service android:exported="false" android:name="com.huawei.cordovahmspushplugin.MessageService">
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
|
|
||||||
</intent-filter>
|
|
||||||
</service>
|
|
||||||
</config-file>
|
|
||||||
<source-file src="src/android/CordovaHMSPushPlugin.java"
|
|
||||||
target-dir="src/com/huawei/cordovahmspushplugin" />
|
|
||||||
<source-file src="src/android/MessageService.java"
|
|
||||||
target-dir="src/com/huawei/cordovahmspushplugin" />
|
|
||||||
</platform>
|
|
||||||
<!-- Script help to copy agconnect-services.json to right places-->
|
|
||||||
<hook src="scripts/after_prepare.js" type="after_prepare" />
|
|
||||||
</plugin>
|
|
||||||
@ -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);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@ -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();
|
|
||||||
};
|
|
||||||
@ -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();
|
|
||||||
};
|
|
||||||
@ -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);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@ -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 + '(.*?)>(.*?)</' + 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@ -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<Void>() {
|
|
||||||
@Override
|
|
||||||
public void onComplete(Task<Void> 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());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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'
|
|
||||||
})
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -1,40 +0,0 @@
|
|||||||
{
|
|
||||||
"project_info": {
|
|
||||||
"project_number": "679409052782",
|
|
||||||
"firebase_url": "https://mohemm-dce93.firebaseio.com",
|
|
||||||
"project_id": "mohemm-dce93",
|
|
||||||
"storage_bucket": "mohemm-dce93.appspot.com"
|
|
||||||
},
|
|
||||||
"client": [
|
|
||||||
{
|
|
||||||
"client_info": {
|
|
||||||
"mobilesdk_app_id": "1:679409052782:android:dba155ac0859d7fea78a7f",
|
|
||||||
"android_client_info": {
|
|
||||||
"package_name": "hmg.cloudSolutions.mohem"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "679409052782-mtd6d8rjltucnm9uatn6g7et08sm6lbv.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
|
||||||
{
|
|
||||||
"current_key": "AIzaSyDgWjuSBIKGghWxYg_KGBRIZTi-O_UA8mU"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"services": {
|
|
||||||
"appinvite_service": {
|
|
||||||
"other_platform_oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "679409052782-mtd6d8rjltucnm9uatn6g7et08sm6lbv.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"configuration_version": "1"
|
|
||||||
}
|
|
||||||
@ -1,40 +0,0 @@
|
|||||||
{
|
|
||||||
"project_info": {
|
|
||||||
"project_number": "608631731238",
|
|
||||||
"firebase_url": "https://mohemm-cs.firebaseio.com",
|
|
||||||
"project_id": "mohemm-cs",
|
|
||||||
"storage_bucket": "mohemm-cs.appspot.com"
|
|
||||||
},
|
|
||||||
"client": [
|
|
||||||
{
|
|
||||||
"client_info": {
|
|
||||||
"mobilesdk_app_id": "1:608631731238:android:3a8384007f8700ec",
|
|
||||||
"android_client_info": {
|
|
||||||
"package_name": "com.cloudsolutions.mohemm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "608631731238-83a5qndedia496ssa6ekkd3db5jo8khr.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
|
||||||
{
|
|
||||||
"current_key": "AIzaSyB5zpz9vC2NOxsU1dPr0TK0dVaMY5D4Mjg"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"services": {
|
|
||||||
"appinvite_service": {
|
|
||||||
"other_platform_oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "608631731238-83a5qndedia496ssa6ekkd3db5jo8khr.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"configuration_version": "1"
|
|
||||||
}
|
|
||||||
@ -1,40 +0,0 @@
|
|||||||
{
|
|
||||||
"project_info": {
|
|
||||||
"project_number": "448880075189",
|
|
||||||
"firebase_url": "https://al-habib-mohemm.firebaseio.com",
|
|
||||||
"project_id": "al-habib-mohemm",
|
|
||||||
"storage_bucket": "al-habib-mohemm.appspot.com"
|
|
||||||
},
|
|
||||||
"client": [
|
|
||||||
{
|
|
||||||
"client_info": {
|
|
||||||
"mobilesdk_app_id": "1:448880075189:android:5bb4821d515a826d88b9fc",
|
|
||||||
"android_client_info": {
|
|
||||||
"package_name": "com.cloudsolutions.alhabibmohemm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "448880075189-49hc2l78pr9hsmr9p3k7j411r40diej8.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
|
||||||
{
|
|
||||||
"current_key": "AIzaSyC8nrli7eyuRNow8nF-QHvDMOxqUkj6fEw"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"services": {
|
|
||||||
"appinvite_service": {
|
|
||||||
"other_platform_oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "448880075189-49hc2l78pr9hsmr9p3k7j411r40diej8.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"configuration_version": "1"
|
|
||||||
}
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,6 +0,0 @@
|
|||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQgpFHLFUMeYsa60Ljq
|
|
||||||
iLNjrd5vW54LWW29shqYplVrbJGgCgYIKoZIzj0DAQehRANCAATtOB42ERmP9URQ
|
|
||||||
ERKOSOsNs84YYhYOYgJWzEl8vawi4mUI2MaliCdXkTxzqChTWuPw2YN4n1ebAclM
|
|
||||||
GEIcObMj
|
|
||||||
-----END PRIVATE KEY-----
|
|
||||||
Binary file not shown.
@ -1,36 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>CLIENT_ID</key>
|
|
||||||
<string>448880075189-tcgggmh2ua9tsmdr97c1ttcgrmf5kg5m.apps.googleusercontent.com</string>
|
|
||||||
<key>REVERSED_CLIENT_ID</key>
|
|
||||||
<string>com.googleusercontent.apps.448880075189-tcgggmh2ua9tsmdr97c1ttcgrmf5kg5m</string>
|
|
||||||
<key>API_KEY</key>
|
|
||||||
<string>AIzaSyB--KUTUYVpcdxpETCEsdhKs5cV3QawW7Q</string>
|
|
||||||
<key>GCM_SENDER_ID</key>
|
|
||||||
<string>448880075189</string>
|
|
||||||
<key>PLIST_VERSION</key>
|
|
||||||
<string>1</string>
|
|
||||||
<key>BUNDLE_ID</key>
|
|
||||||
<string>com.cloudsolutions.alhabibmohemm</string>
|
|
||||||
<key>PROJECT_ID</key>
|
|
||||||
<string>al-habib-mohemm</string>
|
|
||||||
<key>STORAGE_BUCKET</key>
|
|
||||||
<string>al-habib-mohemm.appspot.com</string>
|
|
||||||
<key>IS_ADS_ENABLED</key>
|
|
||||||
<false></false>
|
|
||||||
<key>IS_ANALYTICS_ENABLED</key>
|
|
||||||
<false></false>
|
|
||||||
<key>IS_APPINVITE_ENABLED</key>
|
|
||||||
<true></true>
|
|
||||||
<key>IS_GCM_ENABLED</key>
|
|
||||||
<true></true>
|
|
||||||
<key>IS_SIGNIN_ENABLED</key>
|
|
||||||
<true></true>
|
|
||||||
<key>GOOGLE_APP_ID</key>
|
|
||||||
<string>1:448880075189:ios:c6fd2b86fe7b388088b9fc</string>
|
|
||||||
<key>DATABASE_URL</key>
|
|
||||||
<string>https://al-habib-mohemm.firebaseio.com</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
@ -1,47 +0,0 @@
|
|||||||
{
|
|
||||||
"project_info": {
|
|
||||||
"project_number": "448880075189",
|
|
||||||
"firebase_url": "https://al-habib-mohemm.firebaseio.com",
|
|
||||||
"project_id": "al-habib-mohemm",
|
|
||||||
"storage_bucket": "al-habib-mohemm.appspot.com"
|
|
||||||
},
|
|
||||||
"client": [
|
|
||||||
{
|
|
||||||
"client_info": {
|
|
||||||
"mobilesdk_app_id": "1:448880075189:android:5bb4821d515a826d88b9fc",
|
|
||||||
"android_client_info": {
|
|
||||||
"package_name": "com.cloudsolutions.alhabibmohemm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "448880075189-49hc2l78pr9hsmr9p3k7j411r40diej8.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
|
||||||
{
|
|
||||||
"current_key": "AIzaSyC8nrli7eyuRNow8nF-QHvDMOxqUkj6fEw"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"services": {
|
|
||||||
"appinvite_service": {
|
|
||||||
"other_platform_oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "448880075189-49hc2l78pr9hsmr9p3k7j411r40diej8.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"client_id": "448880075189-tcgggmh2ua9tsmdr97c1ttcgrmf5kg5m.apps.googleusercontent.com",
|
|
||||||
"client_type": 2,
|
|
||||||
"ios_info": {
|
|
||||||
"bundle_id": "com.cloudsolutions.alhabibmohemm"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"configuration_version": "1"
|
|
||||||
}
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,6 +0,0 @@
|
|||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQg+oBl9YdOiMRXfQZe
|
|
||||||
nIe6tR1tojoOvvcohNJmJtH+SsagCgYIKoZIzj0DAQehRANCAATDY9E82MAgMI/g
|
|
||||||
bKF1t4zLHJ1Yt9uoOnedNYsfyZLhh3l3ZyXRj02uDXz04AsNbNFjkLJXPc4xY9ad
|
|
||||||
+A4rY70x
|
|
||||||
-----END PRIVATE KEY-----
|
|
||||||
@ -1,36 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>CLIENT_ID</key>
|
|
||||||
<string>679409052782-3teqf8vdh9e1suvnhddj3pgmna7vg5rt.apps.googleusercontent.com</string>
|
|
||||||
<key>REVERSED_CLIENT_ID</key>
|
|
||||||
<string>com.googleusercontent.apps.679409052782-3teqf8vdh9e1suvnhddj3pgmna7vg5rt</string>
|
|
||||||
<key>API_KEY</key>
|
|
||||||
<string>AIzaSyCjMjhbeS7qilBoP4SH0t3SgkkHryf34JA</string>
|
|
||||||
<key>GCM_SENDER_ID</key>
|
|
||||||
<string>679409052782</string>
|
|
||||||
<key>PLIST_VERSION</key>
|
|
||||||
<string>1</string>
|
|
||||||
<key>BUNDLE_ID</key>
|
|
||||||
<string>com.cloudsolutions.mohemm</string>
|
|
||||||
<key>PROJECT_ID</key>
|
|
||||||
<string>mohemm-dce93</string>
|
|
||||||
<key>STORAGE_BUCKET</key>
|
|
||||||
<string>mohemm-dce93.appspot.com</string>
|
|
||||||
<key>IS_ADS_ENABLED</key>
|
|
||||||
<false></false>
|
|
||||||
<key>IS_ANALYTICS_ENABLED</key>
|
|
||||||
<false></false>
|
|
||||||
<key>IS_APPINVITE_ENABLED</key>
|
|
||||||
<true></true>
|
|
||||||
<key>IS_GCM_ENABLED</key>
|
|
||||||
<true></true>
|
|
||||||
<key>IS_SIGNIN_ENABLED</key>
|
|
||||||
<true></true>
|
|
||||||
<key>GOOGLE_APP_ID</key>
|
|
||||||
<string>1:679409052782:ios:ace07cf8ba043b48a78a7f</string>
|
|
||||||
<key>DATABASE_URL</key>
|
|
||||||
<string>https://mohemm-dce93.firebaseio.com</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
@ -1,47 +0,0 @@
|
|||||||
{
|
|
||||||
"project_info": {
|
|
||||||
"project_number": "679409052782",
|
|
||||||
"firebase_url": "https://mohemm-dce93.firebaseio.com",
|
|
||||||
"project_id": "mohemm-dce93",
|
|
||||||
"storage_bucket": "mohemm-dce93.appspot.com"
|
|
||||||
},
|
|
||||||
"client": [
|
|
||||||
{
|
|
||||||
"client_info": {
|
|
||||||
"mobilesdk_app_id": "1:679409052782:android:dba155ac0859d7fea78a7f",
|
|
||||||
"android_client_info": {
|
|
||||||
"package_name": "hmg.cloudSolutions.mohem"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "679409052782-mtd6d8rjltucnm9uatn6g7et08sm6lbv.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"api_key": [
|
|
||||||
{
|
|
||||||
"current_key": "AIzaSyDgWjuSBIKGghWxYg_KGBRIZTi-O_UA8mU"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"services": {
|
|
||||||
"appinvite_service": {
|
|
||||||
"other_platform_oauth_client": [
|
|
||||||
{
|
|
||||||
"client_id": "679409052782-mtd6d8rjltucnm9uatn6g7et08sm6lbv.apps.googleusercontent.com",
|
|
||||||
"client_type": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"client_id": "679409052782-3teqf8vdh9e1suvnhddj3pgmna7vg5rt.apps.googleusercontent.com",
|
|
||||||
"client_type": 2,
|
|
||||||
"ios_info": {
|
|
||||||
"bundle_id": "com.cloudsolutions.mohemm"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"configuration_version": "1"
|
|
||||||
}
|
|
||||||
@ -1,17 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE REQUEST-----
|
|
||||||
MIICoTCCAYkCAQAwXDEzMDEGCSqGSIb3DQEJARYkQ2hvdWRocnkuTWFzb29kQGNs
|
|
||||||
b3Vkc29sdXRpb24tc2EuY29tMRgwFgYDVQQDDA9DaG91ZGhyeSBNYXNvb2QxCzAJ
|
|
||||||
BgNVBAYTAlNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApkQA87EF
|
|
||||||
GiHTVqx7SWD+3qaVSHTFrTCro9DJZ5na/WGsF06xfoZJT/S5jFW5DlWHWsJak/vx
|
|
||||||
BqsuH3VGTEneoEiWc+Zyh6Lb6SvgDmfee2MB+k8E6dHE4Z5Z7aiBXSTjIjKcWEjj
|
|
||||||
41++FVihddY+p9723WFhcEWcA2Nq2p9KSZlKZNqui5xU/16z6RW7YSu0ylBUE8+g
|
|
||||||
E5GLzRgALzoSNT5OedXqdIoR9k1Jds2ep+DKqjl35hKOX215b3tzfyamPK2i1UHB
|
|
||||||
eaYBXnObkyJe4EIcqlTM8Eeo23yxsHYyRrJmJDDm4GaXRXrQ2193XpLHNlq88no5
|
|
||||||
wgI+yYsb7zvwowIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAIQsZ1fP8XImSQ+L
|
|
||||||
TvR4mT98DI5Ld/xLnw/LXRNJrZVtxMjdUwwcMhvxbfGX4Ji4wpttkzbkr86Jyh+U
|
|
||||||
dbfVqHKLIGo8xjYl4uCcjYIqnY2hBduv+/aWWoFAJ9w5tv8Oo/3hasF97zQi+vZh
|
|
||||||
Uzqdp/8IWb8/QGE2HRqKbSUMKBeUzDmyQTnM7QeS5kuT5MQZjDnFLV2v3Sxa383L
|
|
||||||
9jFqNQjS7b1mcVJ4/HsW7yUYoDZ8C90fUp2zs5k4SFad8MG4J1IsoshXuBgBvcFg
|
|
||||||
haDt0P+hh6QVk9yf4zGgcbU7501ya5T5MgZ8moxnlklf3mqGUCK2IU8PBc2IquyG
|
|
||||||
2PrSkpI=
|
|
||||||
-----END CERTIFICATE REQUEST-----
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
CS :
|
|
||||||
android:hmg.cloudSolutions.mohem
|
|
||||||
IOS :com.cloudsolutions.mohemm
|
|
||||||
|
|
||||||
HMG :
|
|
||||||
com.cloudsolutions.alhabibmohemm
|
|
||||||
Binary file not shown.
Binary file not shown.
@ -1,48 +0,0 @@
|
|||||||
GET_SHIFT_TYPES
|
|
||||||
GET_TIME_CARD_SUMMARY
|
|
||||||
GET_DAY_HOURS_TYPE_DETAILS
|
|
||||||
GET_SCHEDULE_SHIFTS_DETAILS
|
|
||||||
GET_SWIPES
|
|
||||||
GET_PAYSLIP
|
|
||||||
GET_SUMMARY_OF_PAYMENT
|
|
||||||
GET_EARNINGS
|
|
||||||
GET_DEDUCTIONS
|
|
||||||
GET_PAYMENT_INFORMATION
|
|
||||||
GET_MO_NOTIFICATION_BODY
|
|
||||||
GET_PR_NOTIFICATION_BODY
|
|
||||||
GET_PO_NOTIFICATION_BODY
|
|
||||||
GET_PO_ITEM_HISTORY
|
|
||||||
GET_QUOTATION_ANALYSIS
|
|
||||||
GET_PENDING_REQ_FUNCTIONS
|
|
||||||
GET_PENDING_REQ_DETAILS
|
|
||||||
UPDATE_EMPLOYEE_IMAGE
|
|
||||||
GET_OBJECT_VALUES
|
|
||||||
GET_EMPLOYEE_PHONES
|
|
||||||
SUBMIT_PHONES_TRANSACTION
|
|
||||||
START_PHONES_APPROVAL_PROCESS
|
|
||||||
GET_PHONES_NOTIFICATION_BODY
|
|
||||||
GET_EMPLOYEE_BASIC_DETAILS
|
|
||||||
GET_BASIC_DET_COLS_STRUCTURE
|
|
||||||
GET_BASIC_DET_DFF_STRUCTURE
|
|
||||||
SUBMIT_BASIC_DET_TRANSACTION
|
|
||||||
START_BASIC_DET_APPR_PROCESS
|
|
||||||
GET_BASIC_DET_NTF_BODY
|
|
||||||
GET_MO_ITEM_HISTORY
|
|
||||||
GET_COUNTRIES
|
|
||||||
GET_EMPLOYEE_ADDRESS
|
|
||||||
GET_ADDRESS_DFF_STRUCTURE
|
|
||||||
SUBMIT_ADDRESS_TRANSACTION
|
|
||||||
START_ADDRESS_APPROVAL_PROCESS
|
|
||||||
GET_ADDRESS_NOTIFICATION_BODY
|
|
||||||
GET_EMPLOYEE_CONTACTS
|
|
||||||
GET_CONTACT_DETAILS
|
|
||||||
GET_CONTACT_COLS_STRUCTURE
|
|
||||||
GET_CONTACT_DFF_STRUCTURE
|
|
||||||
SUBMIT_CONTACT_TRANSACTION
|
|
||||||
START_CONTACT_APPROVAL_PROCESS
|
|
||||||
GET_TERM_COLS_STRUCTURE
|
|
||||||
GET_TERM_DFF_STRUCTURE
|
|
||||||
SUBMIT_TERM_TRANSACTION
|
|
||||||
START_TERM_APPROVAL_PROCESS
|
|
||||||
GET_TERM_NOTIFICATION_BODY
|
|
||||||
GET_CONTACT_NOTIFICATION_BODY
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue