Android share/sendTo menu implementation "add2Zip"

Overview

ToGoZip: "Add To Zip" for Android's Share/Send Menu

ToGoZip logo Get it on F-Droid

Easy collection of files from every supporting app into one ZIP file while being "on the go" or offline.

This collecting "2go.zip" file is like a suitcase in which you can put things (files) from nearly everywhere (from every app that supports "share"/"send") and that can travel everywhere (via email, Bluetooth, NFC).

In the beginning this program was developed to collect new Android calendar entry ics-files in order to transfer them to a desktop PC's calendar.

Features

  • Supports view/send/SendMultiple for file(s), folder(s), URLs and texts.
  • Automatic file renaming in the ZIP if the same name with different file date already exists.
  • If settings/DebugMode is enabled, processing is logged to logcat and to clipboard as text.
  • Settings automatically pop up if the ZIP folder is not writable.
  • Translations : bn, de, en, es, fr, hi, hu, id, ja, nl, no, pl, pt, tr, zh-CN, zh-TW
  • Minimual requirements:
    • Version 2.0.17 works with Android-2.1 (api 7) up to Android-5. apk size is only about 100 KB.
    • Version 2.1.27 works with Android-4.1 (api 16) and later (including Android-10). apk size is only about 200 KB.

Required Android Permissions

  • WRITE_EXTERNAL_STORAGE used to store the created/updated ZIP file.
  • The Android device must have external storage (aka SD card) where the ZIP file is written to.

Links

Screenshots

Share menu with ToGoZip entry

App settings


Donations

If you like this app, please consider donating to F-Droid.

Since Android development is a hobby (and an educational tool) I don't want any money for my apps, so donations should go to projects I benefit from.

Comments
  • Need Redesign Logo?

    Need Redesign Logo?

    Hi I am a graphic designer and I make free contributions of logo design and image to open source app, I would like to contribute in your app with a striking logo design. If you are interested let me know your concerns. Thanks in advance.

    opened by gcarlosr 14
  • 2.0.17

    2.0.17 "Generate zip-subfolders below" may cause crashes

    Hello. Thanks for the update. Sadly, the application crashes when:

    • I choose Generate zip-subfolders below option and then press system back button instead of Cancel button.
    • It's not possible to choose any other location instead of Download/copy. It should say that I've picked the wrong folder or offer a choice. Now it crashes all the time until the application data is cleared.
    bug waiting for feedback 
    opened by HenriDellal 8
  • App crashes when zip-output-folder is root directory. Needs more errorhandling

    App crashes when zip-output-folder is root directory. Needs more errorhandling

    Expected behavior

    I expected the app to save the LogCat to file as I had earlier selected the storage location.


    Actual behavior

    Immediately I clicked on the 'Save LogCat to file' option, the app crashed


    How to reproduce

    • Download, install and launch the latest version of the app
    • Select storage location
    • Scroll down to the end
    • Click on the 'Save LogCat to file' option
    • Observe the crash.

    Device: Gionee f100s Android version: v6.0 App version: v2.0.19.190413


    Recording of the bug

    • https://youtu.be/Jwe6rbS0ST4

    bug 
    opened by ChristophyBarth 5
  • Use of mutation testing in ToGoZip - Help needed

    Use of mutation testing in ToGoZip - Help needed

    Hello there!

    My name is Ana. I noted that you use the mutation testing tool in the project. I am a postdoctoral researcher at the University of Seville (Spain), and my colleagues and I are studying how mutation testing tools are used in practice. With this aim in mind, we have analysed over 3,500 public GitHub repositories using mutation testing tools, including yours! This work has recently been published in a journal paper available at https://link.springer.com/content/pdf/10.1007/s10664-022-10177-8.pdf.

    To complete this study, we are asking for your help to understand better how mutation testing is used in practice, please! We would be extremely grateful if you could contribute to this study by answering a brief survey of 21 simple questions (no more than 6 minutes). This is the link to the questionnaire https://forms.gle/FvXNrimWAsJYC1zB9.

    Drop me an e-mail if you have any questions or comments ([email protected]). Thank you very much in advance!!

    opened by belene 1
  • The app crashes when I click on the three dots at the top right corner of the screen

    The app crashes when I click on the three dots at the top right corner of the screen

    Expected behavior

    I'm sort of new to the app so I expected a tab which may contain more features of the app to be displayed (when I click on the three dots at the top right corner of the screen).


    Actual behavior

    Once I click on the three dots, the app crashed.


    How to reproduce

    • Download, install and launch the latest version of the app
    • Select storage location
    • Click on the three vertically arranged dots
    • Observe the crash.

    Device: Gionee f100s Android version: v6.0 App version: v2.0.19.190413


    Recording of the bug

    • https://youtu.be/Jwe6rbS0ST4

    opened by ChristophyBarth 1
  • The app crashes when I try to change language

    The app crashes when I try to change language

    Expected behavior

    I expected the app to change the language to the preferred language I selected.


    Actual behavior

    Each time I try to change the app's language, the app crashes.


    How to reproduce

    • Download, install and launch the latest version of the app
    • Select storage location
    • Click on the first option (Language)
    • Select any language (I selected French)
    • Observe the crash.

    Device: Gionee f100s Android version: v6.0 App version: v2.0.19.190413


    Recording of the bug

    • https://youtu.be/hNH-lI09GVE

    opened by ChristophyBarth 1
  • Add to Settings: save with partial source path

    Add to Settings: save with partial source path

    As a photo power user i want to use ToGoZip to backup some selected jpg files with included paths so i do not loose folder structure.

    Example: when i select "..../0/DCIM/allphotos/job/company.jpg" and "..../0/DCIM/allphotos/holidays/2018/hotel.jpg" and send them to zip the zip will contain "company.jpg" and "hotel.jpg" in the zip-s root folder.

    With the new feature enabled the zip will contain the full path "..../0/DCIM/allphotos/job/company.jpg" and "..../0/DCIM/allphotos/holidays/2018/hotel.jpg" so folder info is preserved.

    Background: I have photos on two different android devices (with the same folder structure,

    When i make changes on one device (i.e. edited photo exif data) i want the changes to be transferd to the other device. This can be done by sorting the images by modificaton-date-decending (last modified first), select them and send photos modified since last tranfer to zip which can be tranfered to other device an extracted there.

    opened by k3b 1
  • Settings may crash with NumberFormatException if number=

    Settings may crash with NumberFormatException if number="" (i.e. after choosing language).

    Actual behavior

    I opened the app and then i clicked on edit after that i clicked on select which is at the bottom of the right corner. And then in Settings I clicked on output zip file, short text file in zip, long file:Min text Len and then in long text file in zip, options. In all the options i removed all the text and putted numbers. After that I clicked on language and choosed a language. Suddenly the app crashed. And then i tried to open the app again. But everytime it always crashed.

    How to reproduce

    • First you need to download the app from fdroid and then install it. After that open the app.

    • Click on the edit and then on select.

    • After that in settings press on the output zip file, short text file in zip, long file:Min text Len. And remove the text and numbers.

    • Then click on language and choose anyone. Suddenly the app will crash.

    • After that try to open the app. But unfortunately you will not be able to open the app. As it always crashes. U have to uninstall it and then install it again.

    https://youtu.be/GGREadbCDFk

    • Browser: ToGozip

    • Version:2.0.12.180516

    • Operating system:7.1.2

    • Device model: Redmi 4

    bug 
    opened by Sammaz2 1
  • French translation + README.md

    French translation + README.md

    Hello,

    This PR adds the French translation (some sentences aren't translated since it's not very meaningful in French, I think it's better to keep them in English). Please read the strings.xml file to check it, if I forget or erase a <br> or something like that...

    This PR also adds a bigger button in the README.md to get the app on F-Droid, with the new link to get the app.

    Thanks for this app :)

    opened by Poussinou 1
  • Improve GRADLE build Performance

    Improve GRADLE build Performance

    Parallel builds. This project contains multiple modules. Parallel builds can improve the build speed by executing tasks in parallel. We can enable this feature by setting org.gradle.parallel=true.

    File system watching. Since Gradle 6.5, File system watching was introduced which can help to avoid unnecessary I/O. This feature is the default since 7.0. For an older version, we can enable this feature by setting org.gradle.vfs.watch=true.

    Configuration on demand. Configuration on demand tells Gradle to configure modules that only are relevant to the requested tasks instead of configuring all of them. We can enable this feature by setting org.gradle.configureondemand=true.

    gradle caching. Shared caches can reduce the number of tasks you need to execute by reusing outputs already generated elsewhere. This can significantly decrease build times. We can enable this feature by setting org.gradle.caching=true.

    ===================== If there are any inappropriate modifications in this PR, please give me a reply and I will change them.

    opened by hongdongni 0
  • "share/sendTo" function "add2zip"

    in order to collect files to be transfered to a different computer as an offline mobile android user i want have a "share/sendTo" function "add2zip that adds the current selected folder/file(s) to be added to a zip file. This zip can be later transfered to the other computer via bluetooth, nfc or email.

    enhancement 
    opened by k3b 0
  • Android10: Crash when item is directory via FileProvider (i.e. Material Files)

    Android10: Crash when item is directory via FileProvider (i.e. Material Files)

    When "share" contains a directory in the android app Material Files ToGoZip crashes because it cannot resolve the directory.

    togozip receives a share entry with mime type "vnd.android.document/directory" and the underlying FileProvider does not support getting files from directories (see comment in https://stackoverflow.com/questions/48062097/how-to-open-a-directoryfolder-in-android-using-file-provider )

    2022-03-18 11:30:20.045 27876-27876/de.k3b.android.toGoZip D/k3b.zip: Extras[Stream] uri: adding file content://me.zhanghai.android.files.file_provider/file%253A%252F%252F%252Fstorage%252Femulated%252F0%252FDCIM%252Fsdtest%252Fsd_sub_test
    2022-03-18 11:30:20.071 27876-27876/de.k3b.android.toGoZip D/k3b.zip: Data[file-content-uri=content://me.zhanghai.android.files.file_provider/file%253A%252F%252F%252Fstorage%252Femulated%252F0%252FDCIM%252Fsdtest%252Fsd_sub_test]: /storage/emulated/0/DCIM/sdtest/sd_sub_test
    2022-03-18 11:30:20.079 27876-27876/de.k3b.android.toGoZip D/k3b.zip: (0) create new result file 2go.zip.tmp.zip
    2022-03-18 11:30:21.064 27876-27876/de.k3b.android.toGoZip D/k3b.zip: (1b) copy new item [ ] DocumentFileCompressItem;sd_sub_test;/storage/emulated/0/DCIM/sdtest/sd_sub_test;content://me.zhanghai.android.files.file_provider/file%253A%252F%252F%252Fstorage%252Femulated%252F0%252FDCIM%252Fsdtest%252Fsd_sub_test as sd_sub_test to 2go.zip.tmp.zip
    2022-03-18 11:30:21.114 27876-27876/de.k3b.android.toGoZip E/k3b-ziblib: Error in (1b) copy new item [ ] DocumentFileCompressItem;sd_sub_test;/storage/emulated/0/DCIM/sdtest/sd_sub_test;content://me.zhanghai.android.files.file_provider/file%253A%252F%252F%252Fstorage%252Femulated%252F0%252FDCIM%252Fsdtest%252Fsd_sub_test as sd_sub_test to 2go.zip.tmp.zip:read failed: EISDIR (Is a directory)
        java.io.IOException: read failed: EISDIR (Is a directory)
            at libcore.io.IoBridge.read(IoBridge.java:523)
            at java.io.FileInputStream.read(FileInputStream.java:313)
            at android.os.ParcelFileDescriptor$AutoCloseInputStream.read(ParcelFileDescriptor.java:975)
            at java.io.FileInputStream.read(FileInputStream.java:282)
            at android.os.ParcelFileDescriptor$AutoCloseInputStream.read(ParcelFileDescriptor.java:966)
            at de.k3b.io.FileUtils.copyStream(FileUtils.java:79)
            at de.k3b.zip.CompressJob.add(CompressJob.java:664)
            at de.k3b.zip.CompressJob.compress(CompressJob.java:482)
            at de.k3b.android.toGoZip.ToGoZipCompressJob.executeAddToZip(ToGoZipCompressJob.java:59)
            at de.k3b.android.toGoZip.Add2ZipActivity.executeZipJob(Add2ZipActivity.java:94)
            at de.k3b.android.toGoZip.Add2ZipActivity.onCreate(Add2ZipActivity.java:48)
            at android.app.Activity.performCreate(Activity.java:7835)
            at android.app.Activity.performCreate(Activity.java:7824)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3298)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3462)
            at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
            at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
            at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2063)
            at android.os.Handler.dispatchMessage(Handler.java:107)
            at android.os.Looper.loop(Looper.java:214)
            at android.app.ActivityThread.main(ActivityThread.java:7615)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
         Caused by: android.system.ErrnoException: read failed: EISDIR (Is a directory)
            at libcore.io.Linux.readBytes(Native Method)
            at libcore.io.Linux.read(Linux.java:190)
            at libcore.io.ForwardingOs.read(ForwardingOs.java:177)
            at libcore.io.BlockGuardOs.read(BlockGuardOs.java:303)
            at libcore.io.ForwardingOs.read(ForwardingOs.java:177)
            at libcore.io.IoBridge.read(IoBridge.java:513)
            at java.io.FileInputStream.read(FileInputStream.java:313) 
            at android.os.ParcelFileDescriptor$AutoCloseInputStream.read(ParcelFileDescriptor.java:975) 
            at java.io.FileInputStream.read(FileInputStream.java:282) 
            at android.os.ParcelFileDescriptor$AutoCloseInputStream.read(ParcelFileDescriptor.java:966) 
            at de.k3b.io.FileUtils.copyStream(FileUtils.java:79) 
            at de.k3b.zip.CompressJob.add(CompressJob.java:664) 
            at de.k3b.zip.CompressJob.compress(CompressJob.java:482) 
            at de.k3b.android.toGoZip.ToGoZipCompressJob.executeAddToZip(ToGoZipCompressJob.java:59) 
            at de.k3b.android.toGoZip.Add2ZipActivity.executeZipJob(Add2ZipActivity.java:94) 
            at de.k3b.android.toGoZip.Add2ZipActivity.onCreate(Add2ZipActivity.java:48) 
            at android.app.Activity.performCreate(Activity.java:7835) 
            at android.app.Activity.performCreate(Activity.java:7824) 
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307) 
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3298) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3462) 
            at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 
            at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
            at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2063) 
            at android.os.Handler.dispatchMessage(Handler.java:107) 
            at android.os.Looper.loop(Looper.java:214) 
            at android.app.ActivityThread.main(ActivityThread.java:7615) 
            at java.lang.reflect.Method.invoke(Native Method) 
            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964) 
    2022-03-18 11:30:21.115 27876-27876/de.k3b.android.toGoZip D/k3b.zip: (5b) free resources
    
    
    bug 
    opened by k3b 0
  • add support for notificatonbar

    add support for notificatonbar

    • added/updated after adding something to 2go.zip
    • text: number of files/bytes
    • commands:
      • open/edit via external filemanager (EDIT intent with zip uri)
      • sendto
      • delete zip
      • close notificaton
    • Settings: Use Navigationbar yes/no
    enhancement 
    opened by k3b 0
  • Encrypt file with one standard password

    Encrypt file with one standard password

    I would like to ZIP and encrypt my personal documents before uploading to the cloud. Would it be possible to integrate encryption with always the same password defined in the ToGoZip settings? That would be awesome!!!

    enhancement help wanted 
    opened by Tiddeo 8
  • Add more translations cn, es, ru, .....

    Add more translations cn, es, ru, .....

    Crowdin

    generated on 2021-02-06 with de.k3b.translations.TranslationStatisticsTests#dumpAsMD

    | language | changed | app | fdroid | aboutbox | translated by | | --- | --- | --- | --- | --- | --- | | ar | 2019-06-05 | 71% (25/35) | 100% | 1 | khalid fahad (abumada), Vitality | | bn | 2018-10-25 | 71% (25/35) | 100% | 1 | Md Masud Rana (masudrana55) | | de | 2017-12-01 | 100% | 100% | 1 | k3b | | en | 2020-04-01 | 100% | 100% | 1 | | | es | 2020-04-20 | 100% | 100% | 1 | acrylicpaintboy, NeHoMaR | | eu | 2020-04-08 | 100% | 100% | 1 | Osoitz | | fr | 2020-04-20 | 100% | 100% | 1 | acrylicpaintboy,Poussinou | | hi | 2017-12-01 | 37% (13/35) | 66% (2/3) | 0 | jznsamuel (jasonsamuel88) | | hu | 2017-12-16 | 62% (22/35) | 100% | 1 | csongorhunt | | in | 2018-01-04 | 71% (25/35) | 100% | 1 | isaideureka, Ryal (ryal) | | ja | 2018-12-16 | 100% | 100% | 1 | naofum | | nl | 2020-04-01 | 100% | 100% | 1 | Heimen Stoffels (vistausss), Omer Surer (omersurer) | | no | 2017-12-20 | 60% (21/35) | 100% | 1 | hjalmarcoin | | pl | 2018-01-13 | 71% (25/35) | 66% (2/3) | 1 | mejser, Oconnell (sebastianoconnell1) | | pt | 2019-07-24 | 74% (26/35) | 100% | 1 | chacal_exodius, Miguel Dos Reis (siersod) | | ru | 2021-02-06 | 100% | 100% | 1 | Vladislav Glinsky (cl0ne), mesnevi,HenriDellal | | tr | 2017-12-07 | 62% (22/35) | 100% | 1 | ozmodias, vitruvianman | | uk | 2021-02-06 | 100% | 100% | 1 | Vladislav Glinsky (cl0ne) | | vi | 2018-01-04 | 71% (25/35) | 100% | 1 | allen44 | | zh-rCN | 2020-04-01 | 100% | 100% | 1 | Xu Eric (spice2wolf), daijia | | zh-rTW | 2017-11-22 | 62% (22/35) | 100% | 1 | incrediblesnow | | zz | 2018-05-14 | 71% (25/35) | 0% (0/3) | 1 | k3b |

    If you like to see "ToGoZip" in an additional language you can help me and add translations through the crowdin translation web gui. You can login there using your Github, Facebook, Twitter or Google+ account.

    I can add a "[Language] Translation by [Your Name with link to some homepage]" to the app's-Aboutbox and to this project's wiki History if you want it

    Here is the ToGoZip Translation Project.

    opened by k3b 5
Releases(v2.1.28.220601)
Owner
k3b
k3b
Android application to slice and share your pictures

Piclice A practical tool which helps users to slice and share their pictures. Features Displaying all pictures of system Gallery Slicing and resizing

Navid 182 Nov 22, 2022
An app for random Reddit memes with the option to share it as well!

Meme Share App What - An app for random Reddit memes with the option to share it as well! Why - Wanted to learn about integrating APIs with Android ap

Infosecc Gurung 0 Jul 14, 2022
Share your minecraft-adventure with your friends in nation-party.

Nation Party Make your adventure as shared with your friends and family in Nation Party. Features * Create your own party with your own name; * Invite

Luiz Otávio 1 Jan 9, 2022
Connect UPG is an app that enables students to interact and share their thoughts, emotions, feeling as things

Connect UPG is an app that enables students to interact and share their thoughts, emotions, feeling as things

Krish Parekh 7 Jan 18, 2022
The example Android project of animated menu items in toolbar

Android Animated Menu Items The example Android project of animated menu items in toolbar. Thanks Srikant Shetty for idea of this animation. Cut: Copy

Ilya Fomenko 922 Nov 23, 2022
A demo of the power menu with Reveal and other animations

MaterialPowerMenu A demo of the power menu with Reveal and other animations Some days ago, I saw a gif on Google+ demonstating a concept of Android Po

Naman Dwivedi 888 Oct 11, 2022
Easy to use Overflow Menu for Jetpack Compose

Overflow Menu Android library for Jetpack Compose providing an Overflow Menu via fast and easy to use DSL. How to add to project Step 1. Add the JitPa

Ceribe 2 Dec 17, 2021
📒 NotyKT is a complete 💎Kotlin-stack (Backend + Android) 📱 application built to demonstrate the use of Modern development tools with best practices implementation🦸.

NotyKT ??️ NotyKT is the complete Kotlin-stack note taking ??️ application ?? built to demonstrate a use of Kotlin programming language in server-side

Shreyas Patil 1.4k Jan 8, 2023
Implementation of the application using the latest Android Tech Stack and the GitHub REST API.

GitHub Viewer Implementation of the application using the latest Android Tech Stack and the GitHub REST API. <!-- Github login. You can change the use

Vitaliy Zarubin 53 Jan 3, 2023
A simple implementation of the Android In-App Billing API.

Google In-App Billing Library v4+ A simple implementation of the Android In-App Billing API. It supports: in-app purchases (both consumable and non-co

Moisoni Ioan 79 Dec 12, 2022
Wandroid project based on Kotlin + JetPack + concurrent implementation of MVVM architecture for playing Android App

Wandroid project based on Kotlin + JetPack + concurrent implementation of MVVM architecture for playing Android App

null 32 Feb 13, 2022
Firebase Authentication and realtime database implementation in Android Kotlin

Androidfirebaseauthentication Firebase is Google’s mobile platform that helps you develop high-quality apps and provides hosted backend services such

Samwel Nyandoro 1 Mar 21, 2022
Multi Roots TreeView implementation for Android Platform with a lot of options and customization

TreeView Multi Roots TreeView implementation for Android Platform with a lot of options and customization Demo Features: - No Custom Views. - Easy use

Amr Hesham 74 May 10, 2022
Turtle Graphics 🐢 implementation for Android Platform with Code Editor, Preview Screen and packages

Turtle Graphics Download Turtle is an Android Application inspired from the original Turtle Graphics and Logo, Logo is an educational programming lang

Amr Hesham 15 Dec 30, 2022
GeckoView implementation on android for React Native.

react-native-geckoview A fully functional implementation of GeckoView on android for react native. The component supports two-way messaging similar to

Ammar Ahmed 7 Nov 24, 2022
The implementation of https://dribbble.com/shots/2067564-Replace

FlyRefresh The Android implementation of Replace, designed by Zee Youn. I implement this as a FlyRefresh layout. The content of the layout can be any

吴晶 2.9k Nov 29, 2022
Implementation of Instagram with Material Design (originally based on Emmanuel Pacamalan's concept)

InstaMaterial Updated Current source code contains UI elements from Design Support Library. If you still want to see how custom implementations of e.g

Mirosław Stanek 5k Dec 27, 2022
Simple Mvp Implementation

Froggy Simple Mvp Implementation Download Gragle: compile 'ru.bullyboo.mvp:froggy:1.0.2' Maven: <dependency> <groupId>ru.bullyboo.mvp</groupId>

Rostislav Sharafutdinov 15 Mar 17, 2019
A project for the implementation of the car animation feature in most ride-sharing/ food delivery apps

CarAnimation This is a test project to practice the implementation of the car animation feature in most ride-sharing/ food delivery apps. Slowly build

Samurai 45 Dec 23, 2022