guardianproject / obscuracam Goto Github PK
View Code? Open in Web Editor NEWPhoto and Video Filtering App for Privacy
Home Page: https://guardianproject.info/apps/obscuracam
License: GNU General Public License v3.0
Photo and Video Filtering App for Privacy
Home Page: https://guardianproject.info/apps/obscuracam
License: GNU General Public License v3.0
Need a terms of use for the market release!
IllegalArgumentException in org.witness.sscphase1
Crash
Exception class java.lang.IllegalArgumentException
Source method Bitmap.checkPixelAccess()
Show user messages
Mark as old
Platforms
OTHER
1 reports/week
1 reports
Stack traces
v1.0.1
Jun 10, 2011 10:55:43 AM
1 reports/week
1 reports
java.lang.IllegalArgumentException: x must be < bitmap.width()
at android.graphics.Bitmap.checkPixelAccess(Bitmap.java:1078)
at android.graphics.Bitmap.setPixel(Bitmap.java:1142)
at org.witness.sscphase1.PixelizeObscure.pixelate(PixelizeObscure.java:51)
at org.witness.sscphase1.PixelizeObscure.obscureRect(PixelizeObscure.java:26)
at org.witness.sscphase1.ImageEditor.createObscuredBitmap(ImageEditor.java:835)
at org.witness.sscphase1.ImageEditor.updateDisplayImage(ImageEditor.java:492)
at org.witness.sscphase1.ImageRegion$4.onClick(ImageRegion.java:252)
at android.view.View.performClick(View.java:2532)
at android.view.View$PerformClick.run(View.java:9277)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:4196)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
For applications that include obfuscated code, stack traces contain obfuscated symbol names. If the application was obfuscated using ProGuard, you can unobfuscate the stack trace using the "retrace" tool, included in the Android SDK Tools r8 and later. For more information, see the ProGuard document.
No need for a splash in this current version, just serves as a point of potential confusion and an extra step between user and features!
New version of main activity should have hidden label bar and app name (like splash) but also have actionable buttons (like current app main).
I'm more interesting in seeing what it looks like with a 1px region outline to compare with current behavior. My gut says it would be a reasonable usability improvement.
Need to talk over design with djhalliday
The app must be able to wipe existing metadata embedded in any loaded media content
the app should be able to open media files from the Android gallery or anywhere on local removable storage (sdcard)
NullPointerException in org.witness.sscphase1
Crash
Exception class java.lang.NullPointerException
Source method SplashScreenActivity.onCreate()
Show user messages
Mark as new
Platforms
OTHER
4 reports/week
4 reports
Stack traces
v1.0.1, v1.0.2
Jun 11, 2011 9:56:14 PM
2 reports/week
2 reports
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.witness.sscphase1/org.witness.sscphase1.SplashScreenActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at org.witness.sscphase1.SplashScreenActivity.onCreate(SplashScreenActivity.java:40)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
... 11 more
v1.0.2
Jun 11, 2011 1:08:15 PM
1 reports/week
1 reports
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.witness.sscphase1/org.witness.sscphase1.SplashScreenActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1659)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675)
at android.app.ActivityThread.access$1500(ActivityThread.java:121)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3701)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at org.witness.sscphase1.SplashScreenActivity.onCreate(SplashScreenActivity.java:40)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1623)
... 11 more
v1.0.1
Jun 10, 2011 2:18:22 PM
1 reports/week
1 reports
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.witness.sscphase1/org.witness.sscphase1.SplashScreenActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2671)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2687)
at android.app.ActivityThread.access$2300(ActivityThread.java:127)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2035)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4635)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at org.witness.sscphase1.SplashScreenActivity.onCreate(SplashScreenActivity.java:40)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2635)
... 11 more
For applications that include obfuscated code, stack traces contain obfuscated symbol names. If the application was obfuscated using ProGuard, you can unobfuscate the stack trace using the "retrace" tool, included in the Android SDK Tools r8 and later. For more information, see the ProGuard document.
via "Share..." function and or export to gallery or save to sdcard
Have to work out fix.
It is too big for sharing via Messaging and some other apps
interface defined in src/org/witness/sscphase1/ObscureMethod.java
original implementation defined in PaintSquareObscure.java
Blur defined in BlurObscure.java (but untested and probably not functional)
Create interface to be used for plugging in any face detection methods
Taking a picture from the Obscura camera prompt while in landscape mode causes FC.
FC occurs after picture has been taken and user selects 'OK' option to send image back to SSC app for re-sizing and scanning.
In the last few builds, automatic face recognition has appeared to be significantly less reliable in detecting faces that previously.
In addition, the regions created from auto-recognized areas are not centered or scaled properly.
Selecting 'Share' menu option opens 'Share Image' dialog. From this point a user selects the relevant activity from which to share the image. After completion of that task (eg after sending an email) the user is brought back to the SSC activity. However the 'Share Image' dialog is still open. It should be closed.
I have a plan of attack, too, that's more "model-view-controller" now. Will push my changes (probably as a Feature Branch) by Monday.
Should be app wide as a MenuItem (How to make a menu app wide easily/across Activities??)
Should function as per preferences
Automatically detected regions are cleared from the application when screen orientation changes. User is also prompted to auto-scan again - seems to basically start back at square 1 of image opening.
Create framework and specific required preferences
NullPointerException in org.witness.sscphase1
Crash
Exception class java.lang.NullPointerException
Source method CameraObscuraMainMenu.onActivityResult()
Show user messages
Mark as old
Platforms
OTHER
1 reports/week
1 reports
Stack traces
v1.0.0
Jun 10, 2011 8:40:43 AM
1 reports/week
1 reports
java.lang.RuntimeException: Unable to resume activity {org.witness.sscphase1/org.witness.sscphase1.CameraObscuraMainMenu}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=null} to activity {org.witness.sscphase1/org.witness.sscphase1.CameraObscuraMainMenu}: java.lang.NullPointerException
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2241)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2256)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1789)
at android.app.ActivityThread.access$1500(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3835)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=null} to activity {org.witness.sscphase1/org.witness.sscphase1.CameraObscuraMainMenu}: java.lang.NullPointerException
at android.app.ActivityThread.deliverResults(ActivityThread.java:2653)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2228)
... 12 more
Caused by: java.lang.NullPointerException
at org.witness.sscphase1.CameraObscuraMainMenu.onActivityResult(CameraObscuraMainMenu.java:77)
at android.app.Activity.dispatchActivityResult(Activity.java:3908)
at android.app.ActivityThread.deliverResults(ActivityThread.java:2649)
... 13 more
For applications that include obfuscated code, stack traces contain obfuscated symbol names. If the application was obfuscated using ProGuard, you can unobfuscate the stack trace using the "retrace" tool, included in the Android SDK Tools r8 and later. For more information, see the ProGuard document.
They all have the same icon, which is also the same as remove region.
Removed for performance reasons. Will re-implement in a more efficient manner
Issue as of 4/19 source - application force closes when creating a new region.
Note this only occurs once another region has already been created (either automatically or manually). Relevant error message from logcat output (see: ) is: http://pastebin.com/gpJy8NW2
1982: I/Database(13556): sqlite returned: error code = 17, msg = statement aborts at 14: [SELECT * FROM imageRegions_16] database schema has changed
1983: I/Database(13556): sqlite returned: error code = 1, msg = table associatedKeys_16_0 already exists
NullPointerException in org.witness.sscphase1
Crash
Exception class java.lang.NullPointerException
Source method ImageEditor.onCreate()
Show user messages
Mark as old
Platforms
OTHER
1 reports/week
1 reports
Stack traces
v1.0.1
Jun 11, 2011 3:16:04 AM
1 reports/week
1 reports
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.witness.sscphase1/org.witness.sscphase1.ImageEditor}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at org.witness.sscphase1.ImageEditor.onCreate(ImageEditor.java:219)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
... 11 more
For applications that include obfuscated code, stack traces contain obfuscated symbol names. If the application was obfuscated using ProGuard, you can unobfuscate the stack trace using the "retrace" tool, included in the Android SDK Tools r8 and later. For more information, see the ProGuard document.
Currently default region sizes are set to static 160x160. This doesn't behave particularly well for smaller screen devices.
Should be density independent / based on device screen size.
Right now it jumps directly into edit mode for one of the regions. To highlight the options available, we should instead jump into menu mode for one of the regions. I.e. just show the popup menu for a region and let the user decide to obscure, edit, etc. Think this is a good usability improvement.
In the code section below, the comments explain the possible issue.
See: http://code.google.com/p/android/issues/detail?id=1480
if (requestCode == GALLERY_RESULT || imageFileUri == null) {
// If imageFileUri is null and we are coming from the camera app,
// the below code will may give us a small version of the image
// I am not sure we want that...
// http://code.google.com/p/android/issues/detail?id=1480
imageFileUri = intent.getData();
}
This is a nice usability enhancement that should be relatively easy to implement.
When a region is in 'edit mode' and a user touches another part of the image that is not an active region, any active / edit mode regions should be deactivated.
An obscure (get it?) use case but I ran into this when swapping devices.
When an SD is not present in devices that require it for the Camera application, SSC crashes on handoff to the camera.
Should also make it look a bit better on devices with large screens. Splash and main menu need help on xoom.
IllegalStateException in org.witness.sscphase1
Crash
Exception class java.lang.IllegalStateException
Source method Parcel.readException()
Show user messages
Mark as old
Platforms
OTHER
1 reports/week
1 reports
Stack traces
v1.0.2
Jun 10, 2011 11:20:04 PM
1 reports/week
1 reports
java.lang.IllegalStateException: Unable to create new file: dcim/Camera/1307762483988.jpg
at android.os.Parcel.readException(Parcel.java:1268)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:160)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)
at android.content.ContentProviderProxy.insert(ContentProviderNative.java:408)
at android.content.ContentResolver.insert(ContentResolver.java:587)
at org.witness.sscphase1.CameraObscuraMainMenu.onClick(CameraObscuraMainMenu.java:53)
at android.view.View.performClick(View.java:2408)
at android.view.View$PerformClick.run(View.java:8818)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
For applications that include obfuscated code, stack traces contain obfuscated symbol names. If the application was obfuscated using ProGuard, you can unobfuscate the stack trace using the "retrace" tool, included in the Android SDK Tools r8 and later. For more information, see the ProGuard document.
Need menu item icons for "about" and "delete original"
Need branding/logo/words
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.