aves_mio/README.md
Fabio Micheluz 6e97813a01 funziona
2026-02-28 22:59:08 +01:00

232 lines
8.2 KiB
Markdown

<div align="center">
<img src="https://raw.githubusercontent.com/deckerst/aves/develop/aves_logo.svg" alt='Aves logo' width="200" />
## Aves
![Version badge][Version badge]
![Build badge][Build badge]
Aves is a gallery and metadata explorer app. It is built for Android, with Flutter.
[Compare versions](https://github.com/deckerst/aves/wiki/App-Versions)
<div align="left">
## Mio
run con
```
fvm flutter run -t lib/main_play.dart --flavor play
```
se vuoi salvare tutto l'output in un file e cmq vederlo
```
fvm flutter run -t lib/main_play.dart --flavor play 2>&1 | tee output.log
```
i files nuovi sono
```
lib/remote
├── auth_client.dart
├── remote_client.dart
├── remote_models.dart
├── remote_repository.dart
├── remote_test_page.dart
├── run_remote_sync.dart
└── url_utils.dart
```
e questo modificato
```
lib/widgets/home/home_page.dart
```
salvare il DB
```
adb exec-out run-as deckers.thibault.aves.debug cat /data/data/deckers.thibault.aves.debug/databases/metadata.db > metadata.db
```
verifica che il db sia quello giusto
ci devono essere entry address metadata album
```
sqlite3 metadata.db ".tables"
address dateTaken favourites vaults
android_metadata dynamicAlbums metadata videoPlayback
covers entry trash
```
verifica delke colonne, i campi
```
sqlite3 metadata.db "PRAGMA table_info(entry);"
```
risposta
```
0|id|INTEGER|0||1
1|contentId|INTEGER|0||0
2|uri|TEXT|0||0
3|path|TEXT|0||0
4|sourceMimeType|TEXT|0||0
5|width|INTEGER|0||0
6|height|INTEGER|0||0
7|sourceRotationDegrees|INTEGER|0||0
8|sizeBytes|INTEGER|0||0
9|title|TEXT|0||0
10|dateAddedSecs|INTEGER|0|strftime('%s','now')|0
11|dateModifiedMillis|INTEGER|0||0
12|sourceDateTakenMillis|INTEGER|0||0
13|durationMillis|INTEGER|0||0
14|trashed|INTEGER|0|0|0
15|origin|INTEGER|0|0|0
16|provider|TEXT|0||0
17|remoteId|TEXT|0||0
18|remotePath|TEXT|0||0
19|remoteThumb1|TEXT|0||0
20|remoteThumb2|TEXT|0||0
21|latitude|REAL|0||0
22|longitude|REAL|0||0
23|altitude|REAL|0||0
```
Verifica 1 — Quante foto remote sono state salvate
```
sqlite3 metadata.db "SELECT COUNT(*) FROM entry WHERE origin=1;"
99
```
Verifica 2 — Controllare che le foto remote abbiano GPS e path corretti
```
sqlite3 metadata.db "
SELECT id, title, remoteId, remotePath, latitude, longitude, altitude
FROM entry
WHERE origin=1
LIMIT 20;
"
```
risposta
```
6974|IMG_0123.JPG|d9fb0263ed0bc9945d2d6fde3822377d63ed7a62df20e2a1339d77a058b0e5a0|photos/Fabio/original/2017Irlanda19-29ago/IMG_0123.JPG|53.3419416666667|-6.28671666666667|23.6626344086022
6975|IMG_0124.JPG|a48db6ef8efee410190ff59bcb223fece468837d0c39bb408cce911213e5e36c|photos/Fabio/original/2017Irlanda19-29ago/IMG_0124.JPG|53.341975|-6.28675277777778|23.8189509306261
```
cartelle possibili
```
sqlite3 metadata.db "SELECT remotePath FROM entry WHERE origin=1;" \
| awk -F'/' '{$NF=""; sub(/\/$/,""); print}' \
| sort -u
```
risposta
```
photos Fabio original 2017Irlanda19-29ago
```
controlla se ci sono tabelke album
```
sqlite3 metadata.db "
SELECT name FROM sqlite_master
WHERE type='table' AND name LIKE '%album%';
"
```
risposta
```
dynamicAlbums
```
controlla negli albums
```
sqlite3 metadata.db "SELECT * FROM dynamicAlbums LIMIT 20;"
```
## Features
Aves can handle all sorts of images and videos, including your typical JPEGs and MP4s, but also more exotic things like **multi-page TIFFs, SVGs, old AVIs and more**!
It scans your media collection to identify **motion photos**, **panoramas** (aka photo spheres), **360° videos**, as well as **GeoTIFF** files.
**Navigation and search** is an important part of Aves. The goal is for users to easily flow from albums to photos to tags to maps, etc.
Aves integrates with Android (including Android TV) with features such as **widgets**, **app shortcuts**, **screen saver** and **global search** handling. It also works as a **media viewer and picker**.
## Screenshots
<div align="center">
[<img src="https://raw.githubusercontent.com/deckerst/aves_extra/main/screenshots/readme/en/1.png"
alt='Collection screenshot'
width="130" />](https://raw.githubusercontent.com/deckerst/aves_extra/main/screenshots/play/en/1.png)
[<img
src="https://raw.githubusercontent.com/deckerst/aves_extra/main/screenshots/readme/en/2.png"
alt='Image screenshot'
width="130" />](https://raw.githubusercontent.com/deckerst/aves_extra/main/screenshots/play/en/2.png)
[<img
src="https://raw.githubusercontent.com/deckerst/aves_extra/main/screenshots/readme/en/5.png"
alt='Stats screenshot'
width="130" />](https://raw.githubusercontent.com/deckerst/aves_extra/main/screenshots/play/en/5.png)
[<img
src="https://raw.githubusercontent.com/deckerst/aves_extra/main/screenshots/readme/en/3.png"
alt='Info (basic) screenshot'
width="130" />](https://raw.githubusercontent.com/deckerst/aves_extra/main/screenshots/play/en/3.png)
[<img
src="https://raw.githubusercontent.com/deckerst/aves_extra/main/screenshots/readme/en/4.png"
alt='Info (metadata) screenshot'
width="130" />](https://raw.githubusercontent.com/deckerst/aves_extra/main/screenshots/play/en/4.png)
[<img
src="https://raw.githubusercontent.com/deckerst/aves_extra/main/screenshots/readme/en/6.png"
alt='Countries screenshot'
width="130" />](https://raw.githubusercontent.com/deckerst/aves_extra/main/screenshots/play/en/6.png)
<div align="left">
## Changelog
The list of changes for past and future releases is available [here](https://github.com/deckerst/aves/blob/develop/CHANGELOG.md).
## Permissions
Aves requires a few permissions to do its job:
- **read contents of shared storage**: the app only accesses media files, and modifying them requires explicit access grants from the user,
- **read locations from media collection**: necessary to display the media coordinates, and to group them by country (via reverse geocoding),
- **have network access**: necessary for the map view, and most likely for precise reverse geocoding too,
- **view network connections**: checking for connection states allows Aves to gracefully degrade features that depend on internet.
## Contributing
### Issues
[Bug reports](https://github.com/deckerst/aves/issues/new?assignees=&labels=type%3Abug&template=bug_report.md&title=) and [feature requests](https://github.com/deckerst/aves/issues/new?assignees=&labels=type%3Afeature&template=feature_request.md&title=) are welcome, but read the [guidelines](https://github.com/deckerst/aves/issues/234) first. If you have questions, check out the [discussions](https://github.com/deckerst/aves/discussions).
### Code
At this stage this project does *not* accept PRs.
### Translations
Translations are powered by [Weblate](https://hosted.weblate.org/engage/aves/) and the effort of wonderfully generous volunteers.
<a href="https://hosted.weblate.org/engage/aves/">
<img src="https://hosted.weblate.org/widgets/aves/-/multi-auto.svg" alt="Translation status" />
</a>
If you want to translate this app in your language and share the result, [there is a guide](https://github.com/deckerst/aves/wiki/Contributing-to-Translations).
### Donations
Some users have expressed the wish to financially support the project. Thanks! ❤️
[<img src="https://raw.githubusercontent.com/deckerst/common/main/assets/paypal-badge-cropped.png"
alt='Donate with PayPal'
height="40">](https://www.paypal.com/donate/?hosted_button_id=RWKQ4J7D8USX6)
[<img src="https://liberapay.com/assets/widgets/donate.svg"
alt='Donate using Liberapay'
height="40">](https://liberapay.com/deckerst/donate)
## Project Setup
Before running or building the app, update the dependencies for the desired flavor:
```
# scripts/apply_flavor_play.sh
```
To build the project, create a file named `<app dir>/android/key.properties`. It should contain a reference to a keystore for app signing, and other necessary credentials. See [key_template.properties](https://github.com/deckerst/aves/blob/develop/android/key_template.properties) for the expected keys.
To run the app:
```
# ./flutterw run -t lib/main_play.dart --flavor play
```
[Version badge]: https://img.shields.io/github/v/release/deckerst/aves?include_prereleases&sort=semver
[Build badge]: https://img.shields.io/github/actions/workflow/status/deckerst/aves/quality-check.yml?branch=develop