diff options
-rw-r--r-- | res/layout/screenshot.xml | 36 | ||||
-rw-r--r-- | res/raw/end.ogg | bin | 18641 -> 18638 bytes | |||
-rw-r--r-- | res/raw/error.ogg | bin | 18938 -> 18935 bytes | |||
-rw-r--r-- | res/raw/start.ogg | bin | 23068 -> 19646 bytes | |||
-rwxr-xr-x | res/values/strings.xml | 2 | ||||
-rw-r--r-- | src/com/android/nfc/FireflyRenderThread.java | 6 | ||||
-rw-r--r-- | src/com/android/nfc/P2pEventManager.java | 55 | ||||
-rw-r--r-- | src/com/android/nfc/SendUi.java | 14 |
8 files changed, 32 insertions, 81 deletions
diff --git a/res/layout/screenshot.xml b/res/layout/screenshot.xml index 9e62af7..6f3d302 100644 --- a/res/layout/screenshot.xml +++ b/res/layout/screenshot.xml @@ -23,37 +23,43 @@ android:layout_height="wrap_content" /> <ImageView android:id="@+id/back" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:adjustViewBounds="true" android:src="@drawable/back" android:scaleType="centerCrop" android:visibility="gone" /> - <RelativeLayout android:layout_width="match_parent" + <LinearLayout + android:layout_width="match_parent" android:layout_height="match_parent" + android:orientation="vertical" > <TextView android:id="@+id/calltoaction" - android:layout_width="fill_parent" - android:layout_height="wrap_content" + android:layout_width="match_parent" + android:layout_height="0dip" + android:layout_weight="1" android:text="@string/touch" android:gravity="center" - android:layout_alignParentTop="true" - android:textSize="18sp" - android:paddingTop="40dip" + android:textSize="28sp" android:visibility="gone" android:background="@null" android:textColor="?android:attr/textColorPrimary" /> - </RelativeLayout> + <View + android:layout_width="match_parent" + android:layout_height="0dip" + android:layout_weight="4" + /> + </LinearLayout> <ImageView android:id="@+id/clone" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:adjustViewBounds="true" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:gravity="center" /> <ImageView android:id="@+id/screenshot" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:adjustViewBounds="true" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:gravity="center" /> </FrameLayout> diff --git a/res/raw/end.ogg b/res/raw/end.ogg Binary files differindex 94fc09a..6cf4b98 100644 --- a/res/raw/end.ogg +++ b/res/raw/end.ogg diff --git a/res/raw/error.ogg b/res/raw/error.ogg Binary files differindex 08c7e6a..fbbc356 100644 --- a/res/raw/error.ogg +++ b/res/raw/error.ogg diff --git a/res/raw/start.ogg b/res/raw/start.ogg Binary files differindex e08e155..f7b1a00 100644 --- a/res/raw/start.ogg +++ b/res/raw/start.ogg diff --git a/res/values/strings.xml b/res/values/strings.xml index 4de87f4..ceb2128 100755 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -24,5 +24,5 @@ <!-- Content description of the NFC enabled notification icon for accessibility (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_nfc_enabled">NFC enabled.</string> - <string name="touch">Touch to send</string> + <string name="touch">Touch to beam</string> </resources> diff --git a/src/com/android/nfc/FireflyRenderThread.java b/src/com/android/nfc/FireflyRenderThread.java index 13b9a12..58729b8 100644 --- a/src/com/android/nfc/FireflyRenderThread.java +++ b/src/com/android/nfc/FireflyRenderThread.java @@ -208,6 +208,8 @@ public class FireflyRenderThread extends Thread { firefly.reset(); } + mStartTime = System.currentTimeMillis(); + while (!mFinished) { long timeElapsedMs = System.currentTimeMillis() - mStartTime; mStartTime = System.currentTimeMillis(); @@ -336,7 +338,7 @@ public class FireflyRenderThread extends Thread { float mScale; float mAlpha; boolean mScalingDown; - int mTimeRemaining; + long mTimeRemaining; public Firefly() { reset(); @@ -349,7 +351,7 @@ public class FireflyRenderThread extends Thread { mY = (float) (Math.random() * mDisplayHeight); mAngle = randomVal * 360f; mScalingDown = (randomVal > 0.5f) ? true : false; - mTimeRemaining = (int) (randomVal * STEADY_INTERVAL_MS); + mTimeRemaining = (long) (randomVal * STEADY_INTERVAL_MS); mAlpha = 1; } diff --git a/src/com/android/nfc/P2pEventManager.java b/src/com/android/nfc/P2pEventManager.java index 9a293a1..18ec8ae 100644 --- a/src/com/android/nfc/P2pEventManager.java +++ b/src/com/android/nfc/P2pEventManager.java @@ -29,21 +29,14 @@ import com.android.nfc3.R; /** * Manages vibration, sound and animation for P2P events. */ -public class P2pEventManager implements P2pEventListener, SendUi.Callback, Handler.Callback { +public class P2pEventManager implements P2pEventListener, SendUi.Callback { static final String TAG = "NfcP2pEventManager"; static final boolean DBG = true; - static final int HINT_TIMEOUT = 3000; // How long to wait before showing hint - static final int MSG_HINT_TIMEOUT = 0; - static final int NUM_FAILURES_UNTIL_HINT = 3; // How many failures before showing hint - - static final String PREF_SHOW_HINT = "show_hint"; - static final long[] VIBRATION_PATTERN = {0, 100, 10000}; final Context mContext; final P2pEventListener.Callback mCallback; - final SharedPreferences mPrefs; final int mStartSound; final int mEndSound; final int mErrorSound; @@ -51,12 +44,9 @@ public class P2pEventManager implements P2pEventListener, SendUi.Callback, Handl final Vibrator mVibrator; final NotificationManager mNotificationManager; final SendUi mSendUi; - final Handler mHandler; // only used on UI thread boolean mSending; - boolean mPrefsShowHint; // Show a hint until the user gets it right - int mNothingSharedCount; // Amount of times device entered range but didn't share boolean mNdefSent; boolean mNdefReceived; @@ -71,15 +61,6 @@ public class P2pEventManager implements P2pEventListener, SendUi.Callback, Handl mNotificationManager = (NotificationManager) mContext.getSystemService( Context.NOTIFICATION_SERVICE); - mPrefs = mContext.getSharedPreferences(NfcService.PREF, Context.MODE_PRIVATE); - if (mPrefs.getBoolean(PREF_SHOW_HINT, true)) { - mPrefsShowHint = true; - } else { - mPrefsShowHint = false; - } - mNothingSharedCount = 0; - mHandler = new Handler(this); - mSending = false; mSendUi = new SendUi(context, this); } @@ -96,11 +77,7 @@ public class P2pEventManager implements P2pEventListener, SendUi.Callback, Handl @Override public void onP2pSendConfirmationRequested() { - mSendUi.showPreSend(mPrefsShowHint); - if (!mPrefsShowHint) { - // Show the hint after a timeout - mHandler.sendEmptyMessageDelayed(MSG_HINT_TIMEOUT, HINT_TIMEOUT); - } + mSendUi.showPreSend(); } @Override @@ -108,8 +85,6 @@ public class P2pEventManager implements P2pEventListener, SendUi.Callback, Handl playSound(mEndSound); mVibrator.vibrate(VIBRATION_PATTERN, -1); mSendUi.showPostSend(); - showHintNextTime(false); - mHandler.removeMessages(MSG_HINT_TIMEOUT); mSending = false; mNdefSent = true; } @@ -118,7 +93,6 @@ public class P2pEventManager implements P2pEventListener, SendUi.Callback, Handl public void onP2pReceiveComplete() { mVibrator.vibrate(VIBRATION_PATTERN, -1); playSound(mEndSound); - mHandler.removeMessages(MSG_HINT_TIMEOUT); // TODO we still don't have a nice receive solution // The sanest solution right now is just to scale back up what we had // and start the new activity. It is not perfect, but at least it is @@ -136,14 +110,6 @@ public class P2pEventManager implements P2pEventListener, SendUi.Callback, Handl playSound(mErrorSound); mSending = false; } - if (!mNdefSent && !mNdefReceived) { - if (mNothingSharedCount++ >= NUM_FAILURES_UNTIL_HINT) { - showHintNextTime(true); - } - } else { - mNothingSharedCount = 0; - } - mHandler.removeMessages(MSG_HINT_TIMEOUT); mSendUi.finish(SendUi.FINISH_SCALE_UP); } @@ -157,24 +123,7 @@ public class P2pEventManager implements P2pEventListener, SendUi.Callback, Handl } - void showHintNextTime(boolean show) { - mPrefsShowHint = show; - SharedPreferences.Editor editor = mPrefs.edit(); - editor.putBoolean(PREF_SHOW_HINT, show); - editor.apply(); - } - void playSound(int sound) { mSoundPool.play(sound, 1.0f, 1.0f, 0, 0, 1.0f); } - - @Override - public boolean handleMessage(Message msg) { - if (msg.what == MSG_HINT_TIMEOUT && !mSending) { - mSendUi.fadeInHint(); - return true; - } else { - return false; - } - } } diff --git a/src/com/android/nfc/SendUi.java b/src/com/android/nfc/SendUi.java index 0bb8916..11fbd41 100644 --- a/src/com/android/nfc/SendUi.java +++ b/src/com/android/nfc/SendUi.java @@ -206,15 +206,8 @@ public class SendUi implements Animator.AnimatorListener, View.OnTouchListener, mScreenshotBitmap = createScreenshot(); } - /** Fades in the textual hint */ - public void fadeInHint() { - mTextHint.setAlpha(0.0f); - mTextHint.setVisibility(View.VISIBLE); - mHintAnimator.start(); - } - /** Show pre-send animation */ - public void showPreSend(boolean showHint) { + public void showPreSend() { if (mScreenshotBitmap == null || mAttached) { return; } @@ -229,8 +222,9 @@ public class SendUi implements Animator.AnimatorListener, View.OnTouchListener, mCloneView.setScaleX(INTERMEDIATE_SCALE); mCloneView.setScaleY(INTERMEDIATE_SCALE); - mTextHint.setVisibility(showHint ? View.VISIBLE : View.GONE); - mTextHint.setAlpha(1.0f); + mTextHint.setAlpha(0.0f); + mTextHint.setVisibility(View.VISIBLE); + mHintAnimator.start(); // Lock the orientation. // The orientation from the configuration does not specify whether |