added feature of item state changing by swipe to dockbar and superapp editors
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user