Post Reply

[MOD][XPOSED] Flying Android

OP tkgktyk

14th April 2014, 03:58 PM   |  #1  
OP Member
Thanks Meter: 35
 
38 posts
Join Date:Joined: Jan 2014
More
Flying Android - an Xposed module to move the window of Android.
I support the one-handed operation!
Flying Android (FA) is a module of Xposed. FA introduces a movable mode called "Flying" to any screens. In the Flying mode, you can move the window of apps because drag events are intercepted and the whole window containing the Action Bar is dragged. On the other hand, click events are processed normally.

Features
  • Move the window of activities, dialogs and expanded status bar.
  • Pin the window after moving.

User Interface
  • Activities start as the normal mode (the same as before installing FA).
  • Launch "FA Toggle" to toggle mode, and drag to move.
  • Tap the outside of apps to back to the normal mode after moving.
  • Tap the pin to fix position of the window.
FA Toggle just sends a broadcast "jp.tkgktyk.flyingandroid.ACTION_TOGGLE". Because it is an Activity (but no display), you'll feel a time lag until toggle is done. If you want to avoid this time lag, use a background service (other app) to send ACTION_TOGGLE.

Settings
Flying

Speed
Choice the speed in the Flying mode.

Initial position...
Move to this position when you launch FA Toggle. Drag to change the position and press back key to save.

Notify flying
If checked, draw boundary of application while flying.

Flying dialog
If checked, you can fly dialogs. Note that IME is also dialog.
Pinning

Use pin
If checked, other settings for pinning are enabled.

Always show pin
Pin is always shown on apps regardless of whether flying.

Pin position...
Show a pin button on this position while flying. You can edit this position by dragging.

Auto pin
Window is pinned automatically. Select a behavior from disabled, when takeoff or after moving.

White list...
Select applications that apply pinning. If not check anything, pin is shown in all apps.

Flying status bar
If checked, you can fly (expanded) status bar.

Reset when collapsed
This is an option for Flying status bar. If checked, reset the state of Flying when status bar is collapsed. This requires Android 4.2 or later.
Troubleshooting

Force set black background...
Check apps for clear background if you encounterd a ghost on the outside of app after moving. I saw ghosts on Chrom, Firefox and Feedly.

Black list...
Select applications that don't apply Flying Android for avoiding trouble.
TODO
  • Transparent background -> Pending
  • Problem (reported): scrolling is partially while pinned.
  • Problem (reported): black / white lists don't work correctly.

Download
http://repo.xposed.info/module/jp.tkgktyk.flyingandroid

Full Changelog
https://sites.google.com/site/tkgkty...flying-android

Source code
https://github.com/tkgktyk/FlyingAndroid

Special thanks
  • Xposed framework by rovo89
Reference mods (A-Z):
  • GravityBox by C3C076
  • SwipeBack by PeterCxy
  • XHaloFloatingWindow by zst123
And there is a full text on https://sites.google.com/site/tkgkty...flying-android.

Demo
Demonstration movie for version 0.5.x (on Youtube).

Screenshots

-> after moving

Flying Status Bar

Flying Dialog
Last edited by tkgktyk; 25th May 2014 at 04:45 PM.
The Following 20 Users Say Thank You to tkgktyk For This Useful Post: [ View ]
14th April 2014, 04:05 PM   |  #2  
OP Member
Thanks Meter: 35
 
38 posts
Join Date:Joined: Jan 2014
More
Release / Status
version 1.1.0 (stable)
Changes:
* Added: notification toggle (thanks to Joe R.)
* Added: animation when takeoff or go home
* Added: Chinese text (zh-rCH, zh-rHK and zh-rTW; thanks to CodeingBoy)
* Added: Japanese text
* Modified: use two-pane layout for settings on the large display devices.
* Changed: the speed setting from list box to edit text.
* Modified: behavior of pin which is always displayed.
Last edited by tkgktyk; 5th June 2014 at 02:10 PM. Reason: release 1.1.0
The Following User Says Thank You to tkgktyk For This Useful Post: [ View ]
14th April 2014, 04:11 PM   |  #3  
OP Member
Thanks Meter: 35
 
38 posts
Join Date:Joined: Jan 2014
More
Tips
For launchers (such as LMT)
You might not be able to launch FA Toggle from launcher if it is registered as app (activity). In such a case, try register as a shortcut. FA supports creating shortcut to FA Toggle from version 0.6.5.

VPN setting
You must add VpnDialogs (com.android.vpndialogs) into blacklist for using VPN setting.

For Feedly
"FA Toggle" and Feedly are not well-matched. Display pin always by setting "always show pin" as workaround.

Appear ghosts on background
Check the problem app in "Force set black background" setting. If checked, the outside of the app after moving is overwritten by black solid to clear background. I saw a ghost on Chrome, Firefox and Feedly.
Last edited by tkgktyk; 14th May 2014 at 04:44 PM.
14th April 2014, 04:14 PM   |  #4  
Aashuk Mehta's Avatar
Senior Member
Flag Mumbai
Thanks Meter: 893
 
2,304 posts
Join Date:Joined: Sep 2012
More
Took so long to come to xda well better late than never. Finally you are here and more people will know about your awesome xposed module☺

Sent from my Nexus 4 using Tapatalk
14th April 2014, 05:15 PM   |  #5  
pitastrudl's Avatar
Senior Member
Flag Ljubljana
Thanks Meter: 533
 
1,652 posts
Join Date:Joined: May 2011
Donate to Me
More
Some visual information would be helpful for some users. Nice module btw.
15th April 2014, 09:30 AM   |  #6  
Jimmy34742's Avatar
Senior Member
Flag 台北
Thanks Meter: 226
 
850 posts
Join Date:Joined: Jul 2011
More
I just flashed a completely different ROM to upgrade my S4 to 4.4.2 (CM 11.0), and I still have the same white and black list problem and the same partial-scroll-while-pinned problem.

EDIT: I had to revert to 0.6.2 because the app kept flying my keyboard app, Kii. I always type by swiping, and the flying keyboard made that impossible, which is why I need to black list it. 0.6.2 allows me to black list apps, no problem.
Last edited by Jimmy34742; 15th April 2014 at 01:08 PM. Reason: reverting to 0.6.2
The Following User Says Thank You to Jimmy34742 For This Useful Post: [ View ]
16th April 2014, 06:14 PM   |  #7  
OP Member
Thanks Meter: 35
 
38 posts
Join Date:Joined: Jan 2014
More
Quote:
Originally Posted by Jimmy34742

I just flashed a completely different ROM to upgrade my S4 to 4.4.2 (CM 11.0), and I still have the same white and black list problem and the same partial-scroll-while-pinned problem.

EDIT: I had to revert to 0.6.2 because the app kept flying my keyboard app, Kii. I always type by swiping, and the flying keyboard made that impossible, which is why I need to black list it. 0.6.2 allows me to black list apps, no problem.

Implementation became so complicated by some options, I rewrote hooks for FA. Owing to this, options menu problem is fixed on my phone. I hope that the partial-scroll problem is also fixed. And, I adjusted lists with reference to 0.6.2. But if list's problem is caused by reloading settings without rebooting...
16th April 2014, 07:32 PM   |  #8  
Jimmy34742's Avatar
Senior Member
Flag 台北
Thanks Meter: 226
 
850 posts
Join Date:Joined: Jul 2011
More
0.6.7: no improvements. I still have the partial-scroll-while-pinned problem, the white and black lists can't be modified, and the new "Reset when collapsed" feature has no effect.

Here's something I discovered: when I install 0.6.2, I can modify the black list. If I then install 0.6.7 without manually clearing data or uninstalling, then 0.6.7 will inherit 0.6.2's black list, and will operate with those apps blacklisted. But 0.6.7 still can't add to or subtract from the black list, and of course I can't use 0.6.2 to edit the white list. If I clear the FA's data and uninstall it using Android Tuner, then reboot, then install 0.6.7, then reboot, it still behaves the same way.

By the way, when testing, I reboot after making any change in the options.
The Following User Says Thank You to Jimmy34742 For This Useful Post: [ View ]
18th April 2014, 02:12 PM   |  #9  
OP Member
Thanks Meter: 35
 
38 posts
Join Date:Joined: Jan 2014
More
Quote:
Originally Posted by Jimmy34742

0.6.7: no improvements. I still have the partial-scroll-while-pinned problem, the white and black lists can't be modified, and the new "Reset when collapsed" feature has no effect.

Here's something I discovered: when I install 0.6.2, I can modify the black list. If I then install 0.6.7 without manually clearing data or uninstalling, then 0.6.7 will inherit 0.6.2's black list, and will operate with those apps blacklisted. But 0.6.7 still can't add to or subtract from the black list, and of course I can't use 0.6.2 to edit the white list. If I clear the FA's data and uninstall it using Android Tuner, then reboot, then install 0.6.7, then reboot, it still behaves the same way.

By the way, when testing, I reboot after making any change in the options.

"Reset when collapsed" feature hooks a method "PhoneStatusBarView#onAllPanelsCollapsed". And roid 4.1.2 or earlier don't have this method, so not work. Does your ROM have this method? if not so, FA will log "PhoneStatusBarView#onAllPanelsCollapsed is not found." via Xposed framework.

For the partial-scroll-while-pinned problem, does your ROM customize how to render views? Is the scroll region clamped by the edge of the screen?

For lists problem, I found an another difference between 0.6.2 and newer. It is flag when open preferences. In 0.6.2, preferences is opened with MODE_PRIVATE flag, but new versions use MODE_WORLD_READABLE flag to reload settings without reboot. Are there similar troubles at your ROM's community? Especially about get/putStringSet with MODE_WORLD_READABLE flag.
18th April 2014, 05:06 PM   |  #10  
Jimmy34742's Avatar
Senior Member
Flag 台北
Thanks Meter: 226
 
850 posts
Join Date:Joined: Jul 2011
More
Quote:
Originally Posted by tkgktyk

"Reset when collapsed" feature hooks a method "PhoneStatusBarView#onAllPanelsCollapsed". And roid 4.1.2 or earlier don't have this method, so not work. Does your ROM have this method? if not so, FA will log "PhoneStatusBarView#onAllPanelsCollapsed is not found." via Xposed framework.

For the partial-scroll-while-pinned problem, does your ROM customize how to render views? Is the scroll region clamped by the edge of the screen?

For lists problem, I found an another difference between 0.6.2 and newer. It is flag when open preferences. In 0.6.2, preferences is opened with MODE_PRIVATE flag, but new versions use MODE_WORLD_READABLE flag to reload settings without reboot. Are there similar troubles at your ROM's community? Especially about get/putStringSet with MODE_WORLD_READABLE flag.

All my system info is in my signature:
Galaxy S 4 I9500 (CM 11.0 ROM (Android 4.4.2), PhilZ Touch CWM 6.0.4.7)
Galaxy Note 2 N7100 (CM 11.0 ROM (Android 4.4.2), PhilZ CWM Touch 6.0.4.5)

I'm not sure what you mean my "clamped by the edge of the screen." My fly position is at the bottom, and the pin position is center left. Everything looks normal, except the scroll amount is limited to the same number of slots that would have scrolled without flying.

The settings problem is the most serious, so maybe it would be best to try to fix that first. I don't have issues with settings in any other app. Perhaps make it a user option to have immediate settings changes or settings that require reboot? The user would know to choose which option depending on whether or not there are problems. Currently, if I check a box in the black (or white) list and then press "show only black (or white)," it shows nothing, and then the checkbox is cleared when I go back to the regular view. I've never seen this problem anywhere before, and have never seen CyanogenMod users talking about it. The problem is the same on both of my phones.

The Following User Says Thank You to Jimmy34742 For This Useful Post: [ View ]
Post Reply Subscribe to Thread

Tags
android, xposed module
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Top Threads in Xposed Framework Modules by ThreadRank