[PDroid] ICS/JB port of PDroid framework

How well does PDroid framework work on ICS ?

  • fully (100%)

    Votes: 60 37.7%
  • well

    Votes: 31 19.5%
  • fine

    Votes: 24 15.1%
  • barely

    Votes: 13 8.2%
  • hardly

    Votes: 6 3.8%
  • not at all (0%)

    Votes: 25 15.7%

  • Total voters
    159
Search This thread

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
Okay, this is where I am so far:

I have PDroid, the app itself, up and running. However, it doesn't appear to be actually blocking the apps from permissions. For example, I blocked OS Monitor from Network Info and System Logs but it still shows both. It says I have the 1.32 app and the 1.27 patch, but since you link to the market version, I don't think that is the problem.

Big steps though. Any advice? I did repo sync before I compiled with the patches which pulled in all the 4.04 stuff from Cyanogen, if that could make a difference. There are a number of changes to the base, although why that would matter I couldn't say.

Thanks for the work making this get this far!

Edit: Jeez, I didn't give hardly any info, did I? Okay. Cm9 Nook Color, only used your CM9 patch. I did the longer set of commands, the ones that let it compile correctly. My directory was in android/system/build but who cares, I guess. Let me know if you need any more info.
 
Last edited:

pastime1971

Senior Member
Apr 25, 2011
1,893
1,076
Plesanton, CA
Okay, this is where I am so far:

I have PDroid, the app itself, up and running. However, it doesn't appear to be actually blocking the apps from permissions. For example, I blocked OS Monitor from Network Info and System Logs but it still shows both. It says I have the 1.32 app and the 1.27 patch, but since you link to the market version, I don't think that is the problem.

Big steps though. Any advice? I did repo sync before I compiled with the patches which pulled in all the 4.04 stuff from Cyanogen, if that could make a difference. There are a number of changes to the base, although why that would matter I couldn't say.

Thanks for the work making this get this far!

Edit: Jeez, I didn't give hardly any info, did I? Okay. Cm9 Nook Color, only used your CM9 patch. I did the longer set of commands, the ones that let it compile correctly. My directory was in android/system/build but who cares, I guess. Let me know if you need any more info.

if framework was not correctly patched, the app would complain. so, i think it must be working.
could you try to block something else and see if that works ?

edit: ok, i can confirm what you describe on OS Monitor app. honestly, i do not know what "Network Info" means. (you can ask about it in svyat's thread.)

edit: i don't think that it necessarily means PDroid isn't working. i blocked accounts from g+ and g+ can't log in. could you try other settings for other apps ?
 
Last edited:

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
Hmmm. I tried several before I boosted. Google Maps still finds my location with everything blocked. It asked me to turn on my GPS first, but there I was.

I had a couple other similar situations. What apps are working for you? Google Plus?

I am gonna look and see if I still have PDroid 1.27 in my Titanium Backup records, and try that.

I reread your request more carefully. I will try some apps that need account info. Maybe some permissions are getting blocked and some aren't? Might take me a minute, I need to restore the patched system apps through Botbrew.
 
Last edited:
  • Like
Reactions: pastime1971

pastime1971

Senior Member
Apr 25, 2011
1,893
1,076
Plesanton, CA
Hmmm. I tried several before I boosted. Google Maps still finds my location with everything blocked. It asked me to turn on my GPS first, but there I was.

I had a couple other similar situations. What apps are working for you? Google Plus?

I am gonna look and see if I still have PDroid 1.27 in my Titanium Backup records, and try that.

I reread your request more carefully. I will try some apps that need account info. Maybe some permissions are getting blocked and some aren't? Might take me a minute, I need to restore the patched system apps through Botbrew.

also confirm what you describe on google map.
it is alarming that i blocked everything, and mostly it shows that access blocked, but then once in a while it shows a toast saying access allowed. (i'm not sure if it is correct)

well, it could mean that my "porting" is not perfect. LocationManager part is the only thing that i had to improvise when i did the porting.

i will try to do more testing this weekend.

and thank you very much for testing it and sharing it w/ me. (apparently, this needs more testing and debugging)
 
Last edited:

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
Well no shame in that! You were right upfront with the fact it needed some more testing. I had been looking at working on some Pdroid patch stuff once the app was upgraded for ICS and the fact that some work towards that end has been accomplished makes me hopeful its coming. I will keep an eye on this and will keep trying the progress.
 

pastime1971

Senior Member
Apr 25, 2011
1,893
1,076
Plesanton, CA
Well no shame in that! You were right upfront with the fact it needed some more testing. I had been looking at working on some Pdroid patch stuff once the app was upgraded for ICS and the fact that some work towards that end has been accomplished makes me hopeful its coming. I will keep an eye on this and will keep trying the progress.

g map does show the location, but it doesn't find it. swipe the map and press the top right button, and it doesn't center it to the current location. g map complains and says something about "to enable my location setting..." does g map remember its last location ? compass does work (i guess that is normal)

edit: just checked the logcat. with location blocked, gps is not accessed (i don't see any of D/gps_BRCM) after unblocking it, map accesses gps constantly. it is as if map remembers the last known location. i will keep it blocked, and see if the location changes tomorrow when i'm at work...
 
  • Like
Reactions: mateorod

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
I am having trouble removing the patch from my build following your remove instructions. As I go through the commands it reads "not removing /privacy" after the frameworks step.

My build keeps breaking with a make error 41, with all of the printed errors relating to a privacy file. When I went back through the steps again, it still said not removing privacy, but then said no projects were using branch Pdroid.

Is is completely removed and the problem on cyanogen's aide, do you think?

I could make clobber, but that takes forever on the virtual machine I am using. Just wondering if there was a step that got rid of /privacy as well,
 

pastime1971

Senior Member
Apr 25, 2011
1,893
1,076
Plesanton, CA
I am having trouble removing the patch from my build following your remove instructions. As I go through the commands it reads "not removing /privacy" after the frameworks step.

My build keeps breaking with a make error 41, with all of the printed errors relating to a privacy file. When I went back through the steps again, it still said not removing privacy, but then said no projects were using branch Pdroid.

Is is completely removed and the problem on cyanogen's aide, do you think?

I could make clobber, but that takes forever on the virtual machine I am using. Just wondering if there was a step that got rid of /privacy as well,

you probably need to do "make clobber" once you remove pdroid from your build.
otherwise, intermediate files will still remain in out folder. (i was told that in many cases, you need to make clobber on ICS)

edit: updates on G-MAP. it looks like GMAP also gets the location from wifi. i don't know the detail but wifi part is separate from the network location (which is cellular ?) i am going to ask svyat about it.
also see http://xdaforums.com/showpost.php?p=24182055&postcount=1109
 
Last edited:
  • Like
Reactions: mateorod

pastime1971

Senior Member
Apr 25, 2011
1,893
1,076
Plesanton, CA
whenever launching google map, events logcat shows
Code:
I/am_create_task( 1294): 19
I/am_create_activity( 1294): [1098351576,19,com.google.android.apps.maps/com.google.android.maps.MapsActivity,android.intent.action.MAIN,NULL,NULL,270532608]
I/am_pause_activity( 1294): [1096930672,com.cyanogenmod.trebuchet/.Launcher]
I/binder_sample( 1883): [android.app.IActivityManager,3,119,com.cyanogenmod.trebuchet,23]
I/am_on_paused_called( 1883): com.cyanogenmod.trebuchet.Launcher
I/am_restart_activity( 1294): [1098351576,19,com.google.android.apps.maps/com.google.android.maps.MapsActivity]
I/am_on_resume_called( 9767): com.google.android.maps.MapsActivity
I/binder_sample( 1883): [android.app.IActivityManager,19,166,com.cyanogenmod.trebuchet,33]
I/activity_launch_time( 1294): [1098351576,com.google.android.apps.maps/com.google.android.maps.MapsActivity,230,230]
I/binder_sample( 9767): [android.view.IWindowSession,10,17,com.google.android.apps.maps,3]
I/google_http_request( 9767): [228,200,Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; LG-P990 Build/GRJ22) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30,1]
I/google_http_request( 9767): [238,200,Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; LG-P990 Build/GRJ22) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30,1]
I/wifi_event_handled( 1294): 131144
I/wifi_event_handled( 1294): 131085
I/wifi_event_handled( 1294): 131149
I/wifi_event_handled( 1294): 131144
I/wifi_event_handled( 1294): 131085
I/wifi_event_handled( 1294): 131149
I/google_http_request( 9767): [254,200,Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; LG-P990 Build/GRJ22) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30,1]
I/google_http_request( 9767): [98,200,Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; LG-P990 Build/GRJ22) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30,1]
I/google_http_request( 9767): [204,200,Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; LG-P990 Build/GRJ22) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30,1]

why does GMAP send http request ?
 
Last edited:

pastime1971

Senior Member
Apr 25, 2011
1,893
1,076
Plesanton, CA
http://androidforums.com/samsung-i7500/9257-using-wireless-networks-location.html
ressu said:
It is quite easy to get confused with the various location detection methods. And there are reasons why some of them send information to google..

First, lets cover the 3 types of location detection:

* Wi-Fi based
* Network Cell based
* GPS based


Wi-Fi based is the least accurate (well, it can get pretty accurate if trained properly). It's based on information that is given out to the network by your IP address. This is the one that needs to send data to google to figure out where you are. In theory the IP address given to you is sent to google and google then figures out from the address your general location. The location can also be wrong, for my home network it's generally some 300km wrong... NAT doesn't help this process. Computers behind a NAT connection are detected as coming from a single point, which is the location of the IP address that is visible to the rest of the world. I'm assuming google has arranged for an internal locator for large operators that do large scale NAT, so that they can actually see the location from inside the network. But in the end, this is just a guess.

GSM network based location doesn't need a connection to google. The way this works is that each tower has an identifier and the phone is able to calculate a general location based on it's relation to neighboring towers. This is the way how mobile phones are traced to certain location from the network side as well. It's also worth noting that Google Maps uses this information as the only source of location information on phones that do not have a GPS. It's generally rather accurate in cities, but less accurate elsewhere (due to the increasing distance between towers).

GPS based location is your phone listening in to the GPS satellites and calculating the location in relation to those satellites. In essence it's the same thing as GSM network based location but in a bigger scale and with data that has been designed for geolocation.

So, there you have it. I hope that clears up a bit why data is sent to google. You should also keep in mind that i'm not an authority on these fields and all of this information is second hand information...

In the end WiFi information is the easiest to retreive since the phone is likely to have an active internet connection most of the time. Next is the GSM network based since you already have the information about towers and neighbors, but the calculations need to be done. GPS is the most tricky one since you need to obtain a fix for information that is not present already. The phone needs to figure out where it is, where are the satellites in relation to the phone and so on before it can provide any data, not to mention accurate data.

edit: also read http://money.cnn.com/2011/11/15/technology/google_wifi/index.htm
 
Last edited:

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
man, stuff like this is why I would like to have Pdroid working 100%. I used Pdroid in conjunction with Droid wall, and the amount of packets going through the Google apps is pretty staggering. I am pretty sure that maps couldn't get a fix on my position at all when fully blocked with Pdroid in cm7, though I can't swear to that.

I think maps is logging in your Google account. The integrated search history and all that. That's why I never signed up for +. They tie any and all info going through any of their services to create profile and preference history, the better to sell you stuff. The http is probably an auto-logging done through your ics setup info.
 
  • Like
Reactions: pastime1971

pastime1971

Senior Member
Apr 25, 2011
1,893
1,076
Plesanton, CA
man, stuff like this is why I would like to have Pdroid working 100%. I used Pdroid in conjunction with Droid wall, and the amount of packets going through the Google apps is pretty staggering. I am pretty sure that maps couldn't get a fix on my position at all when fully blocked with Pdroid in cm7, though I can't swear to that.

I think maps is logging in your Google account. The integrated search history and all that. That's why I never signed up for +. They tie any and all info going through any of their services to create profile and preference history, the better to sell you stuff. The http is probably an auto-logging done through your ics setup info.

you may be right.
the current implementation seems to cause some exceptions mostly about privacy settings.db. so, there could be a leak. maybe that is why it is not 100% working.
if that is the case, we need more devs to look at the code. (my implementation probably isn't perfect.)

edit: this is my guess. so maybe not true. another possibility is that GMAP works around the Network Location Manager by communicating with its server. it may trace ip routes and determine the location.
 
Last edited:
  • Like
Reactions: mateorod

pastime1971

Senior Member
Apr 25, 2011
1,893
1,076
Plesanton, CA
confirmed that PDroid blocks google map correctly on CM7.2

the following could be why it leaks on CM9.0
Code:
E/PrivacyPersistenceAdapter( 1656): getSettings - failed to get settings for package: com.google.android.apps.maps

edit: i see the same behavior on CM7.2. see post 41
 
Last edited:
  • Like
Reactions: mateorod

wkwkwk

Senior Member
Jun 28, 2008
359
76
in CM9 on i9100 it seems to block location properly in Google Maps.
At least if I set in droid random (or custom) values, GMaps shows the value I've put in PDroid.

Any way I can test this more thoroughly?
 
  • Like
Reactions: pastime1971

mateorod

Inactive Recognized Developer
Nov 16, 2011
1,981
3,503
New Orleans
www.gigmasters.com
Interesting. I have been thinking about this some and may betray my lack of knowledge about how PDroid works, but anyway...

I know that for the Nook, our kernel is still under development and, for instance, in CM9 NAT is not pre- configured. That means that things like Proxy grabber doesn't work, and Droid wall doesn't work.

Does your device have a stock ICS ROM? Every device is at a different stage of development. I am rebuilding my kernel today and am going to try and enable the above apps. If they work, I will give this another try.

Also, I think there is some incomplete info in your patch removal steps. After abandoned the branch, like I said, the /privacy was shown as not removed. And when I clobbered and tried to re-repo sync, the repo complained of error reading objects (the objects had names that looked like MD5 sums). The repo sync competed, but clean builds would still fail, with an error 41 with the bug notes referencing the privacy stuff.

Could just be me, but I had to redo my whole build environment. Next time you remove the patches, let me know if you're successful when you next build.
 
  • Like
Reactions: pastime1971

pastime1971

Senior Member
Apr 25, 2011
1,893
1,076
Plesanton, CA
Also, I think there is some incomplete info in your patch removal steps. After abandoned the branch, like I said, the /privacy was shown as not removed. And when I clobbered and tried to re-repo sync, the repo complained of error reading objects (the objects had names that looked like MD5 sums). The repo sync competed, but clean builds would still fail, with an error 41 with the bug notes referencing the privacy stuff.

Could just be me, but I had to redo my whole build environment. Next time you remove the patches, let me know if you're successful when you next build.

you are right. frameworks/base/privacy/ directory still remains after "git clean -f"
it will have to be "git clean -df"
 
Last edited:
  • Like
Reactions: mateorod

Top Liked Posts

  • There are no posts matching your filters.
  • 71
    For JB 4.2.1, see "OpenPDroid" thread by FFU5y

    This is to port PDroid 1.32 source code to ICS and JB (4.1.2) in AOSP, CM, AOKP.

    :) PDroid is the privacy protection framework (see svyat's PDroid thread). All the credit goes to svyat. I am just porting his source code to ICS.

    :) I am using CM9/CM10 on LGE P990, and that is my platform of "development". All the credit goes to CM team.

    Source code patch : http://code.google.com/p/pdroid/
    Download : PDroid app on the market, https://play.google.com/store/apps/details?id=com.privacy.pdroid
    Download : PDroid app (there is a direct download link at svyat's PDroid thread)

    # Jellybean (JB can't find the app from market any more. use the direct link above)
    Download : PDroid source code patch v1.32 for JB AOSP 4.1.1, http://www.mediafire.com/?cxe43zko42io4d6 (needs to split framework.jar into two files)
    Download : PDroid source code patch v1.32 for CM10 (4.1.1), http://www.mediafire.com/?5ox50wyse49p32s
    Download : PDroid source code patch v1.32 for CM10 (4.1.2), http://www.mediafire.com/?48bzsiufn74q7yo

    # Icecream sandwich
    Download : PDroid source code patch v1.32 for ICS AOSP 4.0.4, http://www.mediafire.com/?sjh8dmwcfbkeix8
    Download : PDroid source code patch v1.32 for CM9.0, http://www.mediafire.com/?ikw8qxsvkmiglh2

    # Gingerbread
    Download : PDroid source code patch v1.32 for CM7.2 , http://www.mediafire.com/?ddfz9b3eihm4i9h

    How to compile (simple) : it may potentially break git/repo
    cd ~/android
    repo sync -j16
    patch -p1 < ~/build.diff
    patch -p1 < ~/libcore.diff
    patch -p1 < ~/frameworks.diff

    . build/envsetup.sh
    brunch <DEVICE_TARGET>
    if your rom doesn't support brunch, then do lunch <DEVICE_TARGET> and then make otapackage
    for building modules only you can do make framework core services

    How to compile (under git)
    # removing previous compile
    cd ~/android; rm -rf out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/privacy/ out/host/common/obj/JAVA_LIBRARIES/layoutlib_intermediates/classes/android/privacy/
    #[OR] cd ~/android; make clobber
    # removing previous patch
    cd ~/android/build; git checkout . ; git clean -df
    cd ~/android/libcore; git checkout . ; git clean -df
    cd ~/android/frameworks/base; git checkout . ; git clean -df
    cd ~/android; repo abandon pdroid; repo sync -j16
    # applying pdroid patch
    cd ~/android/build; git checkout -b pdroid; patch -p2 < ~/build.diff;
    cd ~/android/libcore; git checkout -b pdroid; patch -p2 < ~/libcore.diff
    cd ~/android/frameworks/base; git checkout -b pdroid; patch -p3 < ~/frameworks.diff
    cd ~/android; . build/envsetup.sh; brunch <DEVICE_TARGET>

    see http://xdaforums.com/showpost.php?p=31525268&postcount=662 for 65536 method limit in framework.jar

    Current status:
    it should compile normally. ( @hide added )
    logcat shows some errors and exceptions. (possibly due to database api change)
    this is a work in progress, and therefore it needs more thorough testing ... your contribution is greatly appreciated.
    2012.04.06. updated to 1.32
    2012.04.08. @hide added to PhoneStateListener public methods to fix AOSP 4.0.4 compile error
    2012.05.07. CM9 patch updated to fix the error due to recent change in ActivityManager

    Binary smali patch:
    now we have a working smali patcher, see post #4.

    Screenshots
    picture.php
    picture.php
    picture.php
    28
    Other ROMs

    other ROMs
    auto_patcher
    this patch has evolved to a more general one with a capability to patch many (pdroid & v6supercharger at the moment) at once. (see http://xdaforums.com/showthread.php?t=1719408)


    pdroid_patcher
    latest version: alpha v0.5.0 patches 2012.06.16. (md5sum= d7f13959858795562ed8df82d04236a0)
    it works on linux for CM9 and AOKP. (other ROMs coming later)
    it also supports CM7 (and hopefully other GB ROMs as well)
    credit goes to mateorod for patch and script, me for scripting, and svyat for this awesome work on PDroid 1.32

    Prerequisite
    1. set up linux vm if you don't have a linux machine
    2. install the linux packages "jdk" (and "jdk-devel" depending on linux distro) if missing "java" or "jar" (openjdk works as well as sun java jdk)
    3. install the linux command "patch" if missing (see below)

    HOW TO PATCH: (linux only)
    1. download pdroid smali patcher for linux (see above)
    2. unzip
    3. run it by "./pp/pdroid_patcher YOUR_ROM_ZIP {PATCH}" (optional argument PATCH if you need to specify which patch to use, where PATCH is cm9, aokp, etc.)
    4. flash pdroid.zip with CWM to install pdroid patched framework (flash restore.zip if you want to revert back to original)

    HOW TO VM see robjective's post http://xdaforums.com/showpost.php?p=27241458&postcount=37
    HOW TO INSTALL TOOLS if you encounter "Missing patch diff tools" error, see http://xdaforums.com/showpost.php?p=26388234&postcount=422

    Change Log (incomplete)
    # 2012.05.00. (v0.1)
    # ...........
    # 2012.05.12. (v0.2) allows user to specify a different version of patches
    # 2012.05.13. (v0.3.0) force "patch -N", remove temp upon failure, generate log output
    # 2012.05.13. (v0.3.1) revised the generation of updater-script (SGS2)
    # 2012.05.15. added AOSP patches
    # 2012.05.15. added crespo-aosp patches, added device-specific patching if patch exists
    # 2012.05.15. remove restore.zip upon failure
    # 2012.05.15. (v0.4.1) added CM7 (GB) patches
    # 2012.05.18. (v0.4.2) added checking for tool commands
    # 2012.05.21. (v0.4.3) apply device specific patches only when specified, removed crespo-*.patch
    # 2012.05.31. (v0.4.4) CM9 patches updated, crespo-asop-*.patch added
    # 2012.06.04. (v0.4.5) added checking tools and rom, added aroma installer support
    # 2012.06.15. CM9 patches updated
    # 2012.06.16. AOKP patches updated
    # 2012.06.17. (v0.5.0) patcher script restructured

    edit: please feel free to post a link to your ICS ROM if you get it to work w/ PDroid :)
    16
    CyanogenMod 9

    the purpose of this kang is to test PDroid on ICS, not to provide another ICS rom for LG P990.

    PDroid/CM9/P990 (2012.06.26.) : http://www.mediafire.com/?3o736y3qy2v81y8

    known issues of PDroid
    google map can still find your location by its own network location service.
    (v1.32 fixes issues of alarm, yandex map, etc.)

    known issues of CM9
    web browser crashes upon rotation (flash libs.zip for a dirty hack fix)
    no hardware acceleration support
    no camcorder support
    mobile data issue (mobile data is lost after a while)

    change log
    2012.03.20. fixed wifi DHCP renewal issue
    2012.03.30. updated pdroid source to 1.32
    2012.04.02. CM9.0 updated to android 4.0.4

    CM9 other devices
    the source patch in post #1 should compile for any device and CM9.
    confirmed devices : i9100, nook color, crespo4g, p930, P1000/N/L, vibrantmtd(AOKP), fascinate (AOKP), Galaxy Nexus (AOKP)

    blind build of CM9 for other devices (untested. i do not own these devices.)
    Samsung Maguro : http://www.mediafire.com/?g7klyf5ccu21ptm
    LGE P930 CM9 : http://www.mediafire.com/?ow1y71l9axopa57
    LGE P999 CM9 : http://www.mediafire.com/?5hxkigwgo354jd4
    :) also read mateorod's post for an easy instruction how to use botbrew ! (big thanks to mateorod and inportb, who developed Botbrew)
    11
    Development notes

    dev note (suggestion/criticism welcomed)

    ICS changed framework, substantially in frameworks/base/core/java/android/app/ContextImpl.java, in terms of how service is registered and how to access static outer context.
    i added getStaticOuterContext() to address this issue. (any comment on it ?)

    JB changed framework again, splitted frameworks/base/services/java/com/android/server/am/BroadcastQueue.java off frameworks/base/services/java/com/android/server/am/ActivityManagerService.java
    again, added mContext to store context in BroadcastQueue.java
    11
    Since I know some people still end up at this thread, and because this thread was such a big part of keeping PDroid alive, I wanted to let people know that I have pushed all the build patches from the OP to the OpenPdroid github page.

    The patches are the same, except they have all been remade to apply in a standard manner. The directions are on each branches README (branches are by Android version and are occasionally split between AOSP and CM/custom) and follow the directions given by pastime1971 on the OP of this thread.

    I also found, rebuilt, and pushed svyat's original PDroid framework commit history, so I think I have pretty much got the whole project preserved under one repo.

    Thanks to everyone who worked with us; the list is long.

    Here is my post on the OpenPDroid thread, with links to our repos.