Example usage for android.os.storage StorageVolume getDescription

List of usage examples for android.os.storage StorageVolume getDescription

Introduction

In this page you can find the example usage for android.os.storage StorageVolume getDescription.

Prototype

public String getDescription(Context context) 

Source Link

Document

Returns a user-visible description of the volume.

Usage

From source file:com.example.android.scopeddirectoryaccess.ScopedDirectoryAccessFragment.java

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

    mCurrentDirectoryTextView = (TextView) rootView.findViewById(R.id.textview_current_directory);
    mNothingInDirectoryTextView = (TextView) rootView.findViewById(R.id.textview_nothing_in_directory);
    mPrimaryVolumeNameTextView = (TextView) rootView.findViewById(R.id.textview_primary_volume_name);

    // Set onClickListener for the primary volume
    Button openPictureButton = (Button) rootView.findViewById(R.id.button_open_directory_primary_volume);
    openPictureButton.setOnClickListener(new View.OnClickListener() {
        @Override//w  w w.ja v a2 s. c  o m
        public void onClick(View view) {
            String selected = mDirectoriesSpinner.getSelectedItem().toString();
            String directoryName = getDirectoryName(selected);
            StorageVolume storageVolume = mStorageManager.getPrimaryStorageVolume();
            Intent intent = storageVolume.createAccessIntent(directoryName);
            startActivityForResult(intent, OPEN_DIRECTORY_REQUEST_CODE);
        }
    });

    // Set onClickListener for the external volumes if exists
    List<StorageVolume> storageVolumes = mStorageManager.getStorageVolumes();
    LinearLayout containerVolumes = (LinearLayout) mActivity.findViewById(R.id.container_volumes);
    for (final StorageVolume volume : storageVolumes) {
        String volumeDescription = volume.getDescription(mActivity);
        if (volume.isPrimary()) {
            // Primary volume area is already added...
            if (volumeDescription != null) {
                // ...but with a default name: set it to the real name when available.
                mPrimaryVolumeNameTextView.setText(volumeDescription);
            }
            continue;
        }
        LinearLayout volumeArea = (LinearLayout) mActivity.getLayoutInflater().inflate(R.layout.volume_entry,
                containerVolumes);
        TextView volumeName = (TextView) volumeArea.findViewById(R.id.textview_volume_name);
        volumeName.setText(volumeDescription);
        Button button = (Button) volumeArea.findViewById(R.id.button_open_directory);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String selected = mDirectoriesSpinner.getSelectedItem().toString();
                String directoryName = getDirectoryName(selected);
                Intent intent = volume.createAccessIntent(directoryName);
                startActivityForResult(intent, OPEN_DIRECTORY_REQUEST_CODE);
            }
        });
    }
    RecyclerView recyclerView = (RecyclerView) rootView.findViewById(R.id.recyclerview_directory_entries);
    if (savedInstanceState != null) {
        mDirectoryEntries = savedInstanceState.getParcelableArrayList(DIRECTORY_ENTRIES_KEY);
        mCurrentDirectoryTextView.setText(savedInstanceState.getString(SELECTED_DIRECTORY_KEY));
        mAdapter = new DirectoryEntryAdapter(mDirectoryEntries);
        if (mAdapter.getItemCount() == 0) {
            mNothingInDirectoryTextView.setVisibility(View.VISIBLE);
        }
    } else {
        mDirectoryEntries = new ArrayList<>();
        mAdapter = new DirectoryEntryAdapter();
    }
    recyclerView.setAdapter(mAdapter);
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
    mDirectoriesSpinner = (Spinner) rootView.findViewById(R.id.spinner_directories);
    ArrayAdapter<CharSequence> directoriesAdapter = ArrayAdapter.createFromResource(getActivity(),
            R.array.directories, android.R.layout.simple_spinner_item);
    directoriesAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    mDirectoriesSpinner.setAdapter(directoriesAdapter);
}

From source file:net.sf.fakenames.fddemo.BaseDirLayout.java

private void parseMounts(HashMap<File, String> pathNameMap, List<StorageVolume> volumes) throws IOException {
    mounts: for (LongObjectCursor<MountInfo.Mount> mount : mountInfo.mountMap) {
        final Iterator<Map.Entry<File, String>> i = pathNameMap.entrySet().iterator();
        while (i.hasNext()) {
            final Map.Entry<File, String> e = i.next();
            final String p = e.getKey().toString();
            if (p.equals(mount.value.rootPath) || p.startsWith(mount.value.rootPath + '/')) {
                i.remove();//from   www .j a va  2 s . com
                pathNameMap.remove(e.getKey());
                mount.value.rootPath = p;
                mount.value.description = e.getValue();
                usableFilesystems.add(mount.value.fstype);
                break;
            }
        }

        if (Build.VERSION.SDK_INT >= 24) {
            final File mountRoot = new File(mount.value.rootPath);

            final StorageManager sm = (StorageManager) getSystemService(STORAGE_SERVICE);
            Iterator<StorageVolume> j = volumes.iterator();
            while (j.hasNext()) {
                StorageVolume knownVolume = j.next();

                if (knownVolume.equals(sm.getStorageVolume(mountRoot))) {
                    // seems like the mount belongs to the storage device, appropriately labeled
                    // by the manufacturer  use system-provided description
                    j.remove();
                    mount.value.description = knownVolume.getDescription(this);
                    usableFilesystems.add(mount.value.fstype);
                    continue mounts;
                }
            }
        }
    }

    final Set<File> current = new HashSet<>();
    Collections.addAll(current, home.listFiles());

    // display all mounts with sensible descriptions
    for (LongObjectCursor<MountInfo.Mount> mount : mountInfo.mountMap) {
        if (TextUtils.isEmpty(mount.value.description)) {
            continue;
        }

        File descFile = new File(home, mount.value.description);

        if (!descFile.exists()) {
            if (current.contains(descFile)) {
                // a broken link...

                //noinspection ResultOfMethodCallIgnored
                descFile.delete();
            }

            @Fd
            int dir = os.opendir(home.getPath());

            os.symlinkat(mount.value.rootPath, dir, descFile.getName());
        }
    }
}

From source file:com.freeme.filemanager.view.FileViewFragment.java

private void initVolumeState(StorageVolume paramStorageVolume) {
    if (paramStorageVolume == null) {
        return;/*w w  w .  j  a  va 2 s  . co m*/
    }
    this.mVolumePath = paramStorageVolume.getPath();
    this.mVolumeDescription = paramStorageVolume.getDescription(this.mActivity);
    //*/ freeme.liuhaoran , 20160728 , adapter zhanxun M
    if (paramStorageVolume.getStorageId() == 0) {
        mVolumeDescription = getString(R.string.storage_phone);
    }
    //*/
    Log.i("liuhaoran",
            "mVolumeDescription = " + mVolumeDescription + "----" + paramStorageVolume.getStorageId());
    if (mFileViewInteractionHub == null) {
        mFileViewInteractionHub = new FileViewInteractionHub(this, 1);
    }
    mFileViewInteractionHub.setRootPath(this.mVolumePath);
}