Merge "setVisibility should not propagate focus on children views" into ub-launcher3-master

This commit is contained in:
Hyunyoung Song 2018-12-01 01:21:51 +00:00 committed by Android (Google) Code Review
commit 4d64da3259
2 changed files with 10 additions and 3 deletions

View File

@ -420,8 +420,6 @@ public class LauncherStateManager {
}
UiFactory.onLauncherStateOrResumeChanged(mLauncher);
mLauncher.getDragLayer().requestFocus();
}
public void onWindowFocusChanged() {

View File

@ -20,6 +20,7 @@ import android.animation.Animator;
import android.animation.ValueAnimator;
import android.animation.ValueAnimator.AnimatorUpdateListener;
import android.view.View;
import android.view.ViewGroup;
/**
* A convenience class to update a view's visibility state after an alpha animation.
@ -55,7 +56,15 @@ public class AlphaUpdateListener extends AnimationSuccessListener
view.setVisibility(View.INVISIBLE);
} else if (view.getAlpha() > ALPHA_CUTOFF_THRESHOLD
&& view.getVisibility() != View.VISIBLE) {
if (view instanceof ViewGroup) {
ViewGroup viewGroup = ((ViewGroup) view);
int oldFocusability = viewGroup.getDescendantFocusability();
viewGroup.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
viewGroup.setVisibility(View.VISIBLE);
viewGroup.setDescendantFocusability(oldFocusability);
} else {
view.setVisibility(View.VISIBLE);
}
}
}
}