diff options
| -rw-r--r-- | core/java/com/android/internal/app/PlatLogoActivity.java | 4 | ||||
| -rw-r--r-- | core/res/res/drawable-nodpi/platlogo.png | bin | 39313 -> 44507 bytes | |||
| -rw-r--r-- | core/res/res/drawable-nodpi/platlogo_alt.png | bin | 44507 -> 39313 bytes | |||
| -rw-r--r-- | packages/SystemUI/AndroidManifest.xml | 2 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/BeanBag.java | 85 |
5 files changed, 38 insertions, 53 deletions
diff --git a/core/java/com/android/internal/app/PlatLogoActivity.java b/core/java/com/android/internal/app/PlatLogoActivity.java index e9db9d9d0c97..3a2b647cdc8e 100644 --- a/core/java/com/android/internal/app/PlatLogoActivity.java +++ b/core/java/com/android/internal/app/PlatLogoActivity.java @@ -92,7 +92,7 @@ public class PlatLogoActivity extends Activity { getWindowManager().getDefaultDisplay().getMetrics(metrics); mContent = new ImageView(this); - mContent.setImageResource(com.android.internal.R.drawable.platlogo); + mContent.setImageResource(com.android.internal.R.drawable.platlogo_alt); mContent.setScaleType(ImageView.ScaleType.CENTER_INSIDE); final int p = (int)(32 * metrics.density); @@ -102,7 +102,7 @@ public class PlatLogoActivity extends Activity { @Override public void onClick(View v) { mToast.show(); - mContent.setImageResource(com.android.internal.R.drawable.platlogo_alt); + mContent.setImageResource(com.android.internal.R.drawable.platlogo); } }); diff --git a/core/res/res/drawable-nodpi/platlogo.png b/core/res/res/drawable-nodpi/platlogo.png Binary files differindex f46c6c6326f3..63b53b8ec581 100644 --- a/core/res/res/drawable-nodpi/platlogo.png +++ b/core/res/res/drawable-nodpi/platlogo.png diff --git a/core/res/res/drawable-nodpi/platlogo_alt.png b/core/res/res/drawable-nodpi/platlogo_alt.png Binary files differindex 63b53b8ec581..f46c6c6326f3 100644 --- a/core/res/res/drawable-nodpi/platlogo_alt.png +++ b/core/res/res/drawable-nodpi/platlogo_alt.png diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index c9957f56f538..637c40384087 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -55,7 +55,7 @@ android:allowBackup="false" android:hardwareAccelerated="true" android:label="@string/app_label" - android:icon="@drawable/ic_launcher_settings"> + android:icon="@*android:drawable/platlogo"> <!-- Broadcast receiver that gets the broadcast at boot time and starts up everything else. diff --git a/packages/SystemUI/src/com/android/systemui/BeanBag.java b/packages/SystemUI/src/com/android/systemui/BeanBag.java index e4f00d603fda..616d72fb6e99 100644 --- a/packages/SystemUI/src/com/android/systemui/BeanBag.java +++ b/packages/SystemUI/src/com/android/systemui/BeanBag.java @@ -81,6 +81,10 @@ public class BeanBag extends Activity { return (float) Math.sqrt(x*x+y*y); } + static float clamp(float x, float a, float b) { + return ((x<a)?a:((x>b)?b:x)); + } + static float dot(float x1, float y1, float x2, float y2) { return x1*x2+y1+y2; } @@ -149,6 +153,7 @@ public class BeanBag extends Activity { public boolean grabbed; public float grabx, graby; public long grabtime; + private float grabx_offset, graby_offset; public Bean(Context context, AttributeSet as) { super(context, as); @@ -236,17 +241,20 @@ public class BeanBag extends Activity { switch (e.getAction()) { case MotionEvent.ACTION_DOWN: grabbed = true; + grabx_offset = e.getRawX() - x; + graby_offset = e.getRawY() - y; va = 0; // fall case MotionEvent.ACTION_MOVE: - grabx = e.getRawX(); - graby = e.getRawY(); + grabx = e.getRawX() - grabx_offset; + graby = e.getRawY() - graby_offset; grabtime = e.getEventTime(); break; case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_UP: grabbed = false; - va = randfrange(-5,5); + float a = randsign() * clamp(mag(vx, vy) * 0.33f, 0, 1080f); + va = randfrange(a*0.5f, a); break; } return true; @@ -308,47 +316,6 @@ public class BeanBag extends Activity { if (!(v2 instanceof Bean)) continue; Bean nv2 = (Bean) v2; final float overlap = nv.overlap(nv2); - if (false && overlap < 0) { - // angle pointing from nv2 to nv - final float dx = nv.x - nv2.x; - final float dy = nv.y - nv2.y; - final float ang = (float) Math.atan2(dx, dy); - - if (false) { - nv.vx -= Math.cos(ang) * overlap * 0.5f; - nv.vy -= Math.sin(ang) * overlap * 0.5f; - nv2.vx += Math.cos(ang) * overlap * 0.5f; - nv2.vy += Math.sin(ang) * overlap * 0.5f; - } - - - // first, move them apart - nv.x -= Math.cos(ang) * overlap/2; - nv.y -= Math.sin(ang) * overlap/2; - nv2.x += Math.cos(ang) * overlap/2; - nv2.y += Math.sin(ang) * overlap/2; - - // next, figure out velocities - final float sap = 0f; // randfrange(0,0.25f); - - final float mag1 = mag(nv.vx, nv.vy) * (1f-sap); - final float mag2 = mag(nv2.vx, nv2.vy) * (1f-sap); - - - // hacky way to transfer "momentum" - nv.vx = mag2 * (float)Math.cos(ang); - nv.vy = mag2 * (float)Math.sin(ang); - nv2.vx = -mag1 * (float)Math.cos(ang); - nv2.vy = -mag1 * (float)Math.sin(ang); - - final float totalva = nv.va + nv2.va; - final float frac = randfrange(0.25f,0.75f); - nv.va = totalva * frac; - nv2.va = totalva * (1f-frac); -// nv.va += randfrange(-20,20); -// nv2.va += randfrange(-20,20); - - } } nv.setRotation(nv.a); @@ -375,17 +342,28 @@ public class BeanBag extends Activity { boardWidth = w; boardHeight = h; // android.util.Log.d("Nyandroid", "resized: " + w + "x" + h); - post(new Runnable() { public void run() { - reset(); + } + + public void startAnimation() { + stopAnimation(); + if (mAnim == null) { + post(new Runnable() { public void run() { + reset(); + startAnimation(); + } }); + } else { mAnim.start(); - } }); + } } + public void stopAnimation() { + if (mAnim != null) mAnim.cancel(); + } @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); - mAnim.cancel(); + stopAnimation(); } @Override @@ -428,12 +406,19 @@ public class BeanBag extends Activity { WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED ); + mBoard = new Board(this, null); + setContentView(mBoard); + } + + @Override + public void onPause() { + super.onPause(); + mBoard.stopAnimation(); } @Override public void onResume() { super.onResume(); - mBoard = new Board(this, null); - setContentView(mBoard); + mBoard.startAnimation(); } } |