[APP][4.1.2+ with OpenPDroid or PDroid2.0] PDroid Manager ALPHA[2013-01-12 v0.2.9.8]

Should I add PDroid Manager to Google Play (as well as posting it here)?

  • Yes

    Votes: 480 93.0%
  • No

    Votes: 36 7.0%

  • Total voters
    516
Search This thread

KickerTom

Senior Member
Sep 26, 2011
79
83
Prague
Could you upload a logfile? I don't have a very good idea of what ApG does undet the hood and I don't have a way to find out either. But I don't have a patch.exe.manifest file in that directory when it is just the auto-patcher program. I did have a bunch of little problems as I was updating the program to have a bundled patch binary, but I think those are mostly sorted as of last night. If you could update and try again, Would appreciate it.

Anyone with ApG, really. Just post a log so I can diagnose, ok?

Logs attached. The ApG one contains more attempts, like playing with the path, so do not get puzzled :). Important is the first one, failed, and last one, successful.

I found two patch.exe binaries in Apg directory, in Apg\ApGPackages\ap\patch_tools\cygwin is one without the manifest, in Apg\ApGPackages\cygwin\bin is one with the manifest. The actual binaries seems to be the same.

If you need logs with debug info or something else, let me know. Regarding update, I thought that Apg does auto-update on startup, but now found in the script that it may be disabled, so I will update manually and re-test.
 

Attachments

  • log20130731110334.txt
    6.9 KB · Views: 4
  • ApG-old.txt
    15.7 KB · Views: 8
  • Like
Reactions: mateorod

KickerTom

Senior Member
Sep 26, 2011
79
83
Prague
Regarding update, I thought that Apg does auto-update on startup, but now found in the script that it may be disabled, so I will update manually and re-test.

Updated using the "Check for updates" button in Apg, re-patched the binary, got the same error. Log attached. Do I need to do something else to really update? Git says I am up-to-date...
 

Attachments

  • ApG.txt
    2.7 KB · Views: 5
  • Like
Reactions: mateorod

KickerTom

Senior Member
Sep 26, 2011
79
83
Prague
Here is a log with -x flag for debug logging, if it helps. But as far as I am able to tell, it does not give much more than already known.
 

Attachments

  • ApG.zip
    5.8 KB · Views: 11
  • Like
Reactions: mateorod

poo706

Senior Member
Apr 8, 2011
2,295
2,290
Got the same problem, error during patching (went unnoticed byt Apg, claimed patching successful). In the log, I found couple of messages as:
./auto_patcher: line 1716: ./patch: Permission denied

In my case, it seems Apg is copying patch.exe binary into the temporary directory, but is not copying patch.exe.manifest. When I copied this file manually, patching was successful.

I noticed that too today when patching the 7/30 CM10.1 nightly for toroplus. When I ran ApG as administrator, I didn't get the error.

[poo]
 
  • Like
Reactions: mateorod

wkwkwk

Senior Member
Jun 28, 2008
359
76
Hi,

It seems that multiple user support is broken by openpdroid. I can't seem to find any information apart from "it's not working".

All apps FC when logging in as the secondary user and logcat shows:

E/AndroidRuntime( 2556): java.lang.RuntimeException: Unable to start service com.cyanogenmod.lockclock.weather.WeatherUpdateService@41f0cc30 with Intent { flg=0x4 cmp=com.cyanogenmod.lockclock/.weather.WeatherUpdateService (has extras) }: java.lang.SecurityException: Permission Denial: broadcast from android asks to run as user 0 but is calling from user 10; this requires android.permission.INTERACT_ACROSS_USERS_FULL or android.permission.INTERACT_ACROSS_USERS

Is there a workaround to get multiple users working?

Thanks.
 

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
Updated using the "Check for updates" button in Apg, re-patched the binary, got the same error. Log attached. Do I need to do something else to really update? Git says I am up-to-date...

No multi-user support at present, sorry. On the list like everything else.

You are 100%up-to-date as of the time of that attempt. I have added another commit. Here is where we are with this, and why we are having so much trouble. Cygwin updated their patch binary to 2.7.1. That version is incompatible with our current implementation. All patches fail. This is only a real problem with new users, but still a big problem.

So I am bundling the original binary with Cygwin. But I don't have a Windows box to test. The entire thing is driving me juts nuts. I have been advised that the latest change I just pushed will work. I have my doubts, to be honest. I think that it will allow older installs (before late June) to work, but still the new users may have a problem.

Anyway, I added a little extra logging to help me see what is going on...as of autopatcher2.994, which is up, anyone who usually has the autopatcher work should have it working again. Thanks for all the patience.

Edit: as for the updating...ApG has an update mechanism separate from the script. I added an institutional updater for everyone else, but left Cygwin out since I did not want them to conflict. You can try commenting out the line that says "Cygwin user comment this out here " (or something close) and see if the new native updater works for you. I hear that it does work in Cygwin, but I am not sure how well it plays with ApG.
 
Last edited:

Wartickler

Senior Member
Nov 4, 2009
172
356
Tallahassee, FL
I would like to build this project.

I am a C# programmer by trade, but please excuse the totally n00b questions. I would like to set up a dev environment where I can fork and build this app on Win7. Could you let me know the general steps involved to setting up the right environment to build this excellent app? I got the source and tried getting it up and running in Android Studio but I don't think it liked me. I tried running it in Eclipse but I don't think I have a library that is related to the OpenPDroid privacy framework. What specific files would I need to build this?

Thank you for your help in advance and thank you for this absolutely awesome app. I have OpenPDroid installed on my Razr MAXX and I am so impressed and happy! :good:
 

Mika83AC

Senior Member
Apr 5, 2012
715
304
Is the PDroid Manager already compatible with Android 4.3 and CM10.2 (i guess because OpenPDroid is it too)? I tried to install it from PlayStore some minutes ago, but it's says can't install because it's not compatible with my "device" (which means with the version of android/rom).

Or shall i use the latest APK from the OP Posting?
 

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
Is the PDroid Manager already compatible with Android 4.3 and CM10.2 (i guess because OpenPDroid is it too)? I tried to install it from PlayStore some minutes ago, but it's says can't install because it's not compatible with my "device" (which means with the version of android/rom).

Or shall i use the latest APK from the OP Posting?

Uploading a new PDroidManager updated for 4.3 is on my list and may even happen today.I wanted to release it all at once, but I started to feel guilty holding onto new patches while people wanted to upgrade. I think you can sideload the apk for now.
 

Sir.Swaffel

Member
Feb 24, 2013
17
2
Questions

Great mod, and great app.

Have 2 questions:

1) Does this work nicely alongside CyanogenMod's "Privacy Guard"? I don't know exactly what CM10.1 PG does because I couldn't really find any good information. It seems to be lacking.
2) How will this work alongside the new Android 4.3 app permission manager (see androidpolice.com/2013/07/25/app-ops-android-4-3s-hidden-app-permission-manager-control-permissions-for-individual-apps/ )?

I ask this because I don't really know what will happen if I use OpenPDroid as well as CM PG. Which one will overrule the other? Do I need to use both? etc. It's kind of confusing.
 

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
My users are huge fans of your work.

Great job :)
Back at you, temasek. :)

If your 4.2.1 users are still having trouble with Autopatcher, I have a solution for them that we can do. I know at least one of your builds (as reported by @DualJoe among others) had an incompatible commit. A solution is available if I can get a build pair (patched/unpatched, same source).
Great mod, and great app.

Have 2 questions:

1) Does this work nicely alongside CyanogenMod's "Privacy Guard"? I don't know exactly what CM10.1 PG does because I couldn't really find any good information. It seems to be lacking.
2) How will this work alongside the new Android 4.3 app permission manager (see androidpolice.com/2013/07/25/app-ops-android-4-3s-hidden-app-permission-manager-control-permissions-for-individual-apps/ )?

I ask this because I don't really know what will happen if I use OpenPDroid as well as CM PG. Which one will overrule the other? Do I need to use both? etc. It's kind of confusing.

It IS confusing. For a long time, we were the only ones doing this, now there are lots of options. I need to find a way to edit this OP. it is really out of date. Basically it is this, despite varying levels of code overlap, all three implementations can be used at once, with no problems that we know of. They all do escalating levels of privacy. with OpD at the top.

  • Google's AppOps simply blocks permissions, it will not spoof them. And not all permissions or apps are available to be blocked.
  • CM"s PrivacyGuard is only for a very certain subsect of permissions, and is NOT aimed at spoofing or anonymity.
  • XPrivacy uses the XPosed framework, which is mostly centered on blocking info and may not work on all apps (i am not sure about system apps)
  • OpenPDroid is a full-featured privacy suite, and allows you to control all identifying/sensitive data
.

They are all good tools, (with Google's AppOps being barely begun) which solve varyiung use cases. OpenPDroid is, IMO, probably the best of all the privacy solutions at this time, but there is the price that it can be difficult to install and configure. We try to make it as easy as possible, but there is a lot of work to be done on that front still.

I have been very pleased to see all the implementations spring up, I try and play nice with all of them.
 

Sir.Swaffel

Member
Feb 24, 2013
17
2
They are all good tools, (with Google's AppOps being barely begun) which solve varyiung use cases. OpenPDroid is, IMO, probably the best of all the privacy solutions at this time, but there is the price that it can be difficult to install and configure. We try to make it as easy as possible, but there is a lot of work to be done on that front still.
Thank you for your quick response.

So if I understand correctly, if for instance I would specifically allow certain permissions in 4.3 AppOpps (I don't have it yet, so I'm just imagining it), and specifically deny them in PDroid Manager, they would be denied, since a deny will overrule an allow.

And as for the "ease of use"... if I can get it working, it's pretty easy. The only problem sometimes is when an app like facebook updates. I get a popup notice that requested permissions have changed. But there is no indication of what the exact change is (or I'm blind). With an app like facebook which wants every permission imaginable + 1, it can be hard to understand which part of my soul they want this time. Perhaps a highlighted color of the requested changes would be handy.
 

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
Thank you for your quick response.

So if I understand correctly, if for instance I would specifically allow certain permissions in 4.3 AppOpps (I don't have it yet, so I'm just imagining it), and specifically deny them in PDroid Manager, they would be denied, since a deny will overrule an allow.

And as for the "ease of use"... if I can get it working, it's pretty easy. The only problem sometimes is when an app like facebook updates. I get a popup notice that requested permissions have changed. But there is no indication of what the exact change is (or I'm blind). With an app like facebook which wants every permission imaginable + 1, it can be hard to understand which part of my soul they want this time. Perhaps a highlighted color of the requested changes would be handy.

Well, all permissions that they declare should be available for blocking in the PDroidManager interface. When an installed app updates and declares a new permission, PDroidManager should have a pop-up notification asking you to revisit that app's policy.

As for how well, or who will supersede what among the various privacy solutions, some of that remains to be seen. But I have endeavored to not break any functionality. So if you install the OpenPDroid core, yet block location through PrivacyGuard, I believe that should still work. Same for the various AppOps settings.

Now, if you block a permission in all three, which will handle it? Remains to be seen. I would pick whichever you use and stick with it. If there is a setting in one, you cannot find in another, then I would imagine that would be okay to set. But blocking something like...I don't know..Contacts in all three might lead to trouble. All three work off databases, and if you start denying the various privacy implementations access to their databases, FCs could appear.

They should all coexist well enough, but I wouldn't mix and match usage, if it can be avoided. As is generally true around here, real world usage could trump this explanation, try it and see if you dare :)
 

DualJoe

Senior Member
Oct 12, 2011
2,194
1,095
de
Back at you, temasek. :)

If your 4.2.1 users are still having trouble with Autopatcher, I have a solution for them that we can do. I know at least one of your builds (as reported by @DualJoe among others) had an incompatible commit. A solution is available if I can get a build pair (patched/unpatched, same source).
Whom do you call 4.2.1 users? :D

Files attached. I guess you're creating a custom diff now. I hoped i could find a different place/file to disable the wallpaper service somehow to save you the hassle but weren't successful so far.

That's in the package:
!Origin.txt - Contains the path of origin (Services.jar/com/android/server->ServerThread.smali)
ServerThread-cm10.2-original.smali - CM10.2 original file. In case you want to isolate Temasek's patch.
ServerThread-temasek-autopatcher-patched.smali - Final file - CM10.2 original file patched with Auto-Patcher and Temasek's custom patch manually injected on smali level afterwards
ServerThread-temasek-original.smali - Temasek's original (CM10.2 original + patch)

Looking at @temasek's patch i've noticed there's a (system) resource right above his patch providing a Boolean that decides about the same Temasek tries to achieve with his patch. If this Boolean value is user controllable his patch should be obsolete. I'll reverse that.

Edit: The boolean resource is 'enableWallpaperService' defined in 'framework-res.apk/bools.xml'. Doesn't look too user-controllable...

 

Attachments

  • ServerThread.smali-temasek.zip
    47.7 KB · Views: 35
Last edited:
  • Like
Reactions: IUnga and mateorod

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
I have updated PDroidManager in the Play Store. You should be able to update like any other app. All I have for this update is support for Android 4.3 and cleanup some translations. Let me know if you have any issues, taking over an app is a lot different then starting from scratch so this is a first for me.
@DualJoe, I will look at your attachment tonight and let you know if it has everything I need. Thanks
 

Mika83AC

Senior Member
Apr 5, 2012
715
304
I have updated PDroidManager in the Play Store. You should be able to update like any other app. All I have for this update is support for Android 4.3 and cleanup some translations. Let me know if you have any issues, taking over an app is a lot different then starting from scratch so this is a first for me.

@DualJoe, I will look at your attachment tonight and let you know if it has everything I need. Thanks

Could install the app from PlayStore after you updated. Thx!
 

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
can you please upload here too? i´m on dualboot an want to test my patch on 2nd rom... i don´t want to setup my googleaccout there.

I am looking at your issue from the other thread, but in the meantime here is the apk. I am also rebuilding the new CM10.2 patches today.

I have requested to be allocated a new OP for this thread as well as OpenPDroid thread. We will just have to see if they allow that. For now, if you see anyone ask, the app can be found here. I am looking into creating a small landing page for the project somewhere..but we'll see.
 

Attachments

  • PDroid_Manager_0.3.0.0.apk
    2 MB · Views: 337

Top Liked Posts

  • There are no posts matching your filters.
  • 103
    A quick note
    If you've come from Google Play to get support, welcome! I'm glad you made it here.
    Please do post a description of the problem you are having, but you may also want to read the section below labelled What should I do when it fails?, as this will make it much easier for me to provide support.
    If you're having a problem, the place to post it is here, because if you do so on Google Play then I have no way of responding. Unfortunately, this has been the case where an issue has become apparent, and I have included a fix, but there is no way for me to notify those who had the problem.
    In any case, back to our normal program...

    What is it?
    PDroid Manager is an alternative OpenPDroid/PDroid 2.0 Management App. It is currently the 'official' management app for OpenPDroid, and serves as an alternative to the PDroid 2.0 App for PDroid 2.0.
    It is GPL licensed (with additional attribution conditions). Source can be obtained from my github.

    What does it need?
    First, this relies on either the OpenPDroid Core/Framework patches (recommended), or the PDroid 2.0 Core/Framework patches being present in the ROM. You need to have them installed, either by getting the patches (OpenPDroid, PDroid 2.0), patching and compiling a rom yourself; or using the excellent autopatcher tool by mateorod and pastime to patch an existing rom.
    It also requires Android 4.1.2 or 4.2.1.

    Status
    This app is in a supremely alpha state. It does have bugs. It will crash if you run it without the PDroid core/framework patches. It does have a problem with the way notification icons display if you install multiple apps without configuring them. It will crash in a range of other situations I haven't thought of yet.
    It will crash if you try to use it while you have the PDroid 2.0 App installed. (It's a permissions signature thing, and you can't have both installed unless you resign them both yourself: see here for how to do that.)
    It has been tested on three devices a Galaxy Nexus running AOKP, and a B&N Nook (cheers to mateorod) and a Nexus 7 running AOSP.
    Probably others too now, what with people using it, but I don't have a list for that =)

    What is the difference between this and the PDroid 2.0 App
    1. This is an ALPHA status tool, so it has more bugs.
    2. This isn't complete - it is missing useful things like an 'about' box, the ability to check the PDroid core version, backup & restore, all of which are in the PDroid 2.0 App.
    3. It can keep logs of application activities. There is currently no way to view these, though. Logs are now (I think?) supported in PDroid 2.0 App. I haven't tried them though.
    4. You can filter the app list by whether it is a system or user app, and by the type of permissions used. Now also in PDroid 2.0 App.
    5. You can filter apps by the 'type' of permission they use - e.g. 'messaging', 'calls', etc.
    6. The source is available.
    7. It can create and restore multiple (human-readable) backups on your SD card or 'external storage'.
    8. It supports multiple languages, thanks to the contributions of others (languages and contributors are listed below) PDroid 2.0 App now supports German and English (but not Russian and French).
    9. Did I mention it has more bugs?
    What is the difference between this and Permissions Denied, and other permission-modifying apps
    In brief: OpenPDroid and PDroid 2.0 do not actually change the permissions of apps; rather, they intervene when the apps try to use some of the features allowed by these permissions. For example, it doesn't remove permission for an app to use the camera - instead, it lets the app believe it is using the camera normally but then feeds back a fake image when a 'photo' is taken. Similarly, the app can try to request the phone number from the phone, but PDroid can return either a blank number, or a fake number, to the app. The main advantage of this is that rather than the app crashing, as often happens if it finds expected permissions have been removed, it continues to operate simply using incorrect data as its input.
    The downside is that PDroid requires modifications to the ROM, which is difficult.

    What should I do when it fails?
    First, check if the problem you have discovered is a known issue, by looking at issues on my github. If if has already been lodged, but you have additional information to add, then ideally attach it to the issue in github. Otherwise, you can post it here but please clearly refer to the existing issue in github when doing so.
    If it is not a known issue in the github:
    You can open an issue on my github, providing a logcat: see how to get a logcat.
    You can post on this thread, providing a logcat. I will try to monitor this thread, but if it starts getting out of control then I will probably try to run up a bug tracker somewhere else for people to use (and I will always fall back on the github issue tracker).

    When will you stop telling me about the bugs and give me a link?
    I have added PDroid Manager to the Play store, so you can obtain it from there (which means easier updating). If you do get it from the Play store, remember that support is provided via this thread, not via the Play store comments. I have only added the app to the Play store as a convenience so people can get updates without monitoring this thread.
    Check the attachments to this post for the PDroid ALPHA releases. Make sure you read that ALPHA part.
    Source at my github.
    Requirements: Android API 16 (i.e. 4.1.2 - haven't tested in 4.2 yet).

    What does it look like?
    This:
    small_Screenshot_2012-12-14-16-37-49.png
    small_Screenshot_2012-12-14-16-38-20.png

    Screenshot_2012-11-30-09-25-32.png
    Screenshot_2012-11-30-09-25-50.png
    Screenshot_2012-11-30-09-26-41.png
    Screenshot_2012-11-30-09-27-24.png
    Screenshot_2012-11-30-09-28-56.png
    Screenshot_2012-11-30-09-29-12.png


    Why did you build it?
    The original PDroid app by Syvat, and the subsequent PDroid Addon/Extension/2.0 apps by CollegeDev didn't do everything I wanted them to do. I couldn't modify them because I didn't have the source. I'd never created an app before and I wanted to give it a shot.

    Why does it need permission to access my SDCard?
    I've added the ability to backup and restore your settings to the external storage. In order to do this, I need to be able to write to, and read from, the external storage. I will be adding a version at some point which doesn't require this permission, and cannot do backups.

    Isn't doing backups to the external storage really insecure? Couldn't another program edit my backups?
    In general, doing backups to the external storage would be insecure, in two ways: other apps could read your settings from the backup, and other apps could edit the backup so when you restore it your settings are wrong.
    The ability for other apps to read your settings is a problem even ignoring backups. The Pdroid 2.0 Core (and the original PDroid Core) do not prevent applications from reading settings without any permissions whatsoever. Yes, any app can read your settings directly from the PDroid service. That is the way the PDroid core is built at present (and I don't much like it, but that's another story).
    The second problem is one that I have attempted to address. Each installation of PDroid Manager will generate a 'digital signing key', and any backup you create will be signed with this key. When you attempt to restore the backup, the signature is checked to ensure the backup (or signature) has not been modified. If the signature doesn't match, you are warned and given the opportunity to restore anyway. You cannot export this signing key, because exporting that key to your external storage would make it accessible to other programs, and with it they could re-sign your backups to make it appear that they had not been modified. This means if you uninstall and reinstall PDroid Manager, you will get 'invalid signature' warnings on all the backups made from previous installations. If you don't want this to happen, I recommend downloading and using Titanium Backup - it will store the encryption key (although on external storage, which itself could be a security risk). Thus, unless you uninstall and reinstall your PDroid Manager installation, the app will verify that backups have valid signatures before restoring them. Mind you, a root app could steal the signing key. As is always stated, for root apps it is all up for grabs.

    I have a great suggestion! How should I get it to you?
    First, keep in mind that there are various degrees of detail which can be provided with suggestions, such as:
    • A suggestion of a feature which could be included
    • A description of how the feature should work (e.g. user cases: list XYZ, then user presses N, dialog P opens, etc.)
    • Storyboards or images of what the feature could look like (even if it just a box diagram done in Powerpoint or something).
    • A suggestion of an app which implements a similar behaviour that could be used as a reference for implementation
    • A bit of example code
    Suggestions of new features are excellent, and some suggestions need less description than others - e.g. "add a help button to each setting" needs less description than "add the ability to filter by the 'trust' state of the app" (although in both cases, interface diagrams could be helpful: e.g. should the help button go to the left or right of the text label for the setting?)
    You don't have to provide all of these details, and indeed even if you do provide some details I may not actually use them (e.g. if your suggested images were very inconsistent with the Android UI idioms, or the rest of the app). You can certainly make suggestions that are quite simple: e.g. I would like to be able to apply settings to multiple apps at once, or I would like to be able to filter by individual settings rather than groups of settings (although the latter would be a good candidate for interface suggestions too). If you are suggesting complex features, though, some suggestion of how the interface should work could be handy too - even if I don't use the suggestions as such, they can be very useful for giving me different perspectives.
    If you have a suggestion then please describe clearly the suggested feature, interface or behaviour change, or whatever your suggestion it may be. If it requires a new UI screen, or a change to an existing one, descriptions of how it should work, drawings or imagery (or pointing to another app) are very welcome.
    In order of 'most desirable' to 'least desirable' (from my perspective) I suggest:
    1. Post the suggestion to my github
    2. Post the suggestion on this thread
    3. PM me (this is low on the list because if I get a flooded PM box it will be hard to find anything).
    Finally, remember nothing says "I'd love this feature to be in the app" like a patch to implement it ;)

    Can I contribute a translation?
    Absolutely! I welcome translations! The process for doing a translation will depend on whether you have a github account or not.
    Currently we have translations being contributed for:
    • English
    • French (jpeg729 and patrickpr)
    • German (TamCore)
    • Hungarian: appelsson
    • Russian (Beasty)
    If you have a Github account
    You can fork the PDroid Manager project, and create a "values-xx" directory for the relevant language (e.g. values-de for German). Into that directory, you will need to copy:
    Files containing text displayed to the user are:
    access_notification_text.xml, which is the text for notification messages provided to the user when an app attempts to accesses a particular type of data.
    arrays.xml, which currently contains the text of the drop-down lists used for filtering, and the 'Untrusted, Trusted, No Settings' text displayed.
    settings_strings.xml, which contains the text descriptions of each setting, and the associated help text. (I have *just* pushed an update to github for this file, so if you want to translate it make sure you do a pull).
    strings.xml, which contains the 'general' strings used in the app.
    Once you have created those files, you can commit them, and then create a 'pull request' so I know they are ready to be integrated. I'll then integrate them.
    If you don't have a github account
    You will need to download the four files linked above, and translate the strings in them. Once you have done that, post to this thread with the files attached.
    Remember:Keep in mind that if you have the files sitting around for a while in a partially translated state, they could change in development! When doing translations, make sure you have the latest version from the server. If you find that the strings etc have changed on the server, and you have done a partial translation, you can use a tool like WinMerge to merge the new changes into your file without a lot of work.
    Also, if you are creating translation files, please include yourself as an @author in the header to the file, or nominate the details you would like to have recorded against your authorship. Also note that basically the entire app is under a GPL license, and I will only accept material which is licensed under a GPL or BSD license, to make sure that people are free to copy and edit the code as they see fit.


    What do you have planned next?
    • Fix bugs
    • Add a 'preferences' and 'info' screen to check PDroid core/framework version, etc mostly done
    • Add help to the individual settings, so users can understand what they mean DONE!
    • Add the ability to view log and delete logs
    • Add the ability to create 'profiles' - i.e. pre-configured groups of settings, which can then be applied to an app
    • Add batch processing, so profiles can be applied to multiple apps in a single action Released in 0.9.3
    • Add filtering of apps by individual settings, not just by 'setting group'.
    • Add filtering of apps by setting state (i.e. trusted, untrusted, no settings)

    If you want you can give it a go. Read the source. Have fun. Just don't complain that you haven't been warned about it being buggy.

    2013-01-15 v0.2.9.9 ALPHA
    Changes
    Added support for 4.2.1 - not that it stopped you installing it anyway, but for Google Play it mattered =)
    Added Spanish support, thanks to alceasan.

    2013-01-12 v0.2.9.8 ALPHA
    Changes
    Fixed a force-close affecting everyone as a result of a corrupted APK. Sorry about that, all!

    2013-01-12 v0.2.9.7 ALPHA
    Changes
    Added Hungarian language support thanks to appelsson.
    Updated French language support thanks to jpeg729.
    Fixed (I think) a bug in which the app crashed when an installed app does not have an icon.

    2012-12-15 v0.2.9.5 ALPHA
    Changes
    Theoretically fixed a bug which I was unable to reproduce (but I think I know why) which caused a crash rather than a friendly message when a user attempted to run PDroid Manager without the PDroid core installed.

    CHANGE LOG
    2012-12-15: v0.2.9.4 ALPHA
    Changes
    Added detection of whether necessary permissions to write to the PDroid core were present, and provide a friendly message if they are not. (These permissions are absent if PDroid 2.0 App is installed before PDroid Manager, not uninstalled before PDroid Manager is installed, and the two packages have not been re-signed with the same key).
    Otherwise, this version is identical to v.0.2.9.3. It was just added because I saw some crashes due to PDroid 2.0 App being installed with Google Play users.

    2012-12-14: v0.2.9.3 ALPHA
    Changes
    The main stand-out of this release is batch processing: further details about that are after the list.
    • Instead of crashing if you don't have PDroid installed, it will now give you a message telling you that you need to install it.
    • Batch processing: you can now select a bunch of apps, and change their settings. Long-press on an app to enter selection mode, touch other apps to select or deselect them, then use the action bar options to choose what to do.
    • Added a 'purge settings' option to preferences. This deletes all settings for all apps.
    • Changing language now triggers a restart of the app (after prompting the user) to immediately switch language
    • Restructured the filtering interface to work better on smaller devices, and generally look nicer.
    • Info/help buttons for settings only appear on larger devices now (due to screen real-estate issues). Clicking on the name of the setting will display the help on smaller devices.
    • Performance improvements
    Known bugs
    • When multiple apps are installed one after the other, the notification to update settings of previous installations is replaced (rather than additional icons appearing). Still.
    • I think there is still something funny going on with the 'trust' indicator after you save an app, but that may be a new issue. Still.
    • App names in the application list don't get reloaded when the phone locale changes, which means they stay in the old language until manually refreshed. I'm no longer going to call this an issue, because it is handled by the OS.
    Also see my github list: https://github.com/wsot/pdroid-manager/issues
    Key points about batch processing:
    1. When you select some apps and choose 'custom settings', only the settings relevant to the apps will be displayed (unless you choose 25+ apps; then it was too slow to work out which ones were relevant).
    2. Only those settings you select new values for will be changed. Those with no pressed buttons will be left alone.
    3. You can 'deselect' a button in batch mode by pressing it again (effectively clearing that setting row, so it will not be changed).
    4. Batch processing can be a bit slow, but unfortunately that is a consequence of the Privacy service to which PDroid Manager connects. I have modified this service to improve performance, but I'm still testing the changes so the app does not require those modifications.
    5. You can't avoid overriding the 'logging' and 'notification' settings when doing batch processing at this stage. I will resolve this soon.

    2012-12-07: v0.2.8 ALPHA
    This is a minor update: It provides an updated German translation from TamCore, and
    Changes
    • Updated German translation from TamCore,
    • fixes the Application List scrolling back to the top when you open details for an application, thus losing your place.
    Known bugs
    • When multiple apps are installed one after the other, the notification to update settings of previous installations is replaced (rather than additional icons appearing). Still.
    • The app will probably crash if PDroid is not installed. Still.
    • I think there is still something funny going on with the 'trust' indicator after you save an app, but that may be a new issue. Still.
    • App names in the application list don't get reloaded when the phone locale changes, which means they stay in the old language until manually refreshed. Still.
    Also see my github list: https://github.com/wsot/pdroid-manager/issues

    2012-12-03: v0.2.7 ALPHA
    A couple of new features in this one, and returning to just one version (rather than multilingual and English). The backup and restore features are shiny and new, and *should* work, but be cautious when using them. I've tried them out quite a bit, with custom settings etc, but there could be bugs there that will cook all your PDroid settings. If you find one, please, please report it (see the section on reporting bugs).
    Changes
    • Added a 'preferences' screen, with 'About' box, 'Credits', and a link to this thread
    • Added language selection (i.e. overriding phone language), again in the preferences screen. Note that for the language to change, you need to force-close and restart PDroid Manager after switching languages. I'm looking at how to resolve this.
    • Added backup and restore of settings. This requires access to your external storage, hence the new permission. I will be adding supporting code at some stage to allow a separate version without backup and restore to be easily generated for those who are uncomfortable with SDcard access by the app. You can read more details about the backup approach in the Why does it need permission to access my SDCard? and Isn't doing backups to the external storage really insecure? Couldn't another program edit my backups? sections.
    Known bugs
    • When multiple apps are installed one after the other, the notification to update settings of previous installations is replaced (rather than additional icons appearing). Still.
    • The app will probably crash if PDroid is not installed. Still.
    • I think there is still something funny going on with the 'trust' indicator after you save an app, but that may be a new issue. Still.
    • App names in the application list don't get reloaded when the phone locale changes, which means they stay in the old language until manually refreshed. Still.
    Also see my github list: https://github.com/wsot/pdroid-manager/issues


    2012-11-30: v0.2.6 ALPHA
    This release has two versions: Forced English (PDroid_Manager_0.2.6_en) and multilingual (PDroid_Manager_0.2.6_multilingual). The multilingual will automatically use the language matching the phone where possible. The 'en' version uses the exact code I intend to apply to allow users to override the automatic language selection. Basically, this is the same as having a button to force the app to always use English, except the button isn't on the user interface and is always pressed. If you find this isn't always showing English, please let me know so I can fix it.
    Changes
    • Incorporated updated help text (fine work by wbedard, to which I made minor edits. Thus, errors are probably mine not wbedards).
    • Added German translation (thanks to TamCore) and French translation (thanks to patrickpr on GitHub; note I removed a few words from the translations because the English help text changed, so may have introduced gramattical errors into patrick's French).
    • Added automatic language data re-loading. To optimise speed, some language-specific text is stored in the database. To make sure that stays up to date, the App will check if the language has changed, and regenerate that database data if it has. If this doesn't happen for you, and the interface stays in English when you switch your phone to German, etc, please report it..
    • Added different button sizes for 'large' vs 'non-large' devices. This means that buttons will appear larger on most 7-inch tablets (and maybe 10-inch tablets too; my 10-inch isn't working right now) than on phones.
    • Modified the code to use Android 'Fragments': hopefully, this will be invisible to users at this stage; however, in future it will allow easier development of a multi-panel tablet interface. This is a pretty major change, so may have introduced bugs. Sorry.
    • Updated notification bar icon to match Google's style guide.
    Known bugs
    • When multiple apps are installed one after the other, the notification to update settings of previous installations is replaced (rather than additional icons appearing). I will fix this soon, honestly.
    • The app will probably crash if PDroid is not installed.
    • I think there is still something funny going on with the 'trust' indicator after you save an app, but that may be a new issue.
    • App names in the application list don't get reloaded when the phone locale changes, which means they stay in the old language until manually refreshed. I'm undecided as to whether to I consider this a bug or not. Feedback (or patch to fix it) welcome.
    Also see my github list: https://github.com/wsot/pdroid-manager/issues

    2012-11-25: v0.2.3 ALPHA
    Changes
    • Added improved text for the access notifications
    • Added a help button for each setting with a summary of what the setting does (I know it is ugly, and I plan to fix that soon).
    • The application list status indicator should now work under all normal circumstances
    • Dialogs have been added when loading, saving etc. to avoid interactions that could cause crashes
    Known bugs
    • When multiple apps are installed one after the other, the notification to update settings of previous installations is replaced (rather than additional icons appearing).
    • The app will probably crash if PDroid is not installed.
    Also see my github list: https://github.com/wsot/pdroid-manager/issues

    2012-11-19: v0.2.2 ALPHA
    Changes
    • Re-added some debug logging (but still much less than was there originally).
    • Added the ability to delete privacy settings from an app, both in the application settings detail screen, and on the long-press menu on the application list.
    • The application list status indicator (i.e. trusted, untrusted, no settings) now updates after the long-press menu is used, or the settings are changes in the detail display
    • An 'all' option has been edited when filtering by the type of settings (e.g. messaging, media, etc).
    Known bugs
    • The trusted/untrusted is sometimes incorrect - 'trusted' apps may appear as 'untrusted'.
    • When multiple apps are installed one after the other, the notification to update settings of previous installations is replaced (rather than additional icons appearing).
    • The app will probably crash if PDroid is not installed.
    Also see my github list: https://github.com/wsot/pdroid-manager/issues

    2012-11-16, later: v0.2.1 ALPHA
    • Removed writing to the device log (so logcat will not be hideously large)
    10
    Contribution to PDroid Manager acknowledgements (in alphabetical order):
    • mateorod: testing assistance, great ideas, building Autopatcher.
    • patrickpr: French translation
    • TamCore: contributing Android.mk, markdown for tables in README.md which were unreadable, German translation
    • wbedard: textual descriptions of the individual settings
    10
    Still playing with the 2e version. I like what you have done with this a lot. Having an open source version will keep us from being in-between working versions, like we were between gingerbread and the auto-patcher release.

    An open source alternative like this keeps that from ever happening again.

    I had noticed that CollegeDev had not added preloaded-classes to his PDroid2.0 build patches, a potential security leak. Without any access to the source or even version control with the patches I didn't have much recourse to correct the issue. I was left to suggest it in his thread and hope for the best. While he never brought it up again, I did finally see that the suggested change was integrated, but it struck me that having version control for the patches would be for the best as well.

    In the spirit of having the entire process open AND available, I have pushed repos for the updated original PDroid patches, worked on by pastime1971 with some help from me, and the PDroid2.0 build patches (which I call PDroidCorePatches) by CollegeDev (which are already open-source, just not available with version control AFAIK) pushed as well.

    If CollegeDev or you update the build patches for 4.2, we can either use those repos or start new ones, if necessary. But I am more than willing to add read/write to both of you. Wbedard has ported the PDroidCore patches to AOSP, but I will wait and see if he wants to put up a repo first before adding a new one (or possiibly a aosp-4.1.2 branch).

    My hope is that the move towards complete open-source could galvanize all of us who work on PDroid to work together instead of splitting our efforts...we'll see how that goes.

    Anyway, great job! I will eventually push the entire history (gingerbread to today) but for right now only 4.1.2 is up.

    Original PDroid
    PdroidCore

    If anyone who has been working with us on Pdroid wants push access, pm me. Anyone who wants to contribute that I don't know yet, submit a pull request and we'll get to know you.

    I think having the patches be attached to the same repo as the Auto-patcher and smali patches makes sense, but I am open to suggestion.
    10
    can you please upload here too? i´m on dualboot an want to test my patch on 2nd rom... i don´t want to setup my googleaccout there.

    I am looking at your issue from the other thread, but in the meantime here is the apk. I am also rebuilding the new CM10.2 patches today.

    I have requested to be allocated a new OP for this thread as well as OpenPDroid thread. We will just have to see if they allow that. For now, if you see anyone ask, the app can be found here. I am looking into creating a small landing page for the project somewhere..but we'll see.
    9
    Hi all,

    I just wanted to let everyone know that I haven't forgotten PDroid Manager, and indeed I'll be doing a new release in the next few days (although that will simply contain Hungarian language support, a few updates to Russian language, and a change to logging).
    I'm currently a bit tied up with other (PDroid-related) development, which is why there hasn't been another PDroid Manager release with new planned features, but I will be getting back to PDroid Manager soon to add things like profile support.

    If anyone is interested in doing any development work on PDroid Manager, then feel free to contact me via PM to discuss possible avenues of development, additional language support, etc.

    Key areas that I would be happy to get input or contributions on are:
    Improving returning to the correct place in the list after openining/modifying settings
    Text-based app list filtering (i.e. having a text-based search by application name on the app list)
    Additional filtering options (e.g. 'trusted', 'untrusted', 'no settings'; specific settings; specific permissions; etc.)
    Profile support (i.e. creating 'sets' of PDroid settings which can be applied to apps, such that when the profile changes, all the apps which use that profile are updated also).

    I will get to all of these at some point, probably in the order they are listed above, but if anyone wants to contribute code (or interface wireframes for the new features; or pretty much anything else really) then please do PM me so we can work out how to go about it.

    One other thing which I would be very happy to get input on is a plug-in architecture for PDroid Manager, so that plug-ins could 'register' new settings and then be notified of the value of the new setting when an app is updated. An example of this could be adding settings for allowing or denying various types of internet access using IPTables: I don't plan to build IPTables support into PDroid Manager at this point (because tools like AFWall+ provide functionality to support this quite well already) but a plug-in architecture which would allow for someone else to produce a plug-in feature for PDroid Manager would certainly be welcome. It isn't a high priority for me yet, because I think that the things listed above are more important, but if someone else were really eager to have such a feature then I would be happy to discuss designs for it or adopt code into PDroid Manager to do it (the plug-in architecture that is, not building IPTables support into the PDroid Manager app itself).

    More generally, I'm also open to feature suggestions: you can certainly post them here in the thread for discussion.

    Anyway, I hope you're all enjoying using PDroid Manager, and I will be continuing development of it in the near future.