* commit 'fc963764ab93bd2e6fce2a214f9cc992dbceda73': Fix some ordering, colors, and accessibility bugs. Handle missing migration source volume.
This commit is contained in:
@@ -30,7 +30,6 @@
|
|||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:src="@drawable/ic_eject_24dp"
|
android:src="@drawable/ic_eject_24dp"
|
||||||
android:tint="?android:attr/textColorSecondary"
|
|
||||||
android:background="?android:attr/selectableItemBackground" />
|
android:background="?android:attr/selectableItemBackground" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
@@ -44,7 +44,6 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textAlignment="viewStart"
|
android:textAlignment="viewStart"
|
||||||
android:textAppearance="@android:style/TextAppearance.Material.Body1"
|
android:textAppearance="@android:style/TextAppearance.Material.Body1"
|
||||||
android:textColor="?android:attr/textColorSecondaryNoDisable"
|
|
||||||
android:maxLines="10" />
|
android:maxLines="10" />
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
|
@@ -81,6 +81,11 @@ public abstract class MigrateEstimateTask extends AsyncTask<Void, Void, Long> im
|
|||||||
final VolumeInfo privateVol = mContext.getPackageManager().getPrimaryStorageCurrentVolume();
|
final VolumeInfo privateVol = mContext.getPackageManager().getPrimaryStorageCurrentVolume();
|
||||||
final VolumeInfo emulatedVol = mStorage.findEmulatedForPrivate(privateVol);
|
final VolumeInfo emulatedVol = mStorage.findEmulatedForPrivate(privateVol);
|
||||||
|
|
||||||
|
if (emulatedVol == null) {
|
||||||
|
Log.w(TAG, "Failed to find current primary storage");
|
||||||
|
return -1L;
|
||||||
|
}
|
||||||
|
|
||||||
final String path = emulatedVol.getPath().getAbsolutePath();
|
final String path = emulatedVol.getPath().getAbsolutePath();
|
||||||
Log.d(TAG, "Estimating for current path " + path);
|
Log.d(TAG, "Estimating for current path " + path);
|
||||||
|
|
||||||
|
@@ -96,8 +96,6 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
|
|||||||
|
|
||||||
private UserInfo mCurrentUser;
|
private UserInfo mCurrentUser;
|
||||||
|
|
||||||
private int mNextOrder = 0;
|
|
||||||
|
|
||||||
private StorageSummaryPreference mSummary;
|
private StorageSummaryPreference mSummary;
|
||||||
private StorageItemPreference mApps;
|
private StorageItemPreference mApps;
|
||||||
private StorageItemPreference mImages;
|
private StorageItemPreference mImages;
|
||||||
@@ -140,6 +138,7 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
addPreferencesFromResource(R.xml.device_info_storage_volume);
|
addPreferencesFromResource(R.xml.device_info_storage_volume);
|
||||||
|
getPreferenceScreen().setOrderingAsAdded(true);
|
||||||
|
|
||||||
// Find the emulated shared storage layered above this private volume
|
// Find the emulated shared storage layered above this private volume
|
||||||
mSharedVolume = mStorageManager.findEmulatedForPrivate(mVolume);
|
mSharedVolume = mStorageManager.findEmulatedForPrivate(mVolume);
|
||||||
@@ -183,29 +182,29 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
|
|||||||
|
|
||||||
screen.removeAll();
|
screen.removeAll();
|
||||||
|
|
||||||
screen.addPreference(mSummary);
|
addPreference(mSummary);
|
||||||
|
|
||||||
final boolean showUsers = !mUsers.isEmpty();
|
final boolean showUsers = !mUsers.isEmpty();
|
||||||
final boolean showShared = (mSharedVolume != null) && mSharedVolume.isMountedReadable();
|
final boolean showShared = (mSharedVolume != null) && mSharedVolume.isMountedReadable();
|
||||||
|
|
||||||
if (showUsers) {
|
if (showUsers) {
|
||||||
screen.addPreference(new PreferenceHeader(context, mCurrentUser.name));
|
addPreference(new PreferenceHeader(context, mCurrentUser.name));
|
||||||
}
|
}
|
||||||
screen.addPreference(mApps);
|
addPreference(mApps);
|
||||||
if (showShared) {
|
if (showShared) {
|
||||||
screen.addPreference(mImages);
|
addPreference(mImages);
|
||||||
screen.addPreference(mVideos);
|
addPreference(mVideos);
|
||||||
screen.addPreference(mAudio);
|
addPreference(mAudio);
|
||||||
screen.addPreference(mOther);
|
addPreference(mOther);
|
||||||
}
|
}
|
||||||
screen.addPreference(mCache);
|
addPreference(mCache);
|
||||||
if (showShared) {
|
if (showShared) {
|
||||||
screen.addPreference(mExplore);
|
addPreference(mExplore);
|
||||||
}
|
}
|
||||||
if (showUsers) {
|
if (showUsers) {
|
||||||
screen.addPreference(new PreferenceHeader(context, R.string.storage_other_users));
|
addPreference(new PreferenceHeader(context, R.string.storage_other_users));
|
||||||
for (Preference pref : mUsers) {
|
for (Preference pref : mUsers) {
|
||||||
screen.addPreference(pref);
|
addPreference(pref);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -231,16 +230,18 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
|
|||||||
mMeasure.forceMeasure();
|
mMeasure.forceMeasure();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addPreference(Preference pref) {
|
||||||
|
pref.setOrder(Preference.DEFAULT_ORDER);
|
||||||
|
getPreferenceScreen().addPreference(pref);
|
||||||
|
}
|
||||||
|
|
||||||
private StorageItemPreference buildItem(int titleRes) {
|
private StorageItemPreference buildItem(int titleRes) {
|
||||||
final StorageItemPreference pref = new StorageItemPreference(getActivity(), titleRes);
|
return new StorageItemPreference(getActivity(), titleRes);
|
||||||
pref.setOrder(mNextOrder++);
|
|
||||||
return pref;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Preference buildAction(int titleRes) {
|
private Preference buildAction(int titleRes) {
|
||||||
final Preference pref = new Preference(getActivity());
|
final Preference pref = new Preference(getActivity());
|
||||||
pref.setTitle(titleRes);
|
pref.setTitle(titleRes);
|
||||||
pref.setOrder(mNextOrder++);
|
|
||||||
return pref;
|
return pref;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -56,8 +56,6 @@ public class PublicVolumeSettings extends SettingsPreferenceFragment {
|
|||||||
private VolumeInfo mVolume;
|
private VolumeInfo mVolume;
|
||||||
private DiskInfo mDisk;
|
private DiskInfo mDisk;
|
||||||
|
|
||||||
private int mNextOrder = 0;
|
|
||||||
|
|
||||||
private StorageSummaryPreference mSummary;
|
private StorageSummaryPreference mSummary;
|
||||||
|
|
||||||
private Preference mMount;
|
private Preference mMount;
|
||||||
@@ -108,6 +106,7 @@ public class PublicVolumeSettings extends SettingsPreferenceFragment {
|
|||||||
mVolumeId = mVolume.getId();
|
mVolumeId = mVolume.getId();
|
||||||
|
|
||||||
addPreferencesFromResource(R.xml.device_info_storage_volume);
|
addPreferencesFromResource(R.xml.device_info_storage_volume);
|
||||||
|
getPreferenceScreen().setOrderingAsAdded(true);
|
||||||
|
|
||||||
mSummary = new StorageSummaryPreference(context);
|
mSummary = new StorageSummaryPreference(context);
|
||||||
|
|
||||||
@@ -133,7 +132,7 @@ public class PublicVolumeSettings extends SettingsPreferenceFragment {
|
|||||||
screen.removeAll();
|
screen.removeAll();
|
||||||
|
|
||||||
if (mVolume.isMountedReadable()) {
|
if (mVolume.isMountedReadable()) {
|
||||||
screen.addPreference(mSummary);
|
addPreference(mSummary);
|
||||||
|
|
||||||
final File file = mVolume.getPath();
|
final File file = mVolume.getPath();
|
||||||
final long totalBytes = file.getTotalSpace();
|
final long totalBytes = file.getTotalSpace();
|
||||||
@@ -149,21 +148,25 @@ public class PublicVolumeSettings extends SettingsPreferenceFragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (mVolume.getState() == VolumeInfo.STATE_UNMOUNTED) {
|
if (mVolume.getState() == VolumeInfo.STATE_UNMOUNTED) {
|
||||||
screen.addPreference(mMount);
|
addPreference(mMount);
|
||||||
}
|
}
|
||||||
if (mVolume.isMountedReadable()) {
|
if (mVolume.isMountedReadable()) {
|
||||||
screen.addPreference(mUnmount);
|
addPreference(mUnmount);
|
||||||
}
|
}
|
||||||
screen.addPreference(mFormatPublic);
|
addPreference(mFormatPublic);
|
||||||
if (mDisk.isAdoptable() && mIsPermittedToAdopt) {
|
if (mDisk.isAdoptable() && mIsPermittedToAdopt) {
|
||||||
screen.addPreference(mFormatPrivate);
|
addPreference(mFormatPrivate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addPreference(Preference pref) {
|
||||||
|
pref.setOrder(Preference.DEFAULT_ORDER);
|
||||||
|
getPreferenceScreen().addPreference(pref);
|
||||||
|
}
|
||||||
|
|
||||||
private Preference buildAction(int titleRes) {
|
private Preference buildAction(int titleRes) {
|
||||||
final Preference pref = new Preference(getActivity());
|
final Preference pref = new Preference(getActivity());
|
||||||
pref.setTitle(titleRes);
|
pref.setTitle(titleRes);
|
||||||
pref.setOrder(mNextOrder++);
|
|
||||||
return pref;
|
return pref;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -17,9 +17,11 @@
|
|||||||
package com.android.settings.deviceinfo;
|
package com.android.settings.deviceinfo;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.graphics.Color;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
|
||||||
@@ -47,6 +49,9 @@ public class StorageSummaryPreference extends Preference {
|
|||||||
progress.setVisibility(View.GONE);
|
progress.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final TextView summary = (TextView) view.findViewById(android.R.id.summary);
|
||||||
|
summary.setTextColor(Color.parseColor("#8a000000"));
|
||||||
|
|
||||||
super.onBindView(view);
|
super.onBindView(view);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -28,7 +28,6 @@ import android.view.View;
|
|||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.deviceinfo.StorageSettings.UnmountTask;
|
import com.android.settings.deviceinfo.StorageSettings.UnmountTask;
|
||||||
@@ -101,6 +100,7 @@ public class StorageVolumePreference extends Preference {
|
|||||||
protected void onBindView(View view) {
|
protected void onBindView(View view) {
|
||||||
final ImageView unmount = (ImageView) view.findViewById(R.id.unmount);
|
final ImageView unmount = (ImageView) view.findViewById(R.id.unmount);
|
||||||
if (unmount != null) {
|
if (unmount != null) {
|
||||||
|
unmount.setImageTintList(ColorStateList.valueOf(Color.parseColor("#8a000000")));
|
||||||
unmount.setOnClickListener(mUnmountListener);
|
unmount.setOnClickListener(mUnmountListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -150,7 +150,9 @@ public abstract class StorageWizardBase extends Activity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void setHeaderText(int resId, String... args) {
|
protected void setHeaderText(int resId, String... args) {
|
||||||
getSetupWizardLayout().setHeaderText(TextUtils.expandTemplate(getText(resId), args));
|
final CharSequence headerText = TextUtils.expandTemplate(getText(resId), args);
|
||||||
|
getSetupWizardLayout().setHeaderText(headerText);
|
||||||
|
setTitle(headerText);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setBodyText(int resId, String... args) {
|
protected void setBodyText(int resId, String... args) {
|
||||||
|
@@ -27,6 +27,7 @@ import android.content.Intent;
|
|||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.storage.DiskInfo;
|
import android.os.storage.DiskInfo;
|
||||||
|
import android.os.storage.StorageManager;
|
||||||
import android.os.storage.VolumeInfo;
|
import android.os.storage.VolumeInfo;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@@ -40,6 +41,8 @@ public class StorageWizardFormatProgress extends StorageWizardBase {
|
|||||||
|
|
||||||
private boolean mFormatPrivate;
|
private boolean mFormatPrivate;
|
||||||
|
|
||||||
|
private PartitionTask mTask;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@@ -56,32 +59,48 @@ public class StorageWizardFormatProgress extends StorageWizardBase {
|
|||||||
setHeaderText(R.string.storage_wizard_format_progress_title, mDisk.getDescription());
|
setHeaderText(R.string.storage_wizard_format_progress_title, mDisk.getDescription());
|
||||||
setBodyText(R.string.storage_wizard_format_progress_body, mDisk.getDescription());
|
setBodyText(R.string.storage_wizard_format_progress_body, mDisk.getDescription());
|
||||||
|
|
||||||
setCurrentProgress(20);
|
|
||||||
|
|
||||||
getNextButton().setVisibility(View.GONE);
|
getNextButton().setVisibility(View.GONE);
|
||||||
|
|
||||||
new PartitionTask().execute();
|
mTask = (PartitionTask) getLastNonConfigurationInstance();
|
||||||
|
if (mTask == null) {
|
||||||
|
mTask = new PartitionTask();
|
||||||
|
mTask.setActivity(this);
|
||||||
|
mTask.execute();
|
||||||
|
} else {
|
||||||
|
mTask.setActivity(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class PartitionTask extends AsyncTask<Void, Integer, Exception> {
|
@Override
|
||||||
|
public Object onRetainNonConfigurationInstance() {
|
||||||
|
return mTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class PartitionTask extends AsyncTask<Void, Integer, Exception> {
|
||||||
|
public StorageWizardFormatProgress mActivity;
|
||||||
|
|
||||||
|
private volatile int mProgress = 20;
|
||||||
|
|
||||||
private volatile long mInternalBench;
|
private volatile long mInternalBench;
|
||||||
private volatile long mPrivateBench;
|
private volatile long mPrivateBench;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Exception doInBackground(Void... params) {
|
protected Exception doInBackground(Void... params) {
|
||||||
|
final StorageWizardFormatProgress activity = mActivity;
|
||||||
|
final StorageManager storage = mActivity.mStorage;
|
||||||
try {
|
try {
|
||||||
if (mFormatPrivate) {
|
if (activity.mFormatPrivate) {
|
||||||
mStorage.partitionPrivate(mDisk.getId());
|
storage.partitionPrivate(activity.mDisk.getId());
|
||||||
publishProgress(40);
|
publishProgress(40);
|
||||||
|
|
||||||
mInternalBench = mStorage.benchmark(null);
|
mInternalBench = storage.benchmark(null);
|
||||||
publishProgress(60);
|
publishProgress(60);
|
||||||
|
|
||||||
final VolumeInfo privateVol = findFirstVolume(VolumeInfo.TYPE_PRIVATE);
|
final VolumeInfo privateVol = activity.findFirstVolume(VolumeInfo.TYPE_PRIVATE);
|
||||||
mPrivateBench = mStorage.benchmark(privateVol.id);
|
mPrivateBench = storage.benchmark(privateVol.id);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
mStorage.partitionPublic(mDisk.getId());
|
storage.partitionPublic(activity.mDisk.getId());
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -91,16 +110,22 @@ public class StorageWizardFormatProgress extends StorageWizardBase {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onProgressUpdate(Integer... progress) {
|
protected void onProgressUpdate(Integer... progress) {
|
||||||
setCurrentProgress(progress[0]);
|
mProgress = progress[0];
|
||||||
|
mActivity.setCurrentProgress(mProgress);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setActivity(StorageWizardFormatProgress activity) {
|
||||||
|
mActivity = activity;
|
||||||
|
mActivity.setCurrentProgress(mProgress);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPostExecute(Exception e) {
|
protected void onPostExecute(Exception e) {
|
||||||
final Context context = StorageWizardFormatProgress.this;
|
final StorageWizardFormatProgress activity = mActivity;
|
||||||
if (e != null) {
|
if (e != null) {
|
||||||
Log.e(TAG, "Failed to partition", e);
|
Log.e(TAG, "Failed to partition", e);
|
||||||
Toast.makeText(context, e.getMessage(), Toast.LENGTH_LONG).show();
|
Toast.makeText(activity, e.getMessage(), Toast.LENGTH_LONG).show();
|
||||||
finishAffinity();
|
activity.finishAffinity();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,22 +135,24 @@ public class StorageWizardFormatProgress extends StorageWizardBase {
|
|||||||
// TODO: refine this warning threshold
|
// TODO: refine this warning threshold
|
||||||
if (mPrivateBench > 2000000000) {
|
if (mPrivateBench > 2000000000) {
|
||||||
final SlowWarningFragment dialog = new SlowWarningFragment();
|
final SlowWarningFragment dialog = new SlowWarningFragment();
|
||||||
dialog.show(getFragmentManager(), TAG_SLOW_WARNING);
|
dialog.show(activity.getFragmentManager(), TAG_SLOW_WARNING);
|
||||||
} else {
|
} else {
|
||||||
onFormatFinished();
|
activity.onFormatFinished();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SlowWarningFragment extends DialogFragment {
|
public static class SlowWarningFragment extends DialogFragment {
|
||||||
@Override
|
@Override
|
||||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||||
final Context context = getActivity();
|
final Context context = getActivity();
|
||||||
|
|
||||||
final AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
final AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
||||||
|
|
||||||
final String descrip = mDisk.getDescription();
|
final StorageWizardFormatProgress target =
|
||||||
final String genericDescip = getGenericDescription(mDisk);
|
(StorageWizardFormatProgress) getActivity();
|
||||||
|
final String descrip = target.getDiskDescription();
|
||||||
|
final String genericDescip = target.getGenericDiskDescription();
|
||||||
builder.setMessage(TextUtils.expandTemplate(getText(R.string.storage_wizard_slow_body),
|
builder.setMessage(TextUtils.expandTemplate(getText(R.string.storage_wizard_slow_body),
|
||||||
descrip, genericDescip));
|
descrip, genericDescip));
|
||||||
|
|
||||||
@@ -142,11 +169,15 @@ public class StorageWizardFormatProgress extends StorageWizardBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getGenericDescription(DiskInfo disk) {
|
private String getDiskDescription() {
|
||||||
|
return mDisk.getDescription();
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getGenericDiskDescription() {
|
||||||
// TODO: move this directly to DiskInfo
|
// TODO: move this directly to DiskInfo
|
||||||
if (disk.isSd()) {
|
if (mDisk.isSd()) {
|
||||||
return getString(com.android.internal.R.string.storage_sd_card);
|
return getString(com.android.internal.R.string.storage_sd_card);
|
||||||
} else if (disk.isUsb()) {
|
} else if (mDisk.isUsb()) {
|
||||||
return getString(com.android.internal.R.string.storage_usb_drive);
|
return getString(com.android.internal.R.string.storage_usb_drive);
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
|
@@ -16,10 +16,13 @@
|
|||||||
|
|
||||||
package com.android.settings.deviceinfo;
|
package com.android.settings.deviceinfo;
|
||||||
|
|
||||||
|
import static com.android.settings.deviceinfo.StorageSettings.TAG;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.storage.VolumeInfo;
|
import android.os.storage.VolumeInfo;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
|
||||||
@@ -36,12 +39,13 @@ public class StorageWizardMigrateConfirm extends StorageWizardBase {
|
|||||||
mVolume = findFirstVolume(VolumeInfo.TYPE_PRIVATE);
|
mVolume = findFirstVolume(VolumeInfo.TYPE_PRIVATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mVolume == null) {
|
final VolumeInfo sourceVol = getPackageManager().getPrimaryStorageCurrentVolume();
|
||||||
|
if (sourceVol == null || mVolume == null) {
|
||||||
|
Log.d(TAG, "Missing either source or target volume");
|
||||||
finish();
|
finish();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final VolumeInfo sourceVol = getPackageManager().getPrimaryStorageCurrentVolume();
|
|
||||||
final String sourceDescrip = mStorage.getBestVolumeDescription(sourceVol);
|
final String sourceDescrip = mStorage.getBestVolumeDescription(sourceVol);
|
||||||
final String targetDescrip = mStorage.getBestVolumeDescription(mVolume);
|
final String targetDescrip = mStorage.getBestVolumeDescription(mVolume);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user