@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // view
    toolbar = (Toolbar) findViewById(R.id.app_bar);
    setSupportActionBar(toolbar);

    // view
    grid = (GridView) findViewById(R.id.all_room_container);

    // Menu----------------------------

    TextView addThing = (TextView) findViewById(R.id.add_room);
    addThing.setText("Add device  ");

    items.add(new GridItem("Light", R.mipmap.r_light, R.mipmap.light, GridItem.ItemType.Light));
    // Instance of ImageAdapter Class
    grid.setAdapter(new GridItemAdapter(this, items, this));

    FloatingActionButton b0 = new FloatingActionButton(this);

    final List<FloatingActionButton> button = Arrays.asList(b0);

    ScrollView menu_container = (ScrollView) findViewById(R.id.fab_menu_container);

    // FAB_menu-----
    FloatingActionsMenu fab = new FloatingActionsMenu(this);
    menu_container.addView(fab);
    // -----FAB_menu [end]

    for (final FloatingActionButton b : button) {
      final GridItem current = items.get(button.indexOf(b));
      //            b.setTitle(String.valueOf(current.name));
      b.setIcon(current.resIconId);
      b.setColorNormal(Color.parseColor("#FFFFFF"));
      b.setTag(current.type);
      fab.addButton(button.get(button.indexOf(b)));

      b.setOnClickListener(
          new View.OnClickListener() {

            @Override
            public void onClick(final View v) {
              AlertDialog dialogInputText =
                  new AlertDialog.Builder(DeviceCategoriesActivity.this).create();
              // dialogInputText.setTitle("Add " + String.valueOf(current.name));
              dialogInputText.setTitle(String.valueOf(current.type));

              View dialogView =
                  getLayoutInflater().inflate(R.layout.dialog_input_text_device, null);
              final EditText dialogTextName =
                  (EditText) dialogView.findViewById(R.id.dialog_text_name);

              dialogInputText.setView(dialogView);
              dialogInputText.setButton(
                  "OK",
                  new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {

                      // grid type
                      GridItem.ItemType type = current.type;
                      String name = dialogTextName.getText().toString();

                      // add gridItem with correct icon
                      GridItem toBeAdded = addRoom(name, type);

                      // badge Type ++
                      ((GridItemAdapter) grid.getAdapter()).items.get(button.indexOf(b)).badge++;

                      ((GridItemAdapter) grid.getAdapter()).notifyDataSetChanged();

                      // item Type add
                      ((WirelessHomeApplication) getApplication())
                          .roomRepository.addRoom(toBeAdded);

                      Toast.makeText(
                              DeviceCategoriesActivity.this,
                              grid.getChildAt(button.indexOf(b)).getTag() + " successfully created",
                              Toast.LENGTH_LONG)
                          .show();
                    }
                  });

              dialogInputText.show();
            }
          });
    }

    // ----------------------------Menu [end]

  }