Notification Limit per app - Android Q - Android Q&A, Help & Troubleshooting

Using a Q rom on my Sammy note 9 (exynos; with august security update).
On Q, android system notification is limited to 24 per app (on P it was 49).
Notifications beyond 24 are not showing in notification panel.
Anyone knows how to change it to 49 or even higher? What files / code should be modified and how? the 24 limit is unusable...
Thanks :fingers-crossed:

@BADtoBONE
The notification limit per app is hardcoded: MAX_PACKAGE_COUNT. You can observe this in the NotificationManagerService.java source code what is part of package com.android.server.notification.

Thanks!
I can't find the package. Can you verify the location?
Can I change it manually via root explorer to 75 for example? any effects of the phone or OS performance?

Anyone know a tutorial to allow more than 24 notifications?

Still stuck with this issue.
Saw this online -
If you run a custom rom/magisk you can patch services.jar to increase the MAX_PACKAGE_NOTIFICATIONS to 100. [/QUOTE said:
Anyone knows a Magisk module to fix that?
Currently running a custom rom but unable to locate and change the package settings.
Thanks!
Click to expand...
Click to collapse

BADtoBONE said:
Still stuck with this issue.
Saw this online -
Click to expand...
Click to collapse
Hah that was me.
I diddn't find a great way to do it in a way that works generally, but you can use - https://forum.xda-developers.com/t/module-smali-patcher-7-3.3680053/ to make it easier to patch the file yourself. You'd want to patch the enqueueToast function.

I'm having the same problem too, I migrated from iOS to Android in April, and it is incredibly frustrating that notifications from an app are dropped after they reach 50, in iOS there is no limit. I've tried extracting "services.jar" to locate "NotificationManagerService.java" to patch the "MAX_PACKAGE_NOTIFICATIONS" count to higher than 50, but it wouldn't work. I had great difficulty even extracting the .jar to begin with. I tried extracting it to .java, but it kept coming up with errors, so it wouldn't extract it fully. I had to resort to extracting it to the .smali format (using apktool, baksmali etc), which extracted it fully, at least to the best of my knowledge, but it is very hard to read. I was able to locate "MAX_PACKAGE_NOTIFICATIONS", which reported a count of "0x32" (50 in hexadecimal), so I changed it to "0x3e7" (999 in hexadecimal), but it didn't work, it still stopped at 50.
@ajolly
I noticed on Twitter that you seemed to be able to successfully remove the limit:
twitter.com/jolly/status/1201266208944705536
May I ask, how did you end up doing this? You mention using "smalipatcher", but when I run it, it doesn't mention "enqueueToast" anywhere, unless I'm missing a step. Forgive my naiveness, I am still rather new to the whole "Android tinkering" scene.
Any help would be greatly appreciated, as this is driving me up the wall.
Thanks

Following.
I run MIUI 12.6 and the limit is set to 9 or 10. I would love to find a way to change the limit as well.
Thanks!

_csd said:
I'm having the same problem too, I migrated from iOS to Android in April, and it is incredibly frustrating that notifications from an app are dropped after they reach 50, in iOS there is no limit. I've tried extracting "services.jar" to locate "NotificationManagerService.java" to patch the "MAX_PACKAGE_NOTIFICATIONS" count to higher than 50, but it wouldn't work. I had great difficulty even extracting the .jar to begin with. I tried extracting it to .java, but it kept coming up with errors, so it wouldn't extract it fully. I had to resort to extracting it to the .smali format (using apktool, baksmali etc), which extracted it fully, at least to the best of my knowledge, but it is very hard to read. I was able to locate "MAX_PACKAGE_NOTIFICATIONS", which reported a count of "0x32" (50 in hexadecimal), so I changed it to "0x3e7" (999 in hexadecimal), but it didn't work, it still stopped at 50.
@ajolly
I noticed on Twitter that you seemed to be able to successfully remove the limit:
twitter.com/jolly/status/1201266208944705536
May I ask, how did you end up doing this? You mention using "smalipatcher", but when I run it, it doesn't mention "enqueueToast" anywhere, unless I'm missing a step. Forgive my naiveness, I am still rather new to the whole "Android tinkering" scene.
Any help would be greatly appreciated, as this is driving me up the wall.
Thanks
Click to expand...
Click to collapse
Smalipatcher will pull the services.jar file for you, then you can decompile it.
The code is something like:
// Limit the number of toasts that any given package except the android
// package can enqueue. Prevents DOS attacks and deals with leaks.
if (!"android".equals(pkg)) {
int count = 0;
final int N = mToastQueue.size();
for (int i=0; i<N; i++) {
final ToastRecord r = mToastQueue.get(i);
if (r.pkg.equals(pkg)) {
count++;
if (count >= MAX_PACKAGE_NOTIFICATIONS) {
Slog.e(TAG, "Package has already posted " + count
+ " toasts. Not showing more. Package=" + pkg);
return;
}
}
}
Warning, at least for me when I put it too high binder would start crashing, I set it to 99.

Related

Weather 3D SE - Non-M2D version (WM2003/WM5/6/6.1)

W3D Second Edition
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Im currently working on a flash application that displays the Manila 3D weather animations.
The first idea was to have that on M2D, but it prooved impossible: http://forum.xda-developers.com/showthread.php?t=471461
To use this EXE you'll need Flash 7 (lite 3 FINAL will work too, but you'll need to install flash 7 first) and a internet connection (PC sync or GPRS/3G).
The download is quite large (17mb) because of the animations, so I wasnt able to post it here, you have the download from the link below.
In future updates you'll only need to update the main EXE or the data files, so they will be less than 1mb and so, posted here.
I'd like to thank Rumball for giving me permission to use his animations and The_hesham for pushing this idea.
I still need to find a tool to force the internet connection, if there isnt one active already, and obviously add this as a option on the settings.
One thing that always made me some confusion in M2D, and I think it would be nice to implement, if you last updated the weather the day before or two days ago, it should show the actual current day result and simply remove the last days that doesnt know the variables of.
Mini-FAQ:
-----------
Got a wider screen and two white stripes appear?
Unfortunatly the tool I use to make the EXE files only allows qvga and vga screen sizes... If you know another SWF>EXE tool that fixes this, let me know.
Got different slightly results in M2D and this app?
The m2d conversion from Farenheight to celsius is slightly incorrect... Only the farenheight measure is recorded on the registry, so if you choose celsius, m2d makes this conversion: (farenheight - 32) / 1.8 = celsius
But if the result is, for example, between 12.1 or 12.9 the value shown is always 12º. My conversion rounds up anything above 0.5 to +1.0. I think thats the way it should be. And thats why you get different results in M2D and this app.
The animation is really slow...
Its basicly 20-40 PNG files inside each flash swf file, thats why its so heavy (16mb), if it was all vectorial, like the TEMPUS plugin, it would only be less than 1mb, the png sequence is also slow on the display, depends on you free RAM and video driver.
It was made for 400mhz or better machines, flash is still slow in the current CPUs, maybe in the future... :/
Its not really working for me.
Check all items in the TO USE list. The first non-official release of Flash lite 3 is buggy and wont work! The final will.
Can I translate it in my language?
Sure, the DATA.TXT is already (mostly) translated in Portuguese, Romanian and Italian here: http://forum.xda-developers.com/showthread.php?t=471461
You have some more instruction on the end of this post.
Can I make other icon animations or wallpapers?
Sure, create a theme, its a background wallpaper and animated icons. The instructions are in the end of this post.
Can I use this as a today plugin?
Not yet, when its finished I'll release the sourcode and (with the help of APBilbo) make a THROTTLE LAUNCHER version.
Got a error on the results...
The update sometimes fails, just reload/re-update or cancel/re-open things, sorry about that...
I cant see the icons...
Roms in other languages have different names for the SD card and Program files. Check if the path on the settings is the same as yours. Change it accordingly.
I cant see any words...
This is a reaaaaally smart bug from me... I didnt antecipated that ppl with the above problem couldnt read the text to change the text varibles path. :/
You can either press the bottom-right grey button and then the one that appears directly on top of that one... that opens the settings area. Now change the path on the top text area and press the OK button.
Or.. thru the registry, with Resco explorer or any other registry tool here: HKEY_LOCAL_MACHINE\Software\W3D\Settings\PATH
I cant see anything!
Either your Pocket pc is on stand-by, in that case simply press the power button. Or your eyes are closed, in wich case you cant really read my advice to open them...
My City is not on the list.
- Go to: http://www.accuweather.com/includes/ajax-functions/favoriteCities.asp?region=EUR&country=UK
Change the end of the link to your country, PT=Portugal, UK=United Kingdom, ES=Spain, etc...
- ...OR, just click in http://www.accuweather.com/world-index.asp?partner=accuweather&traveler=0 , then write down you "city, country", press GO and it shows your code in the middle of the ADDRESS BAR link.
- Now send me the code (post here or send me by email).
- Add it manually to your cities with the help of the mighty flash keyboard.
Whats new:
-------------
- Fixed the non-WWE bug to see the settings button.
- Added "last updated on" info.
- Added (semi-)Smart* day Weather (tells what day TODAY is)
- Fixed minor coding bugs
- Added some more cities to the online database.
Replace the attached file on the first post to update.
To use:
--------
- Install Flash 7 (if you dont have it already): http://www.adobe.com/products/flashplayer_pocketpc/downloads/player.html
- Download the 17mb zip below.
- Extract and place all the files inside on your /Storage Card/Program Files/W3D and create a shortcut for the EXE (with resco explorer or something). This path can be changed in the settings menu.
- Update the latest files attached here.
- If the 6th image on this post appears on you, its the online update that went wrong, just press UPDATE NOW (make sure you have an existing internet connection already running).
To do:
--------
- Create a update error loop, if the online values arent correctly received.
- Create internet connection + new setting to disable this.
- Convert fscommands to trottle launcher version and release the source-code.
Creating Themes:
--------------------
- Icons must be individual swf files, exported as flash 7, must have the same name as the ones on the "current_theme" folder, 240x200 px size and (this is important) have in the last frame the LABEL parado with the CODE stop();. The icon theme's name is the name of the folder. I added a animation example attached to this post.
- Wallpapers are jpg's in 240x295 px saved in standart enconding, progressive enconding will not appear on flash, this is a old flash bug. They must be on the same folder as the icons.
If you have a VGA or any other sized screen, you can change the JPG size to whatever fits you best.
- The language file data.txt can be renamed to data_sp.txt (as spanish, for example) or any other name you'd like, just remenber to change it on the settings too. I added the Portuguese language as an example also.
Note that the first variable doesnt have the & character and that they all finish with &END, this is normal.
If you have a special character that doesnt appear, tell me what it is, so that I can embebbed it into the app.
Download (17mb): http://rapidshare.com/files/202544328/W3D.zip
.
.
Hi, twolf !
Move to this topic then.
Thanks for Great job !!
One question, how can I get it works on WQVGA (omnia)? (It actually works, but not full screen. It has white background at the top and bottom of the screen)
Thanks.
Unfortunately the tool I use to make the EXE files only allow qvga and vga screen sizes...
twolf said:
W3D Second Edition
Im currently working on a flash application that displays the Manila 3D weather animations.
The first idea was to have that on M2D, but it prooved impossible: http://forum.xda-developers.com/showthread.php?t=471461
To use this EXE you'll need Flash 7 (lite 3 wont work) and a internet connection (PC sync or GPRS/3G).
The download is quite large (17mb) because of the animations, so I wasnt able to post it here, you have the download from the link below.
In future updates you'll only need to update the main EXE or the data files, so they will be less than 1mb and so, posted here.
I'd like to thank Rumball for giving me permission to use his animations and The_hesham for pushing this idea.
One thing I noticed, the M2D conversion from Farenheight to celsius is slightly incorrect... Only the farenheight measure is recorded on the registry, so if you choose celsius, m2d makes this conversion: (farenheight - 32) / 1.8 = celsius
But if the result is, for example, between 12.1 or 12.9 the value shown is always 12º. My conversion rounds up anything above 0.5 to +1.0. I think thats the way it should be. And thats why you get different between M2D and this app.
There's currently no "Choose city" interface like in M2D, so you will need yo know your city code, see it here:
- Go to: http://www.accuweather.com/includes/...EUR&country=UK
- Change the end of the link to your country (US users only need a 5-digit area code), PT=Portugal etc...
...I'll try to find a way to get that info from the m2d cities xml, but no promisses.
I still need to find a tool to force the internet connection, if there isnt one active already, and obviously add this as a option on the settings.
One thing that always made me some confusion in M2D, and I think it would be nice to implement, if you last updated the weather the day before or two days ago, it should show the actual current day result and simply remove the last days that doesnt know the variables of.
To use:
--------
Install Flash 7 (if you dont have it already).
Place it all on your /Storage Card/Program Files/W3D and create a shortcut for the EXE (with resco explorer or something). This path can be changed in the settings menu. You can also change the language by translation the DATA.TXT file.
If the 6th image on this post appears on you, its the update that went wrong, just press UPDATE NOW.
To do:
--------
- City chooser (no need for the keyboard).
- I couldnt find the settings for the "high temperature" and "low temperature" for the current day. But I think its really not needed.
- The "last updated on" text doesnt make the timed account, it just tells at what time was updated. Not sure if I'll leave this as it is, since it will be -a lot- of work for a little detail
- Smart today weather (shows the correct daily weather, no matter how long on the week you last updated).
- Fix the icon package (the renamed 8 files).
- Create internet connection + new setting to disable this.
- Create a update error loop, if the online values arent correcly received.
Download (17mb): http://rapidshare.com/files/197268542/W3D_SE.zip
Click to expand...
Click to collapse
Nice Work!!!!!!!!
Hi Twolf,
Could you please also post the files without the images as I already have them and don't want to DL the whole package again.
Thanks!
motisu said:
Hi Twolf,
Could you please also post the files without the images as I already have them and don't want to DL the whole package again.
Thanks!
Click to expand...
Click to collapse
Sorry, I had some problems with my phone and now the usb port is dead...
I'll send you the new exe in a couple of hours.
This project is on hold at the moment, as my Nike just died.
I cant test whatever I change, so if anyone wants the FLA source-code, Ill post it on the first post.
Sorry...
Hi,
very nice app !!!! but it doesn't work for my htc cruise/polaris. In attach the screens with the log:
1. it diplays in all fields: "undefined"
2. the right/left keys aren't displaied.
I've done:
1. install flash 7 for ppc
2.unzip the app.
3. create the dir W3D in 'SD/program files/...'
4. copy in 'SD/program files/W3D' the unzipped files
5. create a ".lnk" in windows/start menu/programs to the exe of the app
6. active an internet connection
7. lunch the app
8. try to connect to internet but without success !!!
9. the result is in attach.
thx for the help.....
This appears to be a simple path error, see what is the name of your storage card on the file explorer, that should be it.
Notice that the time variables are there, but he cant find the icons or text data file.
Yes...i've changed the name, in the path, of my sd...(as you can see in the picture) but there is always the problem......
twolf said:
This appears to be a simple path error, see what is the name of your storage card on the file explorer, that should be it.
Notice that the time variables are there, but he cant find the icons or text data file.
Click to expand...
Click to collapse
Olá twolf.
Esta app que desenvolveste apenas se destina a HTCs ou pode ser usada noutros PDAs?
Hi twolf.
This app you've developed is for HTCs only, or it can be used on other PDAs?
Bigbest said:
Yes...i've changed the name, in the path, of my sd...(as you can see in the picture) but there is always the problem......
Click to expand...
Click to collapse
I did saw it, but I dont know if its well written...
There could be missing a character or have a special character with an accent like á ò ú...
Or "program files" could be "programmes" or something like that.
Could you send a printscreen of the full path in the file explorer app?
Or try to place the datafile in the root's memory so it would just be like: \data.txt
and them make the full path on the settings be just \
This way the icons still wont appear, but the names will.
And you could see that it must be a path error somehow.
JonasSavimbi said:
Hi twolf.
This app you've developed is for HTCs only, or it can be used on other PDAs?
Click to expand...
Click to collapse
Any Windows Mobile pds with Flash 7 and internet access, havent tested it on WM2003...
Great,does it supports Chinese Language now?
Hmmm... Not yet, sorry.
Its just a matter of adding a chinese font swap to the text areas.
I'll have to do that last, since the export will be muuuuuch slower after.
But at the moment all my projects are stopped, as explained on my sig.
Hi again twolf.
I've installed the app but i'm not seing any icons, wallpaper,and text in the butttons...
I can add cities and see the temps.
No data.txt is generated.
PS: Sorry... Theres a data.txt in W3D_SE folder...
It's Storage Card\Program Files\W3D\W3D_SE
Its not generated automaticly, you have to copy the files manually to the folder you created.
By default it should be in Storage card\Program files\W3D but you can put them wherever you want, just edit that in the settings area.
You can place the EXE there too, but thats not mandatory.
---edit---
I see now that my directions were misleading, I changed that from the first post, sorry.
It's working!
Thanks... The problem was that i was extracting the W3D_SE folder in W3D when i should extract only the content.
By the way, it's great!
I uploaded a new zip, with clearer instructions.
This is the print screen....thx for your help...
B
twolf said:
I did saw it, but I dont know if its well written...
There could be missing a character or have a special character with an accent like á ò ú...
Or "program files" could be "programmes" or something like that.
Could you send a printscreen of the full path in the file explorer app?
Or try to place the datafile in the root's memory so it would just be like: \data.txt
and them make the full path on the settings be just \
This way the icons still wont appear, but the names will.
And you could see that it must be a path error somehow.
Click to expand...
Click to collapse
Yes, your path is correct.
JonasSavimbi made me notice something I mislead ppl with the older zip, your W3D folder should have the data.txt, wall.jpg and icons folder inside. Not another W3d_SE folder.
Sorry about that.

[APP][ENGINE][2.3.6+][Xposed] Resflux - A powerful and very easy to use per-application theming module.

[APP][ENGINE][2.3.6+][Xposed] Resflux - A powerful and very easy to use per-application theming module.
Resflux
--------------------------------------------------------------------------------------------------
Do you want to THEME your phone easily, without learning how to do it?
Then you are in the right place!!!
Resflux is very straight-forward. It's very easy to use. You don't need to learn anything just to get started. All you need is your common sense. Once you launch the application, you will see very big buttons with one-word description of what that button will do.
And I forgot to tell you that Resflux supports Gingerbread 2.3.6 and up! yeah you heard it right!
Just use the ported version of xposed installer for gingerbread users...
What else can I do with Resflux?
Tons! All you need is the idea!
- Theming an app or all of your apps.
- Replacing icon and name of your apps.
- Translating app from one language to another
- Overriding default settings inside frameworl-res.apk, settingsprovider.apk and systemui.apk
- and many more posibilities!
Laboratory
The laboratory is where most things will happen. It is where you start theming resources of a specific package. You can theme as many as packages if you want.
After you have selected the target package, Resflux will redirect you to the Experiment area where you can see five buttons namely "Drawable", "String", "Color", "Boolean" and "Integer" though you can only see their icons.
When you click a tab, the list will be populated with the corresponding resources and their current values are even shown so you can tell if it is what you are looking for and trying to replace.
Drawable Tab
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
In the Drawable tab, previews of every drawables are shown and by clicking the selected drawable, you can replace it with a new one.
This is replacement drawable chooser dialog
String Tab
In the String tab, you can take a look at the list of all string resources in an apk. The current value is shown in each string resource and you can replace the value with a new one if you want by clicking it.
Color Tab
In the color tab, all the color resources are listed and the preview of each color is also shown. You can replace it with a new color using the HoloColorPicker dialog.
Boolean Tab
In the boolean tab, you can see all the boolean resources of an apk. Boolean is type where its value is only true or false. You can also change it anytime just like the other resources.
Integer Tab
The integer tab is new in Resflux, since the old Resxploit only supported Drawable, String, Color and Boolean.
Export
If you plan to distribute your work or do a back-up or share it to your friend, then you can export it anytime. You can select which packages you want to export and which are not to be included.
From there, you can also completely, remove all modifications made to a specific package by long-pressing the target package.
Import
If you have exported a mod or got it somewhere and you want to upload it into your Resflux, then all you need to do is to put the zip file inside /sdcard/Resflux. By putting it inside /sdcard/Resflux, Resflux will quickly find it, but you can still leave it in other directories as Resflux will also search the other directories inside your sdcard.
Download Link:
http://repo.xposed.info/module/com.iwisdomsky.resflux
Please leave FEEDBACKS or SUGGESTIONS
And don't forget to hit Thanks if you find it useful!
Change logs:
Code:
1.6.1
- Replaced AAPT with ResourceFileParser library
(This will fix resflux compatibility issue with Kitkat and Lollipop. Marshmallow is yet to be tested. This change also causes resflux mapping of resources to becoming 2-10x faster than before)
[B]REMOVE:[/B]
[COLOR="Red"]1.7
- support for kitkat and above.
- faster mapping of resources (the mapping of resources will be done in the cloud)
- requires internet connection.
- 3x lesser apk file size.[/COLOR]
1.6
- Disabled xposed installed check on app start.
1.5
- UI updates.
1.4
- fix for colors not working issues.
- fix for double "#" on color resource's values.
- minor ui updates.
1.3
- The scroll position will remain and will not jump to the top when resetting/restoring a resource's value.
- Resflux Compiler link
1.2
- Fixed the resource name bug where an exclammation mark will appear before the modified resource's name.
- Forced the screen orientation of the Experiment area to stay in Portrait mode to avoid crashes when accidentally changed your phone's orientation.
- Added a possible fix for crashes on Import area.
- Increased the minimum width of dialogs to occupy some extra space on phones with bigger screen.
- Added labels to the tab buttons in the Experiment area.
- Updated the modified resource high-lighting feature for better visibility.
- Fast scroll enabled. Useful when you are trying to find a specific resource in the list quickly.
- Hold press a modified resource to restore its original value back.
- Clear cache action. If an installed app has received an update, it is a good practice clear the package's cache in Resflux so all changes to the resources to the updated app will become visible to Resflux.
- Added ability to supply a specific hex value to the color picker dialog as requested by many.
- Drawable picker dialog has been completely removed and replaced with an image chooser intent which will open the Gallery by default.
- When on drawable tab, you can change the drawable image preview's size by pressing the MENU key of your phone. Take note, this will not actually reflect to the final result but only to the previews.
- Other few minor UI changes.
1.1
- resource caching system for faster consecutive access.
- high-lighting of the modified resources to distinguish changes.
- added large heap attribute to the application element inside the android manifest file.
- empty package mods cleaner for the packages directory of Resflux.
1.0
- Initial release
Disclaimer
Though Resflux can modify any application, it is not guaranteed that it is can successfully modify all applications.
XDA:DevDB Information
Resflux, Xposed for all devices (see above for details)
Contributors
WisdomSky
Xposed Package Name: com.iwisdomsky.resflux
Version Information
Status: Stable
Current Stable Version: 1.5
Current Beta Version: 1.0
Beta Release Date: 2014-06-22
Created 2014-06-22
Last Updated 2014-08-03
How to use:
STEP 1: First, open Resflux then click Laboratory.
STEP 2: Next you need to choose the application you want to modify from the list and then click it.
STEP 3: Once you have clicked an application, Resflux will start mapping it's resources, you need to wait until it is finished before you can start.
STEP 4: If the mapping of resources has finished, you can now start changing any resource from the list. They are actually categorized as Drawable(Images), String(Texts), Color, Boolean(Switch) and Integer(Number)
STEP 5: Once you're done, you need to reboot your phone in order for the changes to take effect.
Sample Scripts
Disables Low Battery Warning notification
http://upfile.mobi/575226
System Font color changer (you need to extract the zip first then choose the zip of your fave color)
http://upfile.mobi/575213
NOTE: To install the scripts, you need to put all of them inside /sdcard/Resflux folder in your sdcard and then open Resflux and select Import and choose the file.
Reboot your phone afterwards to apply changes.
Resflux is proven working on these devices:
Motorola Moto G running Stock KitKat 4.4.2
S4 i9505 LTE running C-RoM 7.1 KitKat 4.4.4
Samsung Galaxy Y S3560 running Hyperion 8 GM Final Gingerbread 2.3.6
Cherry Mobile Flare S running Stock JellyBean 4.1.2
Cloudfone Thrill 430x running Stock JellyBean 4.1.2
Samsung Note Pro 12.2 tablet
HTC M8 running GPE KitKat 4.4.3
Samsung Note 2 running Touchwiz KitKat 4.4.2
Samsung S4 Mini
Xolo A500 running IceCreamSandwich 4.0.4
If Resflux is working on your device, please post your phone brand and model. thanks!
Special Thanks
I would like to thank everyone especially @rayjr13 for keeping the Resflux thread alive and answering all questions of other resflux users. Thank you very much! :good::good::good:
I would also like to thank all who donated! Please send me your names.
Source Code
Link.
Paypal Donations
If you have a very nice heart and want to make my wish come true, please don't hesistate to send your donations to my paypal account: [email protected]
Scripting
(For themers and programmers)
Apart from the Laboratory where users are provided with user-friendly interface, there is an another way to make modifications and that is by using the scripting feature of Resflux.
Soon, I will be focusing on adding more features to it. One is providing support for layouts. Not the whole layout, but to the components inside defined with an id.
When you export packages mod in Resflux, you will be given a zip file. And when you look inside it, you will actually find atleast a Resflux.ini file. And when you look inside the Resflux.ini file, you will see how Resflux turn everything into series of keys, sections, comments and how they are arranged.
The structure of the Resflux.ini complies with of an INI file as defined here:
http://en.m.wikipedia.org/wiki/INI_file
From the INI File wiki page, you can learn about which one is a key, section or comment.
From it, you may start studying how to write your own.
If you are a programmer, you may find it very easy to understand on how it works. And you can see that you are like dealing with objects. For now, we only have drawable, string, color, boolean, integer, layout, resflux and ini.
Rules
Resflux have rules in when it comes to syntax, grouping and arrangement.
RULE 1: The Resflux.ini can contain only keys, sections, comments and blank lines(with space or not) and should follow their corresponding syntax and must occupy a line therefore two keys in a single line is not honored.
For comments:
Code:
# [any text here]
; [any text here]
For sections:
Code:
[package.name.here]
For keys:
Code:
object.property_name = value
object.property_name : value
For blank lines:
A an empty line or composed of whitespaces.
If an invalid syntax is found, resflux will return error status 0
RULE 2: All resflux.* must be grouped together and must be placed before sections and any other keys except comments.
When this rule is violated, Resflux will return Error Status 1 during an attempt of importing it.
Rule 3: ]: All ini.* must be grouped together and must be placed after resflux.* and before sections and any other keys except comments.
When violated, it returns error status 2.
Rule 4: Before starting defining a key, you must have atleast defined a section. A section is composed of a opening square bracket "[", followed by the package name of the target app, and then a closing square bracket "]".
For example:
Code:
[com.my.app]
Rule 5: Each key must follow their respective value's format.
For drawable:
it could be a PNG image relative path like:
Code:
drawable.ic_launcher = icon.png
# or it could be also a color hex code:
drawable.ic_launcher = #ffff0000
For color:
color can have a single possible format for its value.
Code:
color.bg_color = #ff0000
For boolean:
boolean can only have two choices, the value could be either true or false.
Code:
boolean.enable_nothing = true
boolean.enable_nothing = false
For string:
string can have any value.
Code:
string.app_name = anything you want!!!
# enclosing value with quotes is also fine and work with all types of keys
string.app_name = "!want you anything"
OMG! the first themeing engine for gingerbread! many thanks sir! much appreciated it! :good:
i'm gonna try it soon & report back.
Two quick questions:
Will you upload this to the Xposed repo?
Do you plan on making the source available?
Thanks
GermainZ said:
Two quick questions:
Will you upload this to the Xposed repo?
Do you plan on making the source available?
Thanks
Click to expand...
Click to collapse
Thnx for the reminder sir...
I've uploaded it to the Xposed Repo.
I'm also planning to make it open sourced, but I still need to fix some things up. XD
Excelent work.
Enviado desde mi LG-D802 mediante Tapatalk
Has anyone been able to use this with Hangouts at all? It seems to never get past the "Mapping Resources" screen...
EDIT: Maybe I'm just not waiting long enough. Is it normal for it to take more than 10 minutes to map resources for some apps?
GermainZ said:
Two quick questions:
Will you upload this to the Xposed repo?
Do you plan on making the source available?
Thanks
Click to expand...
Click to collapse
mattdm said:
Has anyone been able to use this with Hangouts at all? It seems to never get past the "Mapping Resources" screen...
EDIT: Maybe I'm just not waiting long enough. Is it normal for it to take more than 10 minutes to map resources for some apps?
Click to expand...
Click to collapse
It really depends... if the /res dir contents of the apk file is really big for example (more than 1k resources) then it should take some considerable time... and it will also depend on ur phone's processing power...
I tested the framework-res.apk with a quad-core phone(not mine) and it took more than 30secs...
and when I tried it with my Samsung Galaxy Y, it took almost a lifetime...
WisdomSky said:
It really depends... if the /res dir contents of the apk file is really big for example (more than 1k resources) then it should take some considerable time... and it will also depend on ur phone's processing power...
I tested the framework-res.apk with a quad-core phone(not mine) and it took more than 30secs...
and when I tried it with my Samsung Galaxy Y, it took almost a lifetime...
Click to expand...
Click to collapse
Yeah, I let it go even longer, and it finally finished. I'm on an S4 Mini, which only has a dual-core Snapdragon 400.
Now my other problem is that when I look in the drawables of Dialer or Camera, there doesn't seem to be any launcher icon in the list. (I'm running an AOSP-based rom, FYI)
mattdm said:
Yeah, I let it go even longer, and it finally finished. I'm on an S4 Mini, which only has a dual-core Snapdragon 400.
Now my other problem is that when I look in the drawables of Dialer or Camera, there doesn't seem to be any launcher icon in the list. (I'm running an AOSP-based rom, FYI)
Click to expand...
Click to collapse
I believe the Camera is part of Gallery.apk and the Dialer is on Phone.apk
WisdomSky said:
I believe the Camera is part of Gallery.apk and the Dialer is on Phone.apk
Click to expand...
Click to collapse
Ohhhh, right. Now I feel dumb. This is an awesome module, I'm gonna have fun with it!
I'd like to offer a UI suggestion if I may though. Some of the lists are very long, and they scroll very slow on my phone. How about enabling a draggable scroll bar on the lists, so we can jump down to the bottom quickly?
mattdm said:
Ohhhh, right. Now I feel dumb. This is an awesome module, I'm gonna have fun with it!
I'd like to offer a UI suggestion if I may though. Some of the lists are very long, and they scroll very slow on my phone. How about enabling a draggable scroll bar on the lists, so we can jump down to the bottom quickly?
Click to expand...
Click to collapse
someone actually granted your wish already...
http://forum.xda-developers.com/xposed/modules/mod-force-fast-scroll-force-listviews-t2785006
WisdomSky said:
someone actually granted your wish already...
http://forum.xda-developers.com/xposed/modules/mod-force-fast-scroll-force-listviews-t2785006
Click to expand...
Click to collapse
Oh, nice! Thanks for pointing that out.
New problem...I changed the Hangouts launcher icon, but it's not actually changing after I restart. Any idea why this might be?
mattdm said:
Oh, nice! Thanks for pointing that out.
New problem...I changed the Hangouts launcher icon, but it's not actually changing after I restart. Any idea why this might be?
Click to expand...
Click to collapse
have you check the resflux in the xposed installer?
are you using samsung's default launcher?
coz I think it caches the packages' icon that's why u can't see the changes...
WisdomSky said:
have you check the resflux in the xposed installer?
are you using samsung's default launcher?
coz I think it caches the packages' icon that's why u can't see the changes...
Click to expand...
Click to collapse
Yes, I have it checked in the Xposed Installer. No, I'm using the Google Now Launcher (running SlimKat). The xSuite module also has trouble changing the Hangouts icon...there must be something different about it than other apps.
Great
Enviado desde mi unknown mediante Tapatalk
mattdm said:
Yes, I have it checked in the Xposed Installer. No, I'm using the Google Now Launcher (running SlimKat). The xSuite module also has trouble changing the Hangouts icon...there must be something different about it than other apps.
Click to expand...
Click to collapse
does resflux works fine with the other apps?
WisdomSky said:
does resflux works fine with the other apps?
Click to expand...
Click to collapse
Actually, I'm not sure. It's taking me quite a long time to test...I haven't been able to find a launcher icon to try to change in Phone, Dialer, Camera, Gallery, or Chrome. And each time I try a new app, it takes 5 - 10 minutes to map the resources. I'll find a small app to try and let you know...
EDIT: Ok, I just tried changing the icon of Buildprop Editor, and it worked perfectly.

[Q] My chinese tablet got into DEMO mode.

Hi, i bough a chinese tablet a few weeks ago.
I didnt intalled anything bad or risky in it.
And this night i got unexplicable popups, adds and applications that i didnt installed.
The source of this activity was a app called com.android.server and com.android.popupreciver
I unistalled them and then i rebooted my tablet, then i got a message saying DEMO.
I heard that the only way to solve this is a hard reset, but i would like to know if there is something else i can do.
=====
Else, i would like to know if there is any ROM compatible for a 7" chinese tablet.
Removing Demo mode from Chinese tablets
I have one of these and have not been using it for a long time due to all the unwanted ads and being unable to figure it out. The other day I decided to give it another try and this is what I found:
A lot of these cheap tablets comes with a trojan and on my A23 Q8H 7" tablet it was in CloudsService.apk. If you remove it the tablet will show big red "Demo" letters across the screen. This comes from the SystemUI.apk and when I decompiled it I saw the following:
Code:
private void showDemoOverlay() {
TextView textview = new TextView(this);
textview.setText("Demo");
textview.setTextSize(180F);
textview.setGravity(17);
textview.setBackgroundColor(0);
textview.setTextColor(0xffff0000);
android.view.WindowManager.LayoutParams layoutparams = new android.view.WindowManager.LayoutParams();
layoutparams.type = 2006;
layoutparams.width = -1;
layoutparams.height = -2;
layoutparams.gravity = 17;
layoutparams.format = textview.getBackground().getOpacity();
layoutparams.flags = 24;
((WindowManager)getSystemService("window")).addView(textview, layoutparams);
}
The above function in SystemUIService.java is indirectly called by this one
Code:
private boolean hasOTAServer() {
android.content.pm.PackageInfo packageinfo;
try {
packageinfo = getPackageManager().getPackageInfo("com.clouds.server", 0);
}
catch (android.content.pm.PackageManager.NameNotFoundException namenotfoundexception) {
packageinfo = null;
namenotfoundexception.printStackTrace();
}
return packageinfo != null;
}
So in short all it does is look for is a package called com.clouds.server and if it doesn't find it the Demo is displayed.
The solution is to create a blank app in Android studio, make sure the package name is com.clouds.server and then install it on the device.
Now this I call informed investigation! I was trying to get rid of the trojan on a chinese tab and after removing at least 5 apps and rebooting i got the DEMO overlay.
I found a blog post dealing with the same problem and this person provided an APK to install (I checked it via virustotal and it came back clean): cmcm.com/article/share/2015-11-09/840.html
How did you find out it was the SystemUI.apk showing the overlay? Or was it just an educated guess? I tried finding the app via dumpsys but couldn't see anything...
P.S.: THANKS!!
Surrogard said:
Now this I call informed investigation! I was trying to get rid of the trojan on a chinese tab and after removing at least 5 apps and rebooting i got the DEMO overlay.
I found a blog post dealing with the same problem and this person provided an APK to install (I checked it via virustotal and it came back clean): cmcm.com/article/share/2015-11-09/840.html
How did you find out it was the SystemUI.apk showing the overlay? Or was it just an educated guess? I tried finding the app via dumpsys but couldn't see anything...
P.S.: THANKS!!
Click to expand...
Click to collapse
It has been a while but if you extract all the APK files and run grep on them you should be able to find the one you are looking for. You can then decompile the APK to have a look at the source code. Another way would be to remove the apps one by one and reboot each time. When you find the APK which causes the Demo mode to be activated just replace it with a blank APK file with the same package name and it should be good. If that does not work then it could be that the tablet checks for more things which means you'll have to go with option 1. I would also not trust virustotal with this as there are many reasons why it could return a false result and it does not take too much skills to bypass virustotal checks.
The solution!
Just install a clean CloudsService.
Normal_CloudsService.apk
Mirror1: https ://drive .google .com/file/d/0B1CH2n58TrbiSFl4Y0twRk5LX3M/view?usp=sharing
Mirror2: https ://drive .google .com/file/d/0B65Tvd8zpsRPOFNLY2NTRVMxckU/view?usp=sharing
VirusTotal: https ://www .virustotal .com/en/file/a014b81ce3cbee336a705eb54a0d6081038d67cc34b65688304a3ee41861903a/analysis/1455333414/
cheers
ofernandofilo said:
Just install a clean CloudsService.
Normal_CloudsService.apk
Mirror1: https ://drive .google .com/file/d/0B1CH2n58TrbiSFl4Y0twRk5LX3M/view?usp=sharing
Mirror2: https ://drive .google .com/file/d/0B65Tvd8zpsRPOFNLY2NTRVMxckU/view?usp=sharing
VirusTotal: https ://www .virustotal .com/en/file/a014b81ce3cbee336a705eb54a0d6081038d67cc34b65688304a3ee41861903a/analysis/1455333414/
cheers
Click to expand...
Click to collapse
Thank you!
Note that you might need to do
adb uninstall com.clouds.server
before you will be able to install this one if you get "Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]"
it works
I JUST INSTALLED THE APK POSTED IN THE FIRS LINK ... AND IT WAS MY SOLUTION..... I DO IT TO ZEEPAD 7DRK
---- drive.google.com/file/d/0B1CH2n58TrbiSFl4Y0twRk5LX3M/view#! -------
GREETENGS FROM MEXICO LEON GTO
....my english is bad .. i know i know.... jajajaj lool

Google Chrome User Agent Android 7.x

Hi,
how can i Set Chrome User Agent to Desktop or chromebook on Android 7.x ?
Old User Agent Apps won't work on 7.x
I need to Set Chrome to Desktop view always on
Put a file in Data/Local called 'chrome-command-line', put this text in
chrome --user-agent="Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36" -force-device-scale-factor=2
Permissions 644, you can change the scale-factor to suit.
Sorry but this is Not working anymore on 7.x
Nobody ?
Just wanted to bump this as I'm also looking for a solution.
This has been bugging me for for a few days, very frustrating, seems like Chrome doesn't read the command line files in Nougat no matter where they are located, what they are called, or how you invoke the application. So I did the next best thing...
I grabbed the latest Chromium source code and modified user_agent.cc so it spits out a desktop UA instead. Cross compiling was a bit of a lengthy process, around 4 hours, but it works perfectly. The code alteration was quite trivial, I know this doesn't really help anyone here with a quick fix, and I really can't see Google adding a permanent desktop mode any time ever.
To make the change, just edit the following and rebuild:
<path>/src/content/common/user_agent.cc
PHP:
std::string BuildUserAgentFromOSAndProduct(const std::string& os_info,
const std::string& product) {
// Derived from Safari's UA string.
// This is done to expose our product name in a manner that is maximally
// compatible with Safari, we hope!!
std::string user_agent;
// base::StringAppendF(
// &user_agent,
// "Mozilla/5.0 (%s) AppleWebKit/%d.%d (KHTML, like Gecko) %s Safari/%d.%d",
// os_info.c_str(),
// WEBKIT_VERSION_MAJOR,
// WEBKIT_VERSION_MINOR,
// product.c_str(),
// WEBKIT_VERSION_MAJOR,
// WEBKIT_VERSION_MINOR);
// return user_agent;
return "<Insert desired user agent here>";
}
dtchky said:
This has been bugging me for for a few days, very frustrating, seems like Chrome doesn't read the command line files in Nougat no matter where they are located, what they are called, or how you invoke the application. So I did the next best thing...
I grabbed the latest Chromium source code and modified user_agent.cc so it spits out a desktop UA instead. Cross compiling was a bit of a lengthy process, around 4 hours, but it works perfectly. The code alteration was quite trivial, I know this doesn't really help anyone here with a quick fix, and I really can't see Google adding a permanent desktop mode any time ever.
To make the change, just edit the following and rebuild:
<path>/src/content/common/user_agent.cc
PHP:
std::string BuildUserAgentFromOSAndProduct(const std::string& os_info,
const std::string& product) {
// Derived from Safari's UA string.
// This is done to expose our product name in a manner that is maximally
// compatible with Safari, we hope!!
std::string user_agent;
// base::StringAppendF(
// &user_agent,
// "Mozilla/5.0 (%s) AppleWebKit/%d.%d (KHTML, like Gecko) %s Safari/%d.%d",
// os_info.c_str(),
// WEBKIT_VERSION_MAJOR,
// WEBKIT_VERSION_MINOR,
// product.c_str(),
// WEBKIT_VERSION_MAJOR,
// WEBKIT_VERSION_MINOR);
// return user_agent;
return "<Insert desired user agent here>";
}
Click to expand...
Click to collapse
Would it be possible for you to share the apk? This is frustrating me beyond belief after I moved to Nougat.
Found a solution for this problem, it was caused by a SELinux context which blocked read access to the command line file.
Download this script and copy it on the SDCard.
Install Android Terminal Emulator, then enter:
Code:
su
sh /sdcard/chrome.sh
- Testing 7.x fix. https://play.google.com/store/apps/details?id=com.linuxjet.apps.ChromeUA
jpeterson said:
- Testing 7.x fix. https://play.google.com/store/apps/details?id=com.linuxjet.apps.ChromeUA
Click to expand...
Click to collapse
Thank you. Is this working for anyone?
cobram3 said:
Thank you. Is this working for anyone?
Click to expand...
Click to collapse
It is available on the play store. I can not guarantee this will work, but I have tested it on my 7.x devices and 8.x devices and it is working on them.
Does not work on my OnePlus 5T on Android 8.0 rooted with Magisk.
Neither does the script posted above.
Any other ideas? I'm sick of manually selecting "view non crippled site" every time I open any webpage.
"Mobile" sites need to die!
EDIT: I figured it out, I needed to set the /data/local directory to be readable by all. (The script above already got the file permissions right for the chrome-command-line file, just not the directory it lived in). After that the user agent string seems to be working as it should and I can actually view useful webpages again!
Well, so much for that.
I wiped my phone and started over, and the same steps I used last time have no effect this time. I'm stuck in mobile website hell.
Anyone with any idea how to fix this?
EDIT: This seems to be related to the file permissions issue still, but I'm not sure how to fix it. When I'm not root, I get permission denied when I do an ls on the /data/local directory, despite that directory, and all the ones above it, being set 755. So whatever is blocking me from being able to ls that directory is also likely blocking the ability for chrome to read that file and behave like a useful web browser instead of a completely crippled one.
ve6rah said:
Does not work on my OnePlus 5T on Android 8.0 rooted with Magisk.
Neither does the script posted above.
Any other ideas? I'm sick of manually selecting "view non crippled site" every time I open any webpage.
"Mobile" sites need to die!
EDIT: I figured it out, I needed to set the /data/local directory to be readable by all. (The script above already got the file permissions right for the chrome-command-line file, just not the directory it lived in). After that the user agent string seems to be working as it should and I can actually view useful webpages again!
Click to expand...
Click to collapse
You can create a "chrome desktop"widget with that app,only by this way,it seems to work.
Unfortunately that only works for opening the browser and does nothing for links clicked in our applications.
Why do developers of websites hate mobile users? This isn't 1998 anymore, people want to access websites from their phones! We shouldn't have to resort to such ridiculous lengths to enable such basic functionality as a working web browser!
https://forum.xda-developers.com/showthread.php?t=1811101&page=13 #128
That helps quite a bit.
Now of course I've run in to another problem. AMP. google assistant and related products love to push AMP pages instead of websites, and chrome won't open them in desktop mode, only in mobile mode. I wonder if there's some way to convince Google assistant to behave and link to real webpages?
*sigh* it's amazing how far companies are willing to go to cripple their websites!
EDIT: Found it! DeAMPify in the play store translates all those external programs (like the google feed) to non amp versions before passing them to the browser.
With enough steps and work-arounds you too can have a functioning web-browser on your smartphone!
I'm here to confirm Wootever's script working on [ROM][8.1.0][STABLE][OFFICIAL][TREBLE] AospExtended ROM V5.4 [Z2 PRO]. I had already created the chrome-command-line file via file explorer and set permissions to 755, but it wasn't working. Customized the UA string to my liking, btw (X11; Linux Arm64).
The way G00gl€ is developing Chrome is fLIck1ng annoying, this is basic functionality being set aside because fLIck you. Latest Android Chrome versions (63 to 66) are a piece of sh1t imho.
Cheers
Wootever said:
Found a solution for this problem, it was caused by a SELinux context which blocked read access to the command line file.
Download this script and copy it on the SDCard.
Install Android Terminal Emulator, then enter:
Code:
su
sh /sdcard/chrome.sh
Click to expand...
Click to collapse
Does anyone still have this file?
Reupload
Reupload ulozto.sk/file/R55e4UbG3ppA/chrome-sh

Noob question about apk

So this is my first time publishing an Android app. Now I successfully convert my aab into apks and then unzip it into many smaller apk. However, now I am confused about which one should I send to my beta tester? There is so many different apk like
standalone-arm64_v8a_hdpi.apk
standalone-arm64_v8a_mdpi.apk
standalone-arm64_v8a_xxxhdpi.apk
standalone-armeabi_v7a_mdpi.apk
and many more. I am guessing we need to match the apk for the specific device? However, if I want to upload my apk into a website and the user can download the apk directly from the website in the future. which apk should I upload then? Since it's impossible to determine the device info beforehand? Hope my question make sense. Thanks
Jimbotron126 said:
So this is my first time publishing an Android app. Now I successfully convert my aab into apks and then unzip it into many smaller apk. However, now I am confused about which one should I send to my beta tester? There is so many
...
upload then? Since it's impossible to determine the device info beforehand? Hope my question make sense. Thanks
Click to expand...
Click to collapse
Those version of your apk are for users running different chipset and different screen dpi. Those apks are uplaoded to google play, and when someone downloads the app, it's the right apk for them that gets installed right away (they don't have to choose).
From my experience, screen dpi isn't a problem when installing, the only problem you could face is when installing arm64_v8a on an armeabi_v7a device (installing 64bit app on a 32bit device). 32bit devices tend to be rarer and rarer so if you had to post your app for testing it would be any of the arm64 apk + any of the armeabi_v7a apk.
Because probably an Android user neither knows about the meaning of the DPI-bucket-shorthands ( MDPI, HDPI, XHDPI, XXHDPI, XXXHDPI) or ABI-shorthands, IMO it's recommended to offer in your web-site to your users a Powershell script to download what either by means of ADB gets Android device's DPI-bucket-setting & ABIs supported and then automatically selects the proper APK to get downloaded or provides a simple menu where users can select the matching APK related to their phone's ABI and/or DPI to get downloaded.
Read more here:
Use PowerShell to download a file with HTTP, HTTPS, and FTP
In PowerShell, you can download a file via HTTP, HTTPS, and FTP with the Invoke-WebRequest cmdlet
4sysops.com
Example Powershell menu skeleton:
Code:
do
{
Show-Main-Menu
$selection = Read-Host "Please make a selection"
switch ($selection)
{
'1' {
Show-DPI-Menu
} '2' {
Show-ABI-Menu
}
}
pause
}
until ($selection -eq 'q')

Categories

Resources