[APP][Xposed] XMultiWindow 1.6.0-- Like Omni's Splite View[UPDATE140213]

Search This thread

LovewuChin

Member
Feb 9, 2014
48
283
Here is a Xposed module, which port omni's splite view to other ROM.

Features:
*Support splite view and work with two workspace.
*Switch app into splite view in any situations.
*Could switch landscape and portrait.
*Support use SideBar to use.
*Sidebar Settings.

Note:
*Now,two workspace is perfect.
*MIUI user plaes allow floating window.

How to use(please install xposed before):
*FIRST,click the preference item to open the SideBar.
*THEN,you can slide from left to right and open SideBar window.
*AT LAST,you just set the SideBar window position and enjoy splite view.

Test:
*MIUI work fine.
*stock rom work fine.

Thanks to:
*@zst123(I based on his halo float window)

Change Log:
BETA-1.0.0:
*base usage.
*floting window control.

BETA-1.0.1:
*update display.
*support instruction.

BETA-1.0.2:
*fix landscape and portrait.

1.1.0
*fix sub activity'problem,close to perfect(all thanks to zst123)
*fix other devices' resolution.
*fix conflict with xhalo and omni and halo and samsung.(i change the flags that diffrent other).

1.5.0
*NEW:add SideBar and earily to use.
*clean code

1.6.0:
*NEW:Sidebar update and add Sidebar Settings
*code clean.

BUG List:
*some app not work(like fuubo and at present one)
**if exist two app,and one of them couldn't touch item.

Download page:
http://repo.xposed.info/module/com.lovewuchin.xposed.xmultiwindow
MI_20140209_180253.pngdevice-2014-02-08-143352.jpgMI_20140211_213509.jpg

File:
1.6.0:
View attachment XMultiWindow.apk
 
Last edited:

MR.Samo

Senior Member
Jan 9, 2012
444
246
Take your time my friend cuz this is something we wait for it for ever.

Thank u so much
 

happiness4u

Senior Member
Sep 22, 2013
483
133
xbin/busybox
Can you upload your file here? The browser can't parse the address posted man.

Edit: already downloaded from repo now. Gonna try it later. Thanks OP.
 
Last edited:

LovewuChin

Member
Feb 9, 2014
48
283
Great work dev! Haha. I knew someone will create this!
I think you should say that this uses the same 0x2000 flag as Halo and will conflict with ROMs with halo.
Request to use 0x1000 (so it will not conflict and we will have best of both).
i think i use a not good way to solve this problem because i use two flag with two view,and the two position will conflict,and the most problem is that the subactivity couldn't add to the pointing view,could you help me?
 

zst123

Inactive Recognized Developer
Aug 20, 2013
442
3,309
Singapore
i think i use a not good way to solve this problem because i use two flag with two view,and the two position will conflict,and the most problem is that the subactivity couldn't add to the pointing view,could you help me?

In your ActivityRecord class hook, you can use these to check. Then use taskAffinity (I refer to my source code)

Code:
boolean top_window = (i.getFlags() & 0x2000) == 0x2000;
boolean bottom_window = (i.getFlags() & 0x1000) == 0x1000;
....
....

if ( (top_window || bottom_window) && taskAffinity ) {
						Field intentField = param.thisObject.getClass().getDeclaredField("intent");
						intentField.setAccessible(true);
						Intent newer = (Intent) intentField.get(param.thisObject);
						if (top_window) {
						newer.addFlags(0x2000);
						}
						if (bottom_window) {
						newer.addFlags(0x1000);
						}
						intentField.set(param.thisObject, newer);
						floatingWindow = true;
					}
You can try this and see if it works.

(On a side note, do you speak chinese?)
 
  • Like
Reactions: hiwaaminzadeh

LovewuChin

Member
Feb 9, 2014
48
283
In your ActivityRecord class hook, you can use these to check. Then use taskAffinity (I refer to my source code)

Code:
boolean top_window = (i.getFlags() & 0x2000) == 0x2000;
boolean bottom_window = (i.getFlags() & 0x1000) == 0x1000;
....
....

if ( (top_window || bottom_window) && taskAffinity ) {
						Field intentField = param.thisObject.getClass().getDeclaredField("intent");
						intentField.setAccessible(true);
						Intent newer = (Intent) intentField.get(param.thisObject);
						if (top_window) {
						newer.addFlags(0x2000);
						}
						if (bottom_window) {
						newer.addFlags(0x1000);
						}
						intentField.set(param.thisObject, newer);
						floatingWindow = true;
					}
You can try this and see if it works.

(On a side note, do you speak chinese?)

yes,i speak chinese! and thank you for sloving my problem!
 
  • Like
Reactions: zst123

pikachukaki

Senior Member
Jan 27, 2012
5,046
2,749
Thessaloníki, Greece
Great idea but I think it need some work... Apps show above other apps... Alot of space under the down workspace and the navbar bar... And after that whatever app I open normally it shows on above workspace

Sent from my Nexus 5 using XDA Premium 4 mobile app
 

Attachments

  • Screenshot_2014-02-09-16-22-32.jpg
    Screenshot_2014-02-09-16-22-32.jpg
    186 KB · Views: 3,926
  • Screenshot_2014-02-09-16-24-41.jpg
    Screenshot_2014-02-09-16-24-41.jpg
    161.9 KB · Views: 3,686
  • Screenshot_2014-02-09-16-24-46.jpg
    Screenshot_2014-02-09-16-24-46.jpg
    143.2 KB · Views: 3,493
Last edited:
  • Like
Reactions: DKaine

KostasR

Senior Member
Dec 16, 2012
168
20
Tried it in Tab 2 with 4.2.2 Stock and Touchwiz. App got confused and opened the launcher in half the screen and now everything is a mess :) Also it doesn't close all windows to restore everything when the option is chosen so I had to reboot :) Great work. Can't wait for the bugs to get ironed out :cowboy:

After touchwiz crashed and with the main homescreen loaded, I managed to open feedly and youtube together with no problem.
 
Last edited:
  • Like
Reactions: joani_78

Top Liked Posts

  • There are no posts matching your filters.
  • 254
    Here is a Xposed module, which port omni's splite view to other ROM.

    Features:
    *Support splite view and work with two workspace.
    *Switch app into splite view in any situations.
    *Could switch landscape and portrait.
    *Support use SideBar to use.
    *Sidebar Settings.

    Note:
    *Now,two workspace is perfect.
    *MIUI user plaes allow floating window.

    How to use(please install xposed before):
    *FIRST,click the preference item to open the SideBar.
    *THEN,you can slide from left to right and open SideBar window.
    *AT LAST,you just set the SideBar window position and enjoy splite view.

    Test:
    *MIUI work fine.
    *stock rom work fine.

    Thanks to:
    *@zst123(I based on his halo float window)

    Change Log:
    BETA-1.0.0:
    *base usage.
    *floting window control.

    BETA-1.0.1:
    *update display.
    *support instruction.

    BETA-1.0.2:
    *fix landscape and portrait.

    1.1.0
    *fix sub activity'problem,close to perfect(all thanks to zst123)
    *fix other devices' resolution.
    *fix conflict with xhalo and omni and halo and samsung.(i change the flags that diffrent other).

    1.5.0
    *NEW:add SideBar and earily to use.
    *clean code

    1.6.0:
    *NEW:Sidebar update and add Sidebar Settings
    *code clean.

    BUG List:
    *some app not work(like fuubo and at present one)
    **if exist two app,and one of them couldn't touch item.

    Download page:
    http://repo.xposed.info/module/com.lovewuchin.xposed.xmultiwindow
    MI_20140209_180253.pngdevice-2014-02-08-143352.jpgMI_20140211_213509.jpg

    File:
    1.6.0:
    View attachment XMultiWindow.apk
    12
    OK, here is how it worked for me:
    1. Download, install and activate xposed module.
    2. Reboot
    3. Open app from launcher or xposed modules menu.
    4. Go to 'SideBar settings', 'SideBar App settings'
    5. Use the button 'Add' at the top right to select apps you would like to multitask.
    6. After your selection is done, return to main xMultiWindow screen and select 'Open Sidebar'
    At this point, the settings page minimises showing you your launcher.
    Try swiping from the left edge of your screen. A sidebar with the apps you selected should appear.
    To hide the sidebar swipe from the left edge again.

    Wysłane z mojego Nexus 4 przy użyciu Tapatalka
    8
    No download link ? No picture preview ?

    Sent from Bandung
    I am newer and uploading now
    7
    Great work dev! Haha. I knew someone will create this!
    I think you should say that this uses the same 0x2000 flag as Halo and will conflict with ROMs with halo.
    Request to use 0x1000 (so it will not conflict and we will have best of both).
    4
    WOW - for a BETA.... it's amazing ! :victory::victory:;);):D:D
    Well done !

    Few bug I encounter ( on v1.0.2 )
    1. I can report that some of the latest functions of "xhalofloating window" works on your XmultiWindow, like: close, move, resize etc.
    But I think it is somewhat slower when I combine them together. So the following report was being checked without "xhalo floating window" at all. ( disabled @Xposed level -> restarted to apply the changes )
    2. When my Nexus 7 is being on a landscape CW, I open Xmultiwindow's circle and leaving the "multi app chooser" open -> then I rotate is to landscape CCW -> the "add to left" adding the apps to the right, instead of left. ( right is right, working ok ).
    3. the same happens when 1st on 0 degree portrait, leaving "multi app chooser" open -> rotate 180 deg -> up/down get confused as well.
    4. there's a mismatch in windows size when switching from landscape to portrait (& opposite as well) when 2 app are being used simultaneously.
    ( open 2 app on portrait, then rotate and see ).


    Few Requests: :angel:
    1. The ability to control the size of the "circle" launcher, as well as make it hidden like "halo" or "floatification"
    2. The ability to switch sides between 2 open apps.
    3. Disable "Home button" closes all the the opened Xmultiwindow's app, thus need extra button somehow to close a specific Xmultiwindow app running.
    4. Add any app that was opened using Xmultiwindow to the "Recents" screen
    5. Having the ability to choose between "launch app & minimize the "multiapp chooser" and "launch app and leave "multiapp chooser" open"
    6. The "Add to up/down workspace" button is too small in my opinion and It might be better with just an icon/image instead.
    7. Make Xmultiwindow remember the last X,Y that the "multiapp chooser" was moved to, even after OS restart.
    8. The ability of "Auto Hide" the "multiapp chooser" after X sec.
    9. The ability to "auto start" the circle launcher on boot.
    10. The ability to hide the messege "multi app chooser running... " on/off and/or control its on-screen delay till being hide. ( that's minor req ;))
    7. The ability to launch app as Xmultiwindow using the "Recents" screen ( I guess that's too obvious - right ? :eek: )