yashsingh1/xdaforums huggingface dataset:
[Paid Software Announcement and Discussion] badabing2003:
Thanks Marcel

Can you kindly make the previous version available for download?

The features of pro app I use the most are

1. Log

2. Manage hooks

Global custom definition is the least I use and revisit on a daily basis.

The drawer addition although makes things tidier, has added additional required click.

I know you might say what's an extra click.

On a phone every extra click matters.

I'm not asking you to remove the drawer, just asking you to make the previous version available for download.

Thanks.

BB
[Paid Software Announcement and Discussion] M66B:
I am sorry, but only the latest version is available for download and is supported. I cannot make everybody happy.

Edit: the navigation drawer can be opened by horizontal sliding as well, which is IMHO quite convenient.

Edit: [MENTION=4851555]badabing2003[/MENTION] suggest me a log icon from here:

https://material.io/icons/

and I will make the logging available from the action bar.
[Paid Software Announcement and Discussion] badabing2003:
Thanks Marcel

I think any one of these would be suitable

https://material.io/icons/#ic_assignment

https://material.io/icons/#ic_receipt

https://material.io/icons/#ic_event_note

Thanks

BB
[Paid Software Announcement and Discussion] M66B:
I had already picked 'event note', so checkout version 0.54.
[Paid Software Announcement and Discussion] Namnodorel:
Okay, some more:

1. You said that you want to make the usage of XPLP seamless from XPL. Well then, why don't we merge the navigation of the two apps? Then we'd have the following options, all in one globally accessible drawer:

- Notify on new apps

- Restrict new apps

- Dark Theme

- Definitions

- Global Values [Renamed from "Pro features"]

- Export restrictions [Renamed because there are more things to export/import now, to avoid confusion]

- Import restrictions [dito]

- Documentation

- FAQ

- Donate

- Challenge

- Support

- Version: X.XX

I'd also suggest removing the "Challenge" option after the Pro app has been activated; since it's unusable anyways by then.

A global navigation usually really helps with the feeling that you're using one app and just switching between its pages, instead of navigating through a series of buttons and activities. Also, for those who got annoyed by the additional "click", the additional click is now gone since everything is accessible from XPL directly without having to click on "Pro features".

2. The drawer is quite bloated now, huh? I wonder if we do anything about that. It is quite unusual and users usually don't expect it that drawers contains toggle-able options. So I suggest to create a new drawer item "Preferences", containing all the checkbox-y stuff. (And while we're at it, use toggles instead of checkboxes; checkboxes are usually used to select any number of items out of a list, while toggles are better suited for turning a single thing on and off). Even though they aren't a setting I'd move importing/exporting restrictions over there as well, since they're not a feature the average user will use frequently. Thus they don't need to be accessible quickly.

3. A global navigation should actually be global. Which means that the drawer is also accessible from within the Log and Definitions, replacing that "back" arrow.

4. In the Definitions, after each definition there is the group displayed, together with the collection. I find that to be unneccesarily repetitive. Since they're sorted by group anyways, why not add a group "title" (similar to the "Location", "Custom Values", etc. titles in the main tab) for each group, display the correct hooks under it, and only display the collection under the hook (or maybe not even that).

Two other things that are kind of bothering me, but I don't have a better solution yet:

- The layout and the is-kind-of-like-a-tab-but-not-really thing for individual apps feels counterintuitive.

- On the main page of XPLP, there are the labels "Global Values", "Values" and "Custom Values" which can be very confusing - and it's not getting better by the fact that all the values defined there are global, and customized by the user.
[Paid Software Announcement and Discussion] M66B:
Thanks for your suggestions.

The pro features need to be in the pro companion app, so the navigation drawers can unfortunately not be merged without adding a lot of complexity.

Some things are better handled by a check box and other things by a switch. The underlying code can only provide one of both and check box is the most universal one.

Log and definitions are separated activities, so they don't share the main navigation drawer. A popup dialog would result in sacrificing screen space.

IMHO it is important to show all data for searching purposes. The collection and the group are not prominently shown as well and function like a kind of separator for fat fingers (this was actually requested by somebody).
[Paid Software Announcement and Discussion] Namnodorel:
Well, they could still use the navigation drawer by having it in their own layout. That'll basically look the same to the end user.

Even when the data is duplicated? For fat fingers, nothing keeps you from adding a little padding/whitespace ;D I think the additional text makes the screen look more crammed with information than it is/needs to be.

Edit: Would it really be that complex? As you said, Log and Definitions are in their own activities, and calling those with an explicit intent doesn't sound too complicated to me.
[Paid Software Announcement and Discussion] M66B:
The problem is that XPrivacyLua cannot really check if the pro features have been purchased. Besides that, I don't like duplicating things.

The hook assignments and hook definitions are sorted on name, so there is no data duplication.
[Paid Software Announcement and Discussion] Namnodorel:
Maybe "duplication" wasn't the right word choice. It's like saying

instead of

I like the compact version much better :)

Well, XPL wouldn't necessarily have to know, whether the feature is purchased - if not, the user simpy gets redirected by XPLP ;) I don't like duplicating code either. But that's the easiest way to accomplish a global navigation how XPLP is now. In one of my apps, I had a "root layout" that contained the drawer and the rest of the activity was a fragment that would then dynamically load the layout of subpages the user could select through the drawer. But that'd require more refactoring than I thought you'd want to do.
[Paid Software Announcement and Discussion] M66B:
Indeed, that would require more refactoring than I currently want to do, but maybe I change my mind later on.
[Paid Software Announcement and Discussion] badabing2003:
Awesome, that's great, thanks.

Can one dream to see this

https://material.io/icons/#ic_settings_applications

or this

https://material.io/icons/#ic_tune

next to it to manage the definitions ;)

Seriously though, don't feel compelled to add, you've done way a lot.

Much appreciated.

Thanks

BB
[Paid Software Announcement and Discussion] M66B:
You'll find this in version 0.55.
[Paid Software Announcement and Discussion] triathlete66:
It's fine to see the new button for Log, but with 0.55 the Desktop-Shutcut for Log-View is not working and can't create.

Is it possible to bring this function back, like 0.53?
[Paid Software Announcement and Discussion] M66B:
There has never been support for desktop shortcuts, at least not through official Android APIs. The log activity was erroneously exported in previous versions, resulting in a pro feature being used for free (I am not saying you were). This has been fixed now.

There is now an action bar icon, so you can use that instead of the shortcut. And yes, I know that requires an extra tap.

I am curious which launcher you used to access the log activity.
[Paid Software Announcement and Discussion] triathlete66:
Nova Launcher
[Paid Software Announcement and Discussion] M66B:
Thanks, good to know.

I will think about adding official app shortcuts, but the problem I have with this is that it requires Android 7.1 or later:

https://developer.android.com/guide/topics/ui/shortcuts.html
[Paid Software Announcement and Discussion] Tomiie:
What happened to viewing/managing hooks (the one with times? I could only see manage hooks definitions after I updated to the latest pro. Previous version had two "manage hooks" on the left panel.
[Paid Software Announcement and Discussion] M66B:
There is now an action bar icon for this, which saves a tap/slide.

Tip: long press icon bar icons for a short description.
[Paid Software Announcement and Discussion] Tomiie:
Apologies. Found it after clicking on that icon on the top right hand corner.
[Paid Software Announcement and Discussion] badabing2003:
Thanks Marcel.

My phone had already upgraded to 0.55 by the time I woke up.

But I'm still seeing it in the menu and no icon on the bar.

I even rebooted, same story.

I can provide screenshot if you need.

Reading further below I see that some people are already seeing it in the bar.

What gives?

I'm on Oreo 8.1

Thanks for adding it, truly appreciated.

BB

Edit:

I see what's happening.

The icon is there when I go from XLua to Pro to manage an app's hooks.

But the main pro app to manage hooks (global) does not have it in the bar, it's still in the menu.

BB
[Paid Software Announcement and Discussion] M66B:
You can only manage assigned hooks for an app.
[Paid Software Announcement and Discussion] M66B:
The just released version 0.56 fixes a small bug introduced with the recent changes.
[Paid Software Announcement and Discussion] badabing2003:
I'm not sure I'm understanding you.

What I was talking about is that start XPrivacyLua Pro.

On main screen, manage hook definitions is in the drawer and not icon bar.

If this is by design after the recent changes and that's what you mean, then fine I'll accept that.

I was hoping to see this in the icon bar.

Thanks

BB
[Paid Software Announcement and Discussion] M66B:
Managing hook definitions is accessible via the navigation drawer and managing hooks assigned per app is accessible via an action bar icon.
[Paid Software Announcement and Discussion] aadi50:
Is there a difference between logging of xprivacy and xprivacy lua... Because i am trying to restrict a banking app... But lua fails to detect any method calls from that app while old xprivacy detects it perfectly... Or Is it something related to methods

The calls are

shell/sh

Configuration/mcc

Configuration/mnc

Identification/serial
[Paid Software Announcement and Discussion] M66B:
XPrivacy and XPrivacyLua do not work in the same way, so you cannot compare logging. XPrivacy has no shell restrictions and the Configuration MCC/MNC restrictions are disabled because they caused too much trouble (you can enable them with the pro companion app again).

See here for a detailed comparison between XPrivacy and XPrivacyLua:

https://github.com/M66B/XPrivacyLua/blob/master/XPRIVACY.md

Edit: for what reason do you want to restrict the banking app? I am asking because the bank will know already a lot about you.
[Paid Software Announcement and Discussion] albirs:
Will XPrivacyLua Pro be available in the future like NetGuard (with Pro features) without PlayStore?
[Paid Software Announcement and Discussion] M66B:
It already is. You can get the pro companion app outside the Play store by donating 10 euros or more. See here for the donation options: https://lua.xprivacy.eu

If you donate with PayPal, you'll get sent instructions automatically, else contact me with the donation details through this contact form: https://contact.faircode.eu
[Paid Software Announcement and Discussion] chuba144:
I'm also not clear about the process of getting the pro version without Google Play. I made a donation, which oc went fine, and wanted to use the contact form, which (when selecting 'XPrivacyLua donation') asks for a 'challenge code'. I looked around the forum, FAQ, etc. but couldn't find anything about that. Sorry if I overlooked something...
[Paid Software Announcement and Discussion] M66B:
Please reply to the email you received for support.
[Paid Software Announcement and Discussion] chuba144:
As I understood the challenge code is already required to complete the contact form. Hence I didn't even receive an email.
[Paid Software Announcement and Discussion] M66B:
Just use the "other" option and tell how and when you donated.
[Paid Software Announcement and Discussion] chuba144:
Ok, nice! Thanks!
[Paid Software Announcement and Discussion] albirs:
OK, Thank you! ... is there an list of the Pro-Features somewhere ...?
[Paid Software Announcement and Discussion] M66B:
Just install the pro companion app and you can see most pro features. The Play store description of the pro companion app lists them all too:

- backup and restore all settings

- manage individual hooks per app

- set custom identifiers globally/per app

- allow (non) starred contacts globally/per app

- set custom fake or coarse location globally/per app

- view a log of which restriction were applied and when

- notify on applying an app restriction

- dark theme
[Paid Software Announcement and Discussion] albirs:
Thank you for fast replay.

only on comment to PlayStore: generally I think there are a lot of people who use your great app BECAUSE they value their privacy (as you write in the first post) and therefore they DONT have an playstore/google account (but use Yalp or similar if its necessary). How can these people read the pro companion app features without account?

EDIT

ok, description is readable without login, but the link from the first post allways send to login page...

... Maybe you could write the information in the first post?
[Paid Software Announcement and Discussion] M66B:
Done as suggested.
[Paid Software Announcement and Discussion] Krete:
It's very nice to see that Xprivacy now will be continued for the newer Android versions :)

I do have a question about the implementation of exceptions for certain contacts tho:

Do I understand correctly that the whitelisting of specific contacts will rely on and be parallel with Android's general "favorite contacts"(= starred) function?

If so, I find that a bit unfortunate.

Because a) contacts that I want to whitelist are not necessarily the same as my favorite contacts

and b) I see no way to whitelist different contacts for different apps. For example if I wanted to allow Whatsapp to see only contacts A, C, D, E, and G, whereas Telegram should have access only to contacts B, C, E, and F, that would not be possible with XPrivacyLua (Pro), would it?
[Paid Software Announcement and Discussion] Namnodorel:
The problem is that restricting contacts by group is apparently very buggy/unstable so starred and not starred is unfortunaley the best solution that is stable enough to be maintained/supported.
[Paid Software Announcement and Discussion] maip:
Very happy to see this iteration of XPrivacy and glad to support it again.

1. Will future updates to pro app be released on and available from your site? In other words, if I get pro today, will I be able to get updates outside Play in the future?

2. Does pro activation require an internet connection or is it similar to the old XPrivacy with a text file?

Thanks for bringing us this option to protect privacy on modern devices.
[Paid Software Announcement and Discussion] M66B:
There is an automatic check for updates twice daily. You can download and install an update directly from a status bar notification.

You'll need to open a link in your browser to activate the pro features.
[Paid Software Announcement and Discussion] hkfires:
In pro companion app,sometimes,i find the list in main interface appears twice or thrice.

Here is the screenshot.

---------- Post added at 08:47 AM ---------- Previous post was at 08:39 AM ----------

Another question,i have 2 phones with xprivacylua installed,i don't have the google play store,should i buy two licenses for each pro companion app?
[Paid Software Announcement and Discussion] M66B:
I will allow the activation for up to two devices for the minimum donation amount.
[Paid Software Announcement and Discussion] M66B:
I have just released version 0.57

Changelog:

Added navigation from log entries to hook assignments [MENTION=3818660]b1k3rdude[/MENTION]

Small improvements and minor bug fixes [MENTION=8962613]hkfires[/MENTION] including a fix for the problem you reported
[Paid Software Announcement and Discussion] hkfires:
Thank you!

I have already received the XPrivacyLua Pro activation mail,if I flash my phone,should i request the activation by using the menu "Challenge" again?
[Paid Software Announcement and Discussion] M66B:
I guess you mean by refreshing flashing a new ROM or a ROM update. Just restore the pro companion app with its data after flashing and it will reactivate itself.
[Paid Software Announcement and Discussion] badabing2003:
Hi Marcel,

I noticed that Privacy.TelephonyManager/

getSimOperator

And

getNetworkOperator

Logs show both before and after (true and fake) values as test network 00101

Why is that?

Thanks

BB
[Paid Software Announcement and Discussion] M66B:
Likely because these functions called a restricted function internally before.
[Paid Software Announcement and Discussion] badabing2003:
Thanks

Can a log help find out what is causing the restriction in the first place?

I don't have any system apps restricted, and am concerned if any app that needs to get the correct data inadvertently would get the incorrect data.

Thanks

BB
[Paid Software Announcement and Discussion] M66B:
The restriction log should list another restriction causing this.
[Paid Software Announcement and Discussion] badabing2003:
Thanks,

Maybe I'm not looking in the right area or not seeing it.

This is all I see

Notice how 3 hooks are showing unknown before restriction.

On a totally another note, with the latest Pro app, when I launched it this time (it didn't happen last time around)

I got a blank screen

Thanks

BB
[Paid Software Announcement and Discussion] M66B:
Can you add logging to the hook definitions and check the logcat what is happening?

Can you reproduce the blank screen? If so, how?
[Paid Software Announcement and Discussion] badabing2003:
Ok I added

log('result ' .. result)

to

TelephonyManager/getNetworkOperator

Killed Tapatalk

Cleared the logcat

Started Tapatalk

Then looked at the logcat

Here are the relevant entries

03-11 17:37:49.719 1099 10188 I XLua.Provider: Hook Privacy.SystemProperties.get/operator pkg=com.cmcm.armorfly:10215 event=use duration=12 restricted=1 new=00101 old=REDACTED function=after
03-11 17:37:49.735 1099 10188 I XLua.Provider: Hook Privacy.TelephonyManager/getSimOperator pkg=com.cmcm.armorfly:10215 event=use duration=16 restricted=1 new=00101 old=00101 function=after
03-11 17:37:49.846 27583 27647 I XLua.Xposed: Log com.cmcm.armorfly:10215 Privacy.TelephonyManager/getNetworkOperator result 00101 (string)
03-11 17:37:51.044 1099 1716 I XLua.Provider: Hook Privacy.TelephonyManager/getNetworkOperator pkg=com.cmcm.armorfly:10215 event=use duration=1 restricted=1 new=00101 old=00101 function=after
03-11 17:37:51.065 1099 1716 I XLua.Provider: Hook Privacy.SystemProperties.get/operator pkg=com.cmcm.armorfly:10215 event=use duration=1 restricted=1 new=00101 old=REDACTED function=after
03-11 17:37:51.496 27661 27696 I XLua.Xposed: Log com.quoord.tapatalkHD:10315 Privacy.SystemProperties.get/vendor gsm.operator.numeric=00101 name=vendor (string)
03-11 17:37:51.497 27661 27696 I XLua.Xposed: Log com.quoord.tapatalkHD:10315 Privacy.TelephonyManager/getNetworkOperator result 00101 (string)
03-11 17:37:52.283 1099 1716 I XLua.Provider: Hook Privacy.TelephonyManager/getNetworkOperator pkg=com.quoord.tapatalkHD:10315 event=use duration=0 restricted=1 new=00101 old=00101 function=after
03-11 17:37:52.312 1099 1716 I XLua.Provider: Hook Privacy.SystemProperties.get/operator pkg=com.quoord.tapatalkHD:10315 event=use duration=1 restricted=1 new=00101 old=REDACTED function=after
03-11 17:37:55.432 1099 10192 I XLua.Provider: Hook Privacy.SystemProperties.get/operator pkg=com.cmcm.armorfly:10215 event=use duration=1 restricted=1 new=00101 old=REDACTED function=after
03-11 17:37:55.513 1099 10192 I XLua.Provider: Hook Privacy.TelephonyManager/getSimOperator pkg=com.cmcm.armorfly:10215 event=use duration=337 restricted=1 new=00101 old=00101 function=after

Two apps were accessing that property while I was logging

Armorfly and Tapatalk

Interestingly Tapatalk's first log already had old value = 00101 at timestamp 03-11 17:37:51.496 / 497

Only later on at timestamp 03-11 17:37:52.312 I see the original value when it was accessing

Privacy.SystemProperties.get/operator

Are the log entries out of sync? otherwise it doesn't make sense that the earlier entry was already blocked.

If Privacy.SystemProperties.get/operator blocks the operator then should Privacy.TelephonyManager/getSimOperator be bundled into the same hook?

Or at least if they are dependent on one another, should applying restriction of one automatically select and apply the other?

I haven't managed to reproduce.

It only happened once.

Thanks

BB
[Paid Software Announcement and Discussion] M66B:
It seems to me that the telephony manager fetches the values from the system properties first. So, if these are restricted, the telephony manager API methods are restricted as well. I am not sure under what conditions the system properties are read. Maybe once for each app start.
[Paid Software Announcement and Discussion] nutpants:
Stupid question

But I can't find the link to download the companion app.. (maybe the xda app is not showing it)

Is there a link other than Google play?

You can install the pro companion app for free and manage hook definitions and access the hook definition repository for free. You can see how the other features work, but using them requires a purchase:
[Paid Software Announcement and Discussion] M66B:
The link is available only to people who donated 10 euros or more, else you'll have to use the Play store version.
[Paid Software Announcement and Discussion] nutpants:
Is there any difference between the donate link and the play store?
[Paid Software Announcement and Discussion] Namnodorel:
No difference in functionality, no. But the activation will require a little more effort both on your and M66Bs side, so if you can, use the Play Store version ;)
[Paid Software Announcement and Discussion] Krete:
Thanks for the answer, even tho it's rather bad news.

Starred/non-starred based whitelisting is better than nothing I guess, but imo it's still far from ideal.

I find it an extremely unfortunate aspect of android(/smartphones in general) that there is so little real and finegrained control over the contacts database, as contacts are data that is both very privacy sensitive and at the same time essential to the basic functions of a smartPHONE (= telephony and similar communication).

:(
[Paid Software Announcement and Discussion] daniel_m:
Renaming hook definitions seams to be buggy. When I edit a hook definition and change its name, XPLP will make a copy of the hook definition with the new name, but leave behind a copy of the hook definition with the old name. This one should be easy to fix :)
[Paid Software Announcement and Discussion] M66B:
Renaming is not supported.
[Paid Software Announcement and Discussion] daniel_m:
Shouldn't it be, since changing the name is possible? It would just be a matter of deleting the hook definition with the old name.
[Paid Software Announcement and Discussion] M66B:
A lot of things in this world "should be".

In general, you should consider apps like this as tools only.
[Paid Software Announcement and Discussion] daniel_m:
Oh, I do consider XPLP to be a tool. Before knowing, the "renaming behaviour" was just very unexpected and weird.