mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-01-15 10:58:40 +00:00
remove cached images
This commit is contained in:
parent
a0074c07a6
commit
4bedbc7933
3 changed files with 8 additions and 65 deletions
32
README.md
32
README.md
|
|
@ -2,35 +2,7 @@
|
||||||
|
|
||||||
Don't be lonely, get twonly! Send pictures to a friend in real time and be sure you are the only two people who can see them.
|
Don't be lonely, get twonly! Send pictures to a friend in real time and be sure you are the only two people who can see them.
|
||||||
|
|
||||||
|
run-as eu.twonly.testing ls /data/user/0/eu.twonly.testing/
|
||||||
## TODOS bevor first beta
|
|
||||||
- Real deployment aufsetzen, direkt auf Netcup?
|
|
||||||
- Firebase Push Notification
|
|
||||||
|
|
||||||
|
|
||||||
## Maybe
|
|
||||||
- Send a picture first to only one person -> Kamera button
|
|
||||||
- Response to a image
|
|
||||||
- MediaView:
|
|
||||||
- Bei weiteren geladenen Bildern -> Direkt anzeigen ohne pop
|
|
||||||
|
|
||||||
## TODOS bevor first release
|
|
||||||
- Settings
|
|
||||||
- Subscription
|
|
||||||
- Notification
|
|
||||||
- Webpage
|
|
||||||
- Instagam & Marketing vorbereiten
|
|
||||||
- IT-Startup der TU Darmstadt anschreiben
|
|
||||||
- iOS version
|
|
||||||
|
|
||||||
## Later todos
|
|
||||||
- Videos
|
|
||||||
- Sealed Sender
|
|
||||||
- Settings
|
|
||||||
- Profilbilder erstellen.
|
|
||||||
- Pro Version
|
|
||||||
- Media Shower -> Recap of the day
|
|
||||||
- Send normal images via twonly
|
|
||||||
|
|
||||||
|
|
||||||
## Pro Version
|
## Pro Version
|
||||||
|
|
@ -40,8 +12,6 @@ Don't be lonely, get twonly! Send pictures to a friend in real time and be sure
|
||||||
- Get up to 3 tokens
|
- Get up to 3 tokens
|
||||||
- Get for your twonly partner a second a additional pro version
|
- Get for your twonly partner a second a additional pro version
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
This app was started because of the three main features I missed out by popular alternatives.
|
This app was started because of the three main features I missed out by popular alternatives.
|
||||||
|
|
|
||||||
|
|
@ -135,8 +135,12 @@ Future uploadMediaFile(
|
||||||
if (offset + fragmentedTransportSize < encryptedMedia.length) {
|
if (offset + fragmentedTransportSize < encryptedMedia.length) {
|
||||||
end = offset + fragmentedTransportSize;
|
end = offset + fragmentedTransportSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wasSend = await apiProvider.uploadData(
|
bool wasSend = await apiProvider.uploadData(
|
||||||
uploadToken, encryptedMedia.sublist(offset, end), offset);
|
uploadToken,
|
||||||
|
encryptedMedia.sublist(offset, end),
|
||||||
|
offset,
|
||||||
|
);
|
||||||
|
|
||||||
if (!wasSend) {
|
if (!wasSend) {
|
||||||
Logger("api.dart").shout("error while uploading media");
|
Logger("api.dart").shout("error while uploading media");
|
||||||
|
|
|
||||||
|
|
@ -77,6 +77,8 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
|
||||||
single: (single) async {
|
single: (single) async {
|
||||||
final imageBytes = await single.file?.readAsBytes();
|
final imageBytes = await single.file?.readAsBytes();
|
||||||
if (imageBytes == null || !context.mounted) return;
|
if (imageBytes == null || !context.mounted) return;
|
||||||
|
debugPrint("Delete ${single.path!}");
|
||||||
|
File(single.path!).delete();
|
||||||
setState(() {
|
setState(() {
|
||||||
sharePreviewIsShown = true;
|
sharePreviewIsShown = true;
|
||||||
});
|
});
|
||||||
|
|
@ -199,7 +201,6 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
|
||||||
isFlashOn = true;
|
isFlashOn = true;
|
||||||
}
|
}
|
||||||
setState(() {});
|
setState(() {});
|
||||||
//cameraState.sensorConfig.switchCameraFlash();
|
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
@ -258,40 +259,8 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
|
||||||
final String filePath =
|
final String filePath =
|
||||||
'${testDir.path}/${DateTime.now().millisecondsSinceEpoch}.jpg';
|
'${testDir.path}/${DateTime.now().millisecondsSinceEpoch}.jpg';
|
||||||
return SingleCaptureRequest(filePath, sensors.first);
|
return SingleCaptureRequest(filePath, sensors.first);
|
||||||
// // Separate pictures taken with front and back camera
|
|
||||||
// return MultipleCaptureRequest(
|
|
||||||
// {
|
|
||||||
// for (final sensor in sensors)
|
|
||||||
// sensor:
|
|
||||||
// '${testDir.path}/${sensor.position == SensorPosition.front ? 'front_' : "back_"}${DateTime.now().millisecondsSinceEpoch}.jpg',
|
|
||||||
// },
|
|
||||||
// );
|
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
// onPreviewTapBuilder: (state) => OnPreviewTap(
|
|
||||||
// onTap: (Offset position, PreviewSize flutterPreviewSize,
|
|
||||||
// PreviewSize pixelPreviewSize) {
|
|
||||||
// state.when(onPhotoMode: (picState) => picState.takePhoto());
|
|
||||||
// },
|
|
||||||
// onTapPainter: (tapPosition) => TweenAnimationBuilder(
|
|
||||||
// key: ValueKey(tapPosition),
|
|
||||||
// tween: Tween<double>(begin: 1.0, end: 0.0),
|
|
||||||
// duration: const Duration(milliseconds: 500),
|
|
||||||
// builder: (context, anim, child) {
|
|
||||||
// return Transform.rotate(
|
|
||||||
// angle: anim * 2 * pi,
|
|
||||||
// child: Transform.scale(
|
|
||||||
// scale: 4 * anim,
|
|
||||||
// child: child,
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// },
|
|
||||||
// child: const Icon(
|
|
||||||
// Icons.camera,
|
|
||||||
// color: Colors.white,
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
if (sharePreviewIsShown)
|
if (sharePreviewIsShown)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue