private void updateComputer(ComputerDetails details) { ComputerObject existingEntry = null; for (int i = 0; i < pcGridAdapter.getCount(); i++) { ComputerObject computer = (ComputerObject) pcGridAdapter.getItem(i); // Check if this is the same computer if (details.uuid.equals(computer.details.uuid)) { existingEntry = computer; break; } } if (existingEntry != null) { // Replace the information in the existing entry existingEntry.details = details; } else { // Add a new entry pcGridAdapter.addComputer(new ComputerObject(details)); // Remove the "Discovery in progress" view noPcFoundLayout.setVisibility(View.INVISIBLE); } // Notify the view that the data has changed pcGridAdapter.notifyDataSetChanged(); }
private void removeComputer(ComputerDetails details) { for (int i = 0; i < pcGridAdapter.getCount(); i++) { ComputerObject computer = (ComputerObject) pcGridAdapter.getItem(i); if (details.equals(computer.details)) { pcGridAdapter.removeComputer(computer); pcGridAdapter.notifyDataSetChanged(); if (pcGridAdapter.getCount() == 0) { // Show the "Discovery in progress" view noPcFoundLayout.setVisibility(View.VISIBLE); } break; } } }
private void initializeViews() { setContentView(R.layout.activity_pc_view); UiHelper.notifyNewRootView(this); // Set default preferences if we've never been run PreferenceManager.setDefaultValues(this, R.xml.preferences, false); // Setup the list view ImageButton settingsButton = (ImageButton) findViewById(R.id.settingsButton); ImageButton addComputerButton = (ImageButton) findViewById(R.id.manuallyAddPc); settingsButton.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(PcView.this, StreamSettings.class)); } }); addComputerButton.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(PcView.this, AddComputerManually.class); startActivity(i); } }); getFragmentManager() .beginTransaction() .replace(R.id.pcFragmentContainer, new AdapterFragment()) .commitAllowingStateLoss(); noPcFoundLayout = (RelativeLayout) findViewById(R.id.no_pc_found_layout); if (pcGridAdapter.getCount() == 0) { noPcFoundLayout.setVisibility(View.VISIBLE); } else { noPcFoundLayout.setVisibility(View.INVISIBLE); } pcGridAdapter.notifyDataSetChanged(); }