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