Example usage for android.util SparseBooleanArray size

List of usage examples for android.util SparseBooleanArray size

Introduction

In this page you can find the example usage for android.util SparseBooleanArray size.

Prototype

public int size() 

Source Link

Document

Returns the number of key-value mappings that this SparseBooleanArray currently stores.

Usage

From source file:net.sourceforge.servestream.fragment.UrlListFragment.java

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    mPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());

    DragSortListView list = (DragSortListView) getListView();
    list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    list.setDropListener(dropListener);/*from  ww w  .j a  va2  s.  co  m*/
    list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public synchronized void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            if (mActionMode == null) {
                UriBean uriBean = (UriBean) parent.getItemAtPosition(position);
                processUri(uriBean.getUri().toString());
            } else {
                for (int i = 0; i < mChecked.size(); i++) {
                    if (mChecked.keyAt(i) == position && mChecked.valueAt(i)) {
                        view.setBackgroundResource(0);
                        getListView().setItemChecked(position, false);
                        mAdapter.notifyDataSetChanged();
                    }
                }

                // Notice how the ListView api is lame
                // You can use mListView.getCheckedItemIds() if the adapter
                // has stable ids, e.g you're using a CursorAdaptor
                SparseBooleanArray checked = getListView().getCheckedItemPositions();
                boolean hasCheckedElement = false;

                checked = getListView().getCheckedItemPositions();

                for (int i = 0; i < checked.size(); i++) {
                    if (checked.valueAt(i)) {
                        View v = getListView().getChildAt(checked.keyAt(i));
                        if (v != null) {
                            v.setBackgroundColor(getActivity().getResources()
                                    .getColor(R.color.selection_background_color_light));
                        }
                    }
                }

                mAdapter.notifyDataSetChanged();

                for (int i = 0; i < checked.size() && !hasCheckedElement; i++) {
                    hasCheckedElement = checked.valueAt(i);
                }

                if (hasCheckedElement) {
                    if (mActionMode == null) {
                        mActionMode = ((ActionBarActivity) getActivity())
                                .startSupportActionMode(mActionModeCallback);
                    }
                } else {
                    if (mActionMode != null) {
                        mActionMode.finish();
                        mActionMode = null;
                    }
                }

                mChecked = getListView().getCheckedItemPositions().clone();
            }
        }
    });
    list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {

        @Override
        public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
            if (mActionMode == null) {
                mActionMode = ((ActionBarActivity) getActivity()).startSupportActionMode(mActionModeCallback);
                getListView().setItemChecked(position, true);
                view.setBackgroundColor(
                        getActivity().getResources().getColor(R.color.selection_background_color_light));
                mChecked = getListView().getCheckedItemPositions().clone();
                return true;
            }
            return false;
        }
    });

    DragSortController controller = new DragSortController(list);
    controller.setDragInitMode(DragSortController.ON_DRAG);
    controller.setDragHandleId(R.id.drag_handle);
    list.setOnTouchListener(controller);

    mAdapter = new UrlListAdapter(getActivity(), new ArrayList<UriBean>(), this);
    setListAdapter(mAdapter);
}

From source file:de.qspool.clementineremote.ui.fragments.LibraryFragment.java

@SuppressLint({ "InlinedApi", "NewApi" })
@Override//from  w w  w  .  ja  v  a 2s  .  com
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_library, container, false);

    mSwipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.library_refresh_layout);
    mEmptyLibrary = (SwipeRefreshLayout) view.findViewById(R.id.library_refresh_empty_layout);
    mSwipeRefreshLayout.setOnRefreshListener(this);
    mEmptyLibrary.setOnRefreshListener(this);
    mSwipeRefreshLayout.setColorSchemeResources(R.color.orange);
    mEmptyLibrary.setColorSchemeResources(R.color.orange);

    mList = (ListView) view.findViewById(R.id.library);

    mLibraryEmptyText = (TextView) mEmptyLibrary.findViewById(R.id.library_empty_txt);

    mList.setOnItemClickListener(oiclLibraryClick);
    mList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
    mList.setMultiChoiceModeListener(new MultiChoiceModeListener() {
        @Override
        public boolean onActionItemClicked(ActionMode mode, android.view.MenuItem item) {
            SparseBooleanArray checkedPositions = mList.getCheckedItemPositions();
            final LinkedList<SongSelectItem> selectedItems = new LinkedList<>();
            final LinkedList<String> urls = new LinkedList<>();
            mLibraryQueriesDone = 0;

            for (int i = 0; i < checkedPositions.size(); ++i) {
                int position = checkedPositions.keyAt(i);
                if (checkedPositions.valueAt(i)) {
                    selectedItems.add(mAdapters.getLast().getItem(position));
                }
            }

            for (SongSelectItem libraryItem : selectedItems) {
                OnSongSelectFinishedListener listener;

                switch (item.getItemId()) {
                case R.id.library_context_add:

                    listener = new OnSongSelectFinishedListener() {
                        @Override
                        public void OnSongSelectFinished(LinkedList<SongSelectItem> l) {
                            addSongsToPlaylist(l);
                        }
                    };

                    break;
                case R.id.library_context_download:
                    listener = new OnSongSelectFinishedListener() {
                        @Override
                        public void OnSongSelectFinished(LinkedList<SongSelectItem> l) {
                            for (SongSelectItem libItem : l) {
                                urls.add(libItem.getUrl());
                            }
                            mLibraryQueriesDone++;

                            // Have we got all queries?
                            if (mLibraryQueriesDone == selectedItems.size() && !urls.isEmpty()) {
                                DownloadManager.getInstance()
                                        .addJob(ClementineMessageFactory.buildDownloadSongsMessage(
                                                ClementineRemoteProtocolBuffer.DownloadItem.Urls, urls));
                            }

                        }
                    };

                    break;
                default:
                    return false;
                }
                queryLibraryItems(libraryItem, listener);
            }
            mode.finish();
            return true;
        }

        @Override
        public boolean onCreateActionMode(ActionMode mode, android.view.Menu menu) {
            android.view.MenuInflater inflater = mode.getMenuInflater();
            inflater.inflate(R.menu.library_context_menu, menu);

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                getActivity().getWindow()
                        .setStatusBarColor(ContextCompat.getColor(getActivity(), R.color.grey_cab_status));
            }

            return true;
        }

        @Override
        public boolean onPrepareActionMode(ActionMode mode, android.view.Menu menu) {
            return false;
        }

        @Override
        public void onDestroyActionMode(ActionMode mode) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                getActivity().getWindow()
                        .setStatusBarColor(ContextCompat.getColor(getActivity(), R.color.actionbar_dark));
            }
        }

        @Override
        public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
        }
    });

    createRootAdapter();

    showList();

    mActionBar.setTitle("");
    mActionBar.setSubtitle("/");

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
    prefs.registerOnSharedPreferenceChangeListener(this);

    setHasOptionsMenu(true);

    return view;
}

From source file:com.sumatone.cloud.securecloud.Fragments.UploadFragment.java

private void selectAcps() {
    final CharSequence[] items = RegisterActivity.ROLES;
    int level = PreferenceManager.getDefaultSharedPreferences(getActivity()).getInt("level", 7);
    int levelBelowThisUser = searchLastLevel(RegisterActivity.LEVELS, level);
    final CharSequence[] filterItems = Arrays.copyOfRange(items, levelBelowThisUser + 1, items.length);

    final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setTitle("Who can download the file?");
    builder.setMultiChoiceItems(filterItems, null, null);

    final List<AccessControlPolicy> tempList = new ArrayList<AccessControlPolicy>();

    builder.setPositiveButton("Next", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            switch (state) {
            case 0:
                SparseBooleanArray CheCked = ((AlertDialog) dialog).getListView().getCheckedItemPositions();
                acpsArray = new JSONArray();
                for (int i = 0; i < CheCked.size(); i++) {
                    if (CheCked.get(i) == true) {
                        List<String> actionList = new ArrayList<String>();
                        actionList.add("download");
                        tempList.add(new AccessControlPolicy(filterItems[i].toString(), actionList));
                        /*JSONObject object = new JSONObject();
                        try {/*  w w w.ja  va 2  s . co m*/
                            object.put(String.valueOf(RegisterActivity.LEVELS[i]), "download");
                            acpsArray.put(object);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }*/
                    }
                }
                state = 1;
                builder.setTitle("Who can delete the file?");
                builder.setMultiChoiceItems(filterItems, null, null);
                builder.create().show();

                //encryptAndUpload();
                break;
            case 1:
                CheCked = ((AlertDialog) dialog).getListView().getCheckedItemPositions();
                acpsArray = new JSONArray();
                for (int i = 0; i < CheCked.size(); i++) {
                    if (CheCked.get(i) == true) {
                        for (int j = 0; j < tempList.size(); j++) {
                            if (tempList.get(j).getRole().equals(filterItems[i].toString())) {
                                tempList.get(j).getActions().add("delete");
                                break;
                            }
                        }
                        /*JSONObject object = new JSONObject();
                        try {
                            object.put(String.valueOf(RegisterActivity.LEVELS[i]), "download");
                            acpsArray.put(object);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }*/
                    }
                }
                state = 2;
                builder.setTitle("Who can update the file?");
                builder.setMultiChoiceItems(filterItems, null, null);
                builder.create().show();
                break;
            case 2:
                state = 0;
                CheCked = ((AlertDialog) dialog).getListView().getCheckedItemPositions();
                acpsArray = new JSONArray();
                for (int i = 0; i < CheCked.size(); i++) {
                    if (CheCked.get(i) == true) {
                        for (int j = 0; j < tempList.size(); j++) {
                            if (tempList.get(j).getRole().equals(filterItems[i].toString())) {
                                tempList.get(j).getActions().add("update");
                                break;
                            }
                        }
                        /*JSONObject object = new JSONObject();
                        try {
                            object.put(String.valueOf(RegisterActivity.LEVELS[i]), "download");
                            acpsArray.put(object);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }*/
                    }
                }
                formPolicyConfigurations(tempList);
                break;
            default:
            }
        }
    });
    builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            dialog.cancel();
        }
    });
    builder.create().show();
}

From source file:com.github.jobs.ui.dialog.RemoveServicesDialog.java

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    final ArrayList<Parcelable> services = getArguments().getParcelableArrayList(ARG_SERVICES);
    CharSequence[] items = new CharSequence[services.size()];
    for (int i = 0, servicesSize = services.size(); i < servicesSize; i++) {
        TemplateService service = (TemplateService) services.get(i);
        items[i] = getString(R.string.service_list_item, service.getType(), service.getData());
    }/*from ww  w  .j  a  va2 s.  c  o m*/
    final SparseBooleanArray checked = new SparseBooleanArray();
    return new AlertDialog.Builder(getActivity()).setTitle(R.string.title_remove_services)
            .setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                    checked.put(which, isChecked);
                }
            }).setPositiveButton(R.string.remove_selected_services, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // get a list of the services to delete
                    ArrayList<TemplateService> toRemove = new ArrayList<TemplateService>();
                    for (int i = 0; i < checked.size(); i++) {
                        if (checked.valueAt(i)) {
                            int index = checked.keyAt(i);
                            toRemove.add((TemplateService) services.get(index));
                        }
                    }
                    // fire service deletion
                    FragmentActivity activity = getActivity();
                    if (activity instanceof EditTemplateActivity) {
                        EditTemplateActivity editTemplateActivity = (EditTemplateActivity) activity;
                        editTemplateActivity.removeServices(toRemove);
                    }
                }
            }).setNegativeButton(R.string.cancel, null).create();
}

From source file:net.naonedbus.fragment.impl.FavorisFragment.java

private boolean hasItemChecked() {
    final SparseBooleanArray checked = mListView.getCheckedItemPositions();
    for (int i = 0; i < checked.size(); i++) {
        if (checked.valueAt(i))
            return true;
    }//from w  w  w  .j  ava  2s .  co  m
    return false;
}

From source file:net.naonedbus.fragment.impl.FavorisFragment.java

private List<Integer> getCheckedItemsIds() {
    final List<Integer> ids = new ArrayList<Integer>();
    final SparseBooleanArray checked = mListView.getCheckedItemPositions();
    for (int i = 0; i < checked.size(); i++) {
        if (checked.valueAt(i)) {
            final Favori item = (Favori) mListView.getItemAtPosition(checked.keyAt(i));
            ids.add(item.getId());/*from ww w .j ava 2 s . co m*/
        }
    }

    return ids;
}

From source file:net.naonedbus.fragment.impl.FavorisFragment.java

private Favori getFirstSelectedItem() {
    final SparseBooleanArray checkedPositions = mListView.getCheckedItemPositions();
    for (int i = 0; i < checkedPositions.size(); i++) {
        if (checkedPositions.valueAt(i)) {
            return (Favori) mListView.getItemAtPosition(checkedPositions.keyAt(i));
        }/*from w  w  w .ja v  a2  s  . c om*/
    }
    return null;
}

From source file:net.naonedbus.fragment.impl.FavorisFragment.java

private int getCheckedItemsCount() {
    final SparseBooleanArray checkedPositions = mListView.getCheckedItemPositions();
    int count = 0;
    for (int i = 0; i < checkedPositions.size(); i++) {
        if (checkedPositions.valueAt(i)) {
            count++;/*from  ww  w .ja  va  2 s . c  o m*/
        }
    }
    return count;
}

From source file:org.spinsuite.bchat.view.FV_Thread.java

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    if (m_view != null)
        return m_view;
    //   Inflate//from w  w w  .ja  va2s  .com
    m_view = inflater.inflate(R.layout.v_business_chat_thread, container, false);
    //   Scroll
    lv_Thread = (ListView) m_view.findViewById(R.id.lv_Thread);
    et_Message = (EditText) m_view.findViewById(R.id.et_Message);
    ib_Send = (ImageButton) m_view.findViewById(R.id.ib_Send);
    //   Listener
    ib_Send.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if (et_Message.getText() == null || et_Message.getText().toString().trim().length() == 0)
                return;
            //   Send Message
            sendMessage(null);
        }
    });
    //   Hide Separator
    lv_Thread.setDividerHeight(0);
    lv_Thread.setDivider(null);
    lv_Thread.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
    lv_Thread.setOnItemClickListener(new ListView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> adapter, View arg1, int position, long arg3) {
            DisplayBChatThreadItem item = (DisplayBChatThreadItem) m_ThreadAdapter.getItem(position);
            //   Show Image
            String fileName = item.getFileName();
            if (fileName != null && fileName.length() > 0) {
                String m_FilePath = Env.getBC_IMG_DirectoryPathName(m_ctx);
                File file = new File(m_FilePath + File.separator + fileName);
                //   Show
                AttachmentHandler.showAttachment(m_ctx, Uri.fromFile(file));
            }
        }
    });
    //   
    lv_Thread.setMultiChoiceModeListener(new MultiChoiceModeListener() {
        @Override
        public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
            // Capture total checked items
            final int checkedCount = lv_Thread.getCheckedItemCount();
            // Set the CAB title according to total checked items
            mode.setTitle(checkedCount + " " + getString(R.string.BChat_Selected));
            // Calls toggleSelection method from ListViewAdapter Class
            m_ThreadAdapter.toggleSelection(position);

        }

        @Override
        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            switch (item.getItemId()) {
            case R.id.action_delete:
                SparseBooleanArray selectedItems = m_ThreadAdapter.getSelectedItems();
                StringBuffer inClause = new StringBuffer();
                for (int i = (selectedItems.size() - 1); i >= 0; i--) {
                    if (selectedItems.valueAt(i)) {
                        DisplayBChatThreadItem selectedItem = m_ThreadAdapter.getItem(selectedItems.keyAt(i));
                        //   Add Separator
                        if (inClause.length() > 0) {
                            inClause.append(", ");
                        }
                        //   Add Value
                        inClause.append("'").append(selectedItem.getSPS_BC_Message_UUID()).append("'");
                        //   Remove Item
                        m_ThreadAdapter.remove(selectedItem);
                    }
                }
                //   Delete Records in DB
                if (inClause.length() > 0) {
                    BCMessageHandle.getInstance(m_ctx).deleteMessage(m_Request,
                            "SPS_BC_Message_UUID IN(" + inClause.toString() + ")");
                }
                mode.finish();
                return true;
            case R.id.action_copy:
                selectedItems = m_ThreadAdapter.getSelectedItems();
                boolean justOne = selectedItems.size() == 1;
                StringBuffer text = new StringBuffer();
                for (int i = (selectedItems.size() - 1); i >= 0; i--) {
                    if (selectedItems.valueAt(i)) {
                        DisplayBChatThreadItem selectedItem = m_ThreadAdapter.getItem(selectedItems.keyAt(i));
                        //   Valid File
                        if (selectedItem.getFileName() != null)
                            continue;
                        //   Add New Line
                        if (text.length() > 0) {
                            text.append(Env.NL);
                        }
                        //   Add to Text
                        if (justOne) {
                            text.append(selectedItem.getText());
                        } else {
                            text.append(selectedItem.getCopy());
                        }
                    }
                }
                //   Add To Clipboard
                if (text.length() > 0) {
                    Env.setClipboardText(m_ctx, text.toString());
                }
                mode.finish();
                return true;
            default:
                return false;
            }
        }

        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            mode.getMenuInflater().inflate(R.menu.bc_thread_selected, menu);
            return true;
        }

        @Override
        public void onDestroyActionMode(ActionMode mode) {
            m_ThreadAdapter.removeSelection();
        }

        @Override
        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            return false;
        }

    });
    //   Return
    return m_view;
}

From source file:com.aimfire.gallery.ThumbsFragment.java

/**
 * delete current file// w w w.  j  a v a2s  .c  om
 */
private void deleteFiles() {
    final SparseBooleanArray checkedItems = mGridView.getCheckedItemPositions();

    ArrayList<File> mediaFiles = new ArrayList<File>();
    for (int i = 0; i < checkedItems.size(); i++) {
        final boolean isChecked = checkedItems.valueAt(i);
        if (isChecked) {
            int position = checkedItems.keyAt(i);
            File file = new File(mMediaList.get(position));
            if (file.exists()) {
                mediaFiles.add(file);
            }
        }
    }
    final ArrayList<File> mediaFilesToDelete = mediaFiles;

    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity(),
            R.style.AppCompatAlertDialogStyle);
    alertDialogBuilder.setTitle(R.string.delete);
    alertDialogBuilder.setMessage(mediaFilesToDelete.size() + " " + getString(R.string.warning_items_delete));

    alertDialogBuilder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface arg0, int arg1) {
            /*
             * delete sbs/cvr, thumbnail, preview and exported files
             */
            for (File mediaFile : mediaFilesToDelete) {
                String mediaFilePath = mediaFile.getAbsolutePath();
                MediaScanner.deleteFile(mediaFilePath);
            }
            updateGridView(null, mGridView.getFirstVisiblePosition());
        }
    });

    alertDialogBuilder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            //do nothing
        }
    });

    AlertDialog alertDialog = alertDialogBuilder.create();
    alertDialog.show();
}