diff --git a/core/java/com/android/internal/app/PlatLogoActivity.java b/core/java/com/android/internal/app/PlatLogoActivity.java index 3a2b647cdc8e0..91c47d1450fac 100644 --- a/core/java/com/android/internal/app/PlatLogoActivity.java +++ b/core/java/com/android/internal/app/PlatLogoActivity.java @@ -18,91 +18,96 @@ package com.android.internal.app; import android.app.Activity; import android.content.ActivityNotFoundException; +import android.content.Context; import android.content.Intent; import android.graphics.Typeface; import android.os.Build; import android.os.Bundle; import android.os.Handler; +import android.text.method.AllCapsTransformationMethod; +import android.text.method.TransformationMethod; import android.util.DisplayMetrics; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; +import android.view.animation.DecelerateInterpolator; +import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; public class PlatLogoActivity extends Activity { - Toast mToast; - ImageView mContent; + FrameLayout mContent; int mCount; final Handler mHandler = new Handler(); - private View makeView() { - DisplayMetrics metrics = new DisplayMetrics(); - getWindowManager().getDefaultDisplay().getMetrics(metrics); - - LinearLayout view = new LinearLayout(this); - view.setOrientation(LinearLayout.VERTICAL); - view.setLayoutParams( - new ViewGroup.LayoutParams( - ViewGroup.LayoutParams.WRAP_CONTENT, - ViewGroup.LayoutParams.WRAP_CONTENT - )); - final int p = (int)(8 * metrics.density); - view.setPadding(p, p, p, p); - - Typeface light = Typeface.create("sans-serif-light", Typeface.NORMAL); - Typeface normal = Typeface.create("sans-serif", Typeface.BOLD); - - final float size = 14 * metrics.density; - final LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams( - LinearLayout.LayoutParams.WRAP_CONTENT, - LinearLayout.LayoutParams.WRAP_CONTENT); - lp.gravity = Gravity.CENTER_HORIZONTAL; - lp.bottomMargin = (int) (-4*metrics.density); - - TextView tv = new TextView(this); - if (light != null) tv.setTypeface(light); - tv.setTextSize(1.25f*size); - tv.setTextColor(0xFFFFFFFF); - tv.setShadowLayer(4*metrics.density, 0, 2*metrics.density, 0x66000000); - tv.setText("Android " + Build.VERSION.RELEASE); - view.addView(tv, lp); - - tv = new TextView(this); - if (normal != null) tv.setTypeface(normal); - tv.setTextSize(size); - tv.setTextColor(0xFFFFFFFF); - tv.setShadowLayer(4*metrics.density, 0, 2*metrics.density, 0x66000000); - tv.setText("JELLY BEAN"); - view.addView(tv, lp); - - return view; - } - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mToast = Toast.makeText(this, "", Toast.LENGTH_LONG); - mToast.setView(makeView()); - DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); - mContent = new ImageView(this); - mContent.setImageResource(com.android.internal.R.drawable.platlogo_alt); - mContent.setScaleType(ImageView.ScaleType.CENTER_INSIDE); + Typeface bold = Typeface.create("sans-serif", Typeface.BOLD); + Typeface light = Typeface.create("sans-serif-light", Typeface.NORMAL); + + mContent = new FrameLayout(this); - final int p = (int)(32 * metrics.density); - mContent.setPadding(p, p, p, p); + final FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams( + FrameLayout.LayoutParams.WRAP_CONTENT, + FrameLayout.LayoutParams.WRAP_CONTENT); + lp.gravity = Gravity.CENTER; + + final ImageView logo = new ImageView(this); + logo.setImageResource(com.android.internal.R.drawable.platlogo); + logo.setScaleType(ImageView.ScaleType.CENTER_INSIDE); + logo.setVisibility(View.INVISIBLE); + + final TextView letter = new TextView(this); + + letter.setTypeface(bold); + letter.setTextSize(300); + letter.setTextColor(0xFFFFFFFF); + letter.setGravity(Gravity.CENTER); + letter.setShadowLayer(12*metrics.density, 0, 0, 0xC085F985); + letter.setText(String.valueOf(Build.VERSION.RELEASE).substring(0, 1)); + + final int p = (int)(4 * metrics.density); + + final TextView tv = new TextView(this); + if (light != null) tv.setTypeface(light); + tv.setTextSize(30); + tv.setPadding(p, p, p, p); + tv.setTextColor(0xFFFFFFFF); + tv.setGravity(Gravity.CENTER); + tv.setShadowLayer(4 * metrics.density, 0, 2 * metrics.density, 0x66000000); + tv.setTransformationMethod(new AllCapsTransformationMethod(this)); + tv.setText("Android " + Build.VERSION.RELEASE); + tv.setVisibility(View.INVISIBLE); + + mContent.addView(letter, lp); + mContent.addView(logo, lp); + + final FrameLayout.LayoutParams lp2 = new FrameLayout.LayoutParams(lp); + lp2.gravity = Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL; + lp2.bottomMargin = 10*p; + + mContent.addView(tv, lp2); mContent.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - mToast.show(); - mContent.setImageResource(com.android.internal.R.drawable.platlogo); + if (logo.getVisibility() != View.VISIBLE) { + letter.animate().alpha(0.25f).scaleY(0.75f).scaleX(0.75f).setDuration(2000) + .start(); + logo.setAlpha(0f); + logo.setVisibility(View.VISIBLE); + logo.animate().alpha(1f).setDuration(1000).setStartDelay(500).start(); + tv.setAlpha(0f); + tv.setVisibility(View.VISIBLE); + tv.animate().alpha(1f).setDuration(1000).setStartDelay(1000).start(); + } } }); @@ -115,9 +120,8 @@ public class PlatLogoActivity extends Activity { | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS) .addCategory("com.android.internal.category.PLATLOGO")); - //.setClassName("com.android.systemui","com.android.systemui.BeanBag")); } catch (ActivityNotFoundException ex) { - android.util.Log.e("PlatLogoActivity", "Couldn't find a bag of beans."); + android.util.Log.e("PlatLogoActivity", "Couldn't find a piece of pie."); } finish(); return true; diff --git a/core/res/res/drawable-hdpi/stat_sys_adb_am.png b/core/res/res/drawable-hdpi/stat_sys_adb_am.png index cfbbd8d2d646e..0c133390ed316 100644 Binary files a/core/res/res/drawable-hdpi/stat_sys_adb_am.png and b/core/res/res/drawable-hdpi/stat_sys_adb_am.png differ diff --git a/core/res/res/drawable-mdpi/stat_sys_adb_am.png b/core/res/res/drawable-mdpi/stat_sys_adb_am.png index 4862919cacb77..f0a50894de9eb 100644 Binary files a/core/res/res/drawable-mdpi/stat_sys_adb_am.png and b/core/res/res/drawable-mdpi/stat_sys_adb_am.png differ diff --git a/core/res/res/drawable-nodpi/platlogo.png b/core/res/res/drawable-nodpi/platlogo.png index 63b53b8ec5819..4fd0e3c53a5c5 100644 Binary files a/core/res/res/drawable-nodpi/platlogo.png and b/core/res/res/drawable-nodpi/platlogo.png differ diff --git a/core/res/res/drawable-nodpi/platlogo_alt.png b/core/res/res/drawable-nodpi/platlogo_alt.png deleted file mode 100644 index f46c6c6326f30..0000000000000 Binary files a/core/res/res/drawable-nodpi/platlogo_alt.png and /dev/null differ diff --git a/core/res/res/drawable-xhdpi/stat_sys_adb_am.png b/core/res/res/drawable-xhdpi/stat_sys_adb_am.png index 576ae242a3386..789a3f59d37f7 100644 Binary files a/core/res/res/drawable-xhdpi/stat_sys_adb_am.png and b/core/res/res/drawable-xhdpi/stat_sys_adb_am.png differ diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 0bfed1b7de0fe..04cdac9552dab 100755 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -985,7 +985,6 @@ - diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index 2629b118d23b3..2267372bda5a1 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -188,37 +188,6 @@ android:taskAffinity="com.android.systemui.net" android:excludeFromRecents="true" /> - - - - - - - - - - - - - - - - - - b)?b:x)); - } - - static float dot(float x1, float y1, float x2, float y2) { - return x1*x2+y1+y2; - } - - static E pick(E[] array) { - if (array.length == 0) return null; - return array[sRNG.nextInt(array.length)]; - } - - static int pickInt(int[] array) { - if (array.length == 0) return 0; - return array[sRNG.nextInt(array.length)]; - } - - static int NUM_BEANS = 40; - static float MIN_SCALE = 0.2f; - static float MAX_SCALE = 1f; - - static float LUCKY = 0.001f; - - static int MAX_RADIUS = (int)(576 * MAX_SCALE); - - static int BEANS[] = { - R.drawable.redbean0, - R.drawable.redbean0, - R.drawable.redbean0, - R.drawable.redbean0, - R.drawable.redbean1, - R.drawable.redbean1, - R.drawable.redbean2, - R.drawable.redbean2, - R.drawable.redbeandroid, - }; - - static int COLORS[] = { - 0xFF00CC00, - 0xFFCC0000, - 0xFF0000CC, - 0xFFFFFF00, - 0xFFFF8000, - 0xFF00CCFF, - 0xFFFF0080, - 0xFF8000FF, - 0xFFFF8080, - 0xFF8080FF, - 0xFFB0C0D0, - 0xFFDDDDDD, - 0xFF333333, - }; - - public class Bean extends ImageView { - public static final float VMAX = 1000.0f; - public static final float VMIN = 100.0f; - - public float x, y, a; - - public float va; - public float vx, vy; - - public float r; - - public float z; - - public int h,w; - - 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); - } - - public String toString() { - return String.format("", - getX(), getY(), getWidth(), getHeight()); - } - - private void pickBean() { - int beanId = pickInt(BEANS); - if (randfrange(0,1) <= LUCKY) { - beanId = R.drawable.jandycane; - } - BitmapDrawable bean = (BitmapDrawable) getContext().getResources().getDrawable(beanId); - Bitmap beanBits = bean.getBitmap(); - h=beanBits.getHeight(); - w=beanBits.getWidth(); - - if (DEBUG) { - bean.setAlpha(0x80); - } - this.setImageDrawable(bean); - - Paint pt = new Paint(); - final int color = pickInt(COLORS); - ColorMatrix CM = new ColorMatrix(); - float[] M = CM.getArray(); - // we assume the color information is in the red channel - /* R */ M[0] = (float)((color & 0x00FF0000) >> 16) / 0xFF; - /* G */ M[5] = (float)((color & 0x0000FF00) >> 8) / 0xFF; - /* B */ M[10] = (float)((color & 0x000000FF)) / 0xFF; - pt.setColorFilter(new ColorMatrixColorFilter(M)); - setLayerType(View.LAYER_TYPE_HARDWARE, (beanId == R.drawable.jandycane) ? null : pt); - } - - public void reset() { - pickBean(); - - final float scale = lerp(MIN_SCALE,MAX_SCALE,z); - setScaleX(scale); setScaleY(scale); - - r = 0.3f*Math.max(h,w)*scale; - - a=(randfrange(0,360)); - va = randfrange(-30,30); - - vx = randfrange(-40,40) * z; - vy = randfrange(-40,40) * z; - final float boardh = boardHeight; - final float boardw = boardWidth; - //android.util.Log.d("BeanBag", "reset: w="+w+" h="+h); - if (flip()) { - x=(vx < 0 ? boardw+2*r : -r*4f); - y=(randfrange(0, boardh-3*r)*0.5f + ((vy < 0)?boardh*0.5f:0)); - } else { - y=(vy < 0 ? boardh+2*r : -r*4f); - x=(randfrange(0, boardw-3*r)*0.5f + ((vx < 0)?boardw*0.5f:0)); - } - } - - public void update(float dt) { - if (grabbed) { -// final float interval = (SystemClock.uptimeMillis() - grabtime) / 1000f; - vx = (vx * 0.75f) + ((grabx - x) / dt) * 0.25f; - x = grabx; - vy = (vy * 0.75f) + ((graby - y) / dt) * 0.25f;; - y = graby; - } else { - x = (x + vx * dt); - y = (y + vy * dt); - a = (a + va * dt); - } - } - - public float overlap(Bean other) { - final float dx = (x - other.x); - final float dy = (y - other.y); - return mag(dx, dy) - r - other.r; - } - - @Override - public boolean onTouchEvent(MotionEvent e) { - 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() - grabx_offset; - graby = e.getRawY() - graby_offset; - grabtime = e.getEventTime(); - break; - case MotionEvent.ACTION_CANCEL: - case MotionEvent.ACTION_UP: - grabbed = false; - float a = randsign() * clamp(mag(vx, vy) * 0.33f, 0, 1080f); - va = randfrange(a*0.5f, a); - break; - } - return true; - } - } - - TimeAnimator mAnim; - private int boardWidth; - private int boardHeight; - - public Board(Context context, AttributeSet as) { - super(context, as); - - setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); - - setWillNotDraw(!DEBUG); - } - - private void reset() { -// android.util.Log.d("Nyandroid", "board reset"); - removeAllViews(); - - final ViewGroup.LayoutParams wrap = new ViewGroup.LayoutParams( - ViewGroup.LayoutParams.WRAP_CONTENT, - ViewGroup.LayoutParams.WRAP_CONTENT); - - for(int i=0; i 5000) { - lastPrint = totalTime; - for (int i=0; i boardWidth + MAX_RADIUS - || nv.y < -MAX_RADIUS - || nv.y > boardHeight + MAX_RADIUS) - { - nv.reset(); - } - } - - if (DEBUG) invalidate(); - } - }); - } - - @Override - protected void onSizeChanged (int w, int h, int oldw, int oldh) { - super.onSizeChanged(w,h,oldw,oldh); - boardWidth = w; - boardHeight = h; -// android.util.Log.d("Nyandroid", "resized: " + w + "x" + h); - } - - 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(); - stopAnimation(); - } - - @Override - public boolean isOpaque() { - return false; - } - - @Override - public void onDraw(Canvas c) { - if (DEBUG) { - //android.util.Log.d("BeanBag", "onDraw"); - Paint pt = new Paint(); - pt.setAntiAlias(true); - pt.setStyle(Paint.Style.STROKE); - pt.setColor(0xFFFF0000); - pt.setStrokeWidth(4.0f); - c.drawRect(0, 0, getWidth(), getHeight(), pt); - pt.setColor(0xFFFFCC00); - pt.setStrokeWidth(1.0f); - for (int i=0; i