Code Monkey home page Code Monkey logo

client's Introduction

Droid-ify

Github Stars Github License Github Downloads Github Latest FDroid Latest

Features

  • Material & Clean design
  • Fast repository syncing
  • Smooth user experience
  • Feature-rich

Screenshots

Building and Installing

  1. Install Android Studio:

    • Download and install Android Studio on your computer if you haven't already.
  2. Clone the Repository:

    • Open Android Studio and select "Project from Version Control."
    • Paste the link to this repository to clone it to your local machine.
  3. Build the APK:

    • In Android Studio, navigate to Build > APK.
    • Select "Create New Keystore" and enter the required information, including a password.
    • Wait for the build process to finish.

TODO

  • Add support for index-v2
  • Add detekt code-analysis
  • Add GitHub Repo feature

Contribution

  • Pick any issue you would like to resolve
  • Fork the project
  • Open a Pull Request
  • Your PR will undergo review

Translations

Translation status

License

Droid-ify

Copyright (C) 2023 LooKeR
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

client's People

Contributors

70h avatar abc0922001 avatar actions-user avatar ali-x98 avatar another-sapiens avatar atrafon avatar bittin avatar bomzhellino avatar comradekingu avatar daviteusz avatar fjuro avatar gdonisi avatar get100percent avatar giwrgosmant avatar iamlooker avatar machiav3lli avatar milotype avatar mrwooltrest avatar nexirs avatar ngocanhtve avatar oersen avatar renovate[bot] avatar rex07 avatar rickym7 avatar shareasmile avatar softinterlingua avatar solokot avatar stephan-p avatar yurical avatar zmni avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

client's Issues

"Update All" button missing from update page

Intended behavior: "Update All" button appears on the update page to update all existing apps with an update available

Current behavior: Button is missing, forcing the user to only update one-by-one.

[FEATURE REQUEST] Add option to select external storage for apk download

It could be something like aurora store
Screenshot_com aurora store
I install apps, use, and delete if no need but maybe after a week I need it again then it would be very helpful to install directly from apk

It's also there in aurora droid but aurora store one is simple.

Screenshot_2022-07_com aurora adroid

Also, Aurora Droid let us select download path and Aurora Store give toggle for apk post install. So, that's +point and if you can add these two, it would be more awesome.πŸ˜‰

Split filter menu into repos and categories.

Droid-ify is able to filter apps into repos or categories, but not both at the same time. It would be nice to split the current filter menu in two (horizontally, if there's enough space) and allow to filter both by repo and category (e.g. IzzyDroid --||-- Connectivity).

It would also be nice to be able to set a default repository to show in the available menu.

Create a downloading/downloaded (but not installed) apps section

if you had downloaded multiple apps, it's more likely that after sometime you will forget the names of apps.
and if notification gets cleard, It's not very convenient to find downloaded apps in available section
And even if notification isn't cleared, there is a fear of it happening

F-droid release.

Glad Droid-ify returned. Will it be released or updated on F-droid?

System language use the wrong language

Hello ! I noticed that the "System" option in language settings does not use the right language. My phone is in French, but the app remains in English. Notifications are not affected and are displayed in French.

App version: 0.4.7 (from F-Droid repos)
Android version: 12 (latest GrapheneOS version running on a Pixel 5)

Navigation bar covers items

First of all, thanks a lot for the awesome app, I enjoy it a lot.

I've noticed that on my phone (Oneplus 6T, Android 10) the navigation bar seems to cover the last item in a list and it becomes tricky to select that. Is there any way to fix that?

Many thanks!

Screenshot_20220717-205158~01

Target Android 13 (33)

With Android 13 (33) coming in about 2 months, can we move the targetSDKversion to 33 to support Android 13? Google is starting to do that with their own apps.

Add support for `fdroidrepo://` URLs

fdroidrepo:// is supported by the official client to add a new HTTP repository (and fdroidrepos:// for HTTPS). This is handy because it allows a website to expose a button with a link which directly opens up the F-Droid store page to add a new repository with all the info pre-filled.

Option to disable movable top panel on main page

Sorry i don't know what the part / element should be named. Please check the images below.

The topmost part movement makes navigation unnecessarily time-taking & hard & also covers almost 1/4 screen on small phones i request a toggle to disable the movement of the topmost part (one with droid-ify written & one with application written on top).

1:
IMG_20220710_161720.jpg

2:
IMG_20220710_162459.jpg

Cherry-Pick IPv6 enablement from Neo-Store

Hi @Iamlooker,

as you revived the old Droid-ify code, I would ask you to add the one-line change from NeoApplications/Neo-Store#229 to properly support IPv6. As this uses Fast Fallback/Happy Eyeballs, users on broken IPv6 connections won't notice πŸ˜„

(I was too lazy for this one-line change to fork and create a PR XD)

Thanks for your work on this modern F-Droid client!

[Feature request] Whishlist / favorite Option

Whishlist

Description of the feature:

It would be great if you could add Apps to a Whishlist / favorites list so you can download them later, or just be able to find them more easy if want to share it or look at it later for comparison.

Similar features in other Apps:

Auroradroid:

Favorites in the left hamburger meue

Screenshot_20220706-154251

Screenshot_20220706-154053

Google play store:

Whishlist under My Apps (not 100% sure where it is)

Possible way to implement:

  1. At the right or left part of the Download button

  2. At the right side of the Name (right over the source code link button)

It is just a scetch, with both options I discribed:

20220707_093855

"Install All/Update all" button

Add "Install All/Update all" button on the Updates tab that can download and install all available updates. On non root devices it can show install prompts for each app

Network error

Showing network error after clicking on sync Repositories. V 0.4. 5

Remove empty space during search

Currently, scrolling up during search will show the empty space that is usually used to show the app name. It look a bit out of place any time it happens. Would it be possible to prevent the empty space from showing during search?

Screenshot_20220717-163510

titlebar clipping

Screenshot_20220719-123448_Droid-ify_1.png

i would expect the images to "flow" into the rounded corners of the title bar, instead of being clipped

F-Droid build failed

A RC version of the gradle is used which is not allowed because the source code may be not available. Can we use Gradle 7.4? Thanks!

Fix readme & izzyondroid logo

Seems like due to some recent commits following logos got mismatched:

  1. git repo readme
  2. izzyondroid
  3. f-droid.org

It may lead to confusion for user to decide the correct app, and since there is also neo store, almost identical it also increases confusion. A consistent logo design is need to be decided.

Use navigation bar

Make one nav item to discover new apps one to manage installed apps and one to do something else (to be material guidline conform)

Slow screen shots

Usually the screen shots are slow to load and sometimes even after loading the thumbnail the screenshot still doesn't appear. I used both Droid-ify and Neo-Store alpha, and it is fixed in Neo-Store.

BTW, love the og droidify. 😊

[Feature Request] Shizuku Service to Install Apps

Shizuku is a tool to use higher privileges (Mainly, ADB level privileges) on non-root devices, you do not need root for this. It could be an option to install applications and install updates in the background like with the root installer.

Material 3 and more

Hello, thank you for creating this app, it looks and works flawlessly!

It would be nice to have the new Material 3 design, including the theme color.

It would also be nice to have an option to enable relative or absolute dates (or even both), like "Updated x days ago/Updated 21/03/2021" like in the official F-droid app instead of having to look the latest version date.

It is nice to see that the project is being updated recently, really

Can't change Installer

Describe the bug
Only the system default package manager works for installing/uninstalling apps in Droid-ify. Installed Shizuku and tried out the installer using it. No difference. Switched to root installer, still uses the package manager. Never had this issue before version 0.4.7.

Smartphone (please complete the following information):
Android 10, LineageOS, Droid-ify v.0.4.7.

Crash refreshing packages.

logcat

--------- beginning of crash
07-14 14:48:05.165 15914 18573 E AndroidRuntime: FATAL EXCEPTION: DefaultDispatcher-worker-9
07-14 14:48:05.165 15914 18573 E AndroidRuntime: Process: com.looker.droidify, PID: 15914
07-14 14:48:05.165 15914 18573 E AndroidRuntime: java.lang.IndexOutOfBoundsException: Index 0 out-of-bounds for length 0
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:62)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:68)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at jdk.internal.util.Preconditions.checkIndex(Preconditions.java:247)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at java.util.Objects.checkIndex(Objects.java:372)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at java.util.AbstractList$SubList.get(AbstractList.java:784)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at com.looker.droidify.index.RepositoryUpdater$update$3.invokeSuspend(RepositoryUpdater.kt:4)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at com.looker.droidify.index.RepositoryUpdater$update$3.invoke(RepositoryUpdater.kt:2)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:1)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:10)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at com.looker.droidify.index.RepositoryUpdater$update$3.invokeSuspend(RepositoryUpdater.kt:35)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:3)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:13)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:4)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:8)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:2)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:1)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:14)
07-14 14:48:05.165 15914 18573 E AndroidRuntime: 	Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@ecbe807, Dispatchers.IO]

sha?

I'd like to verify the Droid-ify .apk package downloaded from github before running it locally but cannot find your shasum. If it is on github or extenally, could you point me to it? Otherwise, if not signed, how to verify?

Backup/Restore Configuration

The ability to backup configuration including Repositories to a file (for eg. .json file) and restore it on another device

[BUG] App versions multiplying

I'm sorry for any mistakes, English isn't my primary language
I've noticed the bug on Mull and F-Droid.
How to trigger bug:

  1. After going to F-Droid (obviously in Droid-ify) and scrolling down to versions you'll see 1.15.2, 1.15.1, 1.15, 1.15-alpha1, 1.15-alpha0. (SCREENSHOT1)
  2. After clicking show older versions versions 1.14, 1.14-alpha5 and 1.14-alpha3 will appear. (SCREENSHOT2)
  3. Next click show less - that will cause 1.14-alpha3 to be hidden. You'll still see 1.14 and 1.14-alpha5 (SCREENSHOT3)
  4. button name won't change, and clicking it again will cause 1.14, 1.14-alpha5 and 1.14-alpha3 to be multiplied - you can just keep pressing show less button. (SCREENSHOT4)
    DROID-IFY VERSION: 0.4.5

Screenshot 1
1 Ss_bug_droidify

Screenshot 2
2 Ss_bug_droidify

Screenshot 3
3 Ss_bug_droidify

Screenshot 4
4 Ss_bug_droidify

Merge Weblate translations

Fix Weblate merge conflict issues and merger the latest version of all translations. There are several new languages. Also consider Weblate to either automerge changes going forward to main or make it submit MRs with changes.

New icon

The new icon is worse than the previous icon in my opinion. Any chance of it being changed back?

Crash upon adding new repo if url is wrongπŸ˜…

java.lang.IllegalArgumentException: Expected URL scheme 'http' or 'https' but was 'fdroidrepo'
at okhttp3.HttpUrl$Builder.parse$okhttp(HttpUrl.kt:16)
at okhttp3.Request$Builder.url(Request.kt:8)
at com.looker.droidify.index.RepositoryUpdater$downloadIndex$2.invokeSuspend(RepositoryUpdater.kt:26)
at com.looker.droidify.index.RepositoryUpdater$downloadIndex$2.invoke(RepositoryUpdater.kt:2)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:1)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:10)
at com.looker.droidify.index.RepositoryUpdater$update$3.invokeSuspend(RepositoryUpdater.kt:7)
at com.looker.droidify.index.RepositoryUpdater$update$3.invoke(RepositoryUpdater.kt:2)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:1)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:10)
at com.looker.droidify.service.SyncService$handleNextTask$job$1.invokeSuspend(SyncService.kt:11)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:3)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:2)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:1)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:14)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@576720c, Dispatchers.IO]

Display all apps by a given developer

A G-Droid / Client Β· GitLab inspired feature. Display all apps by a given developer. Maybe the most minimalistic way of implementing this is as a new filter Developer/Author in the filter view (Name, What's New, Recently Updated).

1_img
2_img
4_img

A future iteration can make the app author's name in app overview page clickable, leading to the view with all apps by this developer.

Silent install/update question

Hi. According to what I understood, Droid-ify should be able to update apps from F-Droid automatically and without asking/manual interaction. Unfortunately this does not seem to work or I have misunderstood this. As a repository I currently have the normal F-Droid repository selected exclusively. I get a message that a new update for app xy is available, but the app is not updated automatically.

The phone does not have any root, but only the standard ROM of the manufacturer/carrier. Im on Android 12. How to enable automatic updates without manual interaction?

If this is currently not possible, is there a planned time, when this will be possible?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.