Sistemato caricamento menu laterale (Drawer)
This commit is contained in:
parent
30e16fb765
commit
be1c5ecd0b
@ -97,13 +97,13 @@ public class MainActivity extends BaseActivity
|
|||||||
mBinding.appBarMain.mainSearch.setVisibility(View.GONE);
|
mBinding.appBarMain.mainSearch.setVisibility(View.GONE);
|
||||||
|
|
||||||
initGestMenu();
|
initGestMenu();
|
||||||
if(savedInstanceState == null) openMain();
|
if (savedInstanceState == null) openMain();
|
||||||
|
|
||||||
init();
|
init();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startLoginActivity(){
|
private void startLoginActivity() {
|
||||||
this.finish();
|
this.finish();
|
||||||
Intent myIntent = new Intent(this, LoginActivity.class);
|
Intent myIntent = new Intent(this, LoginActivity.class);
|
||||||
startActivity(myIntent);
|
startActivity(myIntent);
|
||||||
@ -170,7 +170,7 @@ public class MainActivity extends BaseActivity
|
|||||||
|
|
||||||
BaseMenuConfiguration.MenuItem menuItem = getMenuItem(id);
|
BaseMenuConfiguration.MenuItem menuItem = getMenuItem(id);
|
||||||
|
|
||||||
if(menuItem != null) {
|
if (menuItem != null) {
|
||||||
fragment = menuItem.getFragmentFactory().run();
|
fragment = menuItem.getFragmentFactory().run();
|
||||||
this.adaptViewToFragment(fragment);
|
this.adaptViewToFragment(fragment);
|
||||||
} else {
|
} else {
|
||||||
@ -205,24 +205,30 @@ public class MainActivity extends BaseActivity
|
|||||||
private void initGestMenu() {
|
private void initGestMenu() {
|
||||||
Menu menu = mBinding.navView.getMenu();
|
Menu menu = mBinding.navView.getMenu();
|
||||||
|
|
||||||
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
|
|
||||||
|
|
||||||
if(customConfiguration == null) return;
|
|
||||||
|
|
||||||
BaseMenuConfiguration menuConfiguration = customConfiguration.getConfig(BaseCustomConfiguration.Keys.MENU_CONFIGURATION);
|
|
||||||
List<MenuConfiguration.MenuGroup> menuGroups = menuConfiguration.getGroups();
|
|
||||||
|
|
||||||
menu.add(R.id.nav_home, R.id.nav_home, 0, R.string.home)
|
menu.add(R.id.nav_home, R.id.nav_home, 0, R.string.home)
|
||||||
.setIcon(R.drawable.ic_black_home);
|
.setIcon(R.drawable.ic_black_home);
|
||||||
|
|
||||||
for(MenuConfiguration.MenuGroup menuGroup : menuGroups) {
|
MenuConfiguration baseMenuConfiguration = new MenuConfiguration();
|
||||||
|
List<MenuConfiguration.MenuGroup> menuGroups = baseMenuConfiguration.getGroups();
|
||||||
|
|
||||||
SubMenu subMenu = menu.addSubMenu(menuGroup.getGroupText());
|
for (MenuConfiguration.MenuGroup menuGroup : menuGroups) {
|
||||||
|
try {
|
||||||
|
|
||||||
for(MenuConfiguration.MenuItem menuItem : menuGroup.getItems()) {
|
if (menuService.isGroupEnabled(menuGroup)) {
|
||||||
subMenu
|
SubMenu subMenu = menu.addSubMenu(menuGroup.getGroupText());
|
||||||
.add(menuGroup.getGroupId(), menuItem.getID(), 0, menuItem.getTitleText())
|
|
||||||
.setIcon(menuItem.getDrawerIcon());
|
for (MenuConfiguration.MenuItem menuItem : menuGroup.getItems()) {
|
||||||
|
|
||||||
|
if(menuService.isItemEnabled(menuItem)) {
|
||||||
|
subMenu
|
||||||
|
.add(menuGroup.getGroupId(), menuItem.getID(), 0, menuItem.getTitleText())
|
||||||
|
.setIcon(menuItem.getDrawerIcon());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception exception) {
|
||||||
|
exception.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -241,15 +247,15 @@ public class MainActivity extends BaseActivity
|
|||||||
|
|
||||||
BaseMenuConfiguration.MenuItem menuItemToReturn = null;
|
BaseMenuConfiguration.MenuItem menuItemToReturn = null;
|
||||||
|
|
||||||
for(MenuConfiguration.MenuGroup menuGroup : menuGroups) {
|
for (MenuConfiguration.MenuGroup menuGroup : menuGroups) {
|
||||||
for(MenuConfiguration.MenuItem menuItem : menuGroup.getItems()) {
|
for (MenuConfiguration.MenuItem menuItem : menuGroup.getItems()) {
|
||||||
if(menuId == menuItem.getID()) {
|
if (menuId == menuItem.getID()) {
|
||||||
menuItemToReturn = menuItem;
|
menuItemToReturn = menuItem;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(menuItemToReturn != null) break;
|
if (menuItemToReturn != null) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -269,13 +275,13 @@ public class MainActivity extends BaseActivity
|
|||||||
public void pop() {
|
public void pop() {
|
||||||
|
|
||||||
int count = getSupportFragmentManager().getBackStackEntryCount();
|
int count = getSupportFragmentManager().getBackStackEntryCount();
|
||||||
for(int i = 0; i < count; i++) {
|
for (int i = 0; i < count; i++) {
|
||||||
getSupportFragmentManager().popBackStack();
|
getSupportFragmentManager().popBackStack();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void adaptViewToFragment(Fragment fragment){
|
private void adaptViewToFragment(Fragment fragment) {
|
||||||
if(fragment instanceof ISearcableFragment) {
|
if (fragment instanceof ISearcableFragment) {
|
||||||
mBinding.appBarMain.mainSearch.setOnQueryTextListener((SearchView.OnQueryTextListener) fragment);
|
mBinding.appBarMain.mainSearch.setOnQueryTextListener((SearchView.OnQueryTextListener) fragment);
|
||||||
mBinding.appBarMain.mainSearch.setVisibility(View.VISIBLE);
|
mBinding.appBarMain.mainSearch.setVisibility(View.VISIBLE);
|
||||||
mBinding.appBarMain.mainSearch.setOnSearchClickListener(v -> {
|
mBinding.appBarMain.mainSearch.setOnSearchClickListener(v -> {
|
||||||
@ -301,7 +307,7 @@ public class MainActivity extends BaseActivity
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(fragment instanceof ITitledFragment && !(fragment instanceof MainFragment)) {
|
if (fragment instanceof ITitledFragment && !(fragment instanceof MainFragment)) {
|
||||||
mBinding.appBarMain.toolbarTitleCenteredLayout.setVisibility(View.GONE);
|
mBinding.appBarMain.toolbarTitleCenteredLayout.setVisibility(View.GONE);
|
||||||
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.VISIBLE);
|
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.VISIBLE);
|
||||||
((ITitledFragment) fragment).onCreateActionBar(mBinding.appBarMain.toolbarTitleLeft, this);
|
((ITitledFragment) fragment).onCreateActionBar(mBinding.appBarMain.toolbarTitleLeft, this);
|
||||||
@ -314,19 +320,19 @@ public class MainActivity extends BaseActivity
|
|||||||
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.GONE);
|
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(fragment instanceof IScrollableFragment) {
|
if (fragment instanceof IScrollableFragment) {
|
||||||
((IScrollableFragment) fragment).setScrollToolbar(mBinding.appBarMain.elevatedToolbar);
|
((IScrollableFragment) fragment).setScrollToolbar(mBinding.appBarMain.elevatedToolbar);
|
||||||
((IScrollableFragment) fragment).addOnPreDestroy(() -> {
|
((IScrollableFragment) fragment).addOnPreDestroy(() -> {
|
||||||
mBinding.appBarMain.elevatedToolbar.resetAll();
|
mBinding.appBarMain.elevatedToolbar.resetAll();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if(fragment instanceof ISelectAllFragment && ((ISelectAllFragment)fragment).isSelectAllButtonEnabled()) {
|
if (fragment instanceof ISelectAllFragment && ((ISelectAllFragment) fragment).isSelectAllButtonEnabled()) {
|
||||||
mBinding.appBarMain.mainSelectAll.setVisibility(View.VISIBLE);
|
mBinding.appBarMain.mainSelectAll.setVisibility(View.VISIBLE);
|
||||||
mBinding.appBarMain.mainSelectAll.setOnClickListener(new OnSingleClickListener() {
|
mBinding.appBarMain.mainSelectAll.setOnClickListener(new OnSingleClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onSingleClick(View v) {
|
public void onSingleClick(View v) {
|
||||||
((ISelectAllFragment)fragment).onSelectAll();
|
((ISelectAllFragment) fragment).onSelectAll();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
((ISelectAllFragment) fragment).addOnPreDestroy(() -> {
|
((ISelectAllFragment) fragment).addOnPreDestroy(() -> {
|
||||||
@ -335,16 +341,16 @@ public class MainActivity extends BaseActivity
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if(fragment instanceof IFilterableFragment) {
|
if (fragment instanceof IFilterableFragment) {
|
||||||
mBinding.appBarMain.mainFilter.setVisibility(View.VISIBLE);
|
mBinding.appBarMain.mainFilter.setVisibility(View.VISIBLE);
|
||||||
mBinding.appBarMain.mainFilter.setOnClickListener(new OnSingleClickListener() {
|
mBinding.appBarMain.mainFilter.setOnClickListener(new OnSingleClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onSingleClick(View v) {
|
public void onSingleClick(View v) {
|
||||||
((IFilterableFragment)fragment).onFilterClick();
|
((IFilterableFragment) fragment).onFilterClick();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
((IFilterableFragment)fragment).addOnPreDestroy(() -> {
|
((IFilterableFragment) fragment).addOnPreDestroy(() -> {
|
||||||
mBinding.appBarMain.mainFilter.setVisibility(View.GONE);
|
mBinding.appBarMain.mainFilter.setVisibility(View.GONE);
|
||||||
mBinding.appBarMain.mainFilter.setOnClickListener(null);
|
mBinding.appBarMain.mainFilter.setOnClickListener(null);
|
||||||
});
|
});
|
||||||
@ -354,14 +360,14 @@ public class MainActivity extends BaseActivity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void changeContentFragment(Fragment fragment, boolean addToBackStack){
|
private void changeContentFragment(Fragment fragment, boolean addToBackStack) {
|
||||||
if (fragment != null) {
|
if (fragment != null) {
|
||||||
FragmentManager fragmentManager = getSupportFragmentManager();
|
FragmentManager fragmentManager = getSupportFragmentManager();
|
||||||
FragmentTransaction ft = fragmentManager
|
FragmentTransaction ft = fragmentManager
|
||||||
.beginTransaction()
|
.beginTransaction()
|
||||||
.replace(R.id.frame_container, fragment);
|
.replace(R.id.frame_container, fragment);
|
||||||
|
|
||||||
if(addToBackStack) ft.addToBackStack(fragment.getTag());
|
if (addToBackStack) ft.addToBackStack(fragment.getTag());
|
||||||
|
|
||||||
ft.commit();
|
ft.commit();
|
||||||
//fragmentManager.executePendingTransactions();
|
//fragmentManager.executePendingTransactions();
|
||||||
@ -370,11 +376,7 @@ public class MainActivity extends BaseActivity
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void init() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void init(){
|
|
||||||
|
|
||||||
// ServerStatusChecker.getInstance().addCallback(value -> {
|
// ServerStatusChecker.getInstance().addCallback(value -> {
|
||||||
// if(value && (!mIsOnline || firstCheckExecution)){
|
// if(value && (!mIsOnline || firstCheckExecution)){
|
||||||
|
|||||||
@ -24,11 +24,9 @@ import javax.inject.Inject;
|
|||||||
|
|
||||||
import it.integry.integrywmsnative.MainApplication;
|
import it.integry.integrywmsnative.MainApplication;
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
import it.integry.integrywmsnative.core.class_router.BaseCustomConfiguration;
|
|
||||||
import it.integry.integrywmsnative.core.class_router.ClassRouter;
|
import it.integry.integrywmsnative.core.class_router.ClassRouter;
|
||||||
import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
|
import it.integry.integrywmsnative.core.class_router.configs.BaseMenuConfiguration;
|
||||||
import it.integry.integrywmsnative.core.class_router.configs.MenuConfiguration;
|
import it.integry.integrywmsnative.core.class_router.configs.MenuConfiguration;
|
||||||
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
|
|
||||||
import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita;
|
import it.integry.integrywmsnative.core.class_router.interfaces.IOrdiniVendita;
|
||||||
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverDTO;
|
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverDTO;
|
||||||
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
|
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
|
||||||
@ -113,7 +111,6 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
|||||||
|
|
||||||
init();
|
init();
|
||||||
initGestMenu();
|
initGestMenu();
|
||||||
// initGestMenuOLD();
|
|
||||||
initVersion();
|
initVersion();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -296,40 +293,6 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initGestMenuOLD() {
|
|
||||||
ICustomConfiguration customConfiguration = ClassRouter.getInstance(ClassRouter.PATH.CUSTOM_CONFIGURATION);
|
|
||||||
if (customConfiguration == null) {
|
|
||||||
// MainApplication.exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
BaseMenuConfiguration menuConfiguration = customConfiguration.getConfig(BaseCustomConfiguration.Keys.MENU_CONFIGURATION);
|
|
||||||
List<MenuConfiguration.MenuGroup> menuGroups = menuConfiguration.getGroups();
|
|
||||||
|
|
||||||
int menuSpanCount = 2;
|
|
||||||
if(UtilityDimension.getDisplayInchs(this.getActivity()) > 8) menuSpanCount = 4;
|
|
||||||
else if(UtilityDimension.getDisplayInchs(this.getActivity()) > 6.5) menuSpanCount = 3;
|
|
||||||
|
|
||||||
for (MenuConfiguration.MenuGroup menuGroup : menuGroups) {
|
|
||||||
FragmentMainMenuGroupLayoutBinding groupBinding = DataBindingUtil.inflate(mLayoutInflater, R.layout.fragment_main_menu_group_layout, null, false);
|
|
||||||
|
|
||||||
String title = this.getResources().getString(menuGroup.getGroupText());
|
|
||||||
groupBinding.generalDashboardGroupTitle.setText(title);
|
|
||||||
|
|
||||||
MenuListAdapter menuListAdapter = new MenuListAdapter(getContext(), menuGroup.getItems());
|
|
||||||
|
|
||||||
groupBinding.mainList.setLayoutManager(new GridLayoutManager(getContext(), menuSpanCount));
|
|
||||||
groupBinding.mainList.setAdapter(menuListAdapter);
|
|
||||||
groupBinding.mainList.setNestedScrollingEnabled(false);
|
|
||||||
|
|
||||||
menuListAdapter.setClickListener((view, position) -> {
|
|
||||||
onMenuClick(menuGroup.getItems().get(position));
|
|
||||||
});
|
|
||||||
|
|
||||||
mBindings.menuContainer.addView(groupBinding.getRoot());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void onMenuClick(MenuConfiguration.MenuItem menuItem) {
|
private void onMenuClick(MenuConfiguration.MenuItem menuItem) {
|
||||||
((MainActivity) getActivity()).setMenuItem(menuItem.getID());
|
((MainActivity) getActivity()).setMenuItem(menuItem.getID());
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user