Add interface for homepapge swipe to dismiss.
- Create an ItemTouchHelper. - Attach the helper to the recycler view. - Pass change to the adapter to handle the swipe. Bug: 126214056 Test: rebuild Change-Id: I312ee1357158db84f9ee328be4722fe067984604
This commit is contained in:
@@ -27,9 +27,11 @@ import android.view.ViewGroup;
|
||||
|
||||
import androidx.loader.app.LoaderManager;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.ItemTouchHelper;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.homepage.contextualcards.slices.SwipeDismissalDelegate;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
|
||||
public class ContextualCardsFragment extends InstrumentedFragment implements
|
||||
@@ -41,6 +43,7 @@ public class ContextualCardsFragment extends InstrumentedFragment implements
|
||||
private GridLayoutManager mLayoutManager;
|
||||
private ContextualCardsAdapter mContextualCardsAdapter;
|
||||
private ContextualCardManager mContextualCardManager;
|
||||
private ItemTouchHelper mItemTouchHelper;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
@@ -63,16 +66,20 @@ public class ContextualCardsFragment extends InstrumentedFragment implements
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
final Context context = getContext();
|
||||
final View rootView = inflater.inflate(R.layout.settings_homepage, container, false);
|
||||
mCardsContainer = rootView.findViewById(R.id.card_container);
|
||||
mLayoutManager = new GridLayoutManager(getActivity(), SPAN_COUNT,
|
||||
GridLayoutManager.VERTICAL, false /* reverseLayout */);
|
||||
mCardsContainer.setLayoutManager(mLayoutManager);
|
||||
mContextualCardsAdapter = new ContextualCardsAdapter(getContext(),
|
||||
this /* lifecycleOwner */, mContextualCardManager);
|
||||
mContextualCardsAdapter = new ContextualCardsAdapter(context, this /* lifecycleOwner */,
|
||||
mContextualCardManager);
|
||||
mCardsContainer.setAdapter(mContextualCardsAdapter);
|
||||
mContextualCardManager.setListener(mContextualCardsAdapter);
|
||||
mCardsContainer.setListener(this);
|
||||
mItemTouchHelper = new ItemTouchHelper(
|
||||
new SwipeDismissalDelegate(context, mContextualCardsAdapter));
|
||||
mItemTouchHelper.attachToRecyclerView(mCardsContainer);
|
||||
|
||||
return rootView;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user