mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-03 01:16:49 +00:00
Add header protection for Taskbar All Apps search bar.
Works similar to ActivityAllAppsContainerView<->ScrimView implementation, except utilizes AbstractSlideInView's builtin scrim. Test: Manual Flag: ENABLE_ALL_APPS_SEARCH_IN_TASKBAR=false Bug: 216683257 Change-Id: Ide41ac47ecffc232fffac34c6bfdda67c1da549d
This commit is contained in:
@@ -19,15 +19,21 @@ import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.launcher3.R;
|
||||
import com.android.launcher3.allapps.ActivityAllAppsContainerView;
|
||||
import com.android.launcher3.config.FeatureFlags;
|
||||
import com.android.launcher3.taskbar.overlay.TaskbarOverlayContext;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
/** All apps container accessible from taskbar. */
|
||||
public class TaskbarAllAppsContainerView extends
|
||||
ActivityAllAppsContainerView<TaskbarOverlayContext> {
|
||||
|
||||
private @Nullable OnInvalidateHeaderListener mOnInvalidateHeaderListener;
|
||||
|
||||
public TaskbarAllAppsContainerView(Context context, AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
@@ -36,6 +42,10 @@ public class TaskbarAllAppsContainerView extends
|
||||
super(context, attrs, defStyleAttr);
|
||||
}
|
||||
|
||||
void setOnInvalidateHeaderListener(OnInvalidateHeaderListener onInvalidateHeaderListener) {
|
||||
mOnInvalidateHeaderListener = onInvalidateHeaderListener;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected View inflateSearchBox() {
|
||||
if (isSearchSupported()) {
|
||||
@@ -53,6 +63,13 @@ public class TaskbarAllAppsContainerView extends
|
||||
return searchView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidateHeader() {
|
||||
super.invalidateHeader();
|
||||
Optional.ofNullable(mOnInvalidateHeaderListener).ifPresent(
|
||||
OnInvalidateHeaderListener::onInvalidateHeader);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isSearchSupported() {
|
||||
return FeatureFlags.ENABLE_ALL_APPS_SEARCH_IN_TASKBAR.get();
|
||||
@@ -63,4 +80,8 @@ public class TaskbarAllAppsContainerView extends
|
||||
// All apps is always open
|
||||
return true;
|
||||
}
|
||||
|
||||
interface OnInvalidateHeaderListener {
|
||||
void onInvalidateHeader();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user