Skip to content

Commit 1f9554e

Browse files
author
android-js
authored
Merge pull request #2 from Chhekur/master
Add: camera-app
2 parents 24207eb + fb0b64a commit 1f9554e

File tree

989 files changed

+116980
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

989 files changed

+116980
-0
lines changed

camera-app/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
2+
## Build
3+
```bash
4+
$ npm install
5+
$ androidjs b
6+
```
7+

camera-app/assets/ipc/androidjs.js

Lines changed: 289 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

camera-app/assets/ipc/back.js

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
const path = require("path");
2+
const http = require('http').createServer()
3+
const io = require("socket.io")(http);
4+
const Buffer = require('Buffer');
5+
const fs = require('fs');
6+
7+
http.listen(3000);
8+
9+
var clients = []
10+
11+
listerners = {};
12+
io.on('connection', function (socket) {
13+
// console.log('user connected');
14+
clients.push(socket);
15+
socket.on('response-from-front', function (event, ...args) {
16+
// console.log('get response from front');
17+
if(event == "androidjs:saveBlob"){
18+
saveBlobHelper(...args);
19+
return;
20+
}
21+
let fns = listerners[event];
22+
if (!fns) return false;
23+
fns.forEach(function (f) {
24+
f(...args);
25+
});
26+
return true;
27+
});
28+
socket.on('sync-response-from-front', function(event, ...args){
29+
// console.log('sync get response from front');
30+
let fns = listerners[event];
31+
if (!fns) return false;
32+
fns.forEach(function (f) {
33+
var response = f(...args);
34+
// console.log(response)
35+
socket.emit('sync-response', event ,response);
36+
});
37+
return true;
38+
})
39+
});
40+
module.exports.back = {
41+
listerners:listerners, on:on, send:send
42+
}
43+
44+
module.exports.io = io;
45+
46+
function addListener(event, fn) {
47+
listerners[event] = listerners[event] || [];
48+
listerners[event].push(fn);
49+
}
50+
51+
function on(event, fn){
52+
addListener(event, fn);
53+
}
54+
55+
function exeFunction(evemt, ...args){
56+
let fns = listeners[eventName];
57+
if (!fns) return false;
58+
fns.forEach(function (f) {
59+
f(...args);
60+
});
61+
return true;
62+
}
63+
64+
65+
function send(event, ...args){
66+
// console.log('called send');
67+
for(let i = 0; i < clients.length; i++){
68+
// console.log('send Client');
69+
clients[i].emit('response-from-back', event, ...args)
70+
}
71+
}
72+
73+
74+
io.on('connection', function (socket) {
75+
// console.log('user connected');
76+
front = socket;
77+
socket.on('reponse-from-front', function (event, ...args) {
78+
let fns = listeners[eventName];
79+
if (!fns) return false;
80+
fns.forEach(function (f) {
81+
f(...args);
82+
});
83+
return true;
84+
});
85+
});
86+
87+
function saveBlobHelper(filepath, filename, blob, type){
88+
if(type == 'image'){
89+
var buffer = new Buffer(blob, 'base64');
90+
fs.writeFile(path.join(filepath, filename), buffer, function(err){
91+
if(err){
92+
console.log(err);
93+
throw err;
94+
}
95+
});
96+
}else if(type == "video"){
97+
var buffer = new Buffer(blob);
98+
fs.writeFile(path.join(filepath, filename), buffer, function(err){
99+
if(err){
100+
console.log(err);
101+
throw err;
102+
}
103+
});
104+
}else if(type == "audio"){
105+
let buffer = new Buffer(blob);
106+
fs.writeFile(path.join(filepath, filename,), buffer, function(err){
107+
if(err){
108+
console.log(err);
109+
throw err;
110+
}
111+
console.log('saved Audio');
112+
})
113+
}
114+
}

camera-app/main.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
var back = require('./assets/ipc/back').back;
2+
var fs = require('fs');
3+
var path = require('path');
4+
//var FileReader = require('FileReader');
5+
var Buffer = require('Buffer');
6+
7+
8+
//back.on('save-File', function(filepath, filename, blob){
9+
// console.log('save-File called');
10+
// var buffer = new Buffer(blob)
11+
// fs.writeFileSync(path.join(filepath, filename), buffer);
12+
//
13+
//})
14+
15+
back.on('save-Image', function(filepath, filename, data){
16+
console.log(data);
17+
var buffer = new Buffer(data, 'base64');
18+
fs.writeFileSync(path.join(filepath, filename), buffer);
19+
console.log('saved Image');
20+
})
21+
22+
back.on('hello', function(){
23+
console.log('Hello World');
24+
})

camera-app/node_modules/.bin/lt

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

camera-app/node_modules/.bin/semver

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

camera-app/node_modules/@sindresorhus/is/dist/index.d.ts

Lines changed: 132 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)