From f5b02eb7c43a96d3f70a3ecc81738b0dff86df13 Mon Sep 17 00:00:00 2001 From: Deepanshu Gupta Date: Tue, 18 Nov 2014 21:53:47 +0000 Subject: [PATCH] resolved conflicts for a0bc2e7e to lmp-mr1-dev The original change wasn't properly merged into lmp-mr1-dev because of merge conflicts. This change manually resolves the conflicts. The main reason for the conflict was that TimePickerSpinnerDelegate was swapped with TimePickerClockDelegate. This change also fixes the typo in the original change which was fixed in a subsequent change. Original commit: 12b6d29b7b5592dcfb6e6fd6f0c21a40f37d014a fix for typo: cb09bc45c58740af953874f9915306d351fc3d9d Change-Id: I50bf8c2d86318f632465a38adfad16d1382a9319 --- .../widget/TimePickerClockDelegate.java | 2 + .../TimePickerClockDelegate_Delegate.java | 44 +++++++++++++++++++ .../tools/layoutlib/create/CreateInfo.java | 1 + 3 files changed, 47 insertions(+) create mode 100644 tools/layoutlib/bridge/src/android/widget/TimePickerClockDelegate_Delegate.java diff --git a/core/java/android/widget/TimePickerClockDelegate.java b/core/java/android/widget/TimePickerClockDelegate.java index 8d475a7bde06a..a0ae8af8f243b 100644 --- a/core/java/android/widget/TimePickerClockDelegate.java +++ b/core/java/android/widget/TimePickerClockDelegate.java @@ -63,6 +63,8 @@ class TimePickerClockDelegate extends TimePicker.AbstractTimePickerDelegate impl // Also NOT a real index, just used for keyboard mode. private static final int ENABLE_PICKER_INDEX = 3; + // LayoutLib relies on these constants. Change TimePickerClockDelegate_Delegate if + // modifying these. static final int AM = 0; static final int PM = 1; diff --git a/tools/layoutlib/bridge/src/android/widget/TimePickerClockDelegate_Delegate.java b/tools/layoutlib/bridge/src/android/widget/TimePickerClockDelegate_Delegate.java new file mode 100644 index 0000000000000..1bd98301dc424 --- /dev/null +++ b/tools/layoutlib/bridge/src/android/widget/TimePickerClockDelegate_Delegate.java @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.widget; + +import com.android.tools.layoutlib.annotations.LayoutlibDelegate; + +import android.view.KeyEvent; + +/** + * Delegate used to provide new implementation of few methods in {@link TimePickerClockDelegate}. + */ +public class TimePickerClockDelegate_Delegate { + + // Copied from TimePickerClockDelegate. + private static final int AM = 0; + private static final int PM = 1; + + @LayoutlibDelegate + static int getAmOrPmKeyCode(TimePickerClockDelegate tpcd, int amOrPm) { + // We don't care about locales here. + if (amOrPm == AM) { + return KeyEvent.KEYCODE_A; + } else if (amOrPm == PM) { + return KeyEvent.KEYCODE_P; + } else { + assert false : "amOrPm value in TimePickerSpinnerDelegate can only be 0 or 1"; + return -1; + } + } +} diff --git a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java index 5a979e8b515f6..a97d3ff28d74a 100644 --- a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java +++ b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java @@ -169,6 +169,7 @@ public final class CreateInfo implements ICreateInfo { "android.view.RenderNode#nSetElevation", "android.view.RenderNode#nGetElevation", "android.view.ViewGroup#drawChild", + "android.widget.TimePickerClockDelegate#getAmOrPmKeyCode", "com.android.internal.view.menu.MenuBuilder#createNewMenuItem", "com.android.internal.util.XmlUtils#convertValueToInt", "com.android.internal.textservice.ITextServicesManager$Stub#asInterface",