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; ...@@ -17,14 +17,16 @@ import java.lang.annotation.RetentionPolicy;
public class DirectoryOption { public class DirectoryOption {
// Type to track user's selection of directory option. This enum is used in histogram and must // 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. // match DownloadLocationDirectoryType in enums.xml, so don't delete or reuse values.
@IntDef({DownloadLocationDirectoryType.DEFAULT, DownloadLocationDirectoryType.ADDITIONAL,
DownloadLocationDirectoryType.ERROR})
@Retention(RetentionPolicy.SOURCE) @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; int NUM_ENTRIES = 3;
public static final int ADDITIONAL_OPTION = 1; }
public static final int ERROR_OPTION = 2;
public static final int OPTION_COUNT = 3;
/** /**
* Name of the current download directory. * Name of the current download directory.
...@@ -77,6 +79,6 @@ public class DirectoryOption { ...@@ -77,6 +79,6 @@ public class DirectoryOption {
*/ */
public void recordDirectoryOptionType() { public void recordDirectoryOptionType() {
RecordHistogram.recordEnumeratedHistogram("MobileDownload.Location.Setting.DirectoryType", RecordHistogram.recordEnumeratedHistogram("MobileDownload.Location.Setting.DirectoryType",
type, DirectoryOption.OPTION_COUNT); type, DirectoryOption.DownloadLocationDirectoryType.NUM_ENTRIES);
} }
} }
...@@ -52,12 +52,13 @@ public class DownloadDirectoryProvider { ...@@ -52,12 +52,13 @@ public class DownloadDirectoryProvider {
// If no default directory, return an error option. // If no default directory, return an error option.
if (defaultDirectory == null) { 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; return dirs;
} }
DirectoryOption defaultOption = DirectoryOption defaultOption = toDirectoryOption(
toDirectoryOption(defaultDirectory, DirectoryOption.DEFAULT_OPTION); defaultDirectory, DirectoryOption.DownloadLocationDirectoryType.DEFAULT);
dirs.add(defaultOption); dirs.add(defaultOption);
// Retrieve additional directories, i.e. the external SD card directory. // Retrieve additional directories, i.e. the external SD card directory.
...@@ -78,7 +79,8 @@ public class DownloadDirectoryProvider { ...@@ -78,7 +79,8 @@ public class DownloadDirectoryProvider {
// Skip primary storage directory. // Skip primary storage directory.
if (files[i].getAbsolutePath().contains(mExternalStorageDirectory)) continue; 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; return dirs;
} }
......
...@@ -33,9 +33,10 @@ public class StorageSummary { ...@@ -33,9 +33,10 @@ public class StorageSummary {
protected DirectoryOption doInBackground(Void... params) { protected DirectoryOption doInBackground(Void... params) {
File defaultDownloadDir = File defaultDownloadDir =
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
DirectoryOption directoryOption = new DirectoryOption("", DirectoryOption directoryOption =
defaultDownloadDir.getAbsolutePath(), defaultDownloadDir.getUsableSpace(), new DirectoryOption("", defaultDownloadDir.getAbsolutePath(),
defaultDownloadDir.getTotalSpace(), DirectoryOption.DEFAULT_OPTION); defaultDownloadDir.getUsableSpace(), defaultDownloadDir.getTotalSpace(),
DirectoryOption.DownloadLocationDirectoryType.DEFAULT);
return directoryOption; return directoryOption;
} }
} }
......
...@@ -81,11 +81,9 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> { ...@@ -81,11 +81,9 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> {
return mErrorOptions.get(position); return mErrorOptions.get(position);
} }
if (position < mCanonicalOptions.size()) { return position < mCanonicalOptions.size()
return mCanonicalOptions.get(position); ? mCanonicalOptions.get(position)
} else { : mAdditionalOptions.get(position - mCanonicalOptions.size());
return mAdditionalOptions.get(position - mCanonicalOptions.size());
}
} }
@Override @Override
...@@ -96,10 +94,9 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> { ...@@ -96,10 +94,9 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> {
@NonNull @NonNull
@Override @Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View view = convertView; View view = convertView != null
if (view == null) { ? convertView
view = mLayoutInflater.inflate(R.layout.download_location_spinner_item, null); : mLayoutInflater.inflate(R.layout.download_location_spinner_item, null);
}
view.setTag(position); view.setTag(position);
...@@ -121,10 +118,9 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> { ...@@ -121,10 +118,9 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> {
@Override @Override
public View getDropDownView( public View getDropDownView(
int position, @Nullable View convertView, @NonNull ViewGroup parent) { int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View view = convertView; View view = convertView != null
if (view == null) { ? convertView
view = mLayoutInflater.inflate(R.layout.download_location_spinner_dropdown_item, null); : mLayoutInflater.inflate(R.layout.download_location_spinner_dropdown_item, null);
}
view.setTag(position); view.setTag(position);
...@@ -232,11 +228,11 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> { ...@@ -232,11 +228,11 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> {
for (DirectoryOption dir : dirs) { for (DirectoryOption dir : dirs) {
DirectoryOption directory = (DirectoryOption) dir.clone(); DirectoryOption directory = (DirectoryOption) dir.clone();
switch (directory.type) { switch (directory.type) {
case DirectoryOption.DEFAULT_OPTION: case DirectoryOption.DownloadLocationDirectoryType.DEFAULT:
directory.name = mContext.getString(R.string.menu_downloads); directory.name = mContext.getString(R.string.menu_downloads);
mCanonicalOptions.add(directory); mCanonicalOptions.add(directory);
break; break;
case DirectoryOption.ADDITIONAL_OPTION: case DirectoryOption.DownloadLocationDirectoryType.ADDITIONAL:
String directoryName = (numOtherAdditionalDirectories > 0) String directoryName = (numOtherAdditionalDirectories > 0)
? mContext.getString(org.chromium.chrome.R.string ? mContext.getString(org.chromium.chrome.R.string
.downloads_location_sd_card_number, .downloads_location_sd_card_number,
...@@ -247,7 +243,7 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> { ...@@ -247,7 +243,7 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> {
mAdditionalOptions.add(directory); mAdditionalOptions.add(directory);
numOtherAdditionalDirectories++; numOtherAdditionalDirectories++;
break; break;
case DirectoryOption.ERROR_OPTION: case DirectoryOption.DownloadLocationDirectoryType.ERROR:
directory.name = directory.name =
mContext.getString(R.string.download_location_no_available_locations); mContext.getString(R.string.download_location_no_available_locations);
mErrorOptions.add(directory); mErrorOptions.add(directory);
...@@ -273,7 +269,7 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> { ...@@ -273,7 +269,7 @@ public class DownloadDirectoryAdapter extends ArrayAdapter<Object> {
} else { } else {
mErrorOptions.add(new DirectoryOption( mErrorOptions.add(new DirectoryOption(
mContext.getString(R.string.download_location_no_available_locations), null, 0, 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