[Xposed Framework Modules] Typhus_:
Requires Xposed Framework!

Hello!

Circular feature is now working

I've managed to update MohammadAG's module.

Tested it on devices running Android 4.2.1, 4.2.2, 4.4.2 and 5.0.1 by myself. Received reports it works also on ICS (thank you [MENTION=5722773]Prasad98[/MENTION]) on Marshmallow (thank you [MENTION=5051581]frankie1220[/MENTION]) and even on Oreo!

And so, this module should work on any device running from ICS to Oreo. Yes, the module

is working on Oreo

(

resource replacement

, on Xposed Installer,

needs to be active

or it

won't work

on devices running

Lollipop

or later

ROMs).

Please make sure to have your system animations speed set to 1x

(system settings, not the module settings...).

Download

the module latest version from HERE

This mod is open source!

You may NOT distribute this app on the Play Store, paid or free.

Source code

available -> HERE

Earlier Versions:

Version 1.4.7 - Available HERE

Version 1.4.6 - Available HERE

Version 1.4.5 - Available HERE

Version 1.4.4 - Available HERE

Version 1.4.3 - Available HERE

Version 1.4.2 - Available HERE

Version 1.4.1 - Available HERE

Version 1.4.0 - Available HERE

Changelog:

Version 1.5.0:

Completely new app look with new features:

Separate customization for both horizontal and circular MODs

Navigation drawer for switching between layouts

Added factor speed on circular interpolator customization

Added style feature on circular MOD

Version 1.4.7:

Invalid color detection on apply button

Updated center color on color picker activity

New custom checkboxes

Themed white settings

Removed text box focus at color picker activity start

Updated Russian translation (thanks to GromozavrStas)

Version 1.4.6:

Added settings:

Enable/Disable horizontal MOD

Enable/Disable circular MOD

Hide app icon on the launcher

Updated translations

Version 1.4.5:

Added gradients feature

Synced all java classes with Castorflex's "dev" branch

Version 1.4.4 :

Circular glitches fix (hopefully for good)

Added Hungarian translation (thanks to szunyi77)

Updated Russian translation (thanks to GromozavrStas)

Version 1.4.3 :

Updated French translation (thanks to [MENTION=5178843]Micks29[/MENTION])

Added Russian translation (thanks to GromozavrStas)

Themed seekbars for non Lollipop devices

Version 1.4.2 :

Material Design

Custom Buttons with Ripple Effect

Fixed layouts (in order to enable compatibility to any device running on any android version and with any density)

Version 1.4.1 :

Lollipop fully compatible

Fixed sections count increment by 1 every time the user saved it's last sections count number and reopened the app

Version 1.4.0 :

Circular progress bar added and working

Lollipop capable

Color text tips improved

Added French, Spanish, Italian and Portuguese translations

App appears on the drawer

Video preview:

(from version 1.4.0)

[YOUTUBE]nJkvJkZ0bTE[/YOUTUBE]

Colors used on video example: #3e802f | #427fed | #b23424 | #f4b400

How does this module work?

This modules hooks into android progressbar class, then it looks for the drawable used for it's indeterminate state.

From ICS to KK

, if the drawable type is AnimationDrawable, it means that the indeterminate progressbar is horizontal, therefore it get's the default drawable replaced by an user customized instance of Castorflex's smoothprogressdrawable. On the other hand, if the drawable type is AnimatedRotateDrawable (the Gingerbread ones...) or LayerDrawable (ICS+), it means the indeterminate progressbar is circular, therefore it get's the default drawable replaced by an user customized instance of Castorflex's circularprogressdrawable.

On Lollipop, both progressbars (horizontal and circular) use AnimatedVectorDrawable type. And so, since I could not distinguish which progressbar I could replace the drawable, I've made a workaround using Xposed resource replacement feature. And so, on Lollipop, all drawables used for progressbar bars are replaced by the ones used on ICS+. By doing this, the module is now able to distinguish which progressbar is called by the system and it then overrides the drawable using the same criteria I've mentioned above.

Having this said, and since all is being hooked into the default android AOSP code, if a device has a lot of modifications introduced by it's manufacturer, it may cause this module to not work flawlessly.

All devices I've came across are very close to AOSP ROMs, and so, in order to get this 100% on all manufacturers it would imply a lot of testing and debugging for each manufacturer.

Credits:

[MENTION=4419114]rovo89[/MENTION] -> For Xposed Framework and Xposed Development Tutorial. If it wasn't him, nothing like this would be possible. So, you ROCK bro!! :highfive:

[MENTION=5290145]hamzahrmalik[/MENTION] -> For [TUTORIAL]Xposed module devlopment

[MENTION=2011359]MohammadAG[/MENTION] -> For the original module

[MENTION=3327002]Castorflex[/MENTION] -> For Smooth Progress Bar library.

[MENTION=5008415]C3C076[/MENTION] -> For GravityBox and it's available source code. I've learned a lot from that.

LarsWerkman -> For Android Holo ColorPicker

Balys Valentukevicius-> For Material Ripple Layout

XDA and specially "XDA-University" -> I've learned a lot here. Thanks to all members who dedicate themselves on their spare time to share their knowledge.

[MENTION=4620325]b16h22[/MENTION] -> For [CM11][PA][MAHDI][THEME] L-Kat/L-Kat Dark [6.0]. This app custom checkboxes were taken from his theme.

[MENTION=4780723]polishchocolate[/MENTION] -> For [THEME][CM11/PA][24 OCT] Lollipop Themes v4.0 (Android L Style). This app custom seekbars were taken from his theme.

Pedro Oliveira-> For Android-studio-material-template

And, last but not least...

Me -> Up until 2 months ago (more or less) I've never seen Java nor Xposed "insides". Nevertheless, if there's one thing I've learn on XDA is that we all can contribute if we are willing to learn. And that's exactly what I've done. I've learned everything by myself simply by following tutorials and the source codes everyone, mentioned before, was kind enough to distribute. So, yeah, I think I deserve some credits as well...that, and a beer.

PLEASE READ THIS IF YOU'RE COMING FROM VERSION 1.3.*

:

You won't be able to update mohammadag previous module version, nor install over it

since the signature is different

.

And so, if you're currently using mohammadag's version (Versions 1.3.* and bellow still available for download on Xposed Framework download feature) you must:

1 - Disable the current module version on Xposed Framework.

2 - Uninstall previous version

3 - Reboot

4 - Install new version

5 - Activate and reboot

Older version and original post (by MohammadAG):

This module replaces the default ProgressBar indeterminate animation with a much smoother one.

No videos or screenshots, try and you'll see the difference.

Compatibility:

Tested on 4.2.2, may probably work everywhere else.

Source:

The mod is open source: https://github.com/MohammadAG/Xposed-SmoothProgressBar

You may NOT distribute this app on the Play Store, paid or free.

Download:

http://dl-count.xposed.info/modules/com.mohammadag.smoothsystemprogressbars_v2_f69025.apk

Thanks to:

castorflex for his SmoothProgressBar, this uses a huge part of it.