Use new VolumeInfo helper methods.
Makes it clearer if we're checking for readable/writable state, and puts emulated/private conversion logic in single place. Bug: 19993667 Change-Id: I953f5c184ca62afc631d855e64cd8a4972320148
This commit is contained in:
@@ -53,10 +53,9 @@ import android.widget.EditText;
|
|||||||
import com.android.internal.logging.MetricsLogger;
|
import com.android.internal.logging.MetricsLogger;
|
||||||
import com.android.internal.util.Preconditions;
|
import com.android.internal.util.Preconditions;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.Settings;
|
import com.android.settings.Settings.StorageUseActivity;
|
||||||
import com.android.settings.SettingsPreferenceFragment;
|
import com.android.settings.SettingsPreferenceFragment;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.Settings.StorageUseActivity;
|
|
||||||
import com.android.settings.applications.ManageApplications;
|
import com.android.settings.applications.ManageApplications;
|
||||||
import com.android.settings.deviceinfo.StorageMeasurement.MeasurementDetails;
|
import com.android.settings.deviceinfo.StorageMeasurement.MeasurementDetails;
|
||||||
import com.android.settings.deviceinfo.StorageMeasurement.MeasurementReceiver;
|
import com.android.settings.deviceinfo.StorageMeasurement.MeasurementReceiver;
|
||||||
@@ -75,6 +74,7 @@ import java.util.Objects;
|
|||||||
*/
|
*/
|
||||||
public class PrivateVolumeSettings extends SettingsPreferenceFragment {
|
public class PrivateVolumeSettings extends SettingsPreferenceFragment {
|
||||||
// TODO: disable unmount when providing over MTP/PTP
|
// TODO: disable unmount when providing over MTP/PTP
|
||||||
|
// TODO: warn when mounted read-only
|
||||||
|
|
||||||
private static final String TAG_RENAME = "rename";
|
private static final String TAG_RENAME = "rename";
|
||||||
private static final String TAG_CONFIRM_CLEAR_CACHE = "confirmClearCache";
|
private static final String TAG_CONFIRM_CLEAR_CACHE = "confirmClearCache";
|
||||||
@@ -129,8 +129,7 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
|
|||||||
addPreferencesFromResource(R.xml.device_info_storage_volume);
|
addPreferencesFromResource(R.xml.device_info_storage_volume);
|
||||||
|
|
||||||
// Find the emulated shared storage layered above this private volume
|
// Find the emulated shared storage layered above this private volume
|
||||||
mSharedVolume = mStorageManager.findVolumeById(
|
mSharedVolume = mStorageManager.findEmulatedForPrivate(mVolume);
|
||||||
mVolume.getId().replace("private", "emulated"));
|
|
||||||
|
|
||||||
mMeasure = new StorageMeasurement(context, mVolume, mSharedVolume);
|
mMeasure = new StorageMeasurement(context, mVolume, mSharedVolume);
|
||||||
mMeasure.setReceiver(mReceiver);
|
mMeasure.setReceiver(mReceiver);
|
||||||
@@ -171,7 +170,7 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
|
|||||||
|
|
||||||
screen.removeAll();
|
screen.removeAll();
|
||||||
|
|
||||||
if (mVolume.getState() != VolumeInfo.STATE_MOUNTED) {
|
if (!mVolume.isMountedReadable()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -283,7 +282,7 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
|
|||||||
} else {
|
} else {
|
||||||
rename.setVisible(mVolume.getType() == VolumeInfo.TYPE_PRIVATE);
|
rename.setVisible(mVolume.getType() == VolumeInfo.TYPE_PRIVATE);
|
||||||
mount.setVisible(mVolume.getState() == VolumeInfo.STATE_UNMOUNTED);
|
mount.setVisible(mVolume.getState() == VolumeInfo.STATE_UNMOUNTED);
|
||||||
unmount.setVisible(mVolume.getState() == VolumeInfo.STATE_MOUNTED);
|
unmount.setVisible(mVolume.isMountedReadable());
|
||||||
format.setVisible(true);
|
format.setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -118,7 +118,7 @@ public class PublicVolumeSettings extends SettingsPreferenceFragment {
|
|||||||
|
|
||||||
screen.removeAll();
|
screen.removeAll();
|
||||||
|
|
||||||
if (mVolume.getState() == VolumeInfo.STATE_MOUNTED) {
|
if (mVolume.isMountedReadable()) {
|
||||||
screen.addPreference(mGraph);
|
screen.addPreference(mGraph);
|
||||||
screen.addPreference(mTotal);
|
screen.addPreference(mTotal);
|
||||||
screen.addPreference(mAvailable);
|
screen.addPreference(mAvailable);
|
||||||
@@ -139,7 +139,7 @@ public class PublicVolumeSettings extends SettingsPreferenceFragment {
|
|||||||
if (mVolume.getState() == VolumeInfo.STATE_UNMOUNTED) {
|
if (mVolume.getState() == VolumeInfo.STATE_UNMOUNTED) {
|
||||||
screen.addPreference(mMount);
|
screen.addPreference(mMount);
|
||||||
}
|
}
|
||||||
if (mVolume.getState() == VolumeInfo.STATE_MOUNTED) {
|
if (mVolume.isMountedReadable()) {
|
||||||
screen.addPreference(mUnmount);
|
screen.addPreference(mUnmount);
|
||||||
}
|
}
|
||||||
screen.addPreference(mFormat);
|
screen.addPreference(mFormat);
|
||||||
|
@@ -345,7 +345,7 @@ public class StorageMeasurement {
|
|||||||
final Message finished = mMeasurementHandler.obtainMessage(MeasurementHandler.MSG_COMPLETED,
|
final Message finished = mMeasurementHandler.obtainMessage(MeasurementHandler.MSG_COMPLETED,
|
||||||
details);
|
details);
|
||||||
|
|
||||||
if (mSharedVolume != null && mSharedVolume.getState() == VolumeInfo.STATE_MOUNTED) {
|
if (mSharedVolume != null && mSharedVolume.isMountedReadable()) {
|
||||||
final File basePath = mSharedVolume.getPathForUser(currentUser);
|
final File basePath = mSharedVolume.getPathForUser(currentUser);
|
||||||
|
|
||||||
// Measure media types for emulated storage, or for primary physical
|
// Measure media types for emulated storage, or for primary physical
|
||||||
|
@@ -186,7 +186,7 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index
|
|||||||
return true;
|
return true;
|
||||||
|
|
||||||
} else if (vol.getType() == VolumeInfo.TYPE_PUBLIC) {
|
} else if (vol.getType() == VolumeInfo.TYPE_PUBLIC) {
|
||||||
if (vol.getState() == VolumeInfo.STATE_MOUNTED) {
|
if (vol.isMountedReadable()) {
|
||||||
startActivity(vol.buildBrowseIntent());
|
startActivity(vol.buildBrowseIntent());
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
|
@@ -47,14 +47,12 @@ public class StorageVolumePreference extends Preference {
|
|||||||
setKey(volume.getId());
|
setKey(volume.getId());
|
||||||
setTitle(mStorageManager.getBestVolumeDescription(volume));
|
setTitle(mStorageManager.getBestVolumeDescription(volume));
|
||||||
|
|
||||||
switch (volume.getState()) {
|
if (volume.isMountedReadable()) {
|
||||||
case VolumeInfo.STATE_MOUNTED:
|
// TODO: move statfs() to background thread
|
||||||
// TODO: move statfs() to background thread
|
final File path = volume.getPath();
|
||||||
final File path = volume.getPath();
|
final String free = Formatter.formatFileSize(context, path.getFreeSpace());
|
||||||
final String free = Formatter.formatFileSize(context, path.getFreeSpace());
|
final String total = Formatter.formatFileSize(context, path.getTotalSpace());
|
||||||
final String total = Formatter.formatFileSize(context, path.getTotalSpace());
|
setSummary(context.getString(R.string.storage_volume_summary, free, total));
|
||||||
setSummary(context.getString(R.string.storage_volume_summary, free, total));
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: better icons
|
// TODO: better icons
|
||||||
@@ -65,7 +63,7 @@ public class StorageVolumePreference extends Preference {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (volume.getType() == VolumeInfo.TYPE_PUBLIC
|
if (volume.getType() == VolumeInfo.TYPE_PUBLIC
|
||||||
&& volume.getState() == VolumeInfo.STATE_MOUNTED) {
|
&& volume.isMountedReadable()) {
|
||||||
setWidgetLayoutResource(R.layout.preference_storage_action);
|
setWidgetLayoutResource(R.layout.preference_storage_action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user