MODE_WORLD_READABLE in Android N - Xposed Framework Development

So it looks like support for MODE_WORLD_READABLE has completely ceased in Android N.
The app fails to open if you compile using SDK 24. I didn't realise that in time and now there's no going back (Play store doesn't allow to use an older SDK once you've published an apk compiled with 24)
I guess a lot of devs will continue to compile using SDK 23 or earlier as a workaround.
But any thoughts about other alternatives?
I know Xposed for N is far away. And I just have to use MODE_PRIVATE now that the app is constantly crashing. But I'm interested to know what other devs (and perhaps @rovo89) have in mind regarding this issue.

You could create your own helper method that would call getSharedPreferences and then set permissions using standard
File object functions.
Something like:
Code:
public static SharedPreferences getPreferencesAndKeepItReadable(Context ctx, String prefName) {
SharedPrefs prefs = ctx.getSharedPreferences(prefName, MODE_PRIVATE);
File prefsFile = new File(ctx.getFilesDir() + "/../shared_prefs/" + prefName + ".xml");
prefsFile.setReasable(true, false);
return prefs;
}
Might need a little tweaking but you get the idea.
This is just a guess. I am not sure whether prefs file permissions are changed only once while getSharedPreferences is called or every time
you update some preference and commit changes. Needs investigation.

C3C076 said:
You could create your own helper method that would call getSharedPreferences and then set permissions using standard
File object functions.
Something like:
Code:
public static SharedPreferences getPreferencesAndKeepItReadable(Context ctx, String prefName) {
SharedPrefs prefs = ctx.getSharedPreferences(prefName, MODE_PRIVATE);
File prefsFile = new File(ctx.getFilesDir() + "/../shared_prefs/" + prefName + ".xml");
prefsFile.setReasable(true, false);
return prefs;
}
Might need a little tweaking but you get the idea.
This is just a guess. I am not sure whether prefs file permissions are changed only once while getSharedPreferences is called or every time
you update some preference and commit changes. Needs investigation.
Click to expand...
Click to collapse
Thanks! This did cross my my mind as well. But I was wondering if this could conflict with Android N or future versions? Will test it and the file permissions (I can confirm that once the permission is set using getSharedPreferences, changing the mode parameter to something else later does not affect the permissions. But yea, now I need to test what happens when the permission is changed manually using File object functions).
I also found that XSharedPreferences accepts a File as a parameter. So I was thinking about using a separate world readable copy of the pref file instead of changing permissions directly (perhaps this is more future-proof?).

PunchUp said:
I also found that XSharedPreferences accepts a File as a parameter. So I was thinking about using a separate world readable copy of the pref file instead of changing permissions directly (perhaps this is more future-proof?).
Click to expand...
Click to collapse
This sounds to me like great idea, provided XSharedPreferences supports explicit files.

--

C3C076 said:
This sounds to me like great idea, provided XSharedPreferences supports explicit files.
Click to expand...
Click to collapse
I just tried this and can confirm that it works perfectly. I stored a copy of the pref file in /data/data/.../files/ with appropriate permissions and XSharedPreferences loads the file from there, no problem.

PunchUp said:
I just tried this and can confirm that it works perfectly. I stored a copy of the pref file in /data/data/.../files/ with appropriate permissions and XSharedPreferences loads the file from there, no problem.
Click to expand...
Click to collapse
Great. Thanks for taking an effort to test. At least, we are ready for a workaround when xposed framework for N comes out.

I use this code
Code:
@Override
public void onPause() {
super.onPause();
// Set preferences file permissions to be world readable
File prefsDir = new File(getActivity().getApplicationInfo().dataDir, "shared_prefs");
File prefsFile = new File(prefsDir, getPreferenceManager().getSharedPreferencesName() + ".xml");
if (prefsFile.exists()) {
prefsFile.setReadable(true, false);
}
}
and it works quite well as a workaround.
---------- Post added at 05:33 PM ---------- Previous post was at 05:32 PM ----------
And maybe the whole XSharedPrefences could be reworked in this style: https://github.com/hamsterksu/MultiprocessPreferences or new-ish https://github.com/vsmaks/multiprocess-preferences & https://github.com/grandcentrix/tray

C3C076 said:
You could create your own helper method that would call getSharedPreferences and then set permissions using standard
File object functions.
Something like:
Code:
public static SharedPreferences getPreferencesAndKeepItReadable(Context ctx, String prefName) {
SharedPrefs prefs = ctx.getSharedPreferences(prefName, MODE_PRIVATE);
File prefsFile = new File(ctx.getFilesDir() + "/../shared_prefs/" + prefName + ".xml");
prefsFile.setReasable(true, false);
return prefs;
}
Might need a little tweaking but you get the idea.
This is just a guess. I am not sure whether prefs file permissions are changed only once while getSharedPreferences is called or every time
you update some preference and commit changes. Needs investigation.
Click to expand...
Click to collapse
Code:
getPreferenceManager().setSharedPreferencesMode([COLOR=#9876aa][I]MODE_PRIVATE[/I][/COLOR])[COLOR=#cc7832];[/COLOR]
[COLOR=#cc7832][/COLOR]addPreferencesFromResource(R.xml.[COLOR=#9876aa][I]preferences[/I][/COLOR])[COLOR=#cc7832];
[/COLOR][COLOR=#cc7832][/COLOR][COLOR=#9876aa]context [/COLOR]= getActivity().getBaseContext()[COLOR=#cc7832];
[/COLOR][COLOR=#cc7832][/COLOR][COLOR=#808080]//pref = context.getSharedPreferences(PREF_FILE, MODE_PRIVATE); // 0 - for private mode[/COLOR]
[COLOR=#808080][/COLOR][COLOR=#9876aa]pref [/COLOR]= [I]getPreferencesAndKeepItReadable[/I]([COLOR=#9876aa]context[/COLOR][COLOR=#cc7832], [/COLOR][COLOR=#808080]PREF_FILE[/COLOR])[COLOR=#cc7832];
[/COLOR]
Doing this worked for me. Thank you for sharing your idea to help others.
Two typos in your example code : SharedPrefs and setReasable which was easy to understand and fix.

Thank you , it works.

Strange issue here.
It worked for me only once.
I have tried using setReadable but no luck.

Xposed preferences class has a method to make the file readable. I've been using just that in combination with the private mode in the user mode app and it's been working pretty good so far for me on Nougat.

Xspeed said:
Xposed preferences class has a method to make the file readable. I've been using just that in combination with the private mode in the user mode app and it's been working pretty good so far for me on Nougat.
Click to expand...
Click to collapse
I tried prefs.makeWorldReadable();
But it returns false, that means it didn't worked.
Any suggestions?
Sent from my OnePlus3 using XDA Labs

PunchUp said:
So it looks like support for MODE_WORLD_READABLE has completely ceased in Android N.
The app fails to open if you compile using SDK 24. I didn't realise that in time and now there's no going back (Play store doesn't allow to use an older SDK once you've published an apk compiled with 24)
I guess a lot of devs will continue to compile using SDK 23 or earlier as a workaround.
But any thoughts about other alternatives?
I know Xposed for N is far away. And I just have to use MODE_PRIVATE now that the app is constantly crashing. But I'm interested to know what other devs (and perhaps @rovo89) have in mind regarding this issue.
Click to expand...
Click to collapse
Is there any solution now?

This is for hide xposed for pass safetynet ?

koko115 said:
This is for hide xposed for pass safetynet ?
Click to expand...
Click to collapse
Obviously no
Sent from my Samsung Galaxy Trend Plus using XDA Labs

Related

[Q] How to use "Restrict background data" WITHOUT notification ?

Hi,
I wish to permanently use the "Restrict background data" feature ( under settings->data usage ) on my JB rom, but the problem is that when I enable that feature, I always get a notification, asking me to "touch to remove" that feature...
I don't wish to do that, even by mistake! I want that notification GONE completely, but to retain the "restrict" feature...
I understand, it's possible to permanently disable notifications, by altering "Settings.apk" somehow - but I don't know what and where to change ( wish file inside that apk ).
I used "apktool" to unpack the apk, but again - which file should I change ? what value/line should I delete ?
My rom is VJ's AOKP v2.2, so "Settings.apk" file is from that rom's version.
Any help would be great :highfive::fingers-crossed:
EDIT:
Guess it has something to do with "DataUsageSummary.smali" (after unpacking the Settings apk -> smali\com\android\settings):
BUT WHAT SHOULD I CHANGE ?!
please reply
gps3dx said:
Any help would be great :highfive::fingers-crossed:
Click to expand...
Click to collapse
Seriously ? Not even the smallest hint you ppl can give me ?:crying::crying:
Can't you even redirect me to the most prevalent sub-forum, here at XDA, for that kind of question ?:silly:
gps3dx said:
Seriously ? Not even the smallest hint you ppl can give me ?:crying::crying:
Can't you even redirect me to the most prevalent sub-forum, here at XDA, for that kind of question ?:silly:
Click to expand...
Click to collapse
Something called the search function; it's really useful.
You can't just expect others to answer your questions promptly. As for your questions, that's part of the android system and if you want to modify it, go ahead. It's not a notification because you can't swipe it away; it's an ongoing thing. SO if you want to go on with that kind of attitude, you can try it yourself.
droid_<3er said:
Something called the search function; it's really useful.
As for your questions, that's part of the android system and if you want to modify it, go ahead. It's not a notification because you can't swipe it away; it's an ongoing thing.
Click to expand...
Click to collapse
I really do appreciate your reply man - even though I googled xda from top to button.
( there are thread about modifying various stuff inside settings.apk / SystemUI.apk - but NON are about that "restriction notification" i'm talking about. )
I've seen this thread in the unread threads of XDA app and although I don't use that feature, I got curious to try it out. So I've quickly put together an Xposed module that removes the notification.
You have to install Xposed framework. Get it here: http://forum.xda-developers.com/showthread.php?t=1574401
Also, install my module from the attachment, enable it and do a soft reboot in Xposed.
It works for me on my Galaxy R with CM10.1 and I assume it will work for you too, as the module doesn't change the Settings, but com.android.server.net.NetworkPolicyManagerService class. If you have any problems, post a logcat and /data/xposed/debug.log
Update: For a while now it's already available in Xposed modules repository: http://repo.xposed.info/module/org.adam77root.removerestrictednotification.
Adam77Root said:
I've seen this thread in the unread threads of XDA app and although I don't use that feature, I got curious to try it out. So I've quickly put together an Xposed module that removes the notification.
You have to install Xposed framework. Get it here: http://forum.xda-developers.com/showthread.php?t=1574401
Also, install my module from the attachment, enable it and do a soft reboot in Xposed.
It works for me on my Galaxy R with CM10.1 and I assume it will work for you too, as the module doesn't change the Settings, but com.android.server.net.NetworkPolicyManagerService class. If you have any problems, post a logcat and /data/xposed/debug.log
Click to expand...
Click to collapse
WOW thnx... but just a few moments before you posted your message I to fulfill that wish of mine... I SOLVED IT !
Although I admit - I DO NOT KNOW if I disabled all of the "restrict background" feature, but I DO managed to enable the "restrict backgound data" checkbox ( then press OK at the popup ) WITHOUT getting any notification at all !
HOW TO DISABLE NOTIFICATION ALERT FOR "RESTRICT BACKGROUND DATA" ( under settings-> data usage-> options )​( I tried that fix on JB 4.2.2 ( to be specific: AOKP VJ Jelly Bean v2.2), BUT I guess it works on all JB 4.2.2 )​1. copy "services.jar" from "/system/framework/services.jar" to your computer.
MAKE A SAFE COPY OF THIS FILE IF SOMETHING HAPPENS TO YOU.
2. extract the jar file using Winrar or any compatible app.
3. using MultiTool decompile the "classes.dex" file as instructed by Multitool's thread.
4. open with any txt editor ( I used Notepad++ ) the file "NetworkPolicyManagerService.smali" under "decompiled\classout\com\android\server\net\" ( which is a sub-folder of Mulitool's folder that you've previously extracted )
5. A . search for:
Code:
invoke-interface/range {v0 .. v6}, Landroid/app/INotificationManager;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;[II)V
delete completely that line or add "# " in the start of that line ( which is what I did ) so that line looks like that:
Code:
# invoke-interface/range {v0 .. v6}, Landroid/app/INotificationManager;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;[II)V
B. search for:
Code:
invoke-virtual {v0, p1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
add "# " in the start of that line ( which is what I did ) or delete completely that line
6. SAVE that smali file that you've just edited.
7. using Multitool, recompile the classes.dex file.
if everything went good, you'll have classes.dex file under MultiTool's sub-folder named "output"
8. using Winrar, open "services.jar", replace the current "classes.dex" with the recompiled one that you've made.
9. copy the remade "services.jar" to your device(using adb etc ):
Code:
adb push "services.jar" /system/framework/services.jar
10. chmod "services.jar" to "-rw-r--r--", meaning you need to:
Code:
adb shell chmod 644 /system/framework/services.jar
11. restart your device, and It should rebuilt your dalvik cache.
ONLY if it didn't, I guess you should delete "/data/dalvik-cache/[email protected]@[email protected]" file, reboot again so your OS will create that dalvik-cache file.
I'll be happy to know if anyone can verify that indeed my fix just remove his/her notification, but retain the ability to disable background data. THANKS !
Sorry I doubted you. You are a genius!
Many thanks!!
Adam77Root, thank you so much for that module! I can confirm it working on my Galaxy Note 2. That notification was unbelievably annoying.
gps3dx, thank you too for this thread and your fix. While I didn't try it because I already have Xposed framework installed and I'd rather use the less invasive approach, I am still grateful for your seeing a problem, addressing it, and proactively doing something about it. My respects to you. I searched around quite a bit and came across many other forums on different sites where people had this same problem unanswered. I hope they find their way to this thread.
To the above poster who jumped down the OP's throat for bumping this topic 4 days after it went unanswered, obviously you didn't do any search on this topic yourself. I did. And until this thread, I found nothing really useful. And lo-and-behold, someone was kind enough to actually do something useful instead of pointlessly sitting there and criticizing. The squeaky wheel gets the grease. Rudely telling someone to 'check their attitude and search' is not helpful- it's just rude and pointless. Just FYI.
I have an i9300 and I can't find the first line in that archive...
eXtremeDevil said:
I have an i9300 and I can't find the first line in that archive...
Click to expand...
Click to collapse
mybe it is because you run JB 4.1.2 not 4.2.2 like I do, plus mybe you're running some custom framework ( it is not AOKP as I suspect from you sig )
Adam77Root said:
...I've quickly put together an Xposed module that removes the notification.
Click to expand...
Click to collapse
@Adam77Root
Big thanks for this module: I installed another 4.2.2 JB rom for my HTC Desire, and your module works !:good::good:
Adam77Root said:
I've seen this thread in the unread threads of XDA app and although I don't use that feature, I got curious to try it out. So I've quickly put together an Xposed module that removes the notification.
You have to install Xposed framework. Get it here: http://forum.xda-developers.com/showthread.php?t=1574401
Also, install my module from the attachment, enable it and do a soft reboot in Xposed.
It works for me on my Galaxy R with CM10.1 and I assume it will work for you too, as the module doesn't change the Settings, but com.android.server.net.NetworkPolicyManagerService class. If you have any problems, post a logcat and /data/xposed/debug.log
Click to expand...
Click to collapse
this was working fine on my aokp jb mr1 Milestone 2, but stopped working when i installed the nigthly nightly (jb-mr1)2013-08-21 (wich fixes my camera issues and soe other stuff)
is there anything i can try myself to fix this or is it just incopatible with that nightly? (its still 4.2)
I'm using Lenovo phone, 4.2.1 Version. In "services.jar" I see only folder "META-INF" and file "MANIFEST.MF". I tried to rename the file to classes.dex then using MultiTool decompile but I receive: "Unexpected top-level exception:java.lang.RuntimeException:bad magic value...etc"
So what's wrong, where to find classes.dex? Someone?
new edit: Thanks a lot for all the replies, also Xposed framework+module didn't work.
Adam77Root said:
I've seen this thread in the unread threads of XDA app and although I don't use that feature, I got curious to try it out. So I've quickly put together an Xposed module that removes the notification.
You have to install Xposed framework. Get it here: http://forum.xda-developers.com/showthread.php?t=1574401
Also, install my module from the attachment, enable it and do a soft reboot in Xposed.
It works for me on my Galaxy R with CM10.1 and I assume it will work for you too, as the module doesn't change the Settings, but com.android.server.net.NetworkPolicyManagerService class. If you have any problems, post a logcat and /data/xposed/debug.log
Click to expand...
Click to collapse
Thanks a lot. Works awesome. Is it possible to post the source code to this?
css771 said:
Thanks a lot. Works awesome. Is it possible to post the source code to this?
Click to expand...
Click to collapse
I'm almost certain I don't have the original files anymore. Since it's pretty simple, you can either decompile the apk or check Android source of the class I mentioned in the post you quoted. Only one function is replaced with returning null.
Edit: Just checked, the function is enqueueRestrictedNotification.
Sent from my OmniROM-powered LG Optimus 4X HD
Xposed module works perfect on LG G2. Thanks a bunch!
Sent from my VS980 4G using Tapatalk
Adam77Root said:
I've seen this thread in the unread threads of XDA app and although I don't use that feature, I got curious to try it out. So I've quickly put together an Xposed module that removes the notification.
You have to install Xposed framework. Get it here: http://forum.xda-developers.com/showthread.php?t=1574401
Also, install my module from the attachment, enable it and do a soft reboot in Xposed.
It works for me on my Galaxy R with CM10.1 and I assume it will work for you too, as the module doesn't change the Settings, but com.android.server.net.NetworkPolicyManagerService class. If you have any problems, post a logcat and /data/xposed/debug.log
Click to expand...
Click to collapse
nice module.. work perfectly.. thanks
rooting?
do i have to root my phone to do this? will the module work without rooting? i'm new to playing with codes on my phone but I have done a lot of work with linux before so i can understand the process, i've just never rooted my phone before. i'd really like to get rid of this notification and the "usb connectivity" app's notification: internal storage &SD card- internal storage &SD card connected to PC. I mean, do i really need a notification to tell me that my phone is connected to my PC?
that last request isn't as important, at least if i accidentally click on that i'm not turning on background data use!
-yasboss
xperia z1s
jb 4.3
(just joined xda devs)
p.s.
is this the right place to ask this question?
yasboss said:
do i have to root my phone to do this? will the module work without rooting? i'm new to playing with codes on my phone but I have done a lot of work with linux before so i can understand the process, i've just never rooted my phone before. i'd really like to get rid of this notification and the "usb connectivity" app's notification: internal storage &SD card- internal storage &SD card connected to PC. I mean, do i really need a notification to tell me that my phone is connected to my PC?
that last request isn't as important, at least if i accidentally click on that i'm not turning on background data use!
-yasboss
xperia z1s
jb 4.3
(just joined xda devs)
p.s.
is this the right place to ask this question?
Click to expand...
Click to collapse
you need root to use xposed installer..
what else can it be used for?
ajeesh vijayan said:
you need root to use xposed installer..
Click to expand...
Click to collapse
can i use it for other notifications like i asked? I mean there's more than just the USB connectivity etc

Accessing a variable.

Hello guys!
I'm new to this Xposed things and I'm trying to create a module and I have a question.
I found in "com.android.systemui.recents.RecentsActivity" the method "addSearchBarAppWidgetView".
this method is adding Google's search bar to the "Recents" window.
In "addSearchBarAppWidgetView" method there is a variable called "mSearchAppWidgetHostView".
My question is, How can I get control on this variable and change it's place for example?
Wassupdog said:
Hello guys!
I'm new to this Xposed things and I'm trying to create a module and I have a question.
I found in "com.android.systemui.recents.RecentsActivity" the method "addSearchBarAppWidgetView".
this method is adding Google's search bar to the "Recents" window.
In "addSearchBarAppWidgetView" method there is a variable called "mSearchAppWidgetHostView".
My question is, How can I get control on this variable and change it's place for example?
Click to expand...
Click to collapse
what do you mean for "place"?
you can access it with reflection, or using
Code:
XposedHelpers.getObjectField(Object class, String variableName)
Then you will be able to use the methods of this variable
Andre1299 said:
what do you mean for "place"?
you can access it with reflection, or using
Code:
XposedHelpers.getObjectField(Object class, String variableName)
Then you will be able to use the methods of this variable
Click to expand...
Click to collapse
Thanks!
Exactly what I needed!

how to change hardware device name

hey guys,
this might be a more broader android question, but either way: is there a way to change the hardware device name of a device?
i.e. my issue is the following - i use the "good for work" application for my work emails. My company basically has every manufacturer added to their approved list (HTC, Samsung, even Nexus devices work no problem). Now that I have my sweet OP3, I get the below error message (pic attached)
"the device hardware version is 'oneplus a3000 android 6.0.1' and is not permitted. Install the application on a permitted device."
now - before you tell me to go to my network admins and have the device added - I can't do that for reasons I won't go into here. Basically i want to understand if there's a way to change certain files on the phone that will make this application think it's a nexus device and clear it.
I tried editing the build.prop file (using twrp and adb - since I don't have root) to remove all mention of oneplus, etc. and replacing with "nexus" or something else (used the build.prop file from my 5x for reference). But the app still does not work and the OP3 still shows the model as One Plus 3 in the "about phone" section. This is really fascinating to me. What is driving this device's identity?
Appreciate any thoughts/suggestions you might have.
Try xposed mods... I think it is possible
Wrong forum.
Sent from my ONEPLUS A3000 using XDA-Developers mobile app
wrong section.
post this in Q&A
@piotrus22, If you correctly modified your build prop then it's almost impossible to come as Oneplus name in about section of setting.
as far as I know the name in about section is read from build prop.
can you provide link to your modified build.prop file so i can see what's a problem.
Have you applied correct permissions (rw-r--r-- or 0644) to build prop after side loading
Go to your Bluetooth settings, select the menu, and Rename this device.
JumboMan said:
@piotrus22, If you correctly modified your build prop then it's almost impossible to come as Oneplus name in about section of setting.
as far as I know the name in about section is read from build prop.
can you provide link to your modified build.prop file so i can see what's a problem.
Have you applied correct permissions (rw-r--r-- or 0644) to build prop after side loading
Click to expand...
Click to collapse
thanks @JumboMan. attached are both build.props (edited and non-edited). I ran the command "adb shell chmod 644 /system/build.prop" after I pushed the file onto the phone. I believe it worked because I added the line about LCD density (ro.sf.lcd_density=420) and the density did indeed change. Also - I am able to view the updated build.prop in a file browser when I open the phone with the changes I've made.
...still confused...
piotrus22 said:
thanks @JumboMan. attached are both build.props (edited and non-edited). I ran the command "adb shell chmod 644 /system/build.prop" after I pushed the file onto the phone. I believe it worked because I added the line about LCD density (ro.sf.lcd_density=420) and the density did indeed change. Also - I am able to view the updated build.prop in a file browser when I open the phone with the changes I've made.
...still confused...
Click to expand...
Click to collapse
I have carefully inspected build.prop file and i found that build.prop doesn't have "ro.product.model" line . That's why you are not able to change device name.
So if you have to change device name you have to manually add above line with whatever device name you want and push file to phone and apply proper permissions
e.g ro.product.model=device name you want
In your case above line will look like ro.product.model=Nexus 5x
Though not required,change lines containing OnePlus to your custom device name
JumboMan said:
I have carefully inspected build.prop file and i found that build.prop doesn't have "ro.product.model" line . That's why you are not able to change device name.
So if you have to change device name you have to manually add above line with whatever device name you want and push file to phone and apply proper permissions
e.g ro.product.model=device name you want
In your case above line will look like ro.product.model=Nexus 5x
Though not required,change lines containing OnePlus to your custom device name
Click to expand...
Click to collapse
ok - making progress here. the model name now shows up as Nexus 5x, but when the computer recognizes the phone it still shows up as ONEPLUS A3000... and what about the build? I've tweaked everything I can think of but still can't change the build number from "ONEPLUS A3000_16_0705"
any ideas?
piotrus22 said:
ok - making progress here. the model name now shows up as Nexus 5x, but when the computer recognizes the phone it still shows up as ONEPLUS A3000... and what about the build? I've tweaked everything I can think of but still can't change the build number from "ONEPLUS A3000_16_0705"
any ideas?
Click to expand...
Click to collapse
now I think I'm going out of ideas.
I think you have to ask some experienced dev
JumboMan said:
now I think I'm going out of ideas.
I think you have to ask some experienced dev
Click to expand...
Click to collapse
how do I do that? just hope one of them sees this post? LOL
piotrus22 said:
how do I do that? just hope one of them sees this post? LOL
Click to expand...
Click to collapse
Yesterday I researched a lot about your question but I only found half answer.
Now Today I'm back with more build prop lines that will 100% solve your question.
This time I tested myself first before posting to confirm the changes
So here is a Trick
=====
1.To change Model Number
ro.product.model=Nexus 5x
2.To Change Build Number
ro.build.display.id=Nexus 5x
ro.build.display.full_id=Nexus 5x
ro.build.id.hardware=Nexus 5x
=====
Note - value "Nexus 5x" is used just as an example.
You change this value to anything you want.
JumboMan said:
Yesterday I researched a lot about your question but I only found half answer.
Now Today I'm back with more build prop lines that will 100% solve your question.
This time I tested myself first before posting to confirm the changes
So here is a Trick
=====
1.To change Model Number
ro.product.model=Nexus 5x
2.To Change Build Number
ro.build.display.id=Nexus 5x
ro.build.display.full_id=Nexus 5x
ro.build.id.hardware=Nexus 5x
=====
Note - value "Nexus 5x" is used just as an example.
You change this value to anything you want.
Click to expand...
Click to collapse
you sir are amazing. just tried it and it worked. will test it out to see if it causes other issues. may I buy you a beer?
piotrus22 said:
may I buy you a beer?
Click to expand...
Click to collapse
For me Thanks=Beer, so thanks are sufficient
JumboMan said:
For me Thanks=Beer, so thanks are sufficient
Click to expand...
Click to collapse
Ok @JumboMan, so now my phone won't save video. Basically when I try to take a video with the camera app, it hangs up on the "saving" section. Then the only way to get the camera running again is to reboot. I can't believe this is related to what I did in the build.prop files right?
The driver names will ever be the real device name. So...
:thumbup:
Sent from my XT320 using xda premium
piotrus22 said:
Ok @JumboMan, so now my phone won't save video. Basically when I try to take a video with the camera app, it hangs up on the "saving" section. Then the only way to get the camera running again is to reboot. I can't believe this is related to what I did in the build.prop files right?
Click to expand...
Click to collapse
It may be due to build prop changes but I'm not sure. can you use 3rd party camera app check for your problem. or it only occurs with stock camera.
JumboMan said:
It may be due to build prop changes but I'm not sure. can you use 3rd party camera app check for your problem. or it only occurs with stock camera.
Click to expand...
Click to collapse
Third party camera app has the same problem. Will revert to original build prop and see if that fixes the issue. Will report back.
JumboMan said:
For me Thanks=Beer, so thanks are sufficient
Click to expand...
Click to collapse
Dethfull said:
The driver names will ever be the real device name. So...
:thumbup:
Sent from my XT320 using xda premium
Click to expand...
Click to collapse
@Dethfull do you know which items in the build prop coordinate to the drivers for the camera?
ok so I think I fixed it. I played around with the build.prop file and it appears changing the ro.product.manufacturer =OnePlus back from Nexus5 did the trick. Camera seems to be much faster than before and videos can save now, and the Good app still works.
Will update if things change but hopefully not!

[HOW-TO] Enable MultiWindow on EMUI 4.1 / Android 6 (like EMUI 5)

Hello!
This morning i was just looking in build.prop when ive seen a line regarding multi-window.
On EMUI 5 / Android 7, we can enable MultiWindow by pressing for few seconds the multitasking/recents icon in the navigation bar.
This feature is available on EMUI 4.1 as well.
REQUIREMENTS:
- EMUI 4.1
- Unlocked bootloader
- Rooted phone
- a file manager with root support ( im using the good old version of ES File Explorer)
Click to expand...
Click to collapse
[HOW-TO] Huawei Nova:
1) Grant root access to the file manager.
2) Go to /system and open build.prop.
3) Search for ro.huawei.multiwindow and change it from false to true.
ro.huawei.multiwindow=false becomes ro.huawei.multiwindow=true.
4) Save and reboot. After reboot, you can use MultiWindow by pressing for few seconds the multitasking / recents icon from navigation bar.
Click to expand...
Click to collapse
[HOW-TO] Other Huawei phones:
If you have followed the instructions for Huawei Nova and it didnt work, then check if you have HwMwLauncher folder in /system/app or /system/priv-app.
If it is missing, then check this post. People reported that MultiWindow is working after they got HwMwLauncher.
CONFIRMED DEVICES:
- Huawei Honor 8
If your phone isnt on this list, then it doesnt mean that it doesnt work. Just try and report back. I think it should work on all Huawei phones which are running EMUI 4.1.
Click to expand...
Click to collapse
EDIT: I just seen that you can use MultiWindow by swiping up two fingers on navigation bar too.
When you are in Multiwindow with 2 apps open, press HOME button.
I have a big bug!
The Home is in half screen.
VNS-L21C432B170
Emui 4.1.2
Inviato dal mio HUAWEI VNS-L21 utilizzando Tapatalk
millo1978 said:
When you are in Multiwindow with 2 apps open, press HOME button.
I have a big bug!
The Home is in half screen.
VNS-L21C432B170
Emui 4.1.2
Inviato dal mio HUAWEI VNS-L21 utilizzando Tapatalk
Click to expand...
Click to collapse
I have no issues. When I press home button it just disable MultiWindow.
Nova CAN-L11 running EMUI 4.1 CANC432B100.
Maybe this is my firmware problem... I don't know.
But only with home button.
With back button all is ok.
Screenshot:
http://cloud.tapatalk.com/s/58ff90231cc85/Screenshot_2017-04-25-20-02-43.png?
Inviato dal mio HUAWEI VNS-L21 utilizzando Tapatalk
I enabled this on my mate 7 with emui 4 marshmallow quite a while ago. If I try to use it I just get a pop up message saying this application does not support dual windows. Haven't found a practical use for it yet.
RobboW said:
I enabled this on my mate 7 with emui 4 marshmallow quite a while ago. If I try to use it I just get a pop up message saying this application does not support dual windows. Haven't found a practical use for it yet.
Click to expand...
Click to collapse
It's same for me.
When you press the "+" on homescreen after you enable MultiWindow I think it shows only the apps which support it.
Personally, I'm not using MultiWindow. I just wanted to share the small trick I've found.
Strange - it doesn't seem to have any effect on my rooted Honor 8 (still on MM with EMUI 4.1).
I used BuildProp Editor to set ro.huawei.multiwindow=true and rebooted. Holding the "recents" button does nothing apart from a quick burst of haptic feedback after about half a second or so.
Any ideas?
Thanks.
stooby said:
Strange - it doesn't seem to have any effect on my rooted Honor 8 (still on MM with EMUI 4.1).
I used BuildProp Editor to set ro.huawei.multiwindow=true and rebooted. Holding the "recents" button does nothing apart from a quick burst of haptic feedback after about half a second or so.
Any ideas?
Thanks.
Click to expand...
Click to collapse
Exactly the same phone and software here but it shows the toasts messages and the MultiWindow interface but doesn't work. I think EMUI 4.1 is simply Nougat ready and that is the reason why it has the option to enable or disable MultiWindow but the system (MM) has not this function and that is why it doesn't work. So the result is only the GUI of MultiWindow being shown but is only EMUI trying to do something as layer that system in fact isn't capable.
I was wrong follow @#Henkate instructions here here
stooby said:
Strange - it doesn't seem to have any effect on my rooted Honor 8 (still on MM with EMUI 4.1).
I used BuildProp Editor to set ro.huawei.multiwindow=true and rebooted. Holding the "recents" button does nothing apart from a quick burst of haptic feedback after about half a second or so.
Any ideas?
Thanks.
Click to expand...
Click to collapse
carmeloamg said:
Exactly the same phone and software here but it shows the toasts messages and the MultiWindow interface but doesn't work.
Click to expand...
Click to collapse
1) Do you have HwMwLauncher.apk in /system/app/HwMwLauncher or /system/priv-app/HwMwLauncher ? I don't think it matter if it is in app or priv-app, but it must exist. I have it in /system/app.
2) After you enable MultiWindow, do you see the process named HwDualWindowLauncher at Settings > Developer Options > Running services (check also cached processes there)?
3) In build.prop I have the following line: ro.config.hw_multiscreen=true. I think it might be related to MultiWindow as well, but I'm not sure. I didn't try yet to set it to false and see what happens.
carmeloamg said:
I think EMUI 4.1 is simply Nougat ready and that is the reason why it has the option to enable or disable MultiWindow but the system (MM) has not this function and that is why it doesn't work. So the result is only the GUI of MultiWindow being shown but is only EMUI trying to do something as layer that system in fact isn't capable.
Click to expand...
Click to collapse
Well, it works for me on Nova CAN-L11 running EMUI 4.1
MultiWindow has been introduced in Android 6. Why Huawei hid this option in EMUI 4.1 (Android 6) and introduced it as a new feature in EMUI 5 (Android 7)? That's what I'm asking too.
#Henkate said:
1) Do you have HwMwLauncher.apk in /system/app/HwMwLauncher or /system/priv-app/HwMwLauncher ? I don't think it matter if it is in app or priv-app, but it must exist. I have it in /system/app.
2) After you enable MultiWindow, do you see the process named HwDualWindowLauncher at Settings > Developer Options > Running services (check also cached processes there)?
3) In build.prop I have the following line: ro.config.hw_multiscreen=true. I think it might be related to MultiWindow as well, but I'm not sure. I didn't try yet to set it to false and see what happens.
Click to expand...
Click to collapse
1). I don't have HwMwLauncher.apk in either location (or anywhere, in fact).
2). No, I don't see the HwDualWindowLauncher process running.
3). I tried that, but it doesn't appear to have any affect.
Thanks anyway.
I'm not too bothered whether this works or not, but if it can be enabled, I will just for the fun of it!
stooby said:
1). I don't have HwMwLauncher.apk in either location (or anywhere, in fact).
2). No, I don't see the HwDualWindowLauncher process running.
3). I tried that, but it doesn't appear to have any affect.
Thanks anyway.
I'm not too bothered whether this works or not, but if it can be enabled, I will just for the fun of it!
Click to expand...
Click to collapse
The missing HwMwLauncher could be the problem since it is related to MultiWindow.
I've uploaded HwMwLauncher folder from my Huawei Nova.
1) Download HwMwLauncher.zip from HERE and extract it.
2) Copy HwMwLauncher folder to system/app.
3) Set the correct permissions for folders and files (.apk and .odex). I've attached screenshots with the permissions as well. The permissions of oat and arm64 folders must be same as the one for HwMwLauncher folder. And the permission of .odex file must be same as .apk one.
4) Reboot. Now I'd say that it should work. Make sure that ro.huawei.multiwindow=true in build.prop, but also ro.config.hw_multiscreen=true (just in case, I still don't know the purpose of this line as I didn't try to set it to false yet).
@carmeloamg :
If you don't have HwMwLauncher neither, then follow the same steps I've wrote in this post and report if it works.
#Henkate said:
The missing HwMwLauncher could be the problem since it is related to MultiWindow.
I've uploaded HwMwLauncher folder from my Huawei Nova.
1) Download HwMwLauncher.zip from HERE and extract it.
2) Copy HwMwLauncher folder to system/app.
3) Set the correct permissions for folders and files (.apk and .odex). I've attached screenshots with the permissions as well. The permissions of oat and arm64 folders must be same as the one for HwMwLauncher folder. And the permission of .odex file must be same as .apk one.
4) Reboot. Now I'd say that it should work. Make sure that ro.huawei.multiwindow=true in build.prop, but also ro.config.hw_multiscreen=true (just in case, I still don't know the purpose of this line as I didn't try to set it to false yet).
Click to expand...
Click to collapse
That's fixed it!
Thanks for your help.
#Henkate said:
The missing HwMwLauncher could be the problem since it is related to MultiWindow.
I've uploaded HwMwLauncher folder from my Huawei Nova.
1) Download HwMwLauncher.zip from HERE and extract it.
2) Copy HwMwLauncher folder to system/app.
3) Set the correct permissions for folders and files (.apk and .odex). I've attached screenshots with the permissions as well. The permissions of oat and arm64 folders must be same as the one for HwMwLauncher folder. And the permission of .odex file must be same as .apk one.
4) Reboot. Now I'd say that it should work. Make sure that ro.huawei.multiwindow=true in build.prop, but also ro.config.hw_multiscreen=true (just in case, I still don't know the purpose of this line as I didn't try to set it to false yet).
@carmeloamg :
If you don't have HwMwLauncher neither, then follow the same steps I've wrote in this post and report if it works.
Click to expand...
Click to collapse
I didn't have it. Placed and fixed but it only allows to use three system apps as second window even having some other multi window ready apps. For instance I've got WhatsApp and Telegram I can use multi window each one separately with gallery, files and videos but not both together. Snapshot attached. Same for you @stooby ?
Thanks @#Henkate !
very easy and smart! working very well without problems ...thanks
carmeloamg said:
I didn't have it. Placed and fixed but it only allows to use three system apps as second window even having some other multi window ready apps. For instance I've got WhatsApp and Telegram I can use multi window each one separately with gallery, files and videos but not both together. Snapshot attached. Same for you @stooby ?
Thanks @#Henkate !
Click to expand...
Click to collapse
Yes, same for me. When I had my Note 4, there was an Xposed module that enabled all apps for multi window use. Unfortunately, it's not working on these devices. I'll keep investigating.
stooby said:
Yes, same for me. When I had my Note 4, there was an Xposed module that enabled all apps for multi window use. Unfortunately, it's not working on these devices. I'll keep investigating.
Click to expand...
Click to collapse
HONOR 8: Installing this version of HwMwLauncher makes the multi window natively supported apps to be selectable and the multiwindow_whitelist_apps.xml file placed in /cust/hw/normal/xml make it usable from many other apps that before says not compatible. Only two issues, sometimes launcher (nova launcher) gets stuck on half of it size buy as it comes it goes. The other issue is that you can not use two apps that not appear in HwMwLauncher, just able to open one that is not and then launch another that is on it. See screenshots (example using chrome and instagram).
#Henkate said:
The missing HwMwLauncher could be the problem since it is related to MultiWindow.
I've uploaded HwMwLauncher folder from my Huawei Nova.
...
Click to expand...
Click to collapse
VNS-L21C432B170 Emui 4.1.2 (P9 lite)
I tried now again...
and now it works good!
tested in Portrait and Landscape.
No issues at the moment!
Thanks a lot
working here to
wishing for a fix for Knuckle Sense too...ive searched for that app everywhere with root explorer and just cant find it...
Knuckle sense is renamed branded Qeexo Finger Sense... double knock for screenshot/draw a letter to open an App. ect.
its activated in Intelligence Assistant but not working ...
looks like its disabled by root
---------- Post added at 04:11 PM ---------- Previous post was at 03:55 PM ----------
I have found in /system...
knuckle_gesture.bin...
but cant open it

Guide: Samsung Health Is Working On Root Device

Hi there, I was search about the SHealth but for S10 Plus I didn't find any of thread related to the app instead one patched version. Yesterday I somewhere read the tutorial once I had S7 Edge to change build.prop text i.e ro.config.tima = 1 to ro.config.tima = 0 and it works without any issues or updating app. Just sharing with you nothing else. All credits goes to the original creator and I am just sharing it only. Just use the editor to edit file like root explorer or something like. Or use BuildProp Editor for this.
Best Regards
Well yeah, this change to build.prop is only needed for those running stock rom rooted, as most (if not all) custom roms already have this tweak and many others.
GearCEO said:
Hi there, I was search about the SHealth but for S10 Plus I didn't find any of thread related to the app instead one patched version. Yesterday I somewhere read the tutorial once I had S7 Edge to change build.prop text i.e ro.config.tima = 1 to ro.config.tima = 0 and it works without any issues or updating app. Just sharing with you nothing else. All credits goes to the original creator and I am just sharing it only. Just use the editor to edit file like root explorer or something like. Or use BuildProp Editor for this.
Best Regards
Click to expand...
Click to collapse
Do ro.config.knox=0
ro.config.timaversion=0
ro.config.rkf=0
That disables knox.
ExtremeGrief said:
Do ro.config.knox=0
ro.config.timaversion=0
ro.config.rkf=0
That disables knox.
Click to expand...
Click to collapse
Nice find sir
I'm not interested to root phone but I'll be glad to get Pixel ROM on S10+.
Sent from my SM-G975F using Tapatalk
No work with root in Android 10
Shealth works with root on Android10.
Only set tima=0
GearCEO said:
Hi there, I was search about the SHealth but for S10 Plus I didn't find any of thread related to the app instead one patched version. Yesterday I somewhere read the tutorial once I had S7 Edge to change build.prop text i.e ro.config.tima = 1 to ro.config.tima = 0 and it works without any issues or updating app. Just sharing with you nothing else. All credits goes to the original creator and I am just sharing it only. Just use the editor to edit file like root explorer or something like. Or use BuildProp Editor for this.
Best Regards
Click to expand...
Click to collapse
Just make a magisk module for it, very simple, it persists with updates.

Categories

Resources