OSDN Git Service

Hide the focus indicator view when going to a fullscreen page.
authorTony Wickham <twickham@google.com>
Wed, 18 Nov 2015 18:56:35 +0000 (10:56 -0800)
committerTony Wickham <twickham@google.com>
Thu, 3 Dec 2015 22:47:52 +0000 (14:47 -0800)
Bug: 25649853
Change-Id: I9f2f221020548b48d816924a1803a1a70d11c412

src/com/android/launcher3/FocusIndicatorView.java
src/com/android/launcher3/Workspace.java

index ecf93e4..58b38eb 100644 (file)
@@ -30,6 +30,7 @@ public class FocusIndicatorView extends View implements View.OnFocusChangeListen
 
     // It can be any number >0. The view is resized using scaleX and scaleY.
     static final int DEFAULT_LAYOUT_SIZE = 100;
+
     private static final float MIN_VISIBLE_ALPHA = 0.2f;
     private static final long ANIM_DURATION = 150;
 
@@ -41,6 +42,7 @@ public class FocusIndicatorView extends View implements View.OnFocusChangeListen
 
     private View mLastFocusedView;
     private boolean mInitiated;
+    private final OnFocusChangeListener mHideIndicatorOnFocusListener;
 
     private Pair<View, Boolean> mPendingCall;
 
@@ -52,6 +54,16 @@ public class FocusIndicatorView extends View implements View.OnFocusChangeListen
         super(context, attrs);
         setAlpha(0);
         setBackgroundColor(getResources().getColor(R.color.focused_background));
+
+        mHideIndicatorOnFocusListener = new OnFocusChangeListener() {
+            @Override
+            public void onFocusChange(View v, boolean hasFocus) {
+                if (hasFocus) {
+                    endCurrentAnimation();
+                    setAlpha(0);
+                }
+            }
+        };
     }
 
     @Override
@@ -66,6 +78,13 @@ public class FocusIndicatorView extends View implements View.OnFocusChangeListen
         }
     }
 
+    /**
+     * Sets the alpha of this FocusIndicatorView to 0 when a view with this listener receives focus.
+     */
+    public View.OnFocusChangeListener getHideIndicatorOnFocusListener() {
+        return mHideIndicatorOnFocusListener;
+    }
+
     @Override
     public void onFocusChange(View v, boolean hasFocus) {
         mPendingCall = null;
index 8b639d2..94cbc7a 100644 (file)
@@ -653,6 +653,8 @@ public class Workspace extends PagedView
         customScreen.removeAllViews();
         customContent.setFocusable(true);
         customContent.setOnKeyListener(new FullscreenKeyEventListener());
+        customContent.setOnFocusChangeListener(mLauncher.mFocusHandler
+                .getHideIndicatorOnFocusListener());
         customScreen.addViewToCellLayout(customContent, 0, 0, lp, true);
         mCustomContentDescription = description;