td1
This commit is contained in:
parent
ec451f8d50
commit
587f861a52
3
TD1/.idea/.gitignore
generated
vendored
Normal file
3
TD1/.idea/.gitignore
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
9
TD1/.idea/TD1.iml
generated
Normal file
9
TD1/.idea/TD1.iml
generated
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
8
TD1/.idea/modules.xml
generated
Normal file
8
TD1/.idea/modules.xml
generated
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/TD1.iml" filepath="$PROJECT_DIR$/.idea/TD1.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
6
TD1/.idea/vcs.xml
generated
Normal file
6
TD1/.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
11
TD1/config.xml
Normal file
11
TD1/config.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<widget id="io.cordova.hellocordova" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||||
|
<name>HelloCordova</name>
|
||||||
|
<description>Sample Apache Cordova App</description>
|
||||||
|
<author email="dev@cordova.apache.org" href="https://cordova.apache.org">
|
||||||
|
Apache Cordova Team
|
||||||
|
</author>
|
||||||
|
<content src="index.html" />
|
||||||
|
<allow-intent href="http://*/*" />
|
||||||
|
<allow-intent href="https://*/*" />
|
||||||
|
</widget>
|
1039
TD1/package-lock.json
generated
Normal file
1039
TD1/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
33
TD1/package.json
Normal file
33
TD1/package.json
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"name": "io.cordova.hellocordova",
|
||||||
|
"displayName": "HelloCordova",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "A sample Apache Cordova application that responds to the deviceready event.",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"ecosystem:cordova"
|
||||||
|
],
|
||||||
|
"author": "Apache Cordova Team",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"devDependencies": {
|
||||||
|
"cordova-android": "^10.1.2",
|
||||||
|
"cordova-plugin-camera": "^6.0.0",
|
||||||
|
"cordova-plugin-geolocation": "^4.1.0",
|
||||||
|
"cordova-plugin-network-information": "^3.0.0"
|
||||||
|
},
|
||||||
|
"cordova": {
|
||||||
|
"platforms": [
|
||||||
|
"android"
|
||||||
|
],
|
||||||
|
"plugins": {
|
||||||
|
"cordova-plugin-geolocation": {},
|
||||||
|
"cordova-plugin-camera": {
|
||||||
|
"ANDROIDX_CORE_VERSION": "1.6.+"
|
||||||
|
},
|
||||||
|
"cordova-plugin-network-information": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
7
TD1/www/css/bootstrap.min.css
vendored
Normal file
7
TD1/www/css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
124
TD1/www/css/index.css
Normal file
124
TD1/www/css/index.css
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
* {
|
||||||
|
-webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
-webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */
|
||||||
|
-webkit-text-size-adjust: none; /* prevent webkit from resizing text to fit */
|
||||||
|
-webkit-user-select: none; /* prevent copy paste, to allow, change 'none' to 'text' */
|
||||||
|
background-color:#E4E4E4;
|
||||||
|
background-image:linear-gradient(to bottom, #A7A7A7 0%, #E4E4E4 51%);
|
||||||
|
font-family: system-ui, -apple-system, -apple-system-font, 'Segoe UI', 'Roboto', sans-serif;
|
||||||
|
font-size:12px;
|
||||||
|
height:100vh;
|
||||||
|
margin:0px;
|
||||||
|
padding:0px;
|
||||||
|
/* Padding to avoid the "unsafe" areas behind notches in the screen */
|
||||||
|
padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
|
||||||
|
text-transform:uppercase;
|
||||||
|
width:100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Portrait layout (default) */
|
||||||
|
.app {
|
||||||
|
background:url(../img/logo.png) no-repeat center top; /* 170px x 200px */
|
||||||
|
position:absolute; /* position in the center of the screen */
|
||||||
|
left:50%;
|
||||||
|
top:50%;
|
||||||
|
height:50px; /* text area height */
|
||||||
|
width:225px; /* text area width */
|
||||||
|
text-align:center;
|
||||||
|
padding:180px 0px 0px 0px; /* image height is 200px (bottom 20px are overlapped with text) */
|
||||||
|
margin:-115px 0px 0px -112px; /* offset vertical: half of image height and text area height */
|
||||||
|
/* offset horizontal: half of text area width */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Landscape layout (with min-width) */
|
||||||
|
@media screen and (min-aspect-ratio: 1/1) and (min-width:400px) {
|
||||||
|
.app {
|
||||||
|
background-position:left center;
|
||||||
|
padding:75px 0px 75px 170px; /* padding-top + padding-bottom + text area = image height */
|
||||||
|
margin:-90px 0px 0px -198px; /* offset vertical: half of image height */
|
||||||
|
/* offset horizontal: half of image width and text area width */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size:24px;
|
||||||
|
font-weight:normal;
|
||||||
|
margin:0px;
|
||||||
|
overflow:visible;
|
||||||
|
padding:0px;
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.event {
|
||||||
|
border-radius:4px;
|
||||||
|
color:#FFFFFF;
|
||||||
|
font-size:12px;
|
||||||
|
margin:0px 30px;
|
||||||
|
padding:2px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.event.listening {
|
||||||
|
background-color:#333333;
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.event.received {
|
||||||
|
background-color:#4B946A;
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#deviceready.ready .event.listening { display: none; }
|
||||||
|
#deviceready.ready .event.received { display: block; }
|
||||||
|
|
||||||
|
@keyframes fade {
|
||||||
|
from { opacity: 1.0; }
|
||||||
|
50% { opacity: 0.4; }
|
||||||
|
to { opacity: 1.0; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.blink {
|
||||||
|
animation:fade 3000ms infinite;
|
||||||
|
-webkit-animation:fade 3000ms infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media screen and (prefers-color-scheme: dark) {
|
||||||
|
body {
|
||||||
|
background-image:linear-gradient(to bottom, #585858 0%, #1B1B1B 51%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#aj {
|
||||||
|
width: 50%;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#imgToReplace {
|
||||||
|
margin-top: 20px;
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
margin: 5px 0;
|
||||||
|
}
|
BIN
TD1/www/img/aj.gif
Normal file
BIN
TD1/www/img/aj.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 684 KiB |
BIN
TD1/www/img/logo.png
Normal file
BIN
TD1/www/img/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
61
TD1/www/index.html
Normal file
61
TD1/www/index.html
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<!--
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
or more contributor license agreements. See the NOTICE file
|
||||||
|
distributed with this work for additional information
|
||||||
|
regarding copyright ownership. The ASF licenses this file
|
||||||
|
to you under the Apache License, Version 2.0 (the
|
||||||
|
"License"); you may not use this file except in compliance
|
||||||
|
with the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing,
|
||||||
|
software distributed under the License is distributed on an
|
||||||
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
KIND, either express or implied. See the License for the
|
||||||
|
specific language governing permissions and limitations
|
||||||
|
under the License.
|
||||||
|
-->
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<!--
|
||||||
|
Customize this policy to fit your own app's needs. For more guidance, please refer to the docs:
|
||||||
|
https://cordova.apache.org/docs/en/latest/
|
||||||
|
Some notes:
|
||||||
|
* https://ssl.gstatic.com is required only on Android and is needed for TalkBack to function properly
|
||||||
|
* Disables use of inline scripts in order to mitigate risk of XSS vulnerabilities. To change this:
|
||||||
|
* Enable inline JS: add 'unsafe-inline' to default-src
|
||||||
|
-->
|
||||||
|
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">
|
||||||
|
<meta name="format-detection" content="telephone=no">
|
||||||
|
<meta name="msapplication-tap-highlight" content="no">
|
||||||
|
<meta name="viewport" content="initial-scale=1, width=device-width, viewport-fit=cover">
|
||||||
|
<meta name="color-scheme" content="light dark">
|
||||||
|
<link rel="stylesheet" href="css/index.css">
|
||||||
|
<link rel="stylesheet" href="css/bootstrap.min.css">
|
||||||
|
<!-- JavaScript Bundle with Popper -->
|
||||||
|
<script src="js/bootstrap.bundle.min.js"></script>
|
||||||
|
<title>Hello World</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div>
|
||||||
|
<h1>Applejack is best pony</h1>
|
||||||
|
<div>
|
||||||
|
<img src="./img/aj.gif" width="100%" alt="aj" id="aj" class="mx-auto d-block" />
|
||||||
|
</div>
|
||||||
|
<div class="content justify-content-center">
|
||||||
|
<button class="btn btn-primary mx-auto d-block" id="takePicture">Camera</button>
|
||||||
|
<button class="btn btn-secondary mx-auto d-block" id="getPosition">Position</button>
|
||||||
|
<button class="btn btn-info mx-auto d-block" id="getCon">Est connecté ?</button>
|
||||||
|
<div class="camera">
|
||||||
|
<img src="" alt=" " class="mx-auto d-block" id="imgToReplace">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<script src="cordova.js"></script>
|
||||||
|
<script src="js/index.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
7
TD1/www/js/bootstrap.bundle.min.js
vendored
Normal file
7
TD1/www/js/bootstrap.bundle.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
101
TD1/www/js/index.js
Normal file
101
TD1/www/js/index.js
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Wait for the deviceready event before using any of Cordova's device APIs.
|
||||||
|
// See https://cordova.apache.org/docs/en/latest/cordova/events/events.html#deviceready
|
||||||
|
document.addEventListener('deviceready', onDeviceReady, false);
|
||||||
|
|
||||||
|
function onDeviceReady() {
|
||||||
|
// Cordova is now initialized. Have fun!
|
||||||
|
|
||||||
|
console.log('Running cordova-' + cordova.platformId + '@' + cordova.version);
|
||||||
|
|
||||||
|
document.getElementById("takePicture").addEventListener("click", (e) => {
|
||||||
|
navigator.camera.getPicture(sucessCallbackImage,errorCallbackImage,{ quality: 50,
|
||||||
|
destinationType: Camera.DestinationType.DATA_URL
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById("getPosition").addEventListener("click", (e) => {
|
||||||
|
navigator.geolocation.watchPosition(sucessCallbackPos,errorCallbackPos,{})
|
||||||
|
});
|
||||||
|
|
||||||
|
var networkState = navigator.connection.type;
|
||||||
|
document.getElementById("getCon").addEventListener("click", (e) => {
|
||||||
|
let con = navigator.connection.type;
|
||||||
|
if(con == "none") {
|
||||||
|
errorCallbackCon();
|
||||||
|
} else {
|
||||||
|
sucessCallbackCon();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
document.addEventListener("offline", decoNet, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function sucessCallbackImage(imageData) {
|
||||||
|
//alert("Zipp is best princess !");
|
||||||
|
var image = document.getElementById('imgToReplace') ;
|
||||||
|
image.src = "data:image/jpeg;base64," + imageData;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function errorCallbackImage() {
|
||||||
|
alert("prout");
|
||||||
|
}
|
||||||
|
|
||||||
|
function sucessCallbackPos(position) {
|
||||||
|
alert('Latitude: ' + position.coords.latitude + '\n' +
|
||||||
|
'Longitude: ' + position.coords.longitude + '\n' +
|
||||||
|
'Altitude: ' + position.coords.altitude + '\n' +
|
||||||
|
'Timestamp: ' + new Date(position.timestamp) + '\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
function errorCallbackPos() {
|
||||||
|
alert("proutPos");
|
||||||
|
}
|
||||||
|
|
||||||
|
function sucessCallbackCon() {
|
||||||
|
alert("Equestria.social reachable !");
|
||||||
|
let btn = document.getElementById('getCon');
|
||||||
|
btn.innerHTML = "Equestria.social Online";
|
||||||
|
btn.classList.remove("btn-info");
|
||||||
|
btn.classList.add("btn-success");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function errorCallbackCon() {
|
||||||
|
alert("Equestria.social unreachable !");
|
||||||
|
let btn = document.getElementById('getCon');
|
||||||
|
btn.innerHTML = "Equestria.social Offline";
|
||||||
|
btn.classList.remove("btn-info");
|
||||||
|
btn.classList.remove("btn-success");
|
||||||
|
btn.classList.add("btn-danger");
|
||||||
|
}
|
||||||
|
|
||||||
|
function decoNet() {
|
||||||
|
alert("Equestria.social : lost connexion");
|
||||||
|
let btn = document.getElementById('getCon');
|
||||||
|
btn.innerHTML = "Equestria.social Offline (Lost Connexion)";
|
||||||
|
btn.classList.remove("btn-info");
|
||||||
|
btn.classList.remove("btn-success");
|
||||||
|
btn.classList.add("btn-danger");
|
||||||
|
}
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user