Xposed module: App Settings v1.10

What it is

settings that are global to all applications

What the mod CAN do

statusbar only

apps might crash

consume more RAM

endlessly

likely that it will start failing

What the mod CAN'T / WON'T do

Installation

from within Xposed Framework

Usage of this thread

updates

report bugs

new features

experiences with tweaking specific apps

you should not expect feedback from me

Screenshots

Development

This is an Xposed module that allows changing generic settings on a per-app basis."Generic settings" means, such as:DPI, rotation behavior, fullscreen, etc.; full list is below.These are settings that can in principle be applied to all packages, even if for some it might not produce any effects.Not to be confused with app-specific settings. If it's something that only app Y or Z needs changing, chances are it won't belong in this module.Here's the list of settings that can be defined for each target package:: Changes the DPI used by this app both when loading resources (some might be DPI-specific) and also when rendering them.: Scales the font up or down, similarly to the system-wide "Font Size" setting.: Affects the resources loaded by the app in case it bundles different ones for different screen sizes; use the "List Res." button to get some hints on the kind of alternatives the app might have for different resolutions.qualifier for resources: also affects alternate resources used by the apps (tipically for tablets / devices with big screens); see previous item.: normally, resources are only manipulated when being loaded by the application itself. If this is activated, they will also be manipulated when loaded by other apps, which is the typical situation when a Launcher presents widgets from other apps.: the language used by the app for loading resources, formatting numbers and dates, etc.; you can use this for apps that do include translations but don't give you an option of using a different language than your global one.: you can force an app to always use fullscreen (hiding the, not the navigation bar for devices that have it) or never use it; on KitKat Immersive mode can also be activated.: hides the title bar, gaining more space for the actual contents. Note that manyif they're relying on some elements of the titlebar to be there.: If set, the screen won't dim or turn off after the inactivity period whenever this app is on the foreground. Remember not to put the device on your pocket with the app active.: Display this app's screen on top of the lockscreen, without requiring e.g. the PIN to be entered (dangerous). Note that you'll have to find a way (somewhere else) to open the app from the lockscreen, depending on the kind of app.: If set, the system will try much harder to keep the app in memory even when you leave it. It might make the app more responsive when reopening but will also, possibly slowing down the overall system.: prevents the keyboard from taking up the entire fullscreen when in landscape mode.: Override the orientation settings build into the app. You can force "normal behavior" (rotate according to the device settings, even if the developer hardcoded a specific orientation), "always portrait", "always landscape" or "force auto" (use the sensors even if the auto-rotate system setting is off). Additional options exist for forced reversing the portrait or landscape orientations, use the sensor so they can be inverted by tilting the device, 4-way rotation, and forced rotation but respecting the user setting (locked / auto-rotate).: If active, the sounds used by any of the app's raised notifications will loop. Danger of depleting the battery (and annoying crowds) if you're not around when it starts playing the sound.: Prevent notifications to have an alternate layout for the "expanded" mode; it will always be collapsed and can't even be expanded manually: Force or prevent notifications from the app to be marked as Ongoing (non dismissable): This is the relative importance of the notifications and, depending on the ROM, influence the visibility of their icons on the statusbar, their order on the list, etc.: You can prevent the app from showing on the Recents list, or force it to appear.: Prevents all sound from being played from the app. If videos are played, they will be muted. (this doesn't work for all apps, due to technical limitations on the system): For devices that don't have a physical menu button, menu entries will usually appear on the far right of the Action Bar. With this option, the 3-dot button will be displayed on the navbar and the menu options will appear there.: selectively block permissions requested by the app. Needless to say, depending on the permission and the app, it's very; don't expect revoking INTERNET or READ_CONTACTS and having the apps continuing to work every time - most of them will fail unless the developer anticipated this kind of permission denialsSome of the features that help you manage the settings for each app:- by name or package- by type (user/system)- by state (enabled/disabled)- by applied settings: global state, overridden or unchanged state for each settingon the main list or on the individual settings screen- launch app (main launcher activity)- go to system settings screen (uninstall, clear data, ...)- Play Store link (if applicable)and jump directly to their configurationThe app can be killed when saving settings, so they caninstead of requiring a reboot.The settings you can define for each app won't add functionality that simply isn't there, such as:- adding tablet / large screen layouts- using languages for which no resources are included in the app- display "properly" in portrait or landscape mode- operate flawlessly on top of the lockscreen- keep working as expected (whatever that means to you) even after you revoke permissionsNot only these would be not possible to implement in an app-independent way, it's also beyond the scope of this particular module.If you're familiar with the Xposed Framework, you're probably aware that lots of things can be tweaked or added to specific apps.However, unless it's:- generic behavior that can be applied to most apps- relatively easy to implementthen don't bother requesting App Settings to provide it.If it does obey these 2 conditions, then by all means suggest it (preferably with code contributions / pull requests).Requirements: Xposed Framework 2.2 or newer; 2.6 or newer starting with AppSettings 1.9- ICS (4.0.3) or newer (up to 4.4); this is not only a requirement for the framework, but also for this module due to the hooked APIsDownload:The installation can be performedbyand finding the "App Settings" entry. Any updates will also appear there.Alternatively, the repository entry can be browsed directly at http://repo.xposed.info/module/de.ro...ds.appsettings This thread serves primarily to publishto the module,and suggest or discuss(user or developer-wise).You can also use it to share and discuss your(e.g. resources settings, revoked permissions, etc.) - but I must warn thaton that matter.Quite frankly, I'm not that much of a smartphone heavy user, and I'm not willing to install loads of apps on my device in order to experiment and achieve ideal configurations for *you* to use. That's what the community is here for, thoughso feel free to discuss this on the thread.Some images showing: main apps list; settings panel for an individual app; list of resources bundled in an app; editing permissions to revoke; menu with actions for an app; filtering by settings; filtering by permissions used.: @ rovo89 and @ Tungstwenty : The foundations of this module were created by @ rovo89 as a hidden feature within his Tweakbox module, which was the first daily-use mod taking advantage of the (then new) Xposed framework and somewhat of a showcase for it. By directly editing the xml settings file, it was possible to change the dpi, screen dimensions and language for an app's loaded resources.Eventually it got promoted to its own standalone mod once a minimal UI was built to edit the configuration and more and more settings were added. It was promoted and discussed on @ pulser_g2 's Making Stock Custom ROMs Defunct thread and the repository he was kind enough to setup and administer some time ago.Since it's been pretty stable for a while - both in robustness and in expected update frequency - and Xposed Framework now has repository functionality, it has come the time to create a dedicated thread for this and also bump the version to 1.x with the latest added features.