Commit ca9e9b45 authored by Marcin Wiacek's avatar Marcin Wiacek Committed by Commit Bot

Improve DownloadDirectoryLocationTYpe @IntDef and reformat code

Change-Id: Iae40af3d5ab3ecb3a9f41443359a069424ddacb6
Reviewed-on: https://chromium-review.googlesource.com/1126253
Commit-Queue: Marcin Wiącek <marcin@mwiacek.com>
Commit-Queue: Yaron Friedman <yfriedman@chromium.org>
Reviewed-by: default avatarYaron Friedman <yfriedman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572588}
parent c178d837
......@@ -17,14 +17,16 @@ import java.lang.annotation.RetentionPolicy;
public class DirectoryOption {
// Type to track user's selection of directory option. This enum is used in histogram and must
// match DownloadLocationDirectoryType in enums.xml, so don't delete or reuse values.
@IntDef({DownloadLocationDirectoryType.DEFAULT, DownloadLocationDirectoryType.ADDITIONAL,
DownloadLocationDirectoryType.ERROR})
@Retention(RetentionPolicy.SOURCE)
@IntDef({DEFAULT_OPTION, ADDITIONAL_OPTION, ERROR_OPTION, OPTION_COUNT})
public @interface DownloadLocationDirectoryType {}
public @interface DownloadLocationDirectoryType {
int DEFAULT = 0;
int ADDITIONAL = 1;
int ERROR = 2;
public static final int DEFAULT_OPTION = 0;
public static final int ADDITIONAL_OPTION = 1;
public static final int ERROR_OPTION = 2;
public static final int OPTION_COUNT = 3;
int NUM_ENTRIES = 3;
}
/**
* Name of the current download directory.
......@@ -77,6 +79,6 @@ public class DirectoryOption {
*/
public void recordDirectoryOptionType() {
RecordHistogram.recordEnumeratedHistogram("MobileDownload.Location.Setting.DirectoryType",
type, DirectoryOption.OPTION_COUNT);
type, DirectoryOption.DownloadLocationDirectoryType.NUM_ENTRIES);
}
}
......@@ -52,12 +52,13 @@ public class DownloadDirectoryProvider {
// If no default directory, return an error option.
if (defaultDirectory == null) {
dirs.add(new DirectoryOption(null, 0, 0, DirectoryOption.ERROR_OPTION));
dirs.add(new DirectoryOption(
null, 0, 0, DirectoryOption.DownloadLocationDirectoryType.ERROR));
return dirs;
}
DirectoryOption defaultOption =
toDirectoryOption(defaultDirectory, DirectoryOption.DEFAULT_OPTION);
DirectoryOption defaultOption = toDirectoryOption(
defaultDirectory, DirectoryOption.DownloadLocationDirectoryType.DEFAULT);
dirs.add(defaultOption);
// Retrieve additional directories, i.e. the external SD card directory.
......@@ -78,7 +79,8 @@ public class DownloadDirectoryProvider {
// Skip primary storage directory.
if (files[i].getAbsolutePath().contains(mExternalStorageDirectory)) continue;
dirs.add(toDirectoryOption(files[i], DirectoryOption.ADDITIONAL_OPTION));
dirs.add(toDirectoryOption(
files[i], DirectoryOption.DownloadLocationDirectoryType.ADDITIONAL));
}
return dirs;
}
......
......@@ -33,9 +33,10 @@ public class StorageSummary {
protected DirectoryOption doInBackground(Void... params) {
File defaultDownloadDir =
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
DirectoryOption directoryOption = new DirectoryOption("",
defaultDownloadDir.getAbsolutePath(), defaultDownloadDir.getUsableSpace(),
defaultDownloadDir.getTotalSpace(), DirectoryOption.DEFAULT_OPTION);
DirectoryOption directoryOption =
new DirectoryOption("", defaultDownloadDir.getAbsolutePath(),
defaultDownloadDir.getUsableSpace(), defaultDownloadDir.getTotalSpace(),
DirectoryOption.DownloadLocationDirectoryType.DEFAULT);
return directoryOption;
}
}
......
......@@ -81,11 +81,9 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> {
return mErrorOptions.get(position);
}
if (position < mCanonicalOptions.size()) {
return mCanonicalOptions.get(position);
} else {
return mAdditionalOptions.get(position - mCanonicalOptions.size());
}
return position < mCanonicalOptions.size()
? mCanonicalOptions.get(position)
: mAdditionalOptions.get(position - mCanonicalOptions.size());
}
@Override
......@@ -96,10 +94,9 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> {
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View view = convertView;
if (view == null) {
view = mLayoutInflater.inflate(R.layout.download_location_spinner_item, null);
}
View view = convertView != null
? convertView
: mLayoutInflater.inflate(R.layout.download_location_spinner_item, null);
view.setTag(position);
......@@ -121,10 +118,9 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> {
@Override
public View getDropDownView(
int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View view = convertView;
if (view == null) {
view = mLayoutInflater.inflate(R.layout.download_location_spinner_dropdown_item, null);
}
View view = convertView != null
? convertView
: mLayoutInflater.inflate(R.layout.download_location_spinner_dropdown_item, null);
view.setTag(position);
......@@ -232,11 +228,11 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> {
for (DirectoryOption dir : dirs) {
DirectoryOption directory = (DirectoryOption) dir.clone();
switch (directory.type) {
case DirectoryOption.DEFAULT_OPTION:
case DirectoryOption.DownloadLocationDirectoryType.DEFAULT:
directory.name = mContext.getString(R.string.menu_downloads);
mCanonicalOptions.add(directory);
break;
case DirectoryOption.ADDITIONAL_OPTION:
case DirectoryOption.DownloadLocationDirectoryType.ADDITIONAL:
String directoryName = (numOtherAdditionalDirectories > 0)
? mContext.getString(org.chromium.chrome.R.string
.downloads_location_sd_card_number,
......@@ -247,7 +243,7 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> {
mAdditionalOptions.add(directory);
numOtherAdditionalDirectories++;
break;
case DirectoryOption.ERROR_OPTION:
case DirectoryOption.DownloadLocationDirectoryType.ERROR:
directory.name =
mContext.getString(R.string.download_location_no_available_locations);
mErrorOptions.add(directory);
......@@ -273,7 +269,7 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> {
} else {
mErrorOptions.add(new DirectoryOption(
mContext.getString(R.string.download_location_no_available_locations), null, 0,
0, DirectoryOption.ERROR_OPTION));
0, DirectoryOption.DownloadLocationDirectoryType.ERROR));
}
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment