use of android.support.v7.widget.helper.ItemTouchHelper in project android_frameworks_base by DirtyUnicorns.
the class NavBarTuner method onViewCreated.
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
RecyclerView recyclerView = (RecyclerView) view.findViewById(android.R.id.list);
final Context context = getContext();
recyclerView.setLayoutManager(new LinearLayoutManager(context));
mNavBarAdapter = new NavBarAdapter(context);
recyclerView.setAdapter(mNavBarAdapter);
recyclerView.addItemDecoration(new Dividers(context));
final ItemTouchHelper itemTouchHelper = new ItemTouchHelper(mNavBarAdapter.mCallbacks);
mNavBarAdapter.setTouchHelper(itemTouchHelper);
itemTouchHelper.attachToRecyclerView(recyclerView);
TunerService.get(getContext()).addTunable(this, NAV_BAR_VIEWS);
}
use of android.support.v7.widget.helper.ItemTouchHelper in project xabber-android by redsolution.
the class AccountListActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_account_list);
toolbar = (Toolbar) findViewById(R.id.toolbar_default);
toolbar.setNavigationIcon(R.drawable.ic_clear_white_24dp);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
NavUtils.navigateUpFromSameTask(AccountListActivity.this);
}
});
toolbar.setTitle(R.string.title_reordering_account);
toolbar.inflateMenu(R.menu.toolbar_account_list);
toolbar.setOnMenuItemClickListener(this);
barPainter = new BarPainter(this, toolbar);
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.account_list_recycler_view);
tvSummary = (TextView) findViewById(R.id.tvSummary);
accountListAdapter = new AccountListReorderAdapter(this, this);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(accountListAdapter);
ItemTouchHelper.Callback callback = new SimpleItemTouchHelperCallback(accountListAdapter);
touchHelper = new ItemTouchHelper(callback);
touchHelper.attachToRecyclerView(recyclerView);
}
use of android.support.v7.widget.helper.ItemTouchHelper in project Shuttle by timusus.
the class TabChooserDialog method getDialog.
public static MaterialDialog getDialog(Activity activity) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(activity);
ViewModelAdapter adapter = new ViewModelAdapter();
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new ItemTouchHelperCallback(adapter::moveItem, (fromPosition, toPosition) -> {
}, () -> {
}));
TabViewModel.Listener listener = new TabViewModel.Listener() {
@Override
public void onStartDrag(TabViewModel.ViewHolder holder) {
itemTouchHelper.startDrag(holder);
}
@Override
public void onFolderChecked(TabViewModel tabViewModel, TabViewModel.ViewHolder viewHolder) {
if (!ShuttleUtils.isUpgraded()) {
viewHolder.checkBox.setChecked(false);
tabViewModel.categoryItem.isChecked = false;
UpgradeDialog.getUpgradeDialog(activity).show();
}
}
};
List<ViewModel> items = Stream.of(CategoryItem.getCategoryItems(sharedPreferences)).map(categoryItem -> {
TabViewModel tabViewModel = new TabViewModel(categoryItem);
tabViewModel.setListener(listener);
return tabViewModel;
}).collect(Collectors.toList());
adapter.setItems(items);
RecyclerView recyclerView = new RecyclerView(activity);
recyclerView.setLayoutManager(new LinearLayoutManager(activity));
recyclerView.setAdapter(adapter);
itemTouchHelper.attachToRecyclerView(recyclerView);
return new MaterialDialog.Builder(activity).title(R.string.pref_title_choose_tabs).customView(recyclerView, false).positiveText(R.string.button_done).onPositive((dialog, which) -> {
SharedPreferences.Editor editor = sharedPreferences.edit();
Stream.of(adapter.items).indexed().forEach(viewModelIntPair -> {
((TabViewModel) viewModelIntPair.getSecond()).categoryItem.sortOrder = viewModelIntPair.getFirst();
((TabViewModel) viewModelIntPair.getSecond()).categoryItem.savePrefs(editor);
});
LocalBroadcastManager.getInstance(activity).sendBroadcast(new Intent(LibraryController.EVENT_TABS_CHANGED));
}).negativeText(R.string.close).build();
}
use of android.support.v7.widget.helper.ItemTouchHelper in project Shuttle by timusus.
the class PlaylistDetailFragment method onCreateView.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = super.onCreateView(inflater, container, savedInstanceState);
itemTouchHelper = new ItemTouchHelper(new ItemTouchHelperCallback((fromPosition, toPosition) -> adapter.moveItem(fromPosition, toPosition), (fromPosition, toPosition) -> {
SongView from = (SongView) adapter.items.get(fromPosition);
SongView to = (SongView) adapter.items.get(toPosition);
List<SongView> songViews = Stream.of(adapter.items).filter(itemView -> itemView instanceof SongView).map(itemView -> ((SongView) itemView)).toList();
int adjustedFrom = IntStream.range(0, songViews.size()).filter(i -> from.equals(songViews.get(i))).findFirst().orElse(-1);
int adjustedTo = IntStream.range(0, songViews.size()).filter(i -> to.equals(songViews.get(i))).findFirst().orElse(-1);
if (adjustedFrom != -1 && adjustedTo != -1) {
playlist.moveSong(adjustedFrom, adjustedTo);
}
}, () -> {
// Nothing to do
}) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
if (viewHolder.getItemViewType() == target.getItemViewType()) {
return super.onMove(recyclerView, viewHolder, target);
}
return false;
}
});
itemTouchHelper.attachToRecyclerView(recyclerView);
return rootView;
}
use of android.support.v7.widget.helper.ItemTouchHelper in project Signal-Android by signalapp.
the class ConversationListFragment method onCreateView.
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle bundle) {
final View view = inflater.inflate(R.layout.conversation_list_fragment, container, false);
reminderView = ViewUtil.findById(view, R.id.reminder);
list = ViewUtil.findById(view, R.id.list);
fab = ViewUtil.findById(view, R.id.fab);
emptyState = ViewUtil.findById(view, R.id.empty_state);
emptySearch = ViewUtil.findById(view, R.id.empty_search);
if (archive)
fab.setVisibility(View.GONE);
else
fab.setVisibility(View.VISIBLE);
reminderView.setOnDismissListener(() -> updateReminders(true));
list.setHasFixedSize(true);
list.setLayoutManager(new LinearLayoutManager(getActivity()));
list.setItemAnimator(new DeleteItemAnimator());
list.addItemDecoration(new InsetDividerItemDecoration(getActivity()));
new ItemTouchHelper(new ArchiveListenerCallback()).attachToRecyclerView(list);
return view;
}
Aggregations