18ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis/* 28ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis * Copyright (C) 2018 The Android Open Source Project 38ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis * 48ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis * Licensed under the Apache License, Version 2.0 (the "License"); 58ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis * you may not use this file except in compliance with the License. 68ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis * You may obtain a copy of the License at 78ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis * 88ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis * http://www.apache.org/licenses/LICENSE-2.0 98ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis * 108ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis * Unless required by applicable law or agreed to in writing, software 118ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis * distributed under the License is distributed on an "AS IS" BASIS, 128ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis * See the License for the specific language governing permissions and 148ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis * limitations under the License. 158ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis */ 168ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis 178ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennispackage com.android.settings.datetime.timezone; 188ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis 198ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennisimport android.content.Context; 208ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis 218ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennisimport com.android.settings.R; 228ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis 238ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennispublic class FixedOffsetPreferenceController extends BaseTimeZonePreferenceController { 248ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis 258ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis private static final String PREFERENCE_KEY = "fixed_offset"; 268ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis 278ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis private TimeZoneInfo mTimeZoneInfo; 288ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis 298ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis public FixedOffsetPreferenceController(Context context) { 308ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis super(context, PREFERENCE_KEY); 318ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis } 328ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis 338ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis @Override 348ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis public CharSequence getSummary() { 358ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis if (mTimeZoneInfo == null) { 368ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis return ""; 378ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis } 388ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis 398ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis String standardName = mTimeZoneInfo.getStandardName(); 408ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis if (standardName == null) { 411b20cde313b5ef8acdace742328df867956d24cbJamie Gennis return mTimeZoneInfo.getGmtOffset(); 42eafabcdc1639fb96062d9e3c39b0ae27b0238ae1Mathias Agopian } else { 438072711307aa98ee5ee6f7369860ae38c3e19656Mathias Agopian // GmtOffset is Spannable, which contains TTS span. It shouldn't be converted to String. 448ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis return SpannableUtil.getResourcesText(mContext.getResources(), 458ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis R.string.zone_info_offset_and_name, mTimeZoneInfo.getGmtOffset(), standardName); 468ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis } 478ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis } 488ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis 498ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis public void setTimeZoneInfo(TimeZoneInfo timeZoneInfo) { 508ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis mTimeZoneInfo = timeZoneInfo; 518ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis } 528ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis 538ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis public TimeZoneInfo getTimeZoneInfo() { 548ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis return mTimeZoneInfo; 55c04f153353cdb0d291297d10452239f791d3fd2bMathias Agopian } 568ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis} 578ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis 588ba32fade11abb73f3fd47ea0953c9528eb5b91fJamie Gennis