[Nexus 7 Original Development] molesarecoming:
you can switch the layout. either toggle or switchbuttons. the switchbuttons looks almost identical to cm's in 2.18. we did it for obvious reasons, cm had two implementations for the same thing and it would limit us, we needed to dissolve it to be able to reshape the systembar which will allow us not only to clean it up but to port the button-control to tabUI. recents are not too large in my opinion.

---------- Post added at 02:08 PM ---------- Previous post was at 02:03 PM ----------

your logact says it

09:52:30.809 Error AndroidRuntime 4529 Caused by: java.lang.IllegalArgumentException: width must be > 0

09:52:30.809 Error AndroidRuntime 4529 at android.graphics.Bitmap.checkWidthHeight(Bitmap.ja va:267)

09:52:30.809 Error AndroidRuntime 4529 at android.graphics.Bitmap.createBitmap(Bitmap.java:5 32)

09:52:30.810 Error AndroidRuntime 4529 at android.graphics.Bitmap.createScaledBitmap(Bitmap. java:467)

09:52:30.810 Error AndroidRuntime 4529 at com.whatsapp.wallpaper.l.a(l.java:107)

/**
* Creates a new bitmap, scaled from an existing bitmap, when possible. If the
* specified width and height are the same as the current width and height of
* the source btimap, the source bitmap is returned and now new bitmap is
* created.
*
* @param src The source bitmap.
* @param dstWidth The new bitmap's desired width.
* @param dstHeight The new bitmap's desired height.
* @param filter true if the source should be filtered.
* @return The new scaled bitmap or the source bitmap if no scaling is required.
*/
public static Bitmap createScaledBitmap(Bitmap src, int dstWidth, int dstHeight,
Bitmap b = Bitmap.createBitmap(src, 0, 0, width, height, m, filter);

/**
* Returns an immutable bitmap from subset of the source bitmap,
* transformed by the optional matrix. The new bitmap may be the
* same object as source, or a copy may have been made. It is
* initialized with the same density as the original bitmap.
*
* If the source bitmap is immutable and the requested subset is the
* same as the source bitmap itself, then the source bitmap is
* returned and no new bitmap is created.
*
* @param source The bitmap we are subsetting
* @param x The x coordinate of the first pixel in source
* @param y The y coordinate of the first pixel in source
* @param width The number of pixels in each row
* @param height The number of rows
* @param m Optional matrix to be applied to the pixels
* @param filter true if the source should be filtered.
* Only applies if the matrix contains more than just
* translation.
* @return A bitmap that represents the specified subset of source
* @throws IllegalArgumentException if the x, y, width, height values are
* outside of the dimensions of the source bitmap.
*/
public static Bitmap createBitmap(Bitmap source, int x, int y, int width, int height,
Matrix m, boolean filter) {
checkWidthHeight(width, height);

/**
* Common code for checking that width and height are > 0
*
* @param width width to ensure is > 0
* @param height height to ensure is > 0
*/
private static void checkWidthHeight(int width, int height) {
if (width <= 0) {
throw new IllegalArgumentException("width must be > 0");
}
if (height <= 0) {
throw new IllegalArgumentException("height must be > 0");
}
}

your app tries to paint a wallpaper and supplies android with a bitmap having a zero width. according do the sdk android will throw a controlled exception, whatsapp doesnt catch it and dies. if you want you can send this quote to the app-dev. not sure if he'll mind because whatsapp does not support this device - you brought it here through a hack and now it fails.

you might wanna check if it reacts differently in another UI though. try phoneUI - maybe the bug exists only in their higher layout container. standard for nex7 is phablet or 600px, whatsapp was written for phones (360px), that could be a cause although still it would be the apps fault.