Loading src/com/android/launcher3/allapps/SearchTransitionController.java +36 −8 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.graphics.drawable.Drawable; import android.util.FloatProperty; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.view.animation.Interpolator; import com.android.launcher3.BubbleTextView; Loading @@ -39,6 +40,7 @@ import com.android.launcher3.Launcher; import com.android.launcher3.LauncherState; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.model.data.ItemInfo; /** Coordinates the transition between Search and A-Z in All Apps. */ Loading Loading @@ -225,17 +227,36 @@ public class SearchTransitionController { numSearchResultsAnimated++; } Drawable background = searchResultView.getBackground(); if (background != null && searchResultView instanceof ViewGroup && FeatureFlags.ENABLE_SEARCH_RESULT_BACKGROUND_DRAWABLES.get()) { searchResultView.setAlpha(1f); // Apply content alpha to each child, since the view needs to be fully opaque for // the background to show properly. ViewGroup searchResultViewGroup = (ViewGroup) searchResultView; for (int j = 0; j < searchResultViewGroup.getChildCount(); j++) { searchResultViewGroup.getChildAt(j).setAlpha(contentAlpha); } // Apply background alpha to the background drawable directly. background.setAlpha((int) (255 * backgroundAlpha)); } else { searchResultView.setAlpha(contentAlpha); // Apply background alpha to decorator if possible. if (adapterPosition != NO_POSITION) { searchRecyclerView.getApps().getAdapterItems() .get(adapterPosition).setDecorationFillAlpha((int) (255 * backgroundAlpha)); searchRecyclerView.getApps().getAdapterItems().get(adapterPosition) .setDecorationFillAlpha((int) (255 * backgroundAlpha)); } // Apply background alpha to view's background (e.g. for Search Edu card). Drawable background = searchResultView.getBackground(); if (background != null) { background.setAlpha((int) (255 * backgroundAlpha)); } } float scaleY = 1; if (shouldAnimate) { Loading Loading @@ -304,6 +325,13 @@ public class SearchTransitionController { getSearchRecyclerView().getApps().getAdapterItems().get(adapterPosition) .setDecorationFillAlpha(255); } if (child instanceof ViewGroup && FeatureFlags.ENABLE_SEARCH_RESULT_BACKGROUND_DRAWABLES.get()) { ViewGroup childGroup = (ViewGroup) child; for (int i = 0; i < childGroup.getChildCount(); i++) { childGroup.getChildAt(i).setAlpha(1f); } } if (child.getBackground() != null) { child.getBackground().setAlpha(255); } Loading src/com/android/launcher3/config/FeatureFlags.java +4 −0 Original line number Diff line number Diff line Loading @@ -264,6 +264,10 @@ public final class FeatureFlags { public static final BooleanFlag ENABLE_ONE_SEARCH_MOTION = new DeviceFlag( "ENABLE_ONE_SEARCH_MOTION", true, "Enables animations in OneSearch."); public static final BooleanFlag ENABLE_SEARCH_RESULT_BACKGROUND_DRAWABLES = new DeviceFlag( "ENABLE_SEARCH_RESULT_BACKGROUND_DRAWABLES", false, "Enable option to replace decorator-based search result backgrounds with drawables"); public static final BooleanFlag ENABLE_SHOW_KEYBOARD_OPTION_IN_ALL_APPS = new DeviceFlag( "ENABLE_SHOW_KEYBOARD_OPTION_IN_ALL_APPS", true, "Enable option to show keyboard when going to all-apps"); Loading Loading
src/com/android/launcher3/allapps/SearchTransitionController.java +36 −8 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.graphics.drawable.Drawable; import android.util.FloatProperty; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.view.animation.Interpolator; import com.android.launcher3.BubbleTextView; Loading @@ -39,6 +40,7 @@ import com.android.launcher3.Launcher; import com.android.launcher3.LauncherState; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.model.data.ItemInfo; /** Coordinates the transition between Search and A-Z in All Apps. */ Loading Loading @@ -225,17 +227,36 @@ public class SearchTransitionController { numSearchResultsAnimated++; } Drawable background = searchResultView.getBackground(); if (background != null && searchResultView instanceof ViewGroup && FeatureFlags.ENABLE_SEARCH_RESULT_BACKGROUND_DRAWABLES.get()) { searchResultView.setAlpha(1f); // Apply content alpha to each child, since the view needs to be fully opaque for // the background to show properly. ViewGroup searchResultViewGroup = (ViewGroup) searchResultView; for (int j = 0; j < searchResultViewGroup.getChildCount(); j++) { searchResultViewGroup.getChildAt(j).setAlpha(contentAlpha); } // Apply background alpha to the background drawable directly. background.setAlpha((int) (255 * backgroundAlpha)); } else { searchResultView.setAlpha(contentAlpha); // Apply background alpha to decorator if possible. if (adapterPosition != NO_POSITION) { searchRecyclerView.getApps().getAdapterItems() .get(adapterPosition).setDecorationFillAlpha((int) (255 * backgroundAlpha)); searchRecyclerView.getApps().getAdapterItems().get(adapterPosition) .setDecorationFillAlpha((int) (255 * backgroundAlpha)); } // Apply background alpha to view's background (e.g. for Search Edu card). Drawable background = searchResultView.getBackground(); if (background != null) { background.setAlpha((int) (255 * backgroundAlpha)); } } float scaleY = 1; if (shouldAnimate) { Loading Loading @@ -304,6 +325,13 @@ public class SearchTransitionController { getSearchRecyclerView().getApps().getAdapterItems().get(adapterPosition) .setDecorationFillAlpha(255); } if (child instanceof ViewGroup && FeatureFlags.ENABLE_SEARCH_RESULT_BACKGROUND_DRAWABLES.get()) { ViewGroup childGroup = (ViewGroup) child; for (int i = 0; i < childGroup.getChildCount(); i++) { childGroup.getChildAt(i).setAlpha(1f); } } if (child.getBackground() != null) { child.getBackground().setAlpha(255); } Loading
src/com/android/launcher3/config/FeatureFlags.java +4 −0 Original line number Diff line number Diff line Loading @@ -264,6 +264,10 @@ public final class FeatureFlags { public static final BooleanFlag ENABLE_ONE_SEARCH_MOTION = new DeviceFlag( "ENABLE_ONE_SEARCH_MOTION", true, "Enables animations in OneSearch."); public static final BooleanFlag ENABLE_SEARCH_RESULT_BACKGROUND_DRAWABLES = new DeviceFlag( "ENABLE_SEARCH_RESULT_BACKGROUND_DRAWABLES", false, "Enable option to replace decorator-based search result backgrounds with drawables"); public static final BooleanFlag ENABLE_SHOW_KEYBOARD_OPTION_IN_ALL_APPS = new DeviceFlag( "ENABLE_SHOW_KEYBOARD_OPTION_IN_ALL_APPS", true, "Enable option to show keyboard when going to all-apps"); Loading