[DEV] Modified Skype app with Video - Android Software Development

Hi,
I modified the recently leaked skype w/ video app for the HTC Thunderbolt. Let me document my changes and progress so far:
Here is the original app:http://www.droid-life.com/2011/04/11/download-skype-with-video-on-android/
1) if you try to install the app unmodified on a non HTC thunderbolt phone, you will get an "installation failed" message. I decompiled the app using these instructions: http://jack-mannino.blogspot.com/2010/09/reversing-android-apps-101.html
2) I modified the AndroidManifest.xml to remove this line:
<uses-library android:name="com.htc.device" />
3) I then recompiled and resigned the app( http://www.addictivetips.com/mac-os/auto-sign-tool-for-android-developers-on-mac/).
4) The apk now installed on my Nexus S but I get this error when I opened it:
"Sorry, your phone is not able to use this version of Skype. To find out more about Skype on mobile, visit www.skype.com"
5) I looked through the code and found the offending text in com.skype.ui.SplashScreenActivity.class:
protected void onResume()
{
super.onResume();
if (!f.a())
{
Toast.makeText(this, "Sorry, your phone is not able to use this version of Skype. To find out more about Skype on mobile, visit www.skype.com", 1).show();
finish();
}
.....
I commented out the toast and finish() line and then recompiled and resigned.
6) The apk installs but crashes when I try to open it:
W/dalvikvm(17595): VFY: bad arg 1 (into Ljava/lang/CharSequence
W/dalvikvm(17595): VFY: rejecting call to Landroid/widget/Toast;.makeText (Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
W/dalvikvm(17595): VFY: rejecting opcode 0x71 at 0x0010
W/dalvikvm(17595): VFY: rejected Lcom/skype/merlin_mecha/ui/SplashScreenActivity;.onResume ()V
W/dalvikvm(17595): Verifier rejected class Lcom/skype/merlin_mecha/ui/SplashScreenActivity;
W/dalvikvm(17595): Class init failed in newInstance call (Lcom/skype/merlin_mecha/ui/SplashScreenActivity
D/AndroidRuntime(17595): Shutting down VM
W/dalvikvm(17595): threadid=1: thread exiting with uncaught exception (group=0x40015560)
E/AndroidRuntime(17595): FATAL EXCEPTION: main
E/AndroidRuntime(17595): java.lang.VerifyError: com.skype.merlin_mecha.ui.SplashScreenActivity
E/AndroidRuntime(17595): at java.lang.Class.newInstanceImpl(Native Method)
E/AndroidRuntime(17595): at java.lang.Class.newInstance(Class.java:1409)
E/AndroidRuntime(17595): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
E/AndroidRuntime(17595): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1681)
E/AndroidRuntime(17595): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1793)
E/AndroidRuntime(17595): at android.app.ActivityThread.access$1500(ActivityThread.java:123)
E/AndroidRuntime(17595): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)
E/AndroidRuntime(17595): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(17595): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(17595): at android.app.ActivityThread.main(ActivityThread.java:3848)
E/AndroidRuntime(17595): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(17595): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(17595): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
E/AndroidRuntime(17595): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
E/AndroidRuntime(17595): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 176): Force finishing activity com.skype.merlin_mecha/.ui.SplashScreenActivity
W/ActivityManager( 176): Force finishing activity info.tikuwarez.launcher3/.ClassicAppPicker
This is my progress so far and here is my modified apk:http://www.mediafire.com/?l6xddlun3u52ung

Does this enable the use of the back camera instead of the front?
For my wife's fascinate
Sent from my ADR6400L using XDA Premium App

@eyeburn : Thanks for the investigation.
Could you try to remove the " if statement " instead ?
I guess the shared library is not only for security, but we will see that later.

More updates. I looked at the SplashScreenActivity.smali code and removed this line:
invoke-virtual {p0}, Lcom/skype/merlin_mecha/ui/SplashScreenActivity;->finish()V
this basically disables the the exiting(the finish() in the code below) of the program during the verizon phone check.
Now the phone doesn't crash but just stays at the "skype mobile" splash screen with the skype background.
I'll look at this again tomorrow. Gonna sleep now.
Updated apk as of midnight Apr 12: http://www.mediafire.com/?eqgr111a7agg3qv
My current thinking is the app is stuck in this while loop:
protected void onResume()
{
super.onResume();
if (!f.a())
{
Toast.makeText(this, "Sorry, your phone is not able to use this version of Skype. To find out more about Skype on mobile, visit www.skype.com", 1).show();
finish();
}
while (true)
{
return;
Intent localIntent1 = new Intent(this, SignInActivity.class);
boolean bool1 = getIntent().getBooleanExtra("LaunchedBySyncAdapter", 0);
Intent localIntent2 = localIntent1.putExtra("LaunchedBySyncAdapter", bool1);
int i = getIntent().getIntExtra("PostLoginCommand", 0);
Intent localIntent3 = localIntent1.putExtra("PostLoginCommand", i);
String str = getIntent().getStringExtra("PostLoginDataUri");
Intent localIntent4 = localIntent1.putExtra("PostLoginDataUri", str);
ac localac = new ac(this, localIntent1);
monitorenter;
try
{
this.a = localac;
Handler localHandler = this.b;
Runnable localRunnable = this.a;
boolean bool2 = localHandler.postDelayed(localRunnable, 1500L);
monitorexit;
continue;
}
finally
{
localObject = finally;
monitorexit;
}
}
throw localObject;
}
}
I keep getting this messages on my logcat:
I/TelephonyRegistry( 176): notifyServiceState: 0 home T - Mobile T - Mobile 310260 UMTS CSS not supported -1 -1RoamInd: -1DefRoamInd: -1EmergOnly: false
I/TelephonyRegistry( 176): notifyDataConnection: state=2 isDataConnectivityPossible=true reason=null interfaceName=rmnet0 networkType=3
I/TelephonyRegistry( 176): notifyServiceState: 0 home T - Mobile T - Mobile 310260 HSDPA CSS not supported -1 -1RoamInd: -1DefRoamInd: -1EmergOnly: false
I/TelephonyRegistry( 176): notifyDataConnection: state=2 isDataConnectivityPossible=true reason=null interfaceName=rmnet0 networkType=8

More likely, that you killed the login intent, which supposed to invoke login activity. You already have 'return' as the first statement of the while loop. The code in it's current state doesn't make sense to me. It should be an exist condition from the loop, otherwise the only way to exit the loop is via exception, which will effectively kill the application.

ivan.volosyuk said:
More likely, that you killed the login intent, which supposed to invoke login activity. You already have 'return' as the first statement of the while loop. The code in it's current state doesn't make sense to me. It should be an exist condition from the loop, otherwise the only way to exit the loop is via exception, which will effectively kill the application.
Click to expand...
Click to collapse
same conclusion here, but I assume this part of code is badly decompiled. There are several other while->true->return in this code.

I/ActivityManager( 176): Starting: Intent { act=android.settings.APPLICATION_DETAILS_SETTINGS dat=package:com.skype.merlin_mecha cmp=com.android.settings/.applications.InstalledAppDetails } from pid 18780
D/dalvikvm(18780): GC_CONCURRENT freed 333K, 48% free 3339K/6343K, external 5923K/6893K, paused 67ms+23ms
I/ActivityManager( 176): Displayed com.android.settings/.applications.InstalledAppDetails: +1s756ms
D/szipinf (18780): Initializing inflate state
D/szipinf (18780): Initializing inflate state
D/szipinf (18780): Initializing inflate state
D/szipinf (18780): Initializing inflate state
D/szipinf (18780): Initializing inflate state
D/szipinf (18780): Initializing inflate state
D/szipinf (18780): Initializing inflate state
D/szipinf (18780): Initializing inflate state
I/Process ( 176): Sending signal. PID: 18721 SIG: 9
I/ActivityManager( 176): Force stopping package com.skype.merlin_mecha uid=10068
I/ActivityManager( 176): Force finishing activity HistoryRecord{4057dcc8 com.skype.merlin_mecha/.ui.SplashScreenActivity}
W/InputManagerService( 176): Window already focused, ignoring focus gain of: [email protected]
E/InputDispatcher( 176): channel '407ae0c0 com.skype.merlin_mecha/com.skype.merlin_mecha.ui.SplashScreenActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x8
E/InputDispatcher( 176): channel '407ae0c0 com.skype.merlin_mecha/com.skype.merlin_mecha.ui.SplashScreenActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
I/WindowManager( 176): WIN DEATH: Window{407ae0c0 com.skype.merlin_mecha/com.skype.merlin_mecha.ui.SplashScreenActivity paused=true}
This is what is happening now.

Keep up the good work, a LOT of people will love you if you can get this to work on other phones like the Galaxy S.

Agreed keep up the good work....and Thanks

speaking as someone with a G Tablet, I really want this to work, so please take all the encouragement i can offer!

Keep up the good work.

Oh thank you.
Seriously, I posted about how somebody should modify this to work on all phones yesterday.
As for me, I'm getting "Sorry1, your phone is not able to use this version of skype"
(Wonder why it says "Sorry1")
I'm using a mytouch 4g with cm7 stable

Working on the same thing here on my EVO. I tried your APK but I don't get to the sign-in screen. I removed the same line from the AndroidManifest.xml file that you did so that it would install. I took a different approach and modified the VerizonNetwork and VerizonMerlin check to return 0x1 instead of 0x0 so that it gets by the Toast successfully and I get the sign-in screen. Now after I sign-in, the service crashes.
Code:
I/com.skype.merlin_mecha.service.a(17177): system board:supersonic bootloader:2.10.0001 brand:sprint product:htc_supersonic model:PC36100 manufacturer:HTC device:supersonic display:3.70.651.1 fingerprint:sprint/htc_supersonic/supersonic/supersonic:2.2/FRF91/294884:user/release-keys host:AA109 user:root radio:2.15.00.09.01 tags:release-keys type:user
I/global (17177): Default buffer size used in BufferedInputStream constructor. It would be better to be explicit if an 8k buffer is required.
D/dalvikvm(17177): GC_FOR_MALLOC freed 5340 objects / 712528 bytes in 124ms
I/LSState (12428): EventReceiver:android.intent.action.NOTIFICATION_UPDATE
I/StartSkypeKitOperation(17177): REMOVE THIS ONCE VERIFIED: appToken = KdXVSo6qB9
I/dalvikvm(17177): Jit: resizing JitTable from 4096 to 8192
D/dalvikvm(15756): GC_EXPLICIT freed 3901 objects / 412584 bytes in 100ms
I/ActivityManager(12428): Process com.skype.merlin_mecha (pid 17177) has died.
W/ActivityManager(12428): Scheduling restart of crashed service com.skype.merlin_mecha/.service.SkypeServiceController in 5000ms
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
http://db.tt/umgHYVq
-Daryel

daryel - i tried it and the same happened to me, but there was nothing that said the app force-closed. it simply closed itself and that was that.
it looks like real headway is being made here. I will faithfully watch this until it is finished

oh the sorry1 was a debugging thing hehe.
so it is now crashing in com.skype.merlin_mecha.service.a
Looks to be failing some fingerprint checking. I guess this is where it verifies the phone.

I wonder which file this line is coming from:
I/StartSkypeKitOperation(17177): REMOVE THIS ONCE VERIFIED: appToken = KdXVSo6qB9
New Edit:
Ok the verification is done in com.skype.merlin_mecha.startup.SignInActivity.
I am speculating, the check and crash is in:
protected void onCreate(Bundle paramBundle)

Thanks guys, it looks like you are pretty close to the solution.
Finger crossed

daryelv said:
Working on the same thing here on my EVO. I tried your APK but I don't get to the sign-in screen. I removed the same line from the AndroidManifest.xml file that you did so that it would install. I took a different approach and modified the VerizonNetwork and VerizonMerlin check to return 0x1 instead of 0x0 so that it gets by the Toast successfully and I get the sign-in screen. Now after I sign-in, the service crashes.
Click to expand...
Click to collapse
Sorry but where is this Verizon check?

There are 2 .so missing.
if you look in a/a/a.smali you will find a ref to
/data/data/com.skype.merlin_mecha/lib/libskype_jni.so
And com\skype\a\c.smali has a ref to /data/data/com.test.java_surface/lib/libskype_jni.so
that means there is more to this

eyeburn said:
I wonder which file this line is coming from:
I/StartSkypeKitOperation(17177): REMOVE THIS ONCE VERIFIED: appToken = KdXVSo6qB9
Click to expand...
Click to collapse
Looks like this comes from com\skype\merlin_mecha\service\bs.class
Code:
Object localObject = "M9QA6f6YIH";
if (!com.skype.merlin_mecha.a.b.b)
continue;
if (!com.skype.merlin_mecha.a.b.a)
continue;
localObject = "KdXVSo6qB9";
String str4 = "REMOVE THIS ONCE VERIFIED: appToken = " + (String)localObject;
int k = Log.i("StartSkypeKitOperation", str4);
bo.g(this.c).SetApplicationToken((String)localObject);
boolean bool1 = bo.c(this.c);
if (bool1)
continue;

Related

[CODE][Q] Pass extra twice(image to mms), or use lastIndexOf() to get file?

Ok so this may get sort of complicated, but I'll try to explain it simply.
I have a mainActivity(viewpager). i take a screenshot of this from ABS options menu. This gets saved to sdcard . WORKS FINE
Code:
this is selecting from the actionbar menu
else if (item.getTitle().toString().equalsIgnoreCase("Take Screengrab")) {
View v1 = R1.getRootView();
v1.setDrawingCacheEnabled(true);
Bitmap bm = v1.getDrawingCache();
Util.saveBitmap(bm, "folder", "screenshot");
//the above are the folder I chose to name, and the screenshotname{without additional numbering}
BitmapDrawable bitmapDrawable = new BitmapDrawable(bm);
image = (ImageView) findViewById(R.id.image4);
//imageview is above. second ativity is below
Intent intent = new Intent(this, Screenshots.class);
intent.putExtra("image", bm);
//"image" is my extra
startActivity(intent);
I send that while its saving, to an ImageView in a second(normal) activity. WORKS FINE
Code:
[user=439709]@override[/user]
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.screenshots);
//The ImageView where the screenshot goes
ImageView image=(ImageView)findViewById(R.id.image4);
//This "imageId" isnt used, but for some reason the Imageview wont set without it
Intent intent = getIntent();
int imageId = intent.getIntExtra("imageId", -1); // -1 would be a default value//
//this gets my extra
Bitmap bm = (Bitmap)this.getIntent().getParcelableExtra("image");
image.setImageBitmap(bm);
I have a button to share it, it opens with picture attached. SORT OF WORKING
The thing is, I want to automatically pass this same extra Bitmap and attach it to the message.
i can open a message with a known file attached.
Code:
{
Uri smsUri = Uri.parse("tel:0000000");
Intent intent = new Intent(Intent.ACTION_SEND, smsUri);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/folder/screenshot.png"));
intent.putExtra(Intent.EXTRA_TEXT,"Today");
startActivity(intent);
i tried the working in putExtra to the message, but I get a toast from the messaging app "Sorry, cannot attach this image". NO STACK ERRORS. nothign in the logs I can use.
Code:
Uri smsUri = Uri.parse("tel:0000000");
Intent intent = new Intent(Intent.ACTION_SEND, smsUri);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("image"));
intent.putExtra(Intent.EXTRA_TEXT,"Today");
startActivity(intent);
and other stuff like that that.
I currently am loading a known file into the message and it works perfect. Problem is, I wont know the name of the file, because my screenshots get saved as image1, image2, etc. So it will be different in every case.
So im wondering if its even possible to pass and extra through twice like that, or if I should look into return the latest image in that sdcard folder with like lastIndexOf(), or something similar.
basically, is there a way to simply query find and attach the highest numbered file? without a GUI(i can do select from gallery, but am trying to make it more automated).
any thoughts would be appreciated.
P.S. i know about the lint errors and things, and somewhat sloppy self taught java, but its working. only worried about the image passing.
out of ideas said:
Ok so this may get sort of complicated, but I'll try to explain it simply.
I have a mainActivity(viewpager). i take a screenshot of this from ABS options menu. This gets saved to sdcard . WORKS FINE
Code:
this is selecting from the actionbar menu
else if (item.getTitle().toString().equalsIgnoreCase("Take Screengrab")) {
View v1 = R1.getRootView();
v1.setDrawingCacheEnabled(true);
Bitmap bm = v1.getDrawingCache();
Util.saveBitmap(bm, "folder", "screenshot");
//the above are the folder I chose to name, and the screenshotname{without additional numbering}
BitmapDrawable bitmapDrawable = new BitmapDrawable(bm);
image = (ImageView) findViewById(R.id.image4);
//imageview is above. second ativity is below
Intent intent = new Intent(this, Screenshots.class);
intent.putExtra("image", bm);
//"image" is my extra
startActivity(intent);
I send that while its saving, to an ImageView in a second(normal) activity. WORKS FINE
Code:
[user=439709]@override[/user]
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.screenshots);
//The ImageView where the screenshot goes
ImageView image=(ImageView)findViewById(R.id.image4);
//This "imageId" isnt used, but for some reason the Imageview wont set without it
Intent intent = getIntent();
int imageId = intent.getIntExtra("imageId", -1); // -1 would be a default value//
//this gets my extra
Bitmap bm = (Bitmap)this.getIntent().getParcelableExtra("image");
image.setImageBitmap(bm);
I have a button to share it, it opens with picture attached. SORT OF WORKING
The thing is, I want to automatically pass this same extra Bitmap and attach it to the message.
i can open a message with a known file attached.
Code:
{
Uri smsUri = Uri.parse("tel:0000000");
Intent intent = new Intent(Intent.ACTION_SEND, smsUri);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/folder/screenshot.png"));
intent.putExtra(Intent.EXTRA_TEXT,"Today");
startActivity(intent);
i tried the working in putExtra to the message, but I get a toast from the messaging app "Sorry, cannot attach this image". NO STACK ERRORS. nothign in the logs I can use.
Code:
Uri smsUri = Uri.parse("tel:0000000");
Intent intent = new Intent(Intent.ACTION_SEND, smsUri);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("image"));
intent.putExtra(Intent.EXTRA_TEXT,"Today");
startActivity(intent);
and other stuff like that that.
I currently am loading a known file into the message and it works perfect. Problem is, I wont know the name of the file, because my screenshots get saved as image1, image2, etc. So it will be different in every case.
So im wondering if its even possible to pass and extra through twice like that, or if I should look into return the latest image in that sdcard folder with like lastIndexOf(), or something similar.
basically, is there a way to simply query find and attach the highest numbered file? without a GUI(i can do select from gallery, but am trying to make it more automated).
any thoughts would be appreciated.
P.S. i know about the lint errors and things, and somewhat sloppy self taught java, but its working. only worried about the image passing.
Click to expand...
Click to collapse
I would just pass the filename to the share intent. In your saving method return the file name and pass it to the Uri.
lastIndexOf is a bad idea. What will you do if somebody saves a file called "xyz" in the same directory? The app will send this every time. So store the filename and pass it to the Uri.
nikwen said:
I would just pass the filename to the share intent. In your saving method return the file name and pass it to the Uri.
lastIndexOf is a bad idea. What will you do if somebody saves a file called "xyz" in the same directory? The app will send this every time. So store the filename and pass it to the Uri.
Click to expand...
Click to collapse
Yeah I had originally tried going about it that, with like getFileStreamPath and things like that, tried about a dozen different things but couldnt get them working. best i can get is that "sorry cant add..." message from the messaging app, which tells me that its passing the image, but it cant attach for some unknown reason(too large doesn't seem right, cuz i can do it with the known file name).
im a dum dum a probably should put this util class
Code:
static String saveBitmap(Bitmap bitmap, String dir, String baseName) {
try {
File sdcard = Environment.getExternalStorageDirectory();
File pictureDir = new File(sdcard, dir);
pictureDir.mkdirs();
File f = null;
for (int i = 1; i < 200; ++i) {
String name = baseName + i + ".png";
f = new File(pictureDir, name);
if (!f.exists()) {
break;
}
}
if (!f.exists()) {
String name = f.getAbsolutePath();
FileOutputStream fos = new FileOutputStream(name);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();
//how to get "name" in third activity
return name;
}
} catch (Exception e) {
} finally {
/*
if (fos != null) {
fos.close();
}
*/
}
return null;
}
So I have the name there, but just cant get it over to the messaging. I'm wondering if I should take the pic and automaticaaly pin it to the MMS, and skip the imageview part?
First: Please get a logcat.
Second: This should be working if you use the right path:
Code:
Uri smsUri = Uri.parse("tel:0000000");
Intent intent = new Intent(Intent.ACTION_SEND, smsUri);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("<path here>"));
intent.putExtra(Intent.EXTRA_TEXT,"Today");
startActivity(intent);
(got it from your first post)
1. This is a for instance situtation of if i try sliding the extra or something else into Uri.parse()
E/Mms/compose( 1063): DRM error in onActivityResult()!
E/Mms/media( 1063): IOException caught while opening or reading stream
E/Mms/media( 1063): java.io.FileNotFoundException: No content provider: image
But the content of image makes it into the ImageView(as "getParcelableExtra("image"), just not in the MMS, so I don't know.
2. Yeah it works Perfect when I hardcode in a file( sdcard/folder/image1.png). attaches and sends perfect.
The problem is basically I have a loose understanding of how I should be doing this, and just cant figure out how I should properly be getting it to load.
Banging my head against the wall on this one. lol. :fingers-crossed:
out of ideas said:
1. This is a for instance situtation of if i try sliding the extra or something else into Uri.parse()
E/Mms/compose( 1063): DRM error in onActivityResult()!
E/Mms/media( 1063): IOException caught while opening or reading stream
E/Mms/media( 1063): java.io.FileNotFoundException: No content provider: image
But the content of image makes it into the ImageView(as "getParcelableExtra("image"), just not in the MMS, so I don't know.
2. Yeah it works Perfect when I hardcode in a file( sdcard/folder/image1.png). attaches and sends perfect.
The problem is basically I have a loose understanding of how I should be doing this, and just cant figure out how I should properly be getting it to load.
Banging my head against the wall on this one. lol. :fingers-crossed:
Click to expand...
Click to collapse
The problem is that you do not pass the right file name. So it cannot find the file.
---------- Post added at 07:55 PM ---------- Previous post was at 07:48 PM ----------
Change it to this and tell us the log output:
Code:
static String saveBitmap(Bitmap bitmap, String dir, String baseName) {
try {
File sdcard = Environment.getExternalStorageDirectory();
File pictureDir = new File(sdcard, dir);
pictureDir.mkdirs();
File f = null;
for (int i = 1; i < 200; ++i) {
String name = baseName + i + ".png";
f = new File(pictureDir, name);
if (!f.exists()) {
break;
}
}
if (!f.exists()) {
Log.d("file", "file does not exist");
String name = f.getAbsolutePath();
FileOutputStream fos = new FileOutputStream(name);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();
//how to get "name" in third activity
if (name != null) {
Log.d("return", name);
} else {
Log.d("return", "name = null");
}
return name;
} else {
Log.d("file", "file exists");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
/*
if (fos != null) {
fos.close();
}
*/
}
Log.d("return", "null");
return null;
}
I just inserted some debugging things. Check the logcat (and post it).
Did you add this to your manifest?
Code:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
nikwen said:
The problem is that you do not pass the right file name. So it cannot find the file.
I just inserted some debugging things. Check the logcat (and post it).
Did you add this to your manifest?
Code:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Click to expand...
Click to collapse
i know! I just need a way to get what my Util class returns as name. then open that attached to Message. It seems like it should be a lot easier than I am making it.
i added your logs, but the only match back I get is here (I put in some extra stuff)
Code:
D/ViewRoot( 2072): Dispatching pointer MotionEvent{2b00f540 action=1 x=85.33334 y=179.98325 pressure=0.20000002 size=0.20000002} to [email protected]
D/dalvikvm( 2072): GC_EXTERNAL_ALLOC freed 82K, 45% free 3083K/5575K, external 2159K/2284K, paused 57ms
//[B]THIS RIGHT BELOW HERE IS THE FILENAME. I NEED TO RETURN IT IN THE OTHER ACTIVITY. But How?
D/return ( 2072): /mnt/sdcard/folder/screen162.png
[/B]
I/ActivityManager( 182): Starting: Intent { cmp=com.myapp/.Screenshots (has extras) } from pid 2072
E/ActivityThread( 2072): >>> handling: 101
W/WindowManager( 182): Reached focused app: AppWindowToken{2b70bbf8 token=HistoryRecord{2b28ff08 com.myapp/.Screenshots}}
W/WindowManager( 182): updateFocusedWindowLocked newFocus=null mode=0 mCurrentFocus = Window{2b332630 PopupWindow:2afbd178 paused=false}
W/WindowManager( 182): Reached focused app: AppWindowToken{2b70bbf8 token=HistoryRecord{2b28ff08 com.myapp/.Screenshots}}
W/WindowManager( 182): updateFocusedWindowLocked newFocus=Window{2b408a60 com.myapp/com.myapp.Screenshots paused=false} mode=2 mCurrentFocus = Window{2b408a60 com.myapp/com.myapp.Screenshots paused=false}
W/WindowManager( 182): updateFocusedWindowLocked newFocus=Window{2b408a60 com.myapp/com.myapp.Screenshots paused=false} mode=3 mCurrentFocus = Window{2b408a60 com.myapp/com.myapp.Screenshots paused=false}
W/WindowManager( 182): Window Window{2b320c38 com.myapp/com.myapp.MainActivity paused=false} destroying surface Surface(name=com.myapp/com.myapp.MainActivity, identity=204), session Session{2b542460 uid 10050}
W/WindowManager( 182): Window Window{2b332630 PopupWindow:2afbd178 paused=false} destroying surface Surface(name=PopupWindow:2afbd178, identity=205), session Session{2b542460 uid 10050}
I/ActivityManager( 182): Displayed com.myapp/.Screenshots: +549ms
W/WindowManager( 182): Reached focused app: AppWindowToken{2b2dfeb8 token=HistoryRecord{2b395530 com.android.mms/.ui.ComposeMessageActivity}}
D/ActivityThread( 2072): <<< done: 106
W/WindowManager( 182): updateFocusedWindowLocked newFocus=null mode=3 mCurrentFocus = null
W/WindowManager( 182): Reached focused app: AppWindowToken{2b2dfeb8 token=HistoryRecord{2b395530 com.android.mms/.ui.ComposeMessageActivity}}
W/WindowManager( 182): Reached focused app: AppWindowToken{2b2dfeb8 token=HistoryRecord{2b395530 com.android.mms/.ui.ComposeMessageActivity}}
W/WindowManager( 182): Reached focused app: AppWindowToken{2b2dfeb8 token=HistoryRecord{2b395530 com.android.mms/.ui.ComposeMessageActivity}}
W/WindowManager( 182): updateFocusedWindowLocked newFocus=null mode=3 mCurrentFocus = null
W/WindowManager( 182): Reached focused app: AppWindowToken{2b2dfeb8 token=HistoryRecord{2b395530 com.android.mms/.ui.ComposeMessageActivity}}
W/WindowManager( 182): updateFocusedWindowLocked newFocus=null mode=3 mCurrentFocus = null
I/ActivityThread( 2081): Pub com.android.mms.SuggestionsProvider:
com.android.mms.SuggestionsProvider
E/MmsCustom( 2081): Mms,MmsCustom
E/MmsCustom( 2081): Init before calling function of doPreSotred()
E/MmsCustom( 2081): mms config have been prestored before
Yeah, I took 162 screenshots so far trying to get this. lol.
And yeah I declared the right permissions and everything. It takes the screenshot, saves it, and passes it to an ImageView in a different activity perfectly.
I can open Messaging, or FB,picassa, etc. It appends the text, but no image. BUT, i can simply hit attach from the opened message, and add in whatever picture I want.
I thought about just sending people into the gallery to pick, but the android numbering convention doesn't load images in sequential order, but a sort of numerical alphabetical( it saves likes 1, 10, 11,12,13,14,15,16,17,18,19,2,20,21,22,etc). At least this is with quickpic.
So they really get jumbled up, especially with 100+ in there(1, 10,100,11,12). And the point of this segment of the app is to share the most recent image.
i also dont want to just use the currentsystem time, because a ton of numbers is too confusing if they want to find a different one.
Thanks a lot for the help.
Let's try:
Code:
[COLOR="Red"]String path = Utils.saveBitmap(bitmap, dir, baseName);[/COLOR] //replace Utils by your class name
Uri smsUri = Uri.parse("tel:0000000");
Intent intent = new Intent(Intent.ACTION_SEND, smsUri);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_STREAM, Uri.[COLOR="Red"]fromFile(path)[/COLOR]);
intent.putExtra(Intent.EXTRA_TEXT,"Today");
[COLOR="Red"]intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);[/COLOR]
startActivity(intent);
Took awhile to get Eclipse to accept it, but now I get
Code:
W/System.err( 2002): java.lang.NullPointerException
W/System.err( 2002): at com.MYAPP.Util.saveBitmap(Util.java:39)
//////The top red line you suggested
W/System.err( 2002): at com.MYAPP.Screenshots.onOptionsItemSelected(Screenshots.java:79)
W/System.err( 2002): at android.support.v4.app.Watson.onMenuItemSelected(Watson.java:119)
W/System.err( 2002): at com.actionbarsherlock.ActionBarSherlock.callbackOptionsItemSelected(ActionBarSherlock.java:603)
W/System.err( 2002): at com.actionbarsherlock.internal.ActionBarSherlockCompat.onMenuItemSelected(ActionBarSherlockCompat.java:529)
W/System.err( 2002): at com.actionbarsherlock.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:738)
W/System.err( 2002): at com.actionbarsherlock.internal.view.menu.SubMenuBuilder.dispatchMenuItemSelected(SubMenuBuilder.java:83)
W/System.err( 2002): at com.actionbarsherlock.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:148)
W/System.err( 2002): at com.actionbarsherlock.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:879)
W/System.err( 2002): at com.actionbarsherlock.internal.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:158)
W/System.err( 2002): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
W/System.err( 2002): at android.widget.ListView.performItemClick(ListView.java:3513)
W/System.err( 2002): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
W/System.err( 2002): at android.os.Handler.handleCallback(Handler.java:587)
W/System.err( 2002): at android.os.Handler.dispatchMessage(Handler.java:92)
W/System.err( 2002): at android.os.Looper.loop(Looper.java:130)
W/System.err( 2002): at android.app.ActivityThread.main(ActivityThread.java:3822)
W/System.err( 2002): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 2002): at java.lang.reflect.Method.invoke(Method.java:507)
W/System.err( 2002): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
W/System.err( 2002): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
W/System.err( 2002): at dalvik.system.NativeStart.main(Native Method)
D/return ( 2002): null
D/AndroidRuntime( 2002): Shutting down VM
W/dalvikvm( 2002): threadid=1: thread exiting with uncaught exception (group=0x2aac4560)
E/AndroidRuntime( 2002): FATAL EXCEPTION: main
E/AndroidRuntime( 2002): java.lang.NullPointerException: uriString
E/AndroidRuntime( 2002): at android.net.Uri$StringUri.<init>(Uri.java:420)
E/AndroidRuntime( 2002): at android.net.Uri$StringUri.<init>(Uri.java:410)
E/AndroidRuntime( 2002): at android.net.Uri.parse(Uri.java:382)
//////The Changed Uri.getFile(); Line
E/AndroidRuntime( 2002): at com.MYAPP.Screenshots.onOptionsItemSelected(Screenshots.java:82)
E/AndroidRuntime( 2002): at android.support.v4.app.Watson.onMenuItemSelected(Watson.java:119)
E/AndroidRuntime( 2002): at com.actionbarsherlock.ActionBarSherlock.callbackOptionsItemSelected(ActionBarSherlock.java:603)
E/AndroidRuntime( 2002): at com.actionbarsherlock.internal.ActionBarSherlockCompat.onMenuItemSelected(ActionBarSherlockCompat.java:529)
E/AndroidRuntime( 2002): at com.actionbarsherlock.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:738)
E/AndroidRuntime( 2002): at com.actionbarsherlock.internal.view.menu.SubMenuBuilder.dispatchMenuItemSelected(SubMenuBuilder.java:83)
E/AndroidRuntime( 2002): at com.actionbarsherlock.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:148)
E/AndroidRuntime( 2002): at com.actionbarsherlock.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:879)
E/AndroidRuntime( 2002): at com.actionbarsherlock.internal.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:158)
E/AndroidRuntime( 2002): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
E/AndroidRuntime( 2002): at android.widget.ListView.performItemClick(ListView.java:3513)
E/AndroidRuntime( 2002): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
E/AndroidRuntime( 2002): at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime( 2002): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime( 2002): at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime( 2002): at android.app.ActivityThread.main(ActivityThread.java:3822)
E/AndroidRuntime( 2002): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 2002): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime( 2002): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/AndroidRuntime( 2002): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime( 2002): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 181): Force finishing activity com.MYAPP/.Screenshots
W/WindowManager( 181)
Starting to think I should just dump the whole imageview thing.
i need to figure out if i can save to SD how I am doing, and ALSO save to a cache (and overwrite other ones, so only one image persists there)
out of ideas said:
Took awhile to get Eclipse to accept it, but now I get
Code:
W/System.err( 2002): java.lang.NullPointerException
W/System.err( 2002): at com.MYAPP.Util.saveBitmap(Util.java:39)
//////The top red line you suggested
W/System.err( 2002): at com.MYAPP.Screenshots.onOptionsItemSelected(Screenshots.java:79)
W/System.err( 2002): at android.support.v4.app.Watson.onMenuItemSelected(Watson.java:119)
W/System.err( 2002): at com.actionbarsherlock.ActionBarSherlock.callbackOptionsItemSelected(ActionBarSherlock.java:603)
W/System.err( 2002): at com.actionbarsherlock.internal.ActionBarSherlockCompat.onMenuItemSelected(ActionBarSherlockCompat.java:529)
W/System.err( 2002): at com.actionbarsherlock.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:738)
W/System.err( 2002): at com.actionbarsherlock.internal.view.menu.SubMenuBuilder.dispatchMenuItemSelected(SubMenuBuilder.java:83)
W/System.err( 2002): at com.actionbarsherlock.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:148)
W/System.err( 2002): at com.actionbarsherlock.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:879)
W/System.err( 2002): at com.actionbarsherlock.internal.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:158)
W/System.err( 2002): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
W/System.err( 2002): at android.widget.ListView.performItemClick(ListView.java:3513)
W/System.err( 2002): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
W/System.err( 2002): at android.os.Handler.handleCallback(Handler.java:587)
W/System.err( 2002): at android.os.Handler.dispatchMessage(Handler.java:92)
W/System.err( 2002): at android.os.Looper.loop(Looper.java:130)
W/System.err( 2002): at android.app.ActivityThread.main(ActivityThread.java:3822)
W/System.err( 2002): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 2002): at java.lang.reflect.Method.invoke(Method.java:507)
W/System.err( 2002): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
W/System.err( 2002): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
W/System.err( 2002): at dalvik.system.NativeStart.main(Native Method)
D/return ( 2002): null
D/AndroidRuntime( 2002): Shutting down VM
W/dalvikvm( 2002): threadid=1: thread exiting with uncaught exception (group=0x2aac4560)
E/AndroidRuntime( 2002): FATAL EXCEPTION: main
E/AndroidRuntime( 2002): java.lang.NullPointerException: uriString
E/AndroidRuntime( 2002): at android.net.Uri$StringUri.<init>(Uri.java:420)
E/AndroidRuntime( 2002): at android.net.Uri$StringUri.<init>(Uri.java:410)
E/AndroidRuntime( 2002): at android.net.Uri.parse(Uri.java:382)
//////The Changed Uri.getFile(); Line
E/AndroidRuntime( 2002): at com.MYAPP.Screenshots.onOptionsItemSelected(Screenshots.java:82)
E/AndroidRuntime( 2002): at android.support.v4.app.Watson.onMenuItemSelected(Watson.java:119)
E/AndroidRuntime( 2002): at com.actionbarsherlock.ActionBarSherlock.callbackOptionsItemSelected(ActionBarSherlock.java:603)
E/AndroidRuntime( 2002): at com.actionbarsherlock.internal.ActionBarSherlockCompat.onMenuItemSelected(ActionBarSherlockCompat.java:529)
E/AndroidRuntime( 2002): at com.actionbarsherlock.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:738)
E/AndroidRuntime( 2002): at com.actionbarsherlock.internal.view.menu.SubMenuBuilder.dispatchMenuItemSelected(SubMenuBuilder.java:83)
E/AndroidRuntime( 2002): at com.actionbarsherlock.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:148)
E/AndroidRuntime( 2002): at com.actionbarsherlock.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:879)
E/AndroidRuntime( 2002): at com.actionbarsherlock.internal.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:158)
E/AndroidRuntime( 2002): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
E/AndroidRuntime( 2002): at android.widget.ListView.performItemClick(ListView.java:3513)
E/AndroidRuntime( 2002): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
E/AndroidRuntime( 2002): at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime( 2002): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime( 2002): at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime( 2002): at android.app.ActivityThread.main(ActivityThread.java:3822)
E/AndroidRuntime( 2002): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 2002): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime( 2002): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/AndroidRuntime( 2002): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime( 2002): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 181): Force finishing activity com.MYAPP/.Screenshots
W/WindowManager( 181)
Starting to think I should just dump the whole imageview thing.
i need to figure out if i can save to SD how I am doing, and ALSO save to a cache (and overwrite other ones, so only one image persists there)
Click to expand...
Click to collapse
Post your code. We cannot help you if you just say "I changed this line."
It is not getFile but fromFile.
HaHa I know, im not trying to throw puzzles out at people randomly.
But the errors in the log were from those new lines(in red)
the string path
and fromFile path ones
I may be getting somewhere with this though, i found a little section on stackoverflow that i hadn't seen in the other 30 questions about images or screenshots. :fingers-crossed:
Plus i glad I always have about 5 other projects on can work on when I get stuck.
out of ideas said:
HaHa I know, im not trying to throw puzzles out at people randomly.
But the errors in the log were from those new lines(in red)
the string path
and fromFile path ones
I may be getting somewhere with this though, i found a little section on stackoverflow that i hadn't seen in the other 30 questions about images or screenshots. :fingers-crossed:
Plus i glad I always have about 5 other projects on can work on when I get stuck.
Click to expand...
Click to collapse
The problem occurs in the saveBitmap method. For that reason the path is null and then a NPE is thrown. Check your code to save the bitmap.

Camera Preview

Im trying to start a simple app and i need to display on a SurfaceView the preview of the cam as soon as the App start.
i added the permission to the manifest:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
and my code:
Code:
import android.content.Context;
import android.hardware.Camera;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class MainActivity extends SurfaceView implements SurfaceHolder.Callback{
SurfaceView mSurfaceView;
private SurfaceHolder mHolder;
public Camera camera = null;
public MainActivity(Context context) {
super(context);
mSurfaceView = (SurfaceView) findViewById(R.id.surfaceView);
mHolder = mSurfaceView.getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
[user=439709]@override[/user]
public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open();
try{
camera.setPreviewDisplay(mHolder);
} catch(Exception e){
}
}
[user=439709]@override[/user]
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
Camera.Parameters params = camera.getParameters();
params.setPreviewSize(width,height);
camera.setParameters(params);
camera.startPreview();
}
[user=439709]@override[/user]
public void surfaceDestroyed(SurfaceHolder holder) {
camera.stopPreview();
camera = null;
}
}
Ive looked for many tutorial and all technically do the same or smiliart stuff. But the app crashes. I cant find a solution
LogCat
Code:
06-01 12:39:12.456 616-841/system_process I/ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example.droidcam/.MainActivity bnds=[240,408][240,408]} from pid 861
06-01 12:39:12.596 616-841/system_process D/dalvikvm: GC_FOR_ALLOC freed 1352K, 16% free 11518K/13560K, paused 112ms, total 118ms
06-01 12:39:12.636 2744-2744/? D/dalvikvm: Late-enabling CheckJNI
06-01 12:39:12.646 616-881/system_process I/ActivityManager: Start proc com.example.droidcam for activity com.example.droidcam/.MainActivity: pid=2744 uid=10019 gids={50019, 1006, 1028}
06-01 12:39:12.746 2744-2744/com.example.droidcam E/Trace: error opening trace file: No such file or directory (2)
06-01 12:39:12.826 2744-2744/com.example.droidcam D/dalvikvm: newInstance failed: no <init>()
06-01 12:39:12.836 2744-2744/com.example.droidcam D/AndroidRuntime: Shutting down VM
06-01 12:39:12.836 2744-2744/com.example.droidcam W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x2b5d9930)
06-01 12:39:12.836 2744-2744/com.example.droidcam E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.droidcam/com.example.droidcam.MainActivity}: java.lang.InstantiationException: can't instantiate class com.example.droidcam.MainActivity; no empty constructor
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2223)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2357)
at android.app.ActivityThread.access$600(ActivityThread.java:153)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5226)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.InstantiationException: can't instantiate class com.example.droidcam.MainActivity; no empty constructor
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1319)
at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2214)
... 11 more
06-01 12:39:12.836 616-1341/system_process W/ActivityManager: Force finishing activity com.example.droidcam/.MainActivity
06-01 12:39:12.986 616-650/system_process D/dalvikvm: GC_FOR_ALLOC freed 1696K, 24% free 10472K/13772K, paused 76ms, total 77ms
06-01 12:39:13.387 616-647/system_process W/ActivityManager: Activity pause timeout for ActivityRecord{2bd8aff0 u0 com.example.droidcam/.MainActivity}
06-01 12:39:18.952 2744-2744/? I/Process: Sending signal. PID: 2744 SIG: 9
06-01 12:39:18.952 616-943/system_process I/ActivityManager: Process com.example.droidcam (pid 2744) has died.
06-01 12:39:19.002 616-616/system_process W/InputMethodManagerService: Window already focused, ignoring focus gain of: [email protected] attribute=null, token = [email protected]
Please put your code into code tags.
EDIT: Thanks.
and Post/check logcats.
just saying it crashes is too vague.
out of ideas said:
and Post/check logcats.
just saying it crashes is too vague.
Click to expand...
Click to collapse
On Eclipse i know how to show the windows of the LogCat, but cant really find it here on Android Studio.
Im a bit newby about this sorry, coming from PHP using just Notepad.
Guess i found it, added log cat
I saw some tutorial like this, im not sure why it doesnt start.
Is it for te onCreate method missing? but i saw that for other works anyway like this
Btw i've also triyed an other way, but stills give me errors. i could upload that one too, different logcat.
Hope one of the two could be solved
Code:
import android.app.Activity;
import android.hardware.Camera;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import java.io.IOException;
public class MainActivity extends Activity implements SurfaceHolder.Callback{
/* VARIABILI PRIVATE */
private SurfaceView mSurfaceView;
private SurfaceHolder mSurfaceHolder;
private Camera mCamera;
/** Called when the activity is first created. */
[user=439709]@override[/user]
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSurfaceView = (SurfaceView)findViewById(R.id.surfaceView);
mSurfaceHolder = mSurfaceView.getHolder();
mSurfaceHolder.addCallback(this);
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
[user=439709]@override[/user]
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
Camera.Parameters params = mCamera.getParameters();
params.setPreviewSize(arg2, arg3);
mCamera.setParameters(params);
try {
//lancio la preview
mCamera.setPreviewDisplay(arg0);
mCamera.startPreview();
} catch (IOException e) {
//gestione errore
}
}
[user=439709]@override[/user]
public void surfaceCreated(SurfaceHolder holder) {
mCamera = Camera.open();
}
[user=439709]@override[/user]
public void surfaceDestroyed(SurfaceHolder holder) {
mCamera.stopPreview();
mCamera.release();
}
logcat
Code:
06-01 13:32:31.187 616-661/system_process I/ActivityManager: Start proc com.android.vending for service com.android.vending/com.google.android.finsky.services.ContentSyncService: pid=25552 uid=10005 gids={50005, 3003, 1015, 1028}
06-01 13:32:31.227 25552-25552/com.android.vending E/Trace: error opening trace file: No such file or directory (2)
06-01 13:32:31.387 616-841/system_process I/ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example.droidcam/.MainActivity bnds=[240,408][240,408]} from pid 861
06-01 13:32:31.437 25566-25566/? D/dalvikvm: Late-enabling CheckJNI
06-01 13:32:31.447 616-1341/system_process I/ActivityManager: Start proc com.example.droidcam for activity com.example.droidcam/.MainActivity: pid=25566 uid=10019 gids={50019, 1006, 1028}
06-01 13:32:31.607 25566-25566/com.example.droidcam E/Trace: error opening trace file: No such file or directory (2)
06-01 13:32:31.787 25552-25552/com.android.vending D/Finsky: [1] FinskyApp.onCreate: Initializing network with DFE https://android.clients.google.com/fdfe/
06-01 13:32:31.987 25552-25552/com.android.vending D/Finsky: [1] DailyHygiene.goMakeHygieneIfDirty: No need to run daily hygiene.
06-01 13:32:32.037 25552-25552/com.android.vending W/Settings: Setting download_manager_max_bytes_over_mobile has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
06-01 13:32:32.037 25552-25552/com.android.vending W/Settings: Setting download_manager_recommended_max_bytes_over_mobile has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
06-01 13:32:32.178 616-881/system_process D/dalvikvm: GC_FOR_ALLOC freed 656K, 26% free 11321K/15124K, paused 82ms, total 86ms
06-01 13:32:32.238 25566-25566/com.example.droidcam D/libEGL: loaded /system/lib/egl/libEGL_adreno200.so
06-01 13:32:32.258 25566-25566/com.example.droidcam D/libEGL: loaded /system/lib/egl/libGLESv1_CM_adreno200.so
06-01 13:32:32.258 25566-25566/com.example.droidcam D/libEGL: loaded /system/lib/egl/libGLESv2_adreno200.so
06-01 13:32:32.268 25566-25566/com.example.droidcam I/Adreno200-EGL: <qeglDrvAPI_eglInitialize:294>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_JB.04.01.01.00.036_msm8960_JB_CL2644550_release_AU (CL2644550)
Build Date: 07/31/12 Tue
Local Branch:
Remote Branch: quic/master
Local Patches: NONE
Reconstruct Branch: AU_LINUX_ANDROID_JB.04.01.01.00.036 + NOTHING
06-01 13:32:32.318 25566-25566/com.example.droidcam D/OpenGLRenderer: Enabling debug mode 0
06-01 13:32:32.348 256-515/? I/AwesomePlayer: setDataSource_l(URL suppressed)
06-01 13:32:32.378 256-25622/? D/MediaExtractor: returning default extractor
06-01 13:32:32.388 256-515/? I/AwesomePlayer: setDataSource_l(URL suppressed)
06-01 13:32:32.408 256-25626/? D/MediaExtractor: returning default extractor
06-01 13:32:32.408 256-515/? I/CameraClient: Opening camera 0
06-01 13:32:32.408 256-515/? W/ServiceManager: Permission failure: com.sonyericsson.permission.CAMERA_EXTENDED from uid=10019 pid=25566
06-01 13:32:32.438 256-25630/? I/caladbolg: 3348999538 cald_camctrl.c (6713) 25630 P [SVR] -945967758 + Cald_CamCtrl_PowerUp
06-01 13:32:32.438 256-25630/? I/caladbolg: 3348999630 cald_camctrl.c (7484) 25630 P [SVR] -945967666 + Cald_CamCtrl_FSM_Func_PowerUp
06-01 13:32:32.438 256-25630/? I/caladbolg: 3349003170 cald_hal_qct.c (2789) 25630 P [HAL] -945964126 + Cald_Hal_Qct_If_PowerUp
06-01 13:32:32.438 256-25630/? I/caladbolg: 3349003323 cald_hal_qct.c (2847) 25630 P [HAL] -945963973 - Cald_Hal_Qct_If_PowerUp (0)
06-01 13:32:32.438 256-25630/? I/caladbolg: 3349004665 cald_camctrl.c (7563) 25630 P [SVR] -945962631 - Cald_CamCtrl_FSM_Func_PowerUp (0)
06-01 13:32:32.438 256-25630/? I/caladbolg: 3349004726 cald_camctrl.c (6720) 25630 P [SVR] -945962570 - Cald_CamCtrl_PowerUp (0)
06-01 13:32:32.448 256-25630/? E/caladbolg: 3349014431 cald_camctrl.c (11888) 25630 E [SVR] PreviewSize Invalid param: value[402x527]
06-01 13:32:32.458 25566-25566/com.example.droidcam D/AndroidRuntime: Shutting down VM
06-01 13:32:32.458 25566-25566/com.example.droidcam W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x2b5d9930)
06-01 13:32:32.488 25566-25566/com.example.droidcam E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: setParameters failed
at android.hardware.Camera.native_setParameters(Native Method)
at android.hardware.Camera.setParameters(Camera.java:1496)
at com.example.droidcam.MainActivity.surfaceChanged(MainActivity.java:41)
at android.view.SurfaceView.updateWindow(SurfaceView.java:580)
at android.view.SurfaceView.access$000(SurfaceView.java:86)
at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:174)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:680)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1842)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
at android.view.Choreographer.doCallbacks(Choreographer.java:562)
at android.view.Choreographer.doFrame(Choreographer.java:532)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5226)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
at dalvik.system.NativeStart.main(Native Method)
06-01 13:32:32.498 616-943/system_process W/ActivityManager: Force finishing activity com.example.droidcam/.MainActivity
06-01 13:32:32.688 25552-25552/com.android.vending D/Finsky: [1] 2.run: Loaded library for account: [i1YaFxIWaZrcOQ26zxNX5K0RvvY]
06-01 13:32:32.688 25552-25552/com.android.vending D/Finsky: [1] 2.run: Finished loading 1 libraries.
06-01 13:32:32.908 25552-25552/com.android.vending D/Finsky: [1] 5.onFinished: Installation state replication succeeded.
06-01 13:32:33.018 616-647/system_process W/ActivityManager: Activity pause timeout for ActivityRecord{2b946870 u0 com.example.droidcam/.MainActivity}
In Android you normally do not use the constructor of an Activity for anything.
Use the onCreate method instead.
EDIT: The log says that the constructor must be empty.
nikwen said:
In Android you normally do not use the constructor of an Activity for anything.
Use the onCreate method instead.
EDIT: The log says that the constructor must be empty.
Click to expand...
Click to collapse
I thought about that (even if i saw video tutorial doing it) so i tried wht onCreate method and now it seams to give problem with the setParameters?
Ive uploaded the new code and logcats before
Ah. Check this: http://stackoverflow.com/questions/3890381/camera-setparameters-failed-in-android
nikwen said:
Ah. Check this: http://stackoverflow.com/questions/3890381/camera-setparameters-failed-in-android
Click to expand...
Click to collapse
i tryed that at th beggin, and didnt work, in fact i tried it again and still give me the same error apparently
While I'm still learning myself, it looks like you are getting a failed camera permission. And then it tries to pass in an invalid parameter to the camera.
deniel said:
I/CameraClient: Opening camera 0
06-01 13:32:32.408 256-515/? W/ServiceManager: Permission failure: com.sonyericsson.permission.CAMERA_EXTENDED from uid=10019 pid=25566
06-01 13:32:32.448 256-25630/? E/caladbolg: 3349014431 cald_camctrl.c (11888) 25630 E [SVR] PreviewSize Invalid param: value[402x527]
[/CODE]
Click to expand...
Click to collapse
Sent from a Toasted Devil
netwokz said:
While I'm still learning myself, it looks like you are getting a failed camera permission. And then it tries to pass in an invalid parameter to the camera.
Sent from a Toasted Devil
Click to expand...
Click to collapse
But cant understand which one and how should i do. it ryed the 2 ways everybody does
What phone are you trying this on? Have you tried it in an emulator?
After getting home and I was able to try your second piece of code. It looks like it is a problem with <CODE>params.setPreviewSize(arg2, arg3);</CODE>, it doesn't like the width and height arguments. I found THIS(second answer). and after plugging it into your code it was working for me. If you like I can show you the modified code, altho its real easy to plug in.
netwokz said:
After getting home and I was able to try your second piece of code. It looks like it is a problem with <CODE>params.setPreviewSize(arg2, arg3);</CODE>, it doesn't like the width and height arguments. I found THIS(second answer). and after plugging it into your code it was working for me. If you like I can show you the modified code, altho its real easy to plug in.
Click to expand...
Click to collapse
i tryed his first example and finally i get his "distoted" image. When i'll have time ill try the rets thnk u very much
ill try this:
Code:
Camera.Size getBestPreviewSize(int width, int height, Camera.Parameters parameters) {
Camera.Size result=null;
float dr = Float.MAX_VALUE;
float ratio = (float)width/(float)height;
for (Camera.Size size : parameters.getSupportedPreviewSizes()) {
float r = (float)size.width/(float)size.height;
if( Math.abs(r - ratio) < dr && size.width <= width && size.height <= height ) {
dr = Math.abs(r - ratio);
result = size;
}
}
return result;
}
Code:
ublic void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
// Now that the size is known, set up the camera parameters and begin
// the preview.
if (isPreviewRunning) {
mCamera.stopPreview();
}
Camera.Parameters parameters = mCamera.getParameters();
List<Size> sizes = parameters.getSupportedPreviewSizes();
Size optimalSize = getBestPreviewSize( w, h, parameters);
parameters.setPreviewSize(optimalSize.width, optimalSize.height);
mCamera.setParameters(parameters);
mCamera.startPreview();
isPreviewRunning =true;
}
im not sure abot the 3rd parameter of the getBestPreviewSize method which one is it. Like this is still distorted
Yeah, I could never fix the distortion back when I was trying my camera app. But I think I will tinker with it again. Keep this updated if you find anything, I will also.
Sent from a Toasted Devil

JNI_Onload returned bad version

Hi Guys,
I am trying to load a third party .so file for which I do not have the source code. I call loadlibrary like this:
Code:
try
{
System.loadLibrary("3rdpartyjni");
}
catch (Exception e)
{
System.err.println("We have a problem" + e);
}
It immediately fails with the following error:
07-17 10:23:39.484: W/dalvikvm(1540): JNI_OnLoad returned bad version (-1) in 3rdpartyini 0x40ce70b0
07-17 10:23:39.484: W/dalvikvm(1540): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
The exception catch code, by the way, is not fired. The app just crashes. I don't even need this to work in the real world - I need to run a function in this 3rd party .so exactly 1 time. I just need it to work in the emulator. Is there a way to get it to ignore the error and let me use the library?

Android App aborts while sending receiving LinkedHashmap between activity

I want to send and receive LinkedHashmap between activities. Below is my CODE but the application aborts when I try to pass/retrieve the map. Could anyone please help?
============
Sending Activity
============
HTML:
package com.moodswings.moodchart;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.text.InputFilter;
import android.text.InputType;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
import android.widget.*;
public class MainActivity extends Activity
{
ScrollView sv;
TableLayout myTableLayout;
Button submitButton;
Button resetButton;
LinkedHashMap<String, List<EditText>> dataMap = new LinkedHashMap<String, List<EditText>>();
[user=439709]@override[/user]
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
sv = new ScrollView(this);
myTableLayout = new TableLayout (this);
submitButton = new Button(this);
resetButton = new Button(this);
drawScreen();
addListenerOnButton();
}
public void drawScreen()
{
String[] fctrdList = {"Mood","Aggr","Axty"};//,"Depr","Obsv", "Sleep"};
myTableLayout.removeAllViews();
sv.removeAllViews();
//myTableLayout.setBackgroundResource(R.drawable.background);
// rows
TableRow hrsRow = new TableRow(this);
TableRow buttonRow = new TableRow(this);
// margins
hrsRow.setPadding( 20,10,20,10);
// the buttons table layout
// purpose : right align for both buttons
TableLayout buttonsLayout = new TableLayout(this);
buttonRow.setPadding(20,50,40,0);
// the submit and reset buttons
submitButton.setText( "Submit");
resetButton.setText( "Reset");
buttonRow.addView( submitButton);
buttonRow.addView(resetButton);
buttonRow.setGravity(Gravity.RIGHT);
buttonsLayout.addView(buttonRow);
myTableLayout.addView(buttonsLayout);
//=============================================================
// time
TextView hrsV = new TextView(this);
hrsV.setText( "[00-04] [04-08] [08-12] [12-16] [16-20] [20-00]" );
hrsV.setTextSize(10);
hrsV.setTextColor(Color.BLACK );
hrsV.setGravity(Gravity.CENTER_HORIZONTAL);
hrsRow.addView(hrsV);
hrsRow.setGravity(Gravity.CENTER);
// the hours tablelayout
TableLayout hrsTableLayout = new TableLayout(this);
hrsTableLayout.addView(hrsRow);
// add the hours layout to the main one
myTableLayout.addView(hrsTableLayout);
/// the input rows
for(int j = 0; j < fctrdList.length; j++)
{
inputRow(myTableLayout, fctrdList[j]);
}
//
sv.addView(myTableLayout);
// set the screen content to table layout's
setContentView(sv);
}
public void inputRow( TableLayout tl, String label )
{
TableRow inputRow = new TableRow(this);
TextView tv = new TextView(this);
List<EditText> dataList = new ArrayList<EditText>();
// some margin
inputRow.setPadding(10,0,10,0);
tv.setText(label);
tv.setTextSize(10);
inputRow.addView(tv);
for(int i = 0; i < 2; i++)
{
EditText edit = new EditText(this);
edit.setTextSize(TypedValue.COMPLEX_UNIT_SP, 10);
edit.setWidth(50);
edit.setHeight(50);
edit.setFilters(new InputFilter[] {new InputFilter.LengthFilter(2)});
edit.setInputType(InputType.TYPE_CLASS_NUMBER);
//edit.setId( 1 );
edit.setGravity(Gravity.LEFT);
inputRow.addView(edit);
dataList.add(edit);
}
dataMap.put(label, dataList);
tl.addView(inputRow);
}
public void addListenerOnButton() {
submitButton.setOnClickListener(new View.OnClickListener() {
[user=439709]@override[/user]
public void onClick(View arg0) {
LinkedHashMap<String, List<String>> moodMap = new LinkedHashMap<String, List<String>>();
// populate List with EditText contents
for (LinkedHashMap.Entry<String, List<EditText>> entry : dataMap.entrySet()) {
List<EditText> edValues = entry.getValue();
//System.out.println("edValues size :" + edValues.size());
List<String> scaleList = new ArrayList<String>();
for(int a = 0; a < edValues.size(); a++)
{
EditText t = edValues.get(a);
String text = t.getText().toString();
//System.out.println("====== EditText :" + text);
scaleList.add(text);
}
moodMap.put(entry.getKey(), scaleList);
}
// =================
Bundle bundle = new Bundle();
bundle.putSerializable("factorsDataMap", moodMap);
Intent intent = new Intent(MainActivity.this, MoodSummary.class);
intent.putExtras(bundle);
startActivity(intent);
// =================
/*Intent intent = new Intent(MainActivity.this, MoodSummary.class);
intent.putExtra("map", moodMap);
startActivity(intent);*/
//==================
}
});
}
}
============
Second Activity
============
HTML:
package com.moodswings.moodchart;
import java.util.LinkedHashMap;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;
public class MoodSummary extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mood_summary);
System.out.println("HashMapTest");
LinkedHashMap<String, List<String>> moodLnkMap = new LinkedHashMap<String, List<String>>();
Bundle bundle = this.getIntent().getExtras();
if(bundle != null){
moodLnkMap = (LinkedHashMap<String, List<String>>) bundle.getSerializable("factorsDataMap");
if(moodLnkMap.size() != 0)
{
System.out.println("moodMap size: " + moodLnkMap.size());
}
else
{
System.out.println("moodMap size: 0");
}
}
}
}
========
The Logcat
========
HTML:
01-22 17:58:16.345: D/MediaScannerService(198): done scanning volume internal 01-22 17:58:17.024: D/dalvikvm(116): GC_EXTERNAL_ALLOC freed 11169 objects / 521416 bytes in 81ms 01-22 17:58:17.294: D/dalvikvm(116): GC_EXPLICIT freed 1737 objects / 96240 bytes in 63ms 01-22 17:58:17.404: D/PackageParser(58): Scanning package: /data/app/vmdl52647.tmp 01-22 17:58:17.655: I/PackageManager(58): Removing non-system package:com.moodswings.moodchart 01-22 17:58:17.655: I/ActivityManager(58): Force stopping package com.moodswings.moodchart uid=10038 01-22 17:58:17.795: D/PackageManager(58): Scanning package com.moodswings.moodchart 01-22 17:58:17.795: I/PackageManager(58): Package com.moodswings.moodchart codePath changed from /data/app/com.moodswings.moodchart-1.apk to /data/app/com.moodswings.moodchart-2.apk; Retaining data and using new 01-22 17:58:17.805: I/PackageManager(58): /data/app/com.moodswings.moodchart-2.apk changed; unpacking 01-22 17:58:17.815: D/installd(34): DexInv: --- BEGIN '/data/app/com.moodswings.moodchart-2.apk' --- 01-22 17:58:18.714: D/dalvikvm(257): DexOpt: load 112ms, verify 486ms, opt 28ms 01-22 17:58:18.784: D/installd(34): DexInv: --- END '/data/app/com.moodswings.moodchart-2.apk' (success) --- 01-22 17:58:18.784: W/PackageManager(58): Code path for pkg : com.moodswings.moodchart changing from /data/app/com.moodswings.moodchart-1.apk to /data/app/com.moodswings.moodchart-2.apk 01-22 17:58:18.794: W/PackageManager(58): Resource path for pkg : com.moodswings.moodchart changing from /data/app/com.moodswings.moodchart-1.apk to /data/app/com.moodswings.moodchart-2.apk 01-22 17:58:18.794: D/PackageManager(58): Activities: com.moodswings.moodchart.MainActivity com.moodswings.saqibchart.MoodSummary 01-22 17:58:18.804: I/ActivityManager(58): Force stopping package com.moodswings.moodchart uid=10038 01-22 17:58:18.924: I/installd(34): move /data/dalvik-cache/[email protected]@[email protected] -> /data/dalvik-cache/[email protected]@[email protected] 01-22 17:58:18.924: D/PackageManager(58): New package installed in /data/app/com.moodswings.moodchart-2.apk 01-22 17:58:19.046: I/ActivityManager(58): Force stopping package com.moodswings.moodchart uid=10038 01-22 17:58:19.205: I/ActivityManager(58): Start proc com.svox.pico for broadcast com.svox.pico/.VoiceDataInstallerReceiver: pid=258 uid=10028 gids={} 01-22 17:58:19.295: W/RecognitionManagerService(58): no available voice recognition services found 01-22 17:58:19.475: I/ActivityThread(258): Publishing provider com.svox.pico.providers.SettingsProvider: com.svox.pico.providers.SettingsProvider 01-22 17:58:19.505: D/dalvikvm(157): GC_EXPLICIT freed 4255 objects / 257880 bytes in 436ms 01-22 17:58:19.625: D/dalvikvm(58): GC_EXPLICIT freed 9153 objects / 569160 bytes in 116ms 01-22 17:58:19.675: I/installd(34): unlink /data/dalvik-cache/[email protected]@[email protected] 01-22 17:58:19.685: D/AndroidRuntime(205): Shutting down VM 01-22 17:58:19.695: D/jdwp(205): adbd disconnected 01-22 17:58:19.714: I/AndroidRuntime(205): NOTE: attach of thread 'Binder Thread #3' failed 01-22 17:58:20.214: D/AndroidRuntime(268): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<< 01-22 17:58:20.214: D/AndroidRuntime(268): CheckJNI is ON 01-22 17:58:20.344: D/AndroidRuntime(268): --- registering native functions --- 01-22 17:58:20.935: I/ActivityManager(58): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.moodswings.moodchart/.MainActivity } 01-22 17:58:21.075: D/AndroidRuntime(268): Shutting down VM 01-22 17:58:21.085: I/ActivityManager(58): Start proc com.moodswings.moodchart for activity com.moodswings.moodchart/.MainActivity: pid=274 uid=10038 gids={} 01-22 17:58:21.094: D/jdwp(268): adbd disconnected 01-22 17:58:21.165: I/dalvikvm(268): JNI: AttachCurrentThread (from ???.???) 01-22 17:58:21.165: I/AndroidRuntime(268): NOTE: attach of thread 'Binder Thread #3' failed 01-22 17:58:21.454: E/jdwp(274): Failed sending reply to debugger: Broken pipe 01-22 17:58:21.454: D/dalvikvm(274): Debugger has detached; object registry had 1 entries 01-22 17:58:21.914: I/ActivityManager(58): Displayed activity com.moodswings.moodchart/.MainActivity: 843 ms (total 20356 ms) 01-22 17:58:21.914: I/ActivityManager(58): Displayed activity com.android.launcher/com.android.launcher2.Launcher: 20358 ms (total 20358 ms) 01-22 17:58:32.785: D/KeyguardViewMediator(58): pokeWakelock(5000) 01-22 17:58:32.995: D/KeyguardViewMediator(58): pokeWakelock(5000) 01-22 17:58:33.354: I/ARMAssembler(58): generated scanline__00000077:03545404_00000004_00000000 [ 47 ipp] (67 ins) at [0x273d28:0x273e34] in 495099 ns 01-22 17:58:33.424: I/ARMAssembler(58): generated scanline__00000177:03515104_00001001_00000000 [ 91 ipp] (114 ins) at [0x29a378:0x29a540] in 676141 ns 01-22 17:58:35.995: D/dalvikvm(106): GC_FOR_MALLOC freed 1450 objects / 218728 bytes in 51ms 01-22 17:58:36.644: W/KeyCharacterMap(106): No keyboard for id 0 01-22 17:58:36.644: W/KeyCharacterMap(106): Using default keymap: /system/usr/keychars/qwerty.kcm.bin 01-22 17:58:36.845: D/dalvikvm(106): GC_EXTERNAL_ALLOC freed 1992 objects / 136528 bytes in 62ms 01-22 17:58:37.715: D/dalvikvm(106): GC_EXTERNAL_ALLOC freed 544 objects / 27840 bytes in 53ms 01-22 17:58:37.944: W/KeyCharacterMap(106): No keyboard for id 0 01-22 17:58:37.944: W/KeyCharacterMap(106): Using default keymap: /system/usr/keychars/qwerty.kcm.bin 01-22 17:58:40.515: D/dalvikvm(106): GC_EXTERNAL_ALLOC freed 317 objects / 20448 bytes in 94ms 01-22 17:58:40.676: W/KeyCharacterMap(106): No keyboard for id 0 01-22 17:58:40.676: W/KeyCharacterMap(106): Using default keymap: /system/usr/keychars/qwerty.kcm.bin 01-22 17:58:43.195: D/dalvikvm(106): GC_EXTERNAL_ALLOC freed 356 objects / 22976 bytes in 74ms 01-22 17:58:43.345: W/KeyCharacterMap(106): No keyboard for id 0 01-22 17:58:43.376: W/KeyCharacterMap(106): Using default keymap: /system/usr/keychars/qwerty.kcm.bin 01-22 17:58:44.665: I/ActivityManager(58): Starting activity: Intent { cmp=com.moodswings.moodchart/.MoodSummary (has extras) } 01-22 17:58:44.665: D/AndroidRuntime(274): Shutting down VM 01-22 17:58:44.665: W/dalvikvm(274): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 01-22 17:58:44.685: E/AndroidRuntime(274): FATAL EXCEPTION: main 01-22 17:58:44.685: E/AndroidRuntime(274): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.moodswings.moodchart/com.moodswings.moodchart.MoodSummary}; have you declared this activity in your AndroidManifest.xml? 01-22 17:58:44.685: E/AndroidRuntime(274): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404) 01-22 17:58:44.685: E/AndroidRuntime(274): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378) 01-22 17:58:44.685: E/AndroidRuntime(274): at android.app.Activity.startActivityForResult(Activity.java:2817) 01-22 17:58:44.685: E/AndroidRuntime(274): at android.app.Activity.startActivity(Activity.java:2923) 01-22 17:58:44.685: E/AndroidRuntime(274): at com.moodswings.moodchart.MainActivity$1.onClick(MainActivity.java:172) 01-22 17:58:44.685: E/AndroidRuntime(274): at android.view.View.performClick(View.java:2408) 01-22 17:58:44.685: E/AndroidRuntime(274): at android.view.View$PerformClick.run(View.java:8816) 01-22 17:58:44.685: E/AndroidRuntime(274): at android.os.Handler.handleCallback(Handler.java:587) 01-22 17:58:44.685: E/AndroidRuntime(274): at android.os.Handler.dispatchMessage(Handler.java:92) 01-22 17:58:44.685: E/AndroidRuntime(274): at android.os.Looper.loop(Looper.java:123) 01-22 17:58:44.685: E/AndroidRuntime(274): at android.app.ActivityThread.main(ActivityThread.java:4627) 01-22 17:58:44.685: E/AndroidRuntime(274): at java.lang.reflect.Method.invokeNative(Native Method) 01-22 17:58:44.685: E/AndroidRuntime(274): at java.lang.reflect.Method.invoke(Method.java:521) 01-22 17:58:44.685: E/AndroidRuntime(274): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 01-22 17:58:44.685: E/AndroidRuntime(274): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 01-22 17:58:44.685: E/AndroidRuntime(274): at dalvik.system.NativeStart.main(Native Method) 01-22 17:58:44.695: W/ActivityManager(58): Force finishing activity com.moodswings.moodchart/.MainActivity 01-22 17:58:45.215: W/ActivityManager(58): Activity pause timeout for HistoryRecord{4a1851c8 com.moodswings.moodchart/.MainActivity} 01-22 17:58:45.314: I/ARMAssembler(58): generated scanline__00000077:03515104_00000000_00000000 [ 33 ipp] (47 ins) at [0x2f9820:0x2f98dc] in 534098 ns 01-22 17:58:48.934: I/Process(274): Sending signal. PID: 274 SIG: 9 01-22 17:58:48.954: I/ActivityManager(58): Process com.moodswings.moodchart (pid 274) has died. 01-22 17:58:48.954: I/WindowManager(58): WIN DEATH: Window{4a2a9f40 com.moodswings.moodchart/com.moodswings.moodchart.MainActivity paused=false} 01-22 17:58:49.036: W/InputManagerService(58): Got RemoteException sending setActive(false) notification to pid 274 uid 10038 01-22 17:58:56.324: W/ActivityManager(58): Activity destroy timeout for HistoryRecord{4a1851c8 com.moodswings.moodchart/.MainActivity} 01-22 17:59:00.075: W/Process(58): Unable to open /proc/274/status

[PORT][CM11] Xperia Z2 Sirius Smart Social Camera

Hello Friends I Ported Xperia Z2 Smart Social Camera Including Latest AR Effect,Background Defocus,Info Eye,Social live,Vine,Motionshot,Motiongraph For Xperia,Wikitude Places,Voice Balloon Photo,AR Effect For Line,V1 Sports For Sony Xperia Phones Running CM11 Kitkat Like Xperia M,SP,TX,V,L etc. I Hope Everyone Like & Enjoy It.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Features
AR Effect
Switch your camera to AR Effect mode and add fun animations to your photos and videos. Ranging from dinosaurs to ocean-life, these fully customisable themes can be easily edited.
Background Defocus
Create a blurred out background or foreground. Background Defocus simulates a shallow depth of field, capturing two image planes at different focus settings and allowing you to merge the different depths.
Info-eye™
Photograph an object and Info-eye™ will instantly give you all the relevant information you need, right through your camera viewfinder.
Social live
With Social live, you can broadcast every precious moment as it happens live via Facebook. Get your friends’ responses right on the screen and keep the conversation going all in real time.
Vine
Vine is the best way to see and share life in motion. Create short, beautiful, looping videos in a simple and fun way for your friends and family to see.
Motion Shot
This app allows you to capture a short movie by automatically rendering the movement into a single still image so that it appears to be a continuous picture. It is perfect for creating animated images with unique expressions in action scenes involving sports, animals, kids, friends, vehicles, airplanes and moving objects.
Motiongraph for Xperia™
Motiongraph for Xperia™ is a smartphone application that creates unusual images in which part of the image moves like a video.
Amaze your friends with these unique images that are limited only by your imagination.
Motiongraph for Xperia™ allows you to create your image in three simple and intuitive steps:
1. Shoot: Tap a button to record a video about 2 seconds in length.
2. Edit : Swipe across the screen to define the areas that you want it to move or not to move.
3. Save : Tap a button again to save your work, and you're done!
Instructions & Download Link Is On 2nd Post
Screenshots On 3rd Post
Credits
Thanks To macallen For XperiaZ2 FTF
Cheers U Can Post Screenshots Too & I'll Add To This Thread
If U Like My Work Dont Forgot To Press Thanks Button
XDA:DevDB Information
[PORT][CM11] Xperia Z2 Sirius Smart Social Camera, App for the Sony Xperia M
Contributors
xperiaz2
Version Information
Status: Stable
Current Stable Version: Final
Stable Release Date: 2014-04-28
Created 2014-04-28
Last Updated 2014-05-08
Installing Instruction For Any Cm11 Android
1.Download Z2SocialCamera4.zip flash via cwm
2.Download Z2 Camera Addons & Latest AR Effect 3.0.27 Install All apk Normally
3. Run Background Defocus Or Add Widget Camera Choose ur Fav. Camera Addons & Run
Here U Can Download Xperia Z2 Smart Social Camera
https://www.mediafire.com/?2ojpj2tjx853jkz
New Version Here Works On Many Android Phones
https://www.mediafire.com/?kkmapv7682kkkjs
Flash via CWM
Xperia Z2 Camera Addons
http://www.mediafire.com/download/a73e7otni7ap771/Z2CameraAddons.zip
Extract Zip Install All apk Normally
Latest AR Effect 3.0.27 With All Themes Like Spider-Man,Horror etc.
https://www.mediafire.com/?xd1453p1485sedv
AR Effect 2.0.8
https://www.mediafire.com/?8plt36ov6vptyz4
Install apk Normally.. :good:
Screenshots
Good Job Man....!!!!
Wow...youre suprising everyone bro
Thanks for this, I'll try this on my couzins xperia phone :good:
Btw bro, is it possible to port this to other devices running CM11?
totzkitotz said:
Wow...youre suprising everyone bro
Thanks for this, I'll try this on my couzins xperia phone :good:
Btw bro, is it possible to port this to other devices running CM11?
Click to expand...
Click to collapse
Yeah Pleasure Bro yup this works on other devices running cm11 too :good:
xperiaz2 said:
Yeah Pleasure Bro yup this works on other devices running cm11 too :good:
Click to expand...
Click to collapse
wow going to give it a try bro...ill feedback later, because I have an htc here running CM11 thats why Im also asking it..thanks again bro keep it up
cm11 where?
yeeson said:
cm11 where?
Click to expand...
Click to collapse
In the OP sir CM11 kitkat running devices :good:
totzkitotz said:
In the OP sir CM11 kitkat running devices :good:
Click to expand...
Click to collapse
Xperia Z2 cm11 where?
Great Job:good:
Levered said:
Great Job:good:
Click to expand...
Click to collapse
yeah thnx bro :good: Enjoy it
xperiaz2 said:
yeah thnx bro :good: Enjoy it
Click to expand...
Click to collapse
Btw CM11 many bugs....
Great work lokking forward to try this.
Is this works on aosp rom?
I m using carbon rom 4.4
Sent from my C5303 using Tapatalk
This is i want, thanks bro!
wow!! ive awaited this for so loooooooooong. i cannot believe its here!
im downloading now, thank you!! i will bug report soon as i can
Work for Xperia P AOSP 4.4.2? It is novathor and as Z1 camera did not work for novathor, there may be a chance that it may nit work...
Sent my AOSP Xperia P
Force Close!
The camera application force closes in AOSPA 4.2.2 Xperia L.
Hope in future it works!!!
@xperiaz2 Nice job. For xperia P with cm11 i have a force close.Could please add libmmjpeg_interface.so lib to test it ?
dlopen("/system/lib/libimageprocessorjni.so") failed: dlopen failed: could not load library "libcacao_common.so" needed by "libimageprocessorjni.so"; caused by could not load library "libcammw.so" needed by "libcacao_common.so"; caused by could not load library "libmmjpeg_interface.so" needed by "libcammw.so"; caused by library "libmmjpeg_interface.so" not found
Click to expand...
Click to collapse
And here's a part of a logcat:
Code:
E/dalvikvm( 4903):dlopen("/system/lib/libimageprocessorjni.so") failed: dlopen failed: could not load library "libcacao_common.so" needed by "libimageprocessorjni.so"; caused by could not load library "libcammw.so" needed by "libcacao_common.so"; caused by could not load library "libmmjpeg_interface.so" needed by "libcammw.so"; caused by library "libmmjpeg_interface.so" not found
W/dalvikvm( 4903): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/sonymobile/imageprocessor/superresolution/SuperResolutionProcessor;
I/dalvikvm( 4903): Could not find method android.os.storage.StorageManager$StorageType.name, referenced from method com.sonyericsson.cameracommon.mediasaving.CameraStorageManager.getPathFromConfig
W/dalvikvm( 4903): VFY: unable to resolve virtual method 590: Landroid/os/storage/StorageManager$StorageType;.name ()Ljava/lang/String;
D/dalvikvm( 4903): VFY: replacing opcode 0x6e at 0x0024
I/dalvikvm( 4903): Could not find method android.os.storage.StorageManager.getVolumePath, referenced from method com.sonyericsson.cameracommon.mediasaving.CameraStorageManager.getPathFromType
W/dalvikvm( 4903): VFY: unable to resolve virtual method 592: Landroid/os/storage/StorageManager;.getVolumePath (Landroid/os/storage/StorageManager$StorageType;)Ljava/lang/String;
D/dalvikvm( 4903): VFY: replacing opcode 0x6e at 0x0004
W/dalvikvm( 4903): VFY: unable to resolve static field 82 (UNKNOWN) in Landroid/os/storage/StorageManager$StorageType;
D/dalvikvm( 4903): VFY: replacing opcode 0x62 at 0x0000
W/dalvikvm( 4903): VFY: unable to resolve static field 81 (INTERNAL) in Landroid/os/storage/StorageManager$StorageType;
D/dalvikvm( 4903): VFY: replacing opcode 0x62 at 0x000b
W/dalvikvm( 4903): VFY: unable to resolve static field 80 (EXTERNAL_CARD) in Landroid/os/storage/StorageManager$StorageType;
D/dalvikvm( 4903): VFY: replacing opcode 0x62 at 0x000e
W/dalvikvm( 4903): VFY: unable to resolve static field 80 (EXTERNAL_CARD) in Landroid/os/storage/StorageManager$StorageType;
D/dalvikvm( 4903): VFY: replacing opcode 0x62 at 0x0006
W/dalvikvm( 4903): VFY: unable to resolve static field 81 (INTERNAL) in Landroid/os/storage/StorageManager$StorageType;
D/dalvikvm( 4903): VFY: replacing opcode 0x62 at 0x000c
I/dalvikvm( 4903): Could not find method android.os.storage.StorageManager.getVolumeType, referenced from method com.sonyericsson.cameracommon.settings.SaveDestination.getOptions
W/dalvikvm( 4903): VFY: unable to resolve virtual method 594: Landroid/os/storage/StorageManager;.getVolumeType (Ljava/lang/String;)Landroid/os/storage/StorageManager$StorageType;
D/dalvikvm( 4903): VFY: replacing opcode 0x6e at 0x001e
I/dalvikvm( 4903): DexOpt: unable to optimize static field ref 0x0050 at 0x1b in Lcom/sonyericsson/cameracommon/settings/SaveDestination;.<clinit>
W/dalvikvm( 4903): Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lcom/sonyericsson/cameracommon/settings/SaveDestination;
W/dalvikvm( 4903): Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lcom/sonyericsson/cameracommon/mediasaving/CameraStorageManager$1;
D/AndroidRuntime( 4903): Shutting down VM
W/dalvikvm( 4903): threadid=1: thread exiting with uncaught exception (group=0x41916c80)
E/AndroidRuntime( 4903): FATAL EXCEPTION: main
E/AndroidRuntime( 4903): Process: com.sonyericsson.android.camera, PID: 4903
E/AndroidRuntime( 4903): java.lang.NoClassDefFoundError: android.os.storage.StorageManager$StorageType
E/AndroidRuntime( 4903): at com.sonyericsson.cameracommon.settings.SaveDestination.<clinit>(SaveDestination.java:28)
E/AndroidRuntime( 4903): at com.sonyericsson.cameracommon.mediasaving.CameraStorageManager$1.<clinit>(CameraStorageManager.java:900)
E/AndroidRuntime( 4903): at com.sonyericsson.cameracommon.mediasaving.CameraStorageManager.showOrClearStorageErrorPopup(CameraStorageManager.java:375)
E/AndroidRuntime( 4903): at com.sonyericsson.cameracommon.mediasaving.CameraStorageManager.setLastStorageState(CameraStorageManager.java:344)
E/AndroidRuntime( 4903): at com.sonyericsson.cameracommon.mediasaving.CameraStorageManager.updateStorageState(CameraStorageManager.java:322)
E/AndroidRuntime( 4903): at com.sonyericsson.cameracommon.mediasaving.CameraStorageManager.<init>(CameraStorageManager.java:202)
E/AndroidRuntime( 4903): at com.sonyericsson.cameracommon.activity.BaseActivity.onCreate(BaseActivity.java:250)
E/AndroidRuntime( 4903): at com.sonyericsson.android.camera.ExtendedActivity.onCreate(ExtendedActivity.java:273)
E/AndroidRuntime( 4903): at com.sonyericsson.android.camera.CameraActivity.onCreate(CameraActivity.java:226)
E/AndroidRuntime( 4903): at android.app.Activity.performCreate(Activity.java:5231)
E/AndroidRuntime( 4903): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
E/AndroidRuntime( 4903): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
E/AndroidRuntime( 4903): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2265)
E/AndroidRuntime( 4903): at android.app.ActivityThread.access$800(ActivityThread.java:145)
E/AndroidRuntime( 4903): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206)
E/AndroidRuntime( 4903): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 4903): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 4903): at android.app.ActivityThread.main(ActivityThread.java:5081)
E/AndroidRuntime( 4903): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 4903): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 4903): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
E/AndroidRuntime( 4903): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime( 4903): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 2135): Force finishing activity com.sonyericsson.android.camera/.CameraActivity
I/libblt_hw( 1533): Library closed (handle = 8, fd = 54)
I/ActivityManager( 2135): Config changes=480 {1.0 202mcc1mnc en_US ldltr sw360dp w360dp h614dp 240dpi nrml long port finger -keyb/v/h -nav/h s.20 themeResource=null}
D/PhoneStatusBar( 2378): mSettingsPanelGravity = 55
I/InputReader( 2135): Reconfiguring input devices. changes=0x00000004
I/InputReader( 2135): Device reconfigured: id=1, name='sensor00.f11_sensor0', size 540x960, orientation 0, mode 1, display id 0
I/InputReader( 2135): Reconfiguring input devices. changes=0x00000004
I/libblt_hw( 1533): Library opened (handle = 5, fd = 54)
D/Tethering( 2135): Exception adding default nw to upstreamIfaceTypes: java.lang.NullPointerException
D/Tethering( 2135): Exception adding default nw to upstreamIfaceTypes: java.lang.NullPointerException
I/WindowManager( 2135): Screen frozen for +860ms due to Window{41f19120 u0 StatusBar}
E/STE-HWComposer( 1533): bufferIsHWMEM: Buffer handle is NULL!
E/gralloc ( 1533): [User error] handle_2_hwmem_gralloc_handle: Invalid handle
I/libblt_hw( 1533): Library opened (handle = 8, fd = 43)
I/libblt_hw( 1533): Library opened (handle = 10, fd = 53)
I/libblt_hw( 1533): Library opened (handle = 11, fd = 57)
I/libblt_hw( 1533): Library opened (handle = 12, fd = 58)
E/STE-HWComposer( 1533): bufferIsHWMEM: Buffer handle is NULL!
E/gralloc ( 1533): [User error] handle_2_hwmem_gralloc_handle: Invalid handle
E/STE-HWComposer( 1533): bufferIsHWMEM: Buffer handle is NULL!
E/gralloc ( 1533): [User error] handle_2_hwmem_gralloc_handle: Invalid handle
E/STE-HWComposer( 1533): bufferIsHWMEM: Buffer handle is NULL!
E/gralloc ( 1533): [User error] handle_2_hwmem_gralloc_handle: Invalid handle
E/STE-HWComposer( 1533): bufferIsHWMEM: Buffer handle is NULL!
E/gralloc ( 1533): [User error] handle_2_hwmem_gralloc_handle: Invalid handle
E/STE-HWComposer( 1533): bufferIsHWMEM: Buffer handle is NULL!
I may have been dumb in trying this, but it's not working with my Xperia ZL running Omni 4.4.2. I don't know if I can help much by attaching the log but here goes. Searching for "sonymobile", "sonyericsson" or "camera" may help (?)

Categories

Resources