diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/dockbar/DockBarInjector.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/dockbar/DockBarInjector.java index 56786006c..3a4024404 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/dockbar/DockBarInjector.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/dockbar/DockBarInjector.java @@ -1,5 +1,6 @@ package ru.vtosters.lite.ui.fragments.dockbar; +import static com.vtosters.lite.R.id.*; import static ru.vtosters.lite.utils.Globals.getResources; import android.content.res.ColorStateList; @@ -11,6 +12,8 @@ import android.view.MenuItem; import com.vk.apps.AppsFragment; import com.vk.core.drawable.RecoloredDrawable; import com.vk.core.fragments.FragmentImpl; +import com.vk.navigation.NavigationDelegateBottom; +import com.vk.navigation.right.RightMenu; import com.vtosters.lite.ui.bottomnavigation.BottomNavigationMenuView; import com.vtosters.lite.ui.bottomnavigation.BottomNavigationView; @@ -95,16 +98,16 @@ public class DockBarInjector{ menu.clear(); for(DockBarTab tab : sManager.getSelectedTabs()) { - if(tab.id != com.vtosters.lite.R.id.tab_menu){ + if(tab.id != tab_menu){ int itemId = tab.id; - if(tab.id == com.vtosters.lite.R.id.tab_news){ - itemId = com.vtosters.lite.R.id.menu_newsfeed; - } else if(tab.id == com.vtosters.lite.R.id.tab_discover){ - itemId = com.vtosters.lite.R.id.menu_search; - } else if(tab.id == com.vtosters.lite.R.id.tab_feedback){ - itemId = com.vtosters.lite.R.id.menu_feedback; - } else if(tab.id == com.vtosters.lite.R.id.tab_messages){ - itemId = com.vtosters.lite.R.id.menu_messages; + if(tab.id == tab_news){ + itemId = menu_newsfeed; + } else if(tab.id == tab_discover){ + itemId = menu_search; + } else if(tab.id == tab_feedback){ + itemId = menu_feedback; + } else if(tab.id == tab_messages){ + itemId = menu_messages; } MenuItem add = menu.add(0, itemId, 0, tab.titleID); @@ -123,16 +126,16 @@ public class DockBarInjector{ MenuItem menuItem = menu.getItem(i); for(DockBarTab tab : sManager.getSelectedTabs()) { int itemId = menuItem.getItemId(); - if(itemId == com.vtosters.lite.R.id.menu_newsfeed){ - itemId = com.vtosters.lite.R.id.tab_news; - } else if(itemId == com.vtosters.lite.R.id.menu_search){ - itemId = com.vtosters.lite.R.id.tab_discover; - } else if(itemId == com.vtosters.lite.R.id.menu_feedback){ - itemId = com.vtosters.lite.R.id.tab_feedback; - } else if(itemId == com.vtosters.lite.R.id.menu_messages){ - itemId = com.vtosters.lite.R.id.tab_messages; + if(itemId == menu_newsfeed){ + itemId = tab_news; + } else if(itemId == menu_search){ + itemId = tab_discover; + } else if(itemId == menu_feedback){ + itemId = tab_feedback; + } else if(itemId == menu_messages){ + itemId = tab_messages; } - if(itemId == tab.id && tab.id != com.vtosters.lite.R.id.menu_vk_pay){ + if(itemId == tab.id && tab.id != menu_vk_pay){ menuItems.add(menuItem); break; } @@ -152,13 +155,13 @@ public class DockBarInjector{ "discover" )); for(DockBarTab tab : sManager.getSelectedTabs()) { - if(tab.id == com.vtosters.lite.R.id.tab_discover){ + if(tab.id == tab_discover){ arrayList.remove("discover"); - } else if(tab.id == com.vtosters.lite.R.id.tab_feedback){ + } else if(tab.id == tab_feedback){ arrayList.remove("feedback"); - } else if(tab.id == com.vtosters.lite.R.id.tab_messages){ + } else if(tab.id == tab_messages){ arrayList.remove("messages"); - } else if(tab.id == com.vtosters.lite.R.id.tab_news){ + } else if(tab.id == tab_news){ arrayList.remove("news"); } } @@ -195,7 +198,11 @@ public class DockBarInjector{ return false; } - public static Class interceptClick(int id){ + public static Class interceptClick(int id, RightMenu rightMenu){ + if(id == tab_menu){ + rightMenu.a(); + } + for(DockBarTab tab : sManager.getSelectedTabs()) { if(id == tab.id) return tab.fragmentClass; @@ -204,6 +211,7 @@ public class DockBarInjector{ if(id == tab.id) return tab.fragmentClass; } + return AppsFragment.class; } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/dockbar/DockBarManager.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/dockbar/DockBarManager.java index 53ad06ce7..09f61e877 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/dockbar/DockBarManager.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/dockbar/DockBarManager.java @@ -42,7 +42,7 @@ import java.util.List; import ru.vtosters.lite.utils.StreamUtils; -public class DockBarManager { +public class DockBarManager{ public static final int MIN_SELECTED_TABS_LIMIT = 3; public static final int MAX_SELECTED_TABS_LIMIT = 9; @@ -56,27 +56,27 @@ public class DockBarManager { ); private File mConfig; - public DockBarManager() { + public DockBarManager(){ init(); } - public static DockBarManager getInstance() { + public static DockBarManager getInstance(){ return sInstance == null ? (sInstance = new DockBarManager()) : sInstance; } - private void init() { + private void init(){ mConfig = new File(getContext().getFilesDir(), "dockbar.json"); - if (mConfig.exists()) { + if(mConfig.exists()){ readFromConfig(); } else { fillDefault(); } } - private void readFromConfig() { + private void readFromConfig(){ try { JSONObject jsonObj = new JSONObject(StreamUtils.readAllLines(mConfig)); @@ -87,8 +87,8 @@ public class DockBarManager { } } - private void fillList(List list, JSONArray array) throws JSONException, ClassNotFoundException { - for (int i = 0; i < array.length(); i++) { + private void fillList(List list, JSONArray array) throws JSONException, ClassNotFoundException{ + for(int i = 0; i < array.length(); i++) { JSONObject item = array.getJSONObject(i); DockBarTab tab = DockBarTab.valuesOf( item.getString("tag"), @@ -97,24 +97,24 @@ public class DockBarManager { item.getInt("id"), Class.forName(item.getString("fragmentClass")) ); - if (milkshake() && NewsfeedFragment.class == tab.fragmentClass) { + if(milkshake() && NewsfeedFragment.class == tab.fragmentClass){ tab.fragmentClass = HomeFragment.class; - } else if (!milkshake() && HomeFragment.class == tab.fragmentClass) { + } else if(!milkshake() && HomeFragment.class == tab.fragmentClass){ tab.fragmentClass = NewsfeedFragment.class; } list.add(tab); } } - private void fillDefault() { - if (vkme()) { + private void fillDefault(){ + if(vkme()){ mSelectedTabs.add(DockBarTab.valuesOf( "tab_settings", R.drawable.ic_settings_outline_28, R.string.menu_settings, R.id.menu_settings, useNewSettings())); - if (vkme_notifs()) + if(vkme_notifs()) mSelectedTabs.add(DockBarTab.valuesOf( "tab_feedback", R.drawable.ic_menu_notification_outline_28, @@ -261,7 +261,7 @@ public class DockBarManager { BirthdaysFragment.class)); } - public void save() { + public void save(){ try { JSONObject jsonObj = new JSONObject() .put("selected", makeJsonArrayWithTabs(mSelectedTabs)) @@ -273,13 +273,13 @@ public class DockBarManager { } } - public void reset() { + public void reset(){ mConfig.deleteOnExit(); } - private JSONArray makeJsonArrayWithTabs(List list) throws JSONException { + private JSONArray makeJsonArrayWithTabs(List list) throws JSONException{ JSONArray array = new JSONArray(); - for (DockBarTab tab : list) { + for(DockBarTab tab : list) { JSONObject item = new JSONObject() .put("tag", tab.tag) .put("iconID", tab.iconID) @@ -291,15 +291,15 @@ public class DockBarManager { return array; } - public List getSelectedTabs() { + public List getSelectedTabs(){ return mSelectedTabs; } - public List getDisabledTabs() { + public List getDisabledTabs(){ return mDisabledTabs; } - public List getCategoryTitles() { + public List getCategoryTitles(){ return mCategoryTitles; } } diff --git a/smali/smali_classes3/com/vk/navigation/NavigationDelegateBottom.smali b/smali/smali_classes3/com/vk/navigation/NavigationDelegateBottom.smali index 5a5a1c7eb..4da570771 100644 --- a/smali/smali_classes3/com/vk/navigation/NavigationDelegateBottom.smali +++ b/smali/smali_classes3/com/vk/navigation/NavigationDelegateBottom.smali @@ -1676,7 +1676,7 @@ .end method .method private final a(IZ)Z - .locals 4 + .locals 6 const v0, 0x7f0a0d14 @@ -1729,15 +1729,17 @@ .line 63 :cond_0 - # invoke-static {p1}, Lru/vtosters/lite/ui/fragments/dockbar/DockBarInjector;->interceptClick(I)Ljava/lang/Class; + iget-object v5, p0, Lcom/vk/navigation/NavigationDelegateBottom;->U:Lcom/vk/navigation/right/RightMenu; - # move-result-object p1 + invoke-static {p1, v5}, Lru/vtosters/lite/ui/fragments/dockbar/DockBarInjector;->interceptClick(ILcom/vk/navigation/right/RightMenu;)Ljava/lang/Class; - # const/4 v2, 0x0 + move-result-object p1 - # const/4 v0, 0x0 + const/4 v2, 0x0 - # goto :goto_1 + const/4 v0, 0x0 + + goto :goto_1 invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;