Present the security patch date in a human-friendly format

For example, for an ISO date of 2015-08-01, this now displays
"August 1, 2015" in enUS, and "1 August 2015" in enUK, and
"2015年8月1日" in jpJP.

Bug 23358065

Change-Id: Iaa920ec88d765a222f0b589123665b689bf41978
This commit is contained in:
Christopher Tate
2015-08-20 16:38:37 -07:00
parent 19551115db
commit ffe701dc0e

View File

@@ -37,8 +37,10 @@ import android.provider.SearchIndexableResource;
import android.provider.Settings; import android.provider.Settings;
import android.telephony.CarrierConfigManager; import android.telephony.CarrierConfigManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.format.DateFormat;
import android.util.Log; import android.util.Log;
import android.widget.Toast; import android.widget.Toast;
import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.MetricsLogger;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Index; import com.android.settings.search.Index;
@@ -47,9 +49,13 @@ import com.android.settings.search.Indexable;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@@ -102,6 +108,14 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
findPreference(KEY_FIRMWARE_VERSION).setEnabled(true); findPreference(KEY_FIRMWARE_VERSION).setEnabled(true);
String patch = Build.VERSION.SECURITY_PATCH; String patch = Build.VERSION.SECURITY_PATCH;
if (!"".equals(patch)) { if (!"".equals(patch)) {
try {
SimpleDateFormat template = new SimpleDateFormat("yyyy-MM-dd");
Date patchDate = template.parse(patch);
String format = DateFormat.getBestDateTimePattern(Locale.getDefault(), "dMMMMyyyy");
patch = DateFormat.format(format, patchDate).toString();
} catch (ParseException e) {
// broken parse; fall through and use the raw string
}
setStringSummary(KEY_SECURITY_PATCH, patch); setStringSummary(KEY_SECURITY_PATCH, patch);
} else { } else {
getPreferenceScreen().removePreference(findPreference(KEY_SECURITY_PATCH)); getPreferenceScreen().removePreference(findPreference(KEY_SECURITY_PATCH));