mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
add checkintent to main file
This commit is contained in:
@@ -17,10 +17,17 @@
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SEND" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<data android:mimeType="text/plain" />
|
||||
<data android:mimeType="image/*" />
|
||||
<data android:mimeType="application/*" />
|
||||
<data android:mimeType="video/*" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SEND" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<data android:mimeType="text/plain" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SEND_MULTIPLE" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<data android:mimeType="image/*" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<provider android:authorities="${applicationId}.fileprovider" android:exported="false"
|
||||
|
||||
+62
-22
@@ -23,10 +23,11 @@ import { PermissionList } from '../models/permission/permissionList';
|
||||
import { SendIntent } from "send-intent";
|
||||
|
||||
import { Plugins } from '@capacitor/core';
|
||||
import { Filesystem } from '@capacitor/filesystem';
|
||||
import { NewActionPage } from '../pages/publications/new-action/new-action.page';
|
||||
import { PublicationsPage } from '../pages/publications/publications.page';
|
||||
import { fetchData } from 'plugins/Echo';
|
||||
import { Encoding, Filesystem, FilesystemDirectory } from '@capacitor/filesystem';
|
||||
|
||||
|
||||
|
||||
const { App } = Plugins;
|
||||
@@ -147,6 +148,8 @@ export class HomePage implements OnInit {
|
||||
);
|
||||
}); */
|
||||
|
||||
/* this.checkSendIntentReceived(''); */
|
||||
|
||||
}
|
||||
|
||||
goto(url) {
|
||||
@@ -157,44 +160,52 @@ export class HomePage implements OnInit {
|
||||
|
||||
|
||||
|
||||
async checkSendIntentReceived() {
|
||||
async checkSendIntentReceived(result) {
|
||||
|
||||
try {
|
||||
const result: any = await SendIntent.checkSendIntentReceived();
|
||||
|
||||
SendIntent.checkSendIntentReceived().then((result: any) => {
|
||||
alert('shared')
|
||||
if (result) {
|
||||
console.log('SendIntent received');
|
||||
console.log('JSON RESULT', JSON.stringify(result));
|
||||
console.log(JSON.stringify(result));
|
||||
}
|
||||
if (result.url) {
|
||||
let resultUrl = decodeURIComponent(result.url);
|
||||
Filesystem.readFile({path: resultUrl})
|
||||
|
||||
.then(async (content) => {
|
||||
|
||||
const modal = await this.modalController.create({
|
||||
component: PublicationsPage,
|
||||
componentProps: {
|
||||
item: "item",
|
||||
intent: JSON.stringify(result)
|
||||
intent: content.data
|
||||
},
|
||||
cssClass: 'new-action modal modal-desktop',
|
||||
backdropDismiss: false
|
||||
});
|
||||
|
||||
/* modal.onDidDismiss().then(() => {
|
||||
this.getActions();
|
||||
}); */
|
||||
modal.onDidDismiss().then(() => {
|
||||
SendIntent.finish();
|
||||
});
|
||||
await modal.present();
|
||||
}
|
||||
if (result.url) {
|
||||
console.log('SendIntent received URL');
|
||||
let resultUrl = decodeURIComponent(result.url);
|
||||
Filesystem.readFile({ path: resultUrl })
|
||||
.then((content) => {
|
||||
console.log('CONtent data', content.data);
|
||||
|
||||
|
||||
console.log(content.data);
|
||||
})
|
||||
.catch((err) => console.log('Erro filesystem', err));
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('error check intent', error);
|
||||
.catch((err) => console.error(err));
|
||||
}
|
||||
}).catch(err => console.error(err));
|
||||
|
||||
}
|
||||
ngOnInit() {
|
||||
|
||||
if(window["sharedintend"]) {
|
||||
this.router.navigateByUrl("/home/publication");
|
||||
}
|
||||
|
||||
window["this.router"] = this.router
|
||||
|
||||
/* this.checkSendIntentReceived() */
|
||||
|
||||
if ("serviceWorker" in navigator) {
|
||||
@@ -291,14 +302,27 @@ export class HomePage implements OnInit {
|
||||
if (!this.platform.is('desktop')) {
|
||||
App.addListener('appStateChange', ({ isActive }) => {
|
||||
if (isActive) {
|
||||
/* this.checkSendIntentReceived("value") */
|
||||
// The app is in the foreground.
|
||||
fetchData()
|
||||
/* fetchData()
|
||||
.then((value) => {
|
||||
console.log('fetchData was successful in file2.ts', value);
|
||||
this.imageToBase64(value)
|
||||
.then((base64Data) => {s
|
||||
if (base64Data) {
|
||||
// Use the base64 data as needed
|
||||
console.log('Base64 data:', base64Data);
|
||||
} else {
|
||||
console.error('Base64 data is null');
|
||||
}
|
||||
});
|
||||
if (value)
|
||||
this.checkSendIntentReceived(value)
|
||||
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Error in file2.ts:', error);
|
||||
});
|
||||
}); */
|
||||
console.log('App is in the foreground');
|
||||
/* this.checkSendIntentReceived() */
|
||||
} else {
|
||||
@@ -311,6 +335,22 @@ export class HomePage implements OnInit {
|
||||
|
||||
}
|
||||
|
||||
async imageToBase64(imageUri: string): Promise<string | null> {
|
||||
try {
|
||||
const result = await Filesystem.readFile({
|
||||
path: imageUri,
|
||||
directory: FilesystemDirectory.External, // Adjust the directory as needed
|
||||
encoding: Encoding.UTF8,
|
||||
});
|
||||
|
||||
// The result will contain the base64-encoded data
|
||||
return result.data;
|
||||
} catch (error) {
|
||||
console.error('Error reading image:', error);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
clearTabButtonSelection() {
|
||||
this.tabButton.home = false;
|
||||
this.tabButton.agenda = false;
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<ion-label class="title font-25-em">Acções</ion-label>
|
||||
</div>
|
||||
|
||||
<div class="div-icon">
|
||||
<div *ngIf="!intent" class="div-icon">
|
||||
<button *ngIf="p.userPermission([p.permissionList.Actions.create])" title="Adicionar nova ação presidencial" class="btn-no-color" (click)="AddPublicationFolder()">
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " slot="icon-only" src='assets/images/icons-add.svg'></ion-icon>
|
||||
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " slot="icon-only" src='assets/images/theme/gov/icons-add.svg'></ion-icon>
|
||||
@@ -31,6 +31,12 @@
|
||||
<ion-icon class=" font-45-em" src="assets/images/theme/gov/icon-reload.svg"></ion-icon>
|
||||
</button>
|
||||
</div>
|
||||
<div *ngIf="intent" class="div-icon">
|
||||
|
||||
<button title="Atualizar" class="btn-no-color" (click)="close()">
|
||||
<ion-icon class=" font-45-em" src="assets/images/icons-search-close.svg"></ion-icon>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -132,6 +132,9 @@ export class PublicationsPage implements OnInit {
|
||||
}, 250);
|
||||
}
|
||||
|
||||
close() {
|
||||
this.modalController.dismiss();
|
||||
}
|
||||
get windowInnerWidth(): number {
|
||||
return window.innerWidth
|
||||
}
|
||||
|
||||
@@ -4,4 +4,4 @@ import { doneITProd } from './suport/doneIt'
|
||||
import { DevDev } from './suport/dev'
|
||||
|
||||
|
||||
export const environment: Environment = oaprProd;
|
||||
export const environment: Environment = DevDev;
|
||||
|
||||
@@ -4,4 +4,4 @@ import { doneITDev } from './suport/doneIt'
|
||||
import { DevDev } from './suport/dev'
|
||||
|
||||
|
||||
export const environment: Environment = oaprDev
|
||||
export const environment: Environment = DevDev
|
||||
+45
-2
@@ -7,12 +7,13 @@ import { environment } from './environments/environment';
|
||||
import { defineCustomElements } from '@ionic/pwa-elements/loader';
|
||||
|
||||
import "hammerjs"; // HAMMER TIME
|
||||
import { SendIntent } from "send-intent";
|
||||
import { Filesystem } from '@capacitor/filesystem';
|
||||
|
||||
|
||||
if (environment.production) {
|
||||
enableProdMode();
|
||||
}
|
||||
|
||||
|
||||
/* Sentry.init(
|
||||
{
|
||||
dsn: 'https://5b345a3ae70b4e4da463da65881b4aaa@o4504340905525248.ingest.sentry.io/4504345615794176',
|
||||
@@ -47,4 +48,46 @@ platformBrowserDynamic().bootstrapModule(AppModule)
|
||||
|
||||
// Call the element loader after the platform has been bootstrapped
|
||||
|
||||
SendIntent.checkSendIntentReceived().then((result: any) => {
|
||||
|
||||
if (result) {
|
||||
console.log('SendIntent received');
|
||||
console.log(JSON.stringify(result));
|
||||
}
|
||||
if (result.url) {
|
||||
let resultUrl = decodeURIComponent(result.url);
|
||||
Filesystem.readFile({path: resultUrl})
|
||||
|
||||
.then(async (content) => {
|
||||
|
||||
/* const modal = await this.modalController.create({
|
||||
component: PublicationsPage,
|
||||
componentProps: {
|
||||
item: "item",
|
||||
intent: content.data
|
||||
},
|
||||
cssClass: 'new-action modal modal-desktop',
|
||||
backdropDismiss: false
|
||||
});
|
||||
|
||||
modal.onDidDismiss().then(() => {
|
||||
SendIntent.finish();
|
||||
});
|
||||
await modal.present();
|
||||
*/
|
||||
|
||||
window["sharedintend"] = content.data
|
||||
|
||||
window["this.router"].navigateByUrl("/home/publication");
|
||||
|
||||
|
||||
|
||||
alert('shared')
|
||||
console.log(content.data);
|
||||
|
||||
})
|
||||
.catch((err) => console.error(err));
|
||||
}
|
||||
}).catch(err => console.error(err));
|
||||
|
||||
defineCustomElements(window);
|
||||
|
||||
Reference in New Issue
Block a user