summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/datetime
diff options
context:
space:
mode:
authortiansiming <tiansiming@xiaomi.com>2017-11-13 19:52:12 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-11-13 19:52:12 +0000
commit78d7e2a096e6dfdd4a20b75ff4de3aa2b72fc0ba (patch)
treef9e76f932e30470ba19325264dd33494c808f79b /src/com/android/settings/datetime
parentbfc698394720a292a7cc6b464ea5b4d677f82f7a (diff)
parentcd2e1c1535700304fae776b70468fd3c912d12ab (diff)
downloadpackages_apps_Settings-78d7e2a096e6dfdd4a20b75ff4de3aa2b72fc0ba.tar.gz
packages_apps_Settings-78d7e2a096e6dfdd4a20b75ff4de3aa2b72fc0ba.tar.bz2
packages_apps_Settings-78d7e2a096e6dfdd4a20b75ff4de3aa2b72fc0ba.zip
Merge "Modify Comparator in ZonePicker" am: 3c03207f9f
am: cd2e1c1535 Change-Id: I97ec8751980a29d953f1a49b36cc78b66461e3e7
Diffstat (limited to 'src/com/android/settings/datetime')
-rw-r--r--src/com/android/settings/datetime/ZonePicker.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/com/android/settings/datetime/ZonePicker.java b/src/com/android/settings/datetime/ZonePicker.java
index 2d58dd8b42..87f2b75f95 100644
--- a/src/com/android/settings/datetime/ZonePicker.java
+++ b/src/com/android/settings/datetime/ZonePicker.java
@@ -22,6 +22,7 @@ import android.app.AlarmManager;
import android.app.ListFragment;
import android.content.Context;
import android.os.Bundle;
+import android.support.annotation.VisibleForTesting;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -38,6 +39,7 @@ import com.android.settings.core.instrumentation.Instrumentable;
import com.android.settings.core.instrumentation.VisibilityLoggerMixin;
import com.android.settingslib.datetime.ZoneGetter;
+import java.text.Collator;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
@@ -257,15 +259,21 @@ public class ZonePicker extends ListFragment implements Instrumentable {
mVisibilityLoggerMixin.onPause();
}
- private static class MyComparator implements Comparator<Map<?, ?>> {
+ @VisibleForTesting
+ static class MyComparator implements Comparator<Map<?, ?>> {
+ private final Collator mCollator;
private String mSortingKey;
+ private boolean mSortedByName;
public MyComparator(String sortingKey) {
+ mCollator = Collator.getInstance();
mSortingKey = sortingKey;
+ mSortedByName = ZoneGetter.KEY_DISPLAY_LABEL.equals(sortingKey);
}
public void setSortingKey(String sortingKey) {
mSortingKey = sortingKey;
+ mSortedByName = ZoneGetter.KEY_DISPLAY_LABEL.equals(sortingKey);
}
public int compare(Map<?, ?> map1, Map<?, ?> map2) {
@@ -282,7 +290,11 @@ public class ZonePicker extends ListFragment implements Instrumentable {
return -1;
}
- return ((Comparable) value1).compareTo(value2);
+ if (mSortedByName) {
+ return mCollator.compare(value1, value2);
+ } else {
+ return ((Comparable) value1).compareTo(value2);
+ }
}
private boolean isComparable(Object value) {