FORUMS
Remove All Ads from XDA

[APP][Material] Screen Shift - Update - Per-app Profiles

331 posts
Thanks Meter: 311
 
Post Reply Email Thread
Screen Shift
Change the screen resolution, density and overscan of your Android device
Update v2.0 : Switch profiles automatically based on current app!
App icon
  • Test your apps in a variety of screen resolutions using a single device
  • Improve gaming performance by playing at lower resolutions
  • Material design interface
  • In-built profiles of popular devices; more can be added manually
  • Per-app profiles - Switch profiles automatically based on current app
_
Requirements
  • Android Gingerbread or higher
  • Requires root in JellyBean 4.3 and higher
  • Overscan available only in JellyBean 4.3 and higher

_
Screenshots


_
Downloads
Get it on Google Play

All features of the app are available for free, without any ads. If this app has been helpful, there's an option to donate via an in-app purchase. This does NOT unlock any new features. Thank you for your support.

Please do not mirror without permission. Link to this thread or play store page if you want to share this app elsewhere. So that users will know where to check for updates and get support from.

_
Important Information
A nandroid/Ti backup is recommended before trying the app.

Some devices/ROMs face a soft reboot when density is changed. There's a test in the app to check this. If density change indeed causes reboot, density is ignored in per-app profiles.

If your screen becomes unusable after setting a resolution, wait for ~15 seconds. It should revert to your default resolution.
If that does not work, reboot -> wait for 2 min (for the service to start) -> reboot again -> wait for service to start.
If that too does not work (I certainly hope that you won't have to do this), issue the following commands in adb shell (using a pc):
For JB 4.3 and above:
Code:
wm size reset
wm density reset
wm overscan reset
Below JB 4.3:
Code:
am display-size reset
am display-density reset
Also please note that uninstalling the app won't restore default display settings. So please switch the service off first, if you want to uninstall. Also tell me why you uninstalled it.
_
Source code
Source code is distributed under Apache v2 license. Source repository: https://github.com/aravindsagar/ScreenShift

_
Change log

v2.0: Per-app profiles

v1.2: App startup reboot fix

_
Developed by
Aravind Sagar
Find me in G+
The Following 93 Users Say Thank You to aravindsagar For This Useful Post: [ View ] Gift aravindsagar Ad-Free
 
 
19th June 2015, 01:09 PM |#2  
aravindsagar's Avatar
OP Senior Member
Flag Champaign, IL
Thanks Meter: 311
 
More
Thank you all for the amazing response! 10000 downloads at the end of 1 week! (XDA + bitly link)
Thanks to XDA Portal and Phone Arena, and other tech blogs, for featuring the app. It means a lot, to get this kind of exposure for one of the first apps of mine.

A bit of background
I have a Nexus 4, and it's display started to develop problems a few months back. The nav bar area stopped registering touches at all (though ghost-touches were experienced quite frequently). I managed with pie controls and similar apps for a while. But more recently, this area began to increase, and almost 50% of my screen doesn't respond to touch now. I was looking for a software solution to make the phone usable till I can replace the digitizer and screen of my phone. Then I stumbled upon an adb shell command, wm, which could do a temporary fix for my touch screen issues. I thought I'd make a GUI for the functionality offered by the wm command, and the end result is what you see in this thread.

What Next?
I'm planning to implement per-app profiles, and automatic density calculation for the next major version of the app.
Suggestions are welcome.

Some credits
https://github.com/matrixxun/ProductTour for the initial tutorial/product tour shown in the app.
http://romannurik.github.io/AndroidAssetStudio/ has been of great help as well.
As always, big thanks to the stack overflow community, as well as http://developer.android.com/index.html
The Following 16 Users Say Thank You to aravindsagar For This Useful Post: [ View ] Gift aravindsagar Ad-Free
19th June 2015, 06:08 PM |#3  
Piereligio's Avatar
Senior Member
Flag Roseto degli Abruzzi
Thanks Meter: 807
 
Donate to Me
More
This is great! Could it work on Lollipop and Android M?
19th June 2015, 06:10 PM |#4  
aravindsagar's Avatar
OP Senior Member
Flag Champaign, IL
Thanks Meter: 311
 
More
Quote:
Originally Posted by Piereligio

This is great! Could it work on Lollipop and Android M?

It does work in Lollipop. You can see that the screenshots are in fact taken in 5.1 Lollipop.
It should work with M too. I don't have a device to check that right now. Maybe I'll test it out in M emulator as soon as possible.
The Following 3 Users Say Thank You to aravindsagar For This Useful Post: [ View ] Gift aravindsagar Ad-Free
19th June 2015, 07:58 PM |#5  
thedimzone's Avatar
Junior Member
Thanks Meter: 2
 
More
great app, helpful for me!
20th June 2015, 03:50 AM |#6  
aravindsagar's Avatar
OP Senior Member
Flag Champaign, IL
Thanks Meter: 311
 
More
Quote:
Originally Posted by thedimzone

great app, helpful for me!

Thank you!
The Following 2 Users Say Thank You to aravindsagar For This Useful Post: [ View ] Gift aravindsagar Ad-Free
20th June 2015, 08:03 AM |#7  
tucstwo's Avatar
Senior Member
Thanks Meter: 348
 
Donate to Me
More
forgive my ignorance but is this just an easy way to change the (or what was) "ro.sf.lcd_density=XX" in the build.prop or is there something special to this? I realize there's more to it vs the build.prop edit, but it does kinda/sorta the same type of thing? not discrediting the feature...Just curious Thanks again!
20th June 2015, 08:08 AM |#8  
aravindsagar's Avatar
OP Senior Member
Flag Champaign, IL
Thanks Meter: 311
 
More
Quote:
Originally Posted by tucstwo

forgive my ignorance but is this just an easy way to change the (or what was) "ro.sf.lcd_density=XX" in the build.prop or is there something special to this? I realize there's more to it vs the build.prop edit, but it does kinda/sorta the same type of thing? not discrediting the feature...Just curious Thanks again!

Actually, it's an easy way to issue the adb command wm (or am before JB 4.3).
Check this SO question for more details on wm command: http://stackoverflow.com/questions/1...-other-devices.
I started building this app because parts of my screen stopped working, actually. Then I thought, it could be useful more generally.
The Following 4 Users Say Thank You to aravindsagar For This Useful Post: [ View ] Gift aravindsagar Ad-Free
20th June 2015, 08:42 AM |#9  
@aravindsagar how can i get back to default settings?
20th June 2015, 08:48 AM |#10  
aravindsagar's Avatar
OP Senior Member
Flag Champaign, IL
Thanks Meter: 311
 
More
Quote:
Originally Posted by thahim

@aravindsagar how can i get back to default settings?

Just switch the service off using the switch in action bar. If your display has somehow become unusable, follow instructions in OP, under the heading "Important Information". If you have uninstalled the app, resetting can be done using the adb commands mentioned there.
The Following User Says Thank You to aravindsagar For This Useful Post: [ View ] Gift aravindsagar Ad-Free
20th June 2015, 09:22 AM |#11  
codeknight11's Avatar
Senior Member
Flag Navi Mumbai
Thanks Meter: 2,522
 
More
First of all, Avast Mobile Security detects your app as suspicious and advises uninstalling it immediately. I hope there are no malwares

Btw, about the app, as soon as I gave it root access, my device hot-rebooted and got stuck in a bootloop. Then I switched it off and restarted it, device started optimizing all the apps (just like after fresh rom install). Everytime I open the app my device reboots

Device - Note 2 N7100
ROM - CM12.1
Post Reply Subscribe to Thread

Tags
density, material, overscan, screen resolution

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes