11447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang/* 21447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang * Copyright (C) 2017 The Android Open Source Project 31447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang * 41447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang * Licensed under the Apache License, Version 2.0 (the "License"); 51447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang * you may not use this file except in compliance with the License. 61447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang * You may obtain a copy of the License at 71447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang * 81447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang * http://www.apache.org/licenses/LICENSE-2.0 91447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang * 101447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang * Unless required by applicable law or agreed to in writing, software 111447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang * distributed under the License is distributed on an "AS IS" BASIS, 121447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang * See the License for the specific language governing permissions and 141447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang * limitations under the License. 151447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang */ 161447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang 171447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhangpackage com.android.settings.testutils.shadow; 181447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang 191447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhangimport android.content.Context; 201447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang 211447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhangimport com.android.settingslib.datetime.ZoneGetter; 221447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang 231447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhangimport org.robolectric.annotation.Implementation; 241447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhangimport org.robolectric.annotation.Implements; 251447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang 261447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhangimport java.util.ArrayList; 271447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhangimport java.util.HashMap; 281447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhangimport java.util.List; 291447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhangimport java.util.Map; 301447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhangimport java.util.TimeZone; 311447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang 321447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang@Implements(ZoneGetter.class) 331447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhangpublic class ShadowZoneGetter { 341447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang 351447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang @Implementation 361447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang public static List<Map<String, Object>> getZonesList(Context context) { 371447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang List<Map<String, Object>> zones = new ArrayList<>(); 381447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang zones.add(createDisplayEntry(TimeZone.getDefault(), "gmt-1:00", "FakePlace", 10000)); 391447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang return zones; 401447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang } 411447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang 421447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang private static Map<String, Object> createDisplayEntry( 431447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang TimeZone tz, CharSequence gmtOffsetText, CharSequence displayName, int offsetMillis) { 441447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang Map<String, Object> map = new HashMap<>(); 451447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang map.put(ZoneGetter.KEY_ID, tz.getID()); 461447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang map.put(ZoneGetter.KEY_DISPLAYNAME, displayName.toString()); 471447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang map.put(ZoneGetter.KEY_DISPLAY_LABEL, displayName); 481447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang map.put(ZoneGetter.KEY_GMT, gmtOffsetText.toString()); 491447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang map.put(ZoneGetter.KEY_OFFSET_LABEL, gmtOffsetText); 501447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang map.put(ZoneGetter.KEY_OFFSET, offsetMillis); 511447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang return map; 521447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang } 531447da277b7c26713571b0e818794e70ec4dc6d2Fan Zhang} 54