yashsingh1/xdaforums huggingface dataset:
[Paid Software Announcement and Discussion] easyjoin:
Update for Android and Windows

Android "Pro" 3.15

A new permission (MANAGE_EXTERNAL_STORAGE) has been added to be able to manage files (Android 11 and newer).

With this permission you can save files on sdcard not only to the application folder but also to other folders.

Additional MMS data is sent that allows the desktop application to display the sender of a group MMS.

You must also update the Windows application to version 3.15.

Bug fixes and minor improvements.

Windows "Pro" 3.15

All clickable items will be highlighted on mouseover.

When you select "Rounded corners" in the settings, on Windows 11, windows will also have a colored border.

Additional MMS data is sent from the Android app that allows the desktop application to display the sender of a group MMS.

You must also update the Android application to version 3.15.

Bug fixes and minor improvements.
[Paid Software Announcement and Discussion] easyjoin:
Update for Android and Windows

Android "Pro" 3.15.1

A new permission (QUERY_ALL_PACKAGES) has been added to get the list of installed applications (Android 11 and newer).

Fixed an issue that prevented the correct detection of installed applications on the device (Android 11 and newer).

Fixed an issue that prevented browsing folders in the external memory (sdcard) to select the one to use to save incoming files/folders.

Bug fixes and minor improvements.
[Paid Software Announcement and Discussion] easyjoin:
It seems that the last few weeks Avast is giving false positives, indicating as malware apps that are safe.

The first reports came from Huawei owners, but now they are also coming from Samsung owners.

On Huawei devices it seems that Avast is a system app. For Samsung devices, it's not clear to me if Avast is a system app or if it was installed by the user.

I contacted Avast personally via Twitter but to no avail, except a reply to send them a DM to give them details. Details of what? Of how to fix their app to not give false positives?

Also, this isn't even the first time this issue has happened with Avast, at this point they should have known what they were doing wrong.

If you receive these kinds of reports from Avast, after contacting the app developer also contact Avast to ask them if it is a false positive and if so, fix their app.
[Paid Software Announcement and Discussion] easyjoin:
Update for Android and Windows - v4 - Remote file management

Android "Pro" 4.0

Now you can manage the files of a remote device. Currently you can:

Delete remote files/folders.

Rename a remote file/folder.

Create a remote folder.

Download files/folders from the remote device and select the local folder where they will be saved.

Upload files/folders to the remote device and select the remote folder where they will be saved.

You must also update the Windows application to version 4.0.

New setting to enable remote file management on the "Trusted" device settings page.

Bug fixes and minor improvements.

Windows "Pro" 4.0

Now you can manage the files of a remote device. Currently you can:

Delete remote files/folders.

Rename a remote file/folder.

Create a remote folder.

Download files/folders from the remote device and select the local folder where they will be saved.

Upload files/folders to the remote device and select the remote folder where they will be saved.

You must also update the Android application to version 4.0.

New setting to enable remote file management on the "Trusted" device settings page.

Bug fixes and minor improvements.
[Paid Software Announcement and Discussion] easyjoin:
Update for Android and Windows

Android "Pro" 4.0.1

A new remote file view has been added that displays images and videos as a thumbnail.

Bug fixes and minor improvements.

You must also update the Windows application to version 4.0.1.

Windows "Pro" 4.0.1

A new remote file view has been added that displays images and videos as a thumbnail.

Bug fixes and minor improvements.

You must also update the Android application to version 4.0.1.
[Paid Software Announcement and Discussion] jed84:
There is a bug that affects the latest version of EasyJoin (4.0.2) on Win 11:

When we put the device into hibernation mode and then when we woke up the device, the EasyJoin app is no longer running in the background and disappears from the tray.
[Paid Software Announcement and Discussion] easyjoin:
The only thing that comes to my mind is that in Windows 11, I don't know if from the beginning or after a certain update, the operating system erroneously sends the shutdown* signal to the applications even in case of hibernate. When the app captures this signal it closes the various resources and exits in a controlled manner.

Considering that the code in the app that handles this signal has remained unchanged over the last few years, I'd say it's a Windows 11 problem.

It's worth keeping an eye on this issue to see if Microsoft will fix it in the next Windows 11 update or if it's necessary to find a workaround.

* The same signal is send also at logoff: https://appuals.com/disable-require-sign-in-wakeup-windows-11/

In this case you can configure Windows to avoid it.
[Paid Software Announcement and Discussion] easyjoin:
Update for Android and Windows

Android "Pro" 4.2

You can see the queue of files being sent by selecting the corresponding item from the side menu.

Bug fixes and minor improvements.

Windows "Pro" 4.2

You can see the queue of files being sent by selecting the corresponding item from the side menu.

Bug fixes and minor improvements.
[Paid Software Announcement and Discussion] easyjoin:
I submitted an update of the app to receive the following email from Play store:

As you can imagine, this is an error on the part of Play store. The app does not send the data in question, or any other user data, to a server.

The data, specifically SMS and contacts, is read by the app to allow the user to share it with another of his/her devices, without going through external servers but directly.

One of the reasons people pay to have this app is precisely so they can share their data without going through external servers. This is very clearly highlighted at the privacy policy, app description, and site.

Can I be ironic by saying that maybe this concept, i.e., that you can make two devices talk to each other without going through a server external to them, is not clear to Google since they live from user data? Yes, I can be ironic (I got you, the question was rhetorical) since instead of sleeping at this time (23:00) I am dealing with Google's bull****.

Now I have to wait 2 to 7 days to know how it went with the appeal. In the meantime, "New users can't find and install your app, and existing users won't receive updates.".

And who knows how that might affect the positioning of the app even if I win the appeal.

And what if they should continue on their path and not accept their mistake?

Play store at its best (again and again and again).

A retweet is always welcome:

https://twitter.com/i/web/status/1537535139944747008
[Paid Software Announcement and Discussion] easyjoin:
EasyJoin Pro Android app still results removed from Play store - Why this is important to you​

Since June 16, I've been trying to figure out what Google needs to re publish the app in the Play store.

I wrote a post about it on XDA that explains the current situation in detail: https://xdaforums.com/t/app-easyjoi...re-communication-system.3638988/post-87060407

I am also trying to urge Play store to resolve the case via Twitter as well:

https://twitter.com/i/web/status/1539875231757729794

Meanwhile, it's important to know that if for any reason you want to install the app from Play store, you won't be able to do so. It doesn't matter if you paid for it, Play store will refuse to let you access the app page so you can install it.

Be careful not to uninstall the app from your Android devices because you will have no way to install it again until this case is resolved by them. From my end, there is nothing I can do to force installation from the Play store.
[Paid Software Announcement and Discussion] easyjoin:
Just got the notification that the last update I published in production was accepted. The app is again available on Play store.
[Paid Software Announcement and Discussion] easyjoin:
Looking for testers for new version of EasyJoin for macOS
[Paid Software Announcement and Discussion] gidano:
I installed it yesterday, today it is unavailable again! o_O
[Paid Software Announcement and Discussion] easyjoin:
Because Google acts like Google.

App Status: Removed. Issue found: Invalid privacy policy URL​
[Paid Software Announcement and Discussion] gidano:
Happy to see you back on Play! :D
[Paid Software Announcement and Discussion] easyjoin:
Until next time.

Since I've been dealing with Google bots, I've revised on whether I want to have a self-driving car :)
[Paid Software Announcement and Discussion] mic141414:
i cannot afford $18 like that .. I wish i could test it to see how good it really is
[Paid Software Announcement and Discussion] easyjoin:
How fun it is to publish apps on the Google Play store (S01:E01 of 04)

This is how this saga began. It's late November 2023 when I received an email from Google that my app would be removed from the Google Play store if I didn't take action.

The app is "EasyJoin - SMS on PC and more" (https://play.google.com/store/apps/details?id=net.easyjoin.pro&hl=en&gl=us).

The application offers various functionalities, among them is the synchronization of SMS, contacts, and phone calls between the user's devices. The data is not sent to an external server, but is sent directly from one device to another, usually using only the internal network, without going through the Internet. It is a paid app and those who paid for it did so to be able to use the features described on the app's Play store page.

The app was published more than 5 years ago and actively updated and maintained to this day.

Keep in mind that this is a paid application that does not send data to external servers (mine or third parties).

About 5 years ago, Google decided not to allow all applications published in Google Play store to be able to use SMS and call log reading permissions. This applied to both existing and new applications. My app was initially denied the ability to use these permissions (https://redd.it/9v84c7/), but when the case became public, the initial decision was revised and I was given permission to use the permissions for my app (https://redd.it/9yrio4/).

At the end of November last year, I received this email from Google after trying to publish an update:

"Issue found: Invalid or inaccurate Permission Form

Your app uses sensitive permissions that require a Permissions Declaration Form to be properly submitted. Please check that you have accurately submitted the form in the Play console and that you are only using the allowed permission for your declared use case(s)."

I tried to get a detailed explanation of what the problem was since no problem was being reported in the developer console. After a series of appeals and responses, I was given the following explanation:

"Issue found: Use of permission is not a permitted use case for PROCESS_OUTGOING_CALLS permission"

I explained that permission was granted to the app more than 5 years ago, but to no avail.
[Paid Software Announcement and Discussion] easyjoin:
How fun it is to publish apps on the Google Play store (S01:E02 of 04)

I removed the permission PROCESS_OUTGOING_CALLS and published a new version. The update was rejected with following explanation:

"Issue found: Unable to verify core functionality of app

Your declared that your permission use case is the core functionality of your app. However, after review, we found that your app does not match the declared use case(s). Learn more about permitted uses and exceptions.

Please either make changes to your app so that it meets the requirements of the declared core functionality or select a use case that matches your app’s functionality.

- The video you submitted does not demonstrate the functionality necessary to verify and approve your use case declaration (for example, if your app uses SMS for account verification, your video should clearly show this).

- Cross Device"

It might be worth pointing out that up to that point I had published about a hundred versions in the Google Play store and never had any problems regarding the permissions used by the app or its use. After all, how could I, since they were the ones who checked that the app was compliant with their rules.

I asked for an explanation of what the video should show and why the same video (

) that was fine over 5 years ago is not fine now. I was not given any information that could direct me as to what the video should show to make it clearer.

I created a new video (

) and updated the page in developer console. The new video is also not good for them with the same motivation as before.

I appealed trying to get the information needed to create a video to their liking. The result is a new rejection this time for this reason:

"Issue found: APK HAS A PROMINENT DISCLOSURE BUT THE DISCLOSURE IS NOT ADEQUATE

Your app is not compliant with the User Data policy. Specifically,

- Your app is uploading users' Contact List information without an adequate disclosure.

- The in-app Prominent Disclosure does not disclose the collection of Contact List.

- The in-app Prominent Disclosure does not disclose the usage of collected Contact List.

Your app may face additional enforcement actions, if you do not resolve this issue by January 17, 2024."

As you can see in the second video (

), the app shows the use that is made of the data (contact's data included) when the user enables the functionality.

View attachment 6082419
[Paid Software Announcement and Discussion] easyjoin:
How fun it is to publish apps on the Google Play store (S01:E03 of 04)

It is also explained in the privacy policy page: https://easyjoin.net/privacy.html

And here I am again caught up in the nightmare called "Google Play store for indie devs". The fact that for every action I take to resolve the reported problem the response is that the problem is another is worthy of the best stories written by Kafka.

I appealed the last rejection, which is about contacts. Their response was:

"Your app is uploading users' Contact List information but the privacy policy and the prominent disclosure do not meet the policy requirements.

- The privacy policy in the designated field in the Play Console is inadequate because

-- it does not disclose the collection of Contact List.

- The prominent disclosure in your app is inadequate because

-- it does not disclose the collection of Contact List.

-- it does not disclose the usage of the collected Contact List."

Note that the word "uploading" is not congruent with what they define as "uploading." For them, as you can read when you fill out the relevant section in developer console it means sending data to an external server, managed by the person who made the app or a third party, and does not pertain to sending data from one user's device to another without going through external servers.

Anyway, it is explained both in the app and in the privacy policy what data is read and how it is used as if it were sent to external servers.

<rant>It would be interesting if Google would inform us, the EU and the DMA enforcers, whether it asks the same things from Microsoft for the "Phone Link" app and/or what kind of information Microsoft shows in its app to pass their checks and consider the app compliant with their policies.</rant>

I replied:

"Hello.

I have attached two files showing that the app discloses the collection and use of contacts.

File sc02.png shows the disclose inside the app. The text explicitly refer to contacts:

“… By continuing, the application will request the necessary permissions, if not already given, to have access to contacts*, SMS and MMS, phone number and call status …”*

File sc03.png shows the privacy policy page where similar text is visible:

“… Some of the following permissions allow the application to have access to contacts, SMS and MMS, phone number and call status …”

What else should I add to pass your checks?"

They answered exactly as before.
[Paid Software Announcement and Discussion] easyjoin:
How fun it is to publish apps on the Google Play store (S01:E04 of 04)

At this point I decided to make a post on Reddit (https://redd.it/193y3hj/). I was lucky because the post was also allowed to be published on the r/andoiddev sub (https://redd.it/193xu6f/), a sub that is read by Google staff.

After that, perhaps a fortunate coincidence, the update was finally accepted and released to production. This adventure started on November 25, 2023, and it has taken 50 days to get this far.

Accepting the publication of the update implied that someone from the Google Play store staff had checked that the app complied with their rules in every way: functionality, use of permissions, privacy policy.

But I had a feeling that it didn't end there.
[Paid Software Announcement and Discussion] easyjoin:
How fun it is to publish apps on the Google Play store (S02:E01 of 04)

After a couple of weeks, I think, if I remember correctly, but little change to our story, I tried to publish an update.

The update was rejected:

"Issue found: APK HAS A PROMINENT DISCLOSURE BUT THE DISCLOSURE IS NOT ADEQUATE

Your app is not compliant with the User Data policy. Specifically,

- The in-app Prominent Disclosure does not disclose the collection of Contact List , SMS .

- The in-app Prominent Disclosure does not disclose the usage of collected Contact List , SMS."

If you remember we had seen this motivation again in S01:E02 (https://www.linkedin.com/posts/easyjoin_google-playstore-android-activity-7173662737351360512-vZwh). In the meantime, though, they had checked the app and decided to accept the publishing of the update because the app, privacy policy and all, was considered to comply with their rules. But here we are back to square one again.

(the title of this episode could be "The 12 Tasks of Easyjonix: The Place That Sends You Mad" (

))

What does Google mean by "collection/collected" though? Let's read: https://support.google.com/googleplay/android-developer/answer/10787469?hl=en#collection

Small premise: the app sends the user's data, in this case contacts and SMS, from their device to another device, without going through external servers and using end-to-end encryption; the encryption keys are not to my knowledge, they are handled directly by the user's devices and as such cannot be read by anyone other than the sender and recipient.

Case solved, right? The app meets all the requirements of "Not in scope for data collection". At this point I just have to explain it and it's solved. Yeah, of course, my young Padawan.

All these checks are done automatically by bots that scrutinize the code trying to figure out what the app does. How do you explain to a bot that it's wrong? Is it reasonable to think that the person reviewing the appeal can read and understand the code of an app? Even if it were capable of doing so, it would be impractical.

So what would you do if you were in this situation?
[Paid Software Announcement and Discussion] easyjoin:
How fun it is to publish apps on the Google Play store (S02:E02 of 04)

My approach when I have to interact with Google Play store is to try to find a solution to the problem it creates, not to open a debate with them.

If you publish apps on Google Play as an independent developer, you know, directly or indirectly, that the process is mostly automated, bot-driven, and when staff intervene the results may vary depending on the person in charge of your case.

What I was interested in is figuring out what I would have to change to pass their audits.

Sure, sometimes it's frustrating to know that you're right but still have to accept what's required of them, but when you're working alone and you have to program 4 different programs for 4 different operating systems, you're more interested in fixing the situation so you can then focus on development than arguing with a bot or an employee not put in a position to operate at his or her maximum efficiency.

And how do you get the detailed information you need, which is only vaguely provided in the first rejection e-mail? Since the email comes from no-reply-googleplay-developer@google.com the only thing to do is to appeal by asking for more information.

Not necessarily the response to the appeal is related to the reason of the first rejection, to which you appealed, or is more detailed from the first explanation. But at least in this case you can respond to someone, who you hope is not a bot, asking what's wrong. Remember to ask since if you just assert, i.e. the app doesn't do this or that and here's the proof, it's less likely to trigger your interlocutor's response mechanism.

At this interaction phase, I was told that the app "violates the Malware and User Data policy" because "is uploading users' Contact List and SMS information but the privacy policy and the prominent disclosure do not meet the policy requirements". If you are wondering what the "policy requirements" are, you are redirected to this link: https://support.google.com/googleplay/android-developer/answer/10144311.

However, after a couple of interactions, maybe more but that's not important, I was given an answer that pointed to something specific.
[Paid Software Announcement and Discussion] easyjoin:
How fun it is to publish apps on the Google Play store (S02:E03 of 04)

And that is the response that allowed me to understand what they considered to be the problem:

"Below is more information about where the issues remain:

- We looked at the screenshot and the text you copied. Those are the same content we found in the app. The current Privacy policy and Prominent Disclosure (App Bundle Version 182) mention "access" but we noticed that your app actually "collects" these information, so make sure this is correctly reflected in the Prominent Disclosure & Privacy Policy text.

- The explanation of usage is generic and therefore insufficient. To fix this issue, please explain in detail why you need to collect these data and how it will be used specifically for each data type to comply with our standards of transparency for the users. Kindly note, users need to be able to clearly understand what data is being collected and how it will be used before they proceed.

Please address these points by February 9, 2024 to avoid further action taken from the Google Play. Before resubmitting your app for further review, please make sure to DEACTIVATE the non-compliant version (App Bundle Version 182) and increment the version code of APK."

Then the problem is the use of the word "access" instead of "collect." It doesn't matter to me at this point whether the app should be exempt for the reasons seen in S02:E01. The important thing is that I know what they want. So, "GO GO GO". (

)

(I've always been curious if this phrase is really used in the U.S. or if it's something you only see in movies, like when the main character prefers to get completely wet rather than use an umbrella.)

So I have to change the text of the privacy policy and the message that is displayed in the app.

Editing and publishing the privacy policy page is quick and easy since I just need to replace "access" with "collect" and upload the new page to my site. Okay, it was a little more complicated because they wanted the privacy policy to have a particular format, with separate paragraphs for SMS and contacts but in the end they accepted the text and its formatting.

In order to change the text in the app, what they call "prominent disclosure", I would have had to create a new version of the app and publish it in the Google Play store. The new version with build number 183 was ready and I published it without losing time.