Fix the displayed status after download
Bug: 9166225 Change-Id: I7490593d88a5854b9e675b9ead89d2ea9b49315cmain
parent
f61999caba
commit
26f489493e
|
@ -304,7 +304,7 @@ public final class DictionarySettingsFragment extends PreferenceFragment
|
||||||
// the description.
|
// the description.
|
||||||
final String key = matchLevelString + "." + description + "." + wordlistId;
|
final String key = matchLevelString + "." + description + "." + wordlistId;
|
||||||
final WordListPreference existingPref = prefMap.get(key);
|
final WordListPreference existingPref = prefMap.get(key);
|
||||||
if (null == existingPref || hasPriority(status, existingPref.mStatus)) {
|
if (null == existingPref || existingPref.hasPriorityOver(status)) {
|
||||||
final WordListPreference oldPreference = mCurrentPreferenceMap.get(key);
|
final WordListPreference oldPreference = mCurrentPreferenceMap.get(key);
|
||||||
final WordListPreference pref;
|
final WordListPreference pref;
|
||||||
if (null != oldPreference
|
if (null != oldPreference
|
||||||
|
@ -315,7 +315,7 @@ public final class DictionarySettingsFragment extends PreferenceFragment
|
||||||
// need to be the same, others have been tested through the key of the
|
// need to be the same, others have been tested through the key of the
|
||||||
// map. Also, status may differ so we don't want to use #equals() here.
|
// map. Also, status may differ so we don't want to use #equals() here.
|
||||||
pref = oldPreference;
|
pref = oldPreference;
|
||||||
pref.mStatus = status;
|
pref.setStatus(status);
|
||||||
} else {
|
} else {
|
||||||
// Otherwise, discard it and create a new one instead.
|
// Otherwise, discard it and create a new one instead.
|
||||||
pref = new WordListPreference(activity, mDictionaryListInterfaceState,
|
pref = new WordListPreference(activity, mDictionaryListInterfaceState,
|
||||||
|
@ -331,18 +331,6 @@ public final class DictionarySettingsFragment extends PreferenceFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Finds out if a given status has priority over another for display order.
|
|
||||||
*
|
|
||||||
* @param newStatus
|
|
||||||
* @param oldStatus
|
|
||||||
* @return whether newStatus has priority over oldStatus.
|
|
||||||
*/
|
|
||||||
private static boolean hasPriority(final int newStatus, final int oldStatus) {
|
|
||||||
// Both of these should be one of MetadataDbHelper.STATUS_*
|
|
||||||
return newStatus > oldStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
|
|
|
@ -61,7 +61,7 @@ public final class WordListPreference extends Preference {
|
||||||
public final Locale mLocale;
|
public final Locale mLocale;
|
||||||
public final String mDescription;
|
public final String mDescription;
|
||||||
// The status
|
// The status
|
||||||
public int mStatus;
|
private int mStatus;
|
||||||
// The size of the dictionary file
|
// The size of the dictionary file
|
||||||
private final int mFilesize;
|
private final int mFilesize;
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ public final class WordListPreference extends Preference {
|
||||||
setKey(wordlistId);
|
setKey(wordlistId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setStatus(final int status) {
|
public void setStatus(final int status) {
|
||||||
if (status == mStatus) return;
|
if (status == mStatus) return;
|
||||||
mStatus = status;
|
mStatus = status;
|
||||||
setSummary(getSummary(status));
|
setSummary(getSummary(status));
|
||||||
|
@ -106,6 +106,11 @@ public final class WordListPreference extends Preference {
|
||||||
return mInterfaceState.addToCacheAndReturnView(newView);
|
return mInterfaceState.addToCacheAndReturnView(newView);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasPriorityOver(final int otherPrefStatus) {
|
||||||
|
// Both of these should be one of MetadataDbHelper.STATUS_*
|
||||||
|
return mStatus > otherPrefStatus;
|
||||||
|
}
|
||||||
|
|
||||||
private String getSummary(final int status) {
|
private String getSummary(final int status) {
|
||||||
switch (status) {
|
switch (status) {
|
||||||
// If we are deleting the word list, for the user it's like it's already deleted.
|
// If we are deleting the word list, for the user it's like it's already deleted.
|
||||||
|
|
Loading…
Reference in New Issue