summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/com/android/internal/app/PlatLogoActivity.java4
-rw-r--r--core/res/res/drawable-nodpi/platlogo.pngbin39313 -> 44507 bytes
-rw-r--r--core/res/res/drawable-nodpi/platlogo_alt.pngbin44507 -> 39313 bytes
-rw-r--r--packages/SystemUI/AndroidManifest.xml2
-rw-r--r--packages/SystemUI/src/com/android/systemui/BeanBag.java85
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
index f46c6c6326f3..63b53b8ec581 100644
--- a/core/res/res/drawable-nodpi/platlogo.png
+++ b/core/res/res/drawable-nodpi/platlogo.png
Binary files differ
diff --git a/core/res/res/drawable-nodpi/platlogo_alt.png b/core/res/res/drawable-nodpi/platlogo_alt.png
index 63b53b8ec581..f46c6c6326f3 100644
--- a/core/res/res/drawable-nodpi/platlogo_alt.png
+++ b/core/res/res/drawable-nodpi/platlogo_alt.png
Binary files differ
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();
}
}