added feature of item state changing by swipe to dockbar and superapp editors

This commit is contained in:
Vologhat
2022-07-21 12:00:46 +03:00
parent 9ae1c0c1bb
commit 22795bab81
4 changed files with 7 additions and 20 deletions
@@ -105,7 +105,8 @@ public class JsonInjectors{
}
public static JSONObject superapp(JSONObject json) throws JSONException {
var superApps = Globals.getPreferences().getString("superapp_items", "").split(",");
var superApps = Globals.getPreferences().getString("superapp_items",
"menu,promo,miniapps,vkpay_slim,greeting,holiday,weather,sport,games,informer,food,event,music,vk_run").split(",");
if (superApps.length == 0) return json;
var oldItems = json.optJSONArray("items");
@@ -149,15 +149,10 @@ public class CategorizedAdapter extends RecyclerView.Adapter<CategorizedAdapter.
@Override
public void onBindViewHolder(@NonNull CategorizedViewHolder viewHolder, int i) {
try {
Log.d("TAG", i + "");
if (getItemViewType(i) == MOVING_ITEM)
mBinder.bind(viewHolder, i);
else
viewHolder.bindCategory(i == 0);
} catch (Exception e) {
Log.d("TAG", e + "");
}
if (getItemViewType(i) == MOVING_ITEM)
mBinder.bind(viewHolder, i);
else
viewHolder.bindCategory(i == 0);
}
@Override
@@ -171,13 +166,11 @@ public class CategorizedAdapter extends RecyclerView.Adapter<CategorizedAdapter.
Object curr;
if (getTabType(index) == SELECTED_STATE) {
curr = mSelectedItems.get(index - 1);
if (!mUnmovedItems.contains(curr)) return;
mSelectedItems.remove(curr);
mDisabledItems.add(0, curr);
notifyItemMoved(index, mSelectedItems.size() + 1);
} else {
curr = mDisabledItems.get(index - mSelectedItems.size() - 2);
if (!mUnmovedItems.contains(curr)) return;
mDisabledItems.remove(curr);
mSelectedItems.add(0, curr);
notifyItemRemoved(index);
@@ -197,8 +190,6 @@ public class CategorizedAdapter extends RecyclerView.Adapter<CategorizedAdapter.
if (getTabType(toPosition) == DISABLED_STATE && min)
return false;
curr = mSelectedItems.get(fromPosition - 1);
if (mUnmovedItems.contains(curr))
return false;
if (getItemViewType(toPosition) == CATEGORY_TITLE) {
if (min)
return false;
@@ -212,8 +203,6 @@ public class CategorizedAdapter extends RecyclerView.Adapter<CategorizedAdapter.
if (getTabType(toPosition) == SELECTED_STATE && max)
return false;
curr = mDisabledItems.get(fromPosition - mSelectedItems.size() - 2);
if (mUnmovedItems.contains(curr))
return false;
if (getItemViewType(toPosition) == CATEGORY_TITLE) {
if (max)
return false;
@@ -27,10 +27,10 @@ public class ItemMovingCallback extends ItemTouchHelper.Callback {
@Override
public int getMovementFlags(@NonNull RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder){
int dragFlags = mAdapter.getItemViewType(viewHolder.getAdapterPosition()) == CategorizedAdapter.MOVING_ITEM
&& !mAdapter.isUnmovedItem(viewHolder.getAdapterPosition())
? ItemTouchHelper.UP | ItemTouchHelper.DOWN
: 0;
int swipeFlags = mAdapter.getItemViewType(viewHolder.getAdapterPosition()) == CategorizedAdapter.MOVING_ITEM
&& mAdapter.isUnmovedItem(viewHolder.getAdapterPosition())
? ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT
: 0;
return makeMovementFlags(dragFlags, swipeFlags);
@@ -97,9 +97,6 @@ public class Globals{
NotificationChannels.createChannels();
}
if (getPrefsValue("superapp_items").isEmpty()) {
edit().putString("superapp_items", "menu,promo,miniapps,vkpay_slim,greeting,holiday,weather,sport,games,informer,food,event,music,vk_run").commit();
}
// VKIDProtection.alert(activity);
}