Giter Site home page Giter Site logo

pdroid-manager's Introduction

pdroid-manager

Preferred management app for OpenPdroid.

NOTE: THIS SOFTWARE IS PRERELEASE - IT IS CURRENTLY KNOWN TO HAVE BUGS (which you are welcome to fix).
Because of the signature protection used in other PDroid applications (e.g. PDroid 2.0 by CollegeDev), it is necessary to uninstall these other apps prior to installing PDroid Manager. I don't like it this way, but right now there is no straightforward and safe way to get around it.

Unless explicitly noted in the file headers, the following license applies:
Copyright (C) 2012 Simeon J. Morgan ([email protected])
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, see http://www.gnu.org/licenses.
The software has the following requirements (GNU GPL version 3 section 7):
You must retain in pdroid-manager, any modifications or derivatives of
pdroid-manager, or any code or components taken from pdroid-manager the author
attribution included in the files.
In pdroid-manager, any modifications or derivatives of pdroid-manager, or any
application utilizing code or components taken from pdroid-manager must include
in any display or listing of its creators, authors, contributors or developers
the names or pseudonyms included in the author attributions of pdroid-manager
or pdroid-manager derived code.
Modified or derivative versions of the pdroid-manager application must use an
alternative name, rather than the name pdroid-manager.

Contributions: alceasan: Spanish translation appelsson: Hungarian Translation
Beasty: Russian translation MPage/jpeg729: Subsequent French transaltion patrickpr: Initial french translation
TamCore: German translation, Android.mk, formatting of the tables in this file
wbedard: Help text in original English
Joris-NL: translations and string updates

Permissions are linked to one or more 'settings', which determine which operations may be performed (e.g. what function calls will return what data)
The current list of permissions, settings, and affected functions are:

Label Notification Setting var name Relevant permission
Device ID DATA_DEVICE_ID deviceIdSetting android.permission.READ_PHONE_STATE
Phone Number DATA_LINE_1_NUMBER line1NumberSetting android.permission.READ_PHONE_STATE
Sim Card Serial DATA_SIM_SERIAL simSerialNumberSetting android.permission.READ_PHONE_STATE
Subscriber ID DATA_SUBSCRIBER_ID subscriberIdSetting android.permission.READ_PHONE_STATE
Incoming Call Number DATA_INCOMING_CALL incomingCallsSetting android.permission.READ_PHONE_STATE
Outgoing Call Number DATA_OUTGOING_CALL outgoingCallsSetting android.permission.PROCESS_OUTGOING_CALLS
Call Phone DATA_PHONE_CALL phoneCallSetting android.permission.CALL_PHONE, android.permission.CALL_PRIVILEGED
Gps Location DATA_LOCATION_GPS locationGpsSetting android.permission.ACCESS_FINE_LOCATION
Network Location DATA_LOCATION_NETWORK locationNetworkSetting android.permission.ACCESS_COARSE_LOCATION, android.permission.ACCESS_FINE_LOCATION
Accounts DATA_ACCOUNTS_LIST accountsSetting android.permission.ACCOUNT_MANAGER, android.permission.MANAGE_ACCOUNTS, android.permission.GET_ACCOUNTS
Account Credentials DATA_AUTH_TOKENS accountsAuthTokensSetting android.permission.USE_CREDENTIALS, android.permission.ACCOUNT_MANAGER, android.permission.AUTHENTICATE_ACCOUNTS, android.permission.MANAGE_ACCOUNTS
Contacts DATA_CONTACTS contactsSetting android.permission.READ_CONTACTS
Call Log DATA_CALL_LOG callLogSetting android.permission.READ_CALL_LOG
Calendar DATA_CALENDAR calendarSetting android.permission.READ_CALENDAR
Access Sms DATA_SMS smsSetting android.permission.READ_SMS, android.permission.RECEIVE_SMS
Send Sms DATA_SEND_SMS smsSendSetting android.permission.SEND_SMS
Access Mms DATA_MMS mmsSetting android.permission.READ_SMS, android.permission.RECEIVE_SMS, android.permission.RECEIVE_MMS, android.permission.RECEIVE_WAP_PUSH
Send Mms DATA_MMS_SEND sendMmsSetting android.permission.SEND_SMS
Record Audio DATA_RECORD_AUDIO recordAudioSetting android.permission.RECORD_AUDIO
Camera DATA_CAMERA cameraSetting android.permission.CAMERA
Bookmarks and History DATA_BOOKMARKS bookmarksSetting com.android.browser.permission.READ_HISTORY_BOOKMARKS
System Logs DATA_SYSTEM_LOGS systemLogsSetting android.permission.READ_LOGS
Wifi Info DATA_WIFI_INFO wifiInfoSetting android.permission.ACCESS_WIFI_STATE
Start on Boot DATA_INTENT_BOOT_COMPLETED intentBootCompletedSetting android.permission.RECEIVE_BOOT_COMPLETED
Switch Network State DATA_SWITCH_CONNECTIVITY switchConnectivitySetting android.permission.CHANGE_NETWORK_STATE
Switch Wifi State DATA_SWITCH_WIFI_STATE switchWifiStateSetting android.permission.CHANGE_WIFI_STATE, android.permission.CHANGE_WIFI_MULTICAST_STATE
Force Online State DATA_NETWORK_INFO_CURRENT forceOnlineState android.permission.ACCESS_NETWORK_STATE
Sim Info DATA_NETWORK_INFO_SIM simInfoSetting
Network Info DATA_NETWORK_INFO_CURRENT networkInfoSetting
ICC Access DATA_ICC_ACCESS iccAccessSetting
IP Tables DATA_IP_TABLES ipTableProtectSetting
Android ID DATA_ANDROID_ID androidIdSetting

pdroid-manager's People

Contributors

appelsson avatar joris-nl avatar k1ee avatar mai77 avatar mateor avatar patrickpr avatar tamcore avatar tommienl avatar wsot avatar xlambchopsx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pdroid-manager's Issues

Camera app doesn't appear in PDroid Manager app list (Maguro)

Issue: the camera app doesn't appear in the list of apps in PDroid Manager.
Reason: the Camera app appears to actually be part of the 'Gallery' app. However, the expected behaviour is that both should appear in the list (even if they both point to the same underlying app).

There is no way to 'delete' the settings for an app, reverting it to default behaviour

Once you have created settings for an app, there is no way to delete those settings and thus revert the app to the default behaviour.

This isn't something I imagine people are very likely to want to do, but you never know.

Likely implementation methods I'll use:

  1. Add to the long-press menu a 'delete settings' option (although I'm worried that could be confusing).
  2. Add an option to the action bar for an app to delete the settings. Probably a trash-can or something.

Option to erase all settings

Workaround for the time being:

rm -R /data/system/privacy
rm -f /data/system/privacy.db
rm -f /data/system/privacy.db-journal

package android.privacy missing

I just tried to compile this (using ant) but it's missing android.privacy package. What is that? On a side note have you considered publishing the app on f-droid.org? One advantage is that they build the app so the burden of trust would be upon them instead of you.

When returning to the app list, doesn't return to where the user was previously

When the app returns to the app list from the app settings screen, the display returns to the top of the App list rather than jumping back to where the user was previously.

The user should be returned to the previous position no matter how they left the app settings screen (via back button, saving, closing, etc)

App settings not displayed correctly after reviewing them 2 times (CM10)

All my settings are being applied correctly, but they are all shown as "not blocked". This is slightly annoying, because I have no idea what settings are applied to all my apps, and I think some apps are seriously messed up due to pdroid blocking them without my knowledge.

How to reproduce:

  1. modify settings for an app and press "safe"
  2. view the settings of this app and go back to the app list by pressing "chancel" or the back button
  3. repeat step 2 one more time
    => now all settings are "not blocked", even though the modification from step 1 are still being enforced!

I tried uninstalling pdroid-manager, deleting the privacy databases and the folder, and re-installing pdroid-manager again. Then I tried the same again with rebooting after each step, without any change.
The ROM was installed freshly, after a factory reset and wiping of everything. The ROM is a modified CM10, patched with opendroid and pre-installed with pdroid-manager. I had pdroid 2.0 installed on my old ROM, but I hope all the resetting and wiping killed everything.

Here is my log for steps 1 to 3, that I tried out on 920 Text Editor (com.jecelyin.editor). I think the log is relatively clean and there is a cache miss happening (amongst other things). I also get a lot of "W/ApplicationContext( 1083): PDroid:ContextImpl: ContextImpl being created but already has sOuterContext" all the time (not related to this issue).

--------- beginning of /dev/log/main
W/System.err( 2288): PrivacyProcessManager: could not read privacy settings: systemLogsSetting
W/System.err( 2288): java.io.IOException: read failed: ESRCH (No such process)
W/System.err( 2288): at libcore.io.IoBridge.read(IoBridge.java:442)
W/System.err( 2288): at java.io.FileInputStream.read(FileInputStream.java:179)
W/System.err( 2288): at java.io.InputStreamReader.read(InputStreamReader.java:244)
W/System.err( 2288): at java.io.BufferedReader.fillBuf(BufferedReader.java:130)
W/System.err( 2288): at java.io.BufferedReader.readLine(BufferedReader.java:354)
W/System.err( 2288): at java.lang.PrivacyProcessManager$PrivacyFileReader.readLine(PrivacyProcessManager.java:175)
W/System.err( 2288): at java.lang.PrivacyProcessManager.hasPrivacyPermission(PrivacyProcessManager.java:48)
W/System.err( 2288): at java.lang.ProcessManager$ProcessImpl.(ProcessManager.java:343)
W/System.err( 2288): at java.lang.ProcessManager.exec(ProcessManager.java:300)
W/System.err( 2288): at java.lang.Runtime.exec(Runtime.java:168)
W/System.err( 2288): at java.lang.Runtime.exec(Runtime.java:123)
W/System.err( 2288): at org.jtb.alogcat.LogActivity.clear(LogActivity.java:415)
W/System.err( 2288): at org.jtb.alogcat.LogActivity.onOptionsItemSelected(LogActivity.java:363)
W/System.err( 2288): at android.app.Activity.onMenuItemSelected(Activity.java:2534)
W/System.err( 2288): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:977)
W/System.err( 2288): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
W/System.err( 2288): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149)
W/System.err( 2288): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
W/System.err( 2288): at com.android.internal.view.menu.ListMenuPresenter.onItemClick(ListMenuPresenter.java:166)
W/System.err( 2288): at android.widget.AdapterView.performItemClick(AdapterView.java:298)
W/System.err( 2288): at android.widget.AbsListView.performItemClick(AbsListView.java:1088)
W/System.err( 2288): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2861)
W/System.err( 2288): at android.widget.AbsListView$1.run(AbsListView.java:3535)
W/System.err( 2288): at android.os.Handler.handleCallback(Handler.java:615)
W/System.err( 2288): at android.os.Handler.dispatchMessage(Handler.java:92)
W/System.err( 2288): at android.os.Looper.loop(Looper.java:137)
W/System.err( 2288): at android.app.ActivityThread.main(ActivityThread.java:4931)
W/System.err( 2288): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 2288): at java.lang.reflect.Method.invoke(Method.java:511)
W/System.err( 2288): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
W/System.err( 2288): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
W/System.err( 2288): at dalvik.system.NativeStart.main(Native Method)
W/System.err( 2288): Caused by: libcore.io.ErrnoException: read failed: ESRCH (No such process)
W/System.err( 2288): at libcore.io.Posix.readBytes(Native Method)
W/System.err( 2288): at libcore.io.Posix.read(Posix.java:118)
W/System.err( 2288): at libcore.io.BlockGuardOs.read(BlockGuardOs.java:149)
W/System.err( 2288): at libcore.io.IoBridge.read(IoBridge.java:432)
W/System.err( 2288): ... 31 more
I/System.out( 2288): tainted command part 0: logcat
I/System.out( 2288): tainted command part 1: -v
I/System.out( 2288): tainted command part 2: brief
I/System.out( 2288): tainted command part 3: *:V
--------- beginning of /dev/log/system
W/InputMethodManagerService( 412): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@2bc14638 attribute=android.view.inputmethod.EditorInfo@2bcec668
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: Cache hit for com.bartat.android.elixir
V/PDroidAlternative( 1083): NotificationHandler: Notification for: com.bartat.android.elixir:networkInfoCurrent:0
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: Cache hit for com.bartat.android.elixir
V/PDroidAlternative( 1083): NotificationHandler: Notification for: com.bartat.android.elixir:networkInfoCurrent:0
D/Instrumentation( 1083): PDroid:Instrumentation:execStartActivity: execStartActivity for net.digitalfeed.pdroidalternative
I/ActivityManager( 412): START {cmp=net.digitalfeed.pdroidalternative/.AppDetailActivity (has extras) u=0} from pid 1083
W/ApplicationContext( 1083): PDroid:ContextImpl: ContextImpl being created but already has sOuterContext
W/ApplicationContext( 1083): PDroid:ContextImpl: ContextImpl being created but already has sOuterContext
D/PDroidAlternative( 1083): Looking up package name: com.jecelyin.editor
D/PDroidAlternative( 1083): Application.fromDatabase: Loading package: com.jecelyin.editor
D/PDroidAlternative( 1083): Application.fromDatabase: Loaded package from DB
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: Cache miss for com.jecelyin.editor
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: Increment DB access threads: now 1
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:closeIdleDatabase: Opening privacy database
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: ReadLock: (pre)lock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: ReadLock: (post)lock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: ReadLock: (pre)unlock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: ReadLock: (post)unlock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:closeIdleDatabase: Decrement DB access threads: now 0
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:closeIdleDatabase: Closing the PDroid database
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: Cache put forcom.jecelyin.editor
I/ActivityManager( 412): Displayed net.digitalfeed.pdroidalternative/.AppDetailActivity: +160ms
D/PDroidAlternative( 1083): RadioButton clicked true
D/PDroidAlternative( 1083): RadioButton clicked true
D/PDroidAlternative( 1083): RadioButton clicked true
D/PDroidAlternative( 1083): RadioButton clicked true
D/PDroidAlternative( 1083): RadioButton clicked true
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: Cache hit for com.jecelyin.editor
D/PrivacySettingsManagerService( 412): saveSettings - checking if caller (UID: 10058) has sufficient permissions
D/PrivacySettingsManagerService( 412): saveSettings - PrivacySettings [_id=null, accountsAuthTokensSetting=0, accountsSetting=0, bookmarksSetting=0, calendarSetting=0, callLogSetting=0, contactsSetting=0, deviceId=null, deviceIdSetting=0, incomingCallsSetting=0, intentBootCompletedSetting=0, line1Number=null, line1NumberSetting=0, locationGpsLat=null, locationGpsLon=null, locationGpsSetting=0, locationNetworkLat=null, locationNetworkLon=null, locationNetworkSetting=0, mmsSetting=0, networkInfoSetting=1, notificationSetting=0, outgoingCallsSetting=0, packageName=com.jecelyin.editor, simInfoSetting=1, simSerialNumber=null, simSerialNumberSetting=0, smsSetting=0, subscriberId=null, subscriberIdSetting=0, systemLogsSetting=0, uid=10078, phoneCallSetting=0, smsSendSetting=0, recordAudioSetting=0, cameraSetting=0, ipTableProtectSetting=1, iccAccessSetting=1, addOnManagementSetting=1, android ID=null, androidIdSetting=1, wifiInfoSetting=0, switchConnectivitySetting=0, sendMmsSetting=0, forceOnlineState=1, switchWifiStateSetting=0]
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:saveSettings: Increment DB access threads: now 1
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:closeIdleDatabase: Opening privacy database
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:saveSettings: WriteLock: (pre)lock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:saveSettings: WriteLock: (post)lock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:saveSettings: Transaction: (pre)begin
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:saveSettings: Transaction: (post)begin
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:writeExternalSettings: WriteLock: (pre)lock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:writeExternalSettings: WriteLock: (post)lock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:writeExternalSettings: WriteLock: (pre)unlock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:writeExternalSettings: WriteLock: (post)unlock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:writeExternalSettings: WriteLock: (pre)lock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:writeExternalSettings: WriteLock: (post)lock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:writeExternalSettings: WriteLock: (pre)unlock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:writeExternalSettings: WriteLock: (post)unlock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:deleteSettings: Cache remove forcom.jecelyin.editor
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:saveSettings: Transaction: (pre)end
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:saveSettings: Transaction: (post)end
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:saveSettings: WriteLock: (pre)unlock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:saveSettings: WriteLock: (post)unlock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:closeIdleDatabase: Decrement DB access threads: now 0
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:closeIdleDatabase: Closing the PDroid database
D/PDroidAlternative( 1083): Application.fromDatabase: Loading package: com.jecelyin.editor
D/PDroidAlternative( 1083): Application.fromDatabase: Loaded package from DB
D/Instrumentation( 1083): PDroid:Instrumentation:execStartActivity: execStartActivity for net.digitalfeed.pdroidalternative
I/ActivityManager( 412): START {flg=0x14000000 cmp=net.digitalfeed.pdroidalternative/.AppListActivity u=0} from pid 1083
W/ActivityManager( 412): Duplicate finish request for ActivityRecord{2beccf58 net.digitalfeed.pdroidalternative/.AppDetailActivity}
W/ApplicationContext( 1083): PDroid:ContextImpl: ContextImpl being created but already has sOuterContext
W/ApplicationContext( 1083): PDroid:ContextImpl: ContextImpl being created but already has sOuterContext
D/PDroidAlternative( 1083): AppListFragment:appList == null: reloading application objects
I/ActivityManager( 412): Displayed net.digitalfeed.pdroidalternative/.AppListActivity: +341ms
D/dalvikvm( 1083): GC_CONCURRENT freed 3365K, 33% free 9517K/14151K, paused 3ms+34ms, total 92ms
D/PDroidAlternative( 1083): No results from app list load
D/PDroidAlternative( 1083): List position is null
D/PDroidAlternative( 1083): AppListAdapter == null
D/PDroidAlternative( 1083): List position is null
D/dalvikvm( 1083): GC_CONCURRENT freed 3147K, 39% free 8743K/14151K, paused 3ms+13ms, total 58ms
D/Instrumentation( 1083): PDroid:Instrumentation:execStartActivity: execStartActivity for net.digitalfeed.pdroidalternative
I/ActivityManager( 412): START {cmp=net.digitalfeed.pdroidalternative/.AppDetailActivity (has extras) u=0} from pid 1083
W/ApplicationContext( 1083): PDroid:ContextImpl: ContextImpl being created but already has sOuterContext
W/ApplicationContext( 1083): PDroid:ContextImpl: ContextImpl being created but already has sOuterContext
D/PDroidAlternative( 1083): Looking up package name: com.jecelyin.editor
D/PDroidAlternative( 1083): Application.fromDatabase: Loading package: com.jecelyin.editor
D/PDroidAlternative( 1083): Application.fromDatabase: Loaded package from DB
I/ActivityManager( 412): Displayed net.digitalfeed.pdroidalternative/.AppDetailActivity: +398ms
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: Cache miss for com.jecelyin.editor
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: Increment DB access threads: now 1
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:closeIdleDatabase: Opening privacy database
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: ReadLock: (pre)lock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: ReadLock: (post)lock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: ReadLock: (pre)unlock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: ReadLock: (post)unlock
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:closeIdleDatabase: Decrement DB access threads: now 0
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:closeIdleDatabase: Closing the PDroid database
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: Cache put forcom.jecelyin.editor
D/Instrumentation( 1083): PDroid:Instrumentation:execStartActivity: execStartActivity for net.digitalfeed.pdroidalternative
I/ActivityManager( 412): START {flg=0x14000000 cmp=net.digitalfeed.pdroidalternative/.AppListActivity u=0} from pid 1083
W/ActivityManager( 412): Duplicate finish request for ActivityRecord{2c3fc980 net.digitalfeed.pdroidalternative/.AppDetailActivity}
W/ApplicationContext( 1083): PDroid:ContextImpl: ContextImpl being created but already has sOuterContext
W/ApplicationContext( 1083): PDroid:ContextImpl: ContextImpl being created but already has sOuterContext
D/PDroidAlternative( 1083): AppListFragment:appList == null: reloading application objects
I/ActivityManager( 412): Displayed net.digitalfeed.pdroidalternative/.AppListActivity: +279ms
D/dalvikvm( 1083): GC_CONCURRENT freed 570K, 27% free 10361K/14151K, paused 2ms+100ms, total 195ms
D/dalvikvm( 1083): WAIT_FOR_CONCURRENT_GC blocked 138ms
D/dalvikvm( 412): GC_CONCURRENT freed 2678K, 43% free 8126K/14023K, paused 13ms+6ms, total 112ms
D/dalvikvm( 1083): WAIT_FOR_CONCURRENT_GC blocked 429ms
D/PDroidAlternative( 1083): No results from app list load
D/PDroidAlternative( 1083): List position is null
D/PDroidAlternative( 1083): AppListAdapter == null
D/PDroidAlternative( 1083): List position is null
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: Cache hit for com.bartat.android.elixir
V/PDroidAlternative( 1083): NotificationHandler: Notification for: com.bartat.android.elixir:networkInfoCurrent:0
D/Instrumentation( 1083): PDroid:Instrumentation:execStartActivity: execStartActivity for net.digitalfeed.pdroidalternative
I/ActivityManager( 412): START {cmp=net.digitalfeed.pdroidalternative/.AppDetailActivity (has extras) u=0} from pid 1083
W/ApplicationContext( 1083): PDroid:ContextImpl: ContextImpl being created but already has sOuterContext
W/ApplicationContext( 1083): PDroid:ContextImpl: ContextImpl being created but already has sOuterContext
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: Cache hit for com.bartat.android.elixir
D/PDroidAlternative( 1083): Looking up package name: com.jecelyin.editor
D/PDroidAlternative( 1083): Application.fromDatabase: Loading package: com.jecelyin.editor
V/PDroidAlternative( 1083): NotificationHandler: Notification for: com.bartat.android.elixir:networkInfoCurrent:0
D/PDroidAlternative( 1083): Application.fromDatabase: Loaded package from DB
I/ActivityManager( 412): Displayed net.digitalfeed.pdroidalternative/.AppDetailActivity: +157ms
D/PrivacyPersistenceAdapter( 412): PrivacyPersistenceAdapter:getSettings: Cache hit for com.jecelyin.editor
D/Instrumentation( 1083): PDroid:Instrumentation:execStartActivity: execStartActivity for net.digitalfeed.pdroidalternative
I/ActivityManager( 412): START {flg=0x14000000 cmp=net.digitalfeed.pdroidalternative/.AppListActivity u=0} from pid 1083
W/ActivityManager( 412): Duplicate finish request for ActivityRecord{2ba098d8 net.digitalfeed.pdroidalternative/.AppDetailActivity}
W/ApplicationContext( 1083): PDroid:ContextImpl: ContextImpl being created but already has sOuterContext
W/ApplicationContext( 1083): PDroid:ContextImpl: ContextImpl being created but already has sOuterContext
D/PDroidAlternative( 1083): AppListFragment:appList == null: reloading application objects
D/dalvikvm( 1083): GC_FOR_ALLOC freed 3120K, 31% free 9782K/14151K, paused 31ms, total 31ms
I/ActivityManager( 412): Displayed net.digitalfeed.pdroidalternative/.AppListActivity: +468ms
D/PDroidAlternative( 1083): No results from app list load
D/PDroidAlternative( 1083): List position is null
D/PDroidAlternative( 1083): AppListAdapter == null
D/PDroidAlternative( 1083): List position is null
D/dalvikvm( 1054): GC_CONCURRENT freed 1727K, 64% free 3047K/8259K, paused 2ms+2ms, total 49ms
W/InputMethodManagerService( 412): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@2ba1e1c0 (uid=10058 pid=1083)
I/ActivityManager( 412): No longer want android.process.media (pid 588): hidden #16
D/Instrumentation( 2088): PDroid:Instrumentation:execStartActivity: execStartActivity for com.cyanogenmod.trebuchet
I/ActivityManager( 412): START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 pkg=org.jtb.alogcat cmp=org.jtb.alogcat/.LogActivity bnds=[256,107][320,169] u=0} from pid 2088
I/System.out( 2288): tainted command part 0: logcat
I/System.out( 2288): tainted command part 1: -v
I/System.out( 2288): tainted command part 2: brief
I/System.out( 2288): tainted command part 3: *:V

App crashes after updating to v0.2.9.7

After updating to v0.2.9.7 via Play Store, the app constantly crashes (CM10, Nexus S):

01-12 13:02:19.648 E/AndroidRuntime(15814): java.lang.RuntimeException: Unable to instantiate receiver net.digitalfeed.pdroidalternative.intenthandler.PrivacyNotificationHandler: java.lang.ClassNotFoundException: net.digitalfeed.pdroidalternative.intenthandler.PrivacyNotificationHandler
01-12 13:02:19.648 E/AndroidRuntime(15814):     at android.app.ActivityThread.handleReceiver(ActivityThread.java)
01-12 13:02:19.648 E/AndroidRuntime(15814):     at android.app.ActivityThread.access$1500(ActivityThread.java)
01-12 13:02:19.648 E/AndroidRuntime(15814):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
01-12 13:02:19.648 E/AndroidRuntime(15814):     at android.os.Handler.dispatchMessage(Handler.java)
01-12 13:02:19.648 E/AndroidRuntime(15814):     at android.os.Looper.loop(Looper.java)
01-12 13:02:19.648 E/AndroidRuntime(15814):     at android.app.ActivityThread.main(ActivityThread.java)
01-12 13:02:19.648 E/AndroidRuntime(15814):     at java.lang.reflect.Method.invokeNative(Native Method)
01-12 13:02:19.648 E/AndroidRuntime(15814):     at java.lang.reflect.Method.invoke(Method.java)
01-12 13:02:19.648 E/AndroidRuntime(15814):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
01-12 13:02:19.648 E/AndroidRuntime(15814):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
01-12 13:02:19.648 E/AndroidRuntime(15814):     at dalvik.system.NativeStart.main(Native Method)
01-12 13:02:19.648 E/AndroidRuntime(15814): Caused by: java.lang.ClassNotFoundException: net.digitalfeed.pdroidalternative.intenthandler.PrivacyNotificationHandler
01-12 13:02:19.648 E/AndroidRuntime(15814):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java)
01-12 13:02:19.648 E/AndroidRuntime(15814):     at java.lang.ClassLoader.loadClass(ClassLoader.java)
01-12 13:02:19.648 E/AndroidRuntime(15814):     at java.lang.ClassLoader.loadClass(ClassLoader.java)
01-12 13:02:19.648 E/AndroidRuntime(15814):     ... 11 more
-----------------------------------------
01-12 13:02:44.073 E/AndroidRuntime(16084): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{net.digitalfeed.pdroidalternative/net.digitalfeed.pdroidalternative.AppListActivity}: java.lang.ClassNotFoundException: net.digitalfeed.pdroidalternative.AppListActivity
01-12 13:02:44.073 E/AndroidRuntime(16084):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java)
01-12 13:02:44.073 E/AndroidRuntime(16084):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java)
01-12 13:02:44.073 E/AndroidRuntime(16084):     at android.app.ActivityThread.access$600(ActivityThread.java)
01-12 13:02:44.073 E/AndroidRuntime(16084):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
01-12 13:02:44.073 E/AndroidRuntime(16084):     at android.os.Handler.dispatchMessage(Handler.java)
01-12 13:02:44.073 E/AndroidRuntime(16084):     at android.os.Looper.loop(Looper.java)
01-12 13:02:44.073 E/AndroidRuntime(16084):     at android.app.ActivityThread.main(ActivityThread.java)
01-12 13:02:44.073 E/AndroidRuntime(16084):     at java.lang.reflect.Method.invokeNative(Native Method)
01-12 13:02:44.073 E/AndroidRuntime(16084):     at java.lang.reflect.Method.invoke(Method.java)
01-12 13:02:44.073 E/AndroidRuntime(16084):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
01-12 13:02:44.073 E/AndroidRuntime(16084):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
01-12 13:02:44.073 E/AndroidRuntime(16084):     at dalvik.system.NativeStart.main(Native Method)
01-12 13:02:44.073 E/AndroidRuntime(16084): Caused by: java.lang.ClassNotFoundException: net.digitalfeed.pdroidalternative.AppListActivity
01-12 13:02:44.073 E/AndroidRuntime(16084):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java)
01-12 13:02:44.073 E/AndroidRuntime(16084):     at java.lang.ClassLoader.loadClass(ClassLoader.java)
01-12 13:02:44.073 E/AndroidRuntime(16084):     at java.lang.ClassLoader.loadClass(ClassLoader.java)
01-12 13:02:44.073 E/AndroidRuntime(16084):     at android.app.Instrumentation.newActivity(Instrumentation.java)
01-12 13:02:44.073 E/AndroidRuntime(16084):     ... 12 more

Add 'Backup' and 'Restore' options

Add an option to backup and restore settings, ideally with the ability to import from and export to the format used by CollegeDev's PDroid 2.0 App. It will make it easier to shift between the apps if one goes awol.

UI Improvements

* Main Screen
    * Settings should be under the overflow button. Along with the help/FAQ and credits
    * Holding the cloud button should provide an explanation as to what it means
    * By default it should only show user apps
    * Upon showing system apps, they should be grouped together.
    * Filters should span the row (at the moment they only span two thirds of the screen)
    * Filter text ("Filtering by app type = user") shouldn't have the icon nor should it have a rounded border, the background shouldn't be a gradient.
    * There should be more (some) padding between each row
    * The title is missing from the main screen.
* App Settings
    * The check boxes should be far right
    * Permissions should be a drop down menu and should be text
    * There should be more (some) padding between each row
    * All permissions should be set at prompt by default
    * Permissions should be grouped General/Location/Media/Media/Network/Personal Data/Phone & Calls
    * There should be a way to set all the permissions on each page to a specific value where available

Add management of locations (list)

It's not easy at this time to modify locations for an application.
We have to know exactly coordinates of a point, and if you have to know many points and often change the application parameters , it's very long and boring.
The solution could be a settable location list instead if coordinates.

Can't change the default permissions of apps

In PDroid 2.0, it appears there is a feature to set the 'default' settings for apps (i.e. the settings of apps which don't have rules specific to that app). It would be good if PDroid Manager supported this.

Note: I need to look at whether the defaults are set in the core, which then applies them, or whether the rules are inserted into the core when a new app is installed. The latter way (inserting rules upon installation) is not a good way of doing it, because there could be a delay between installation and rule insertion.

PDroid Permission

I am thinking we should add a PDroid Permission to the core and apps. I don't want it to entitle any access to the API, but more be a simple boolean requirement for the core.

Honestly, I don't want it to expose any functionality, but to merely be added to all available PDroid Management apps in the permission lists, so that there is a big red flag if this permission is ever requested (perhaps color those apps red in the manager app list?).

This is a solution to the eventual issue of an attack app bundling PDroid API into it's framework. An earlier suggestion was to hardcode in all known package names but that was met with a tepid response. But that is what CollegeDev has done for PDroid2.0 1.54, and I think this might be a compromise.

Any thoughts out there? This is inspired by koush's very sensible introduction of the Superuser permission, but is a relatively recent idea.

Edit: The docs on this and some cautions about the process are here

Batch operations: multiple selection of items and then applying group of settings to them all

Currently there is no way to apply permissions changes to multiple applications at once.

There are several things which could be done (in order of guesstimated difficulty to implement):
Selecting multiple applications and selecting 'set to trusted' or 'set to untrusted'
Selecting multiple applications, then being able to open a 'settings' screen (like the current settings for individual applications) and choose a new option (with a "don't change" option) for each setting, then applied to all the selected apps.

Password protection

We should be able to password protect the settings on PDroid manager like we are able to on Android Firewall and Folder Sync

Updating application permissions don't get saved

For some reason the permissions I set for any application don't get saved. I'm currently using cm10.1 build 20130117 with the openpdroid patch from auto_patcher 2.5.2 on a Galaxy S2 i9100 international.

App crash on apps without rigths

Hello, the app crash for apps without requested rights and the notification doesn't show app's name. You can reproduce it by installing CPU spy

Add intelligent display of 'settings' based on the PDroid version in use

Right now, all the 'settings' are displayed regardless of the PDroid core version - that version is not even checked.

The app should check the version of the core, and only display options which are available in that version of the app. The filters for which options are available in which versions should be configured in the XML-based lists of the settings.

'Force online state' behaviour is nonsensical

The 'force online state' option has a tick and checkbox, but it is unclear what that actually means - i.e. does it force the state to online if checked? Does it not force the state if the X is selected?

I need to review the code of the core patches and see what this actually does, then fix the behaviour in the app.

Settings not saved with cm10.1 and Galaxy Nexus S

Hello,

i flashed the cm-10.1-20130123-NIGHTLY-crespo.zip and the sucessfully patched openpdroid update. When i save any change in the Pdroid Manager it says app untrusted but if i look at the permissons from the app all green checkboxes are checked. If i let me notify from the app then it says access allowed in the app. So the patch is OK i think, Pdroid Manager doesn't save the permisson settings.

Greetings

Option to see core logging

Option to see the core PDroid logging to pinpoint problems like the Go SMS problem.
A logcat contains mostly too much noise (not PDroid logging) to easily identify problems.

Icons and text entry boxes appear too small on 7 inch devices

I have had a report (and screenshot) that indicate that text entry boxes and options appear too small on a B&N Nook 7 inch.
Additional feedback from others on this would be excellent too, since I don't have a 7 inch device, and I don't have PDroid-inclusive builds for my 10 inch device.

log level verbose is to high

more than 3 log entries per second are to much from only one app.
please build in an Option to set the log level manualy.

thank you very much.

Allow/prevent Network access

I'm missing an option to block applications from creating network connections (android.permission.INTERNET). Is this just missing from pdroid-manager or is it not supported by the underlying pd2.0 patch?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.