1415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes/* 2415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * Copyright (C) 2014 The Android Open Source Project 3415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * 4415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * Licensed under the Apache License, Version 2.0 (the "License"); 5415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * you may not use this file except in compliance with the License. 6415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * You may obtain a copy of the License at 7415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * 8415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * http://www.apache.org/licenses/LICENSE-2.0 9415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * 10415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * Unless required by applicable law or agreed to in writing, software 11415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * distributed under the License is distributed on an "AS IS" BASIS, 12415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * See the License for the specific language governing permissions and 14415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * limitations under the License. 15415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes */ 16415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 17ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikaspackage androidx.appcompat.text; 18415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 19ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; 208e10080c914d1ad0784394fa3026b85535535847Aurimas Liutikas 21415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banesimport android.content.Context; 22415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banesimport android.graphics.Rect; 23415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banesimport android.text.method.TransformationMethod; 24415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banesimport android.view.View; 25415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 263de8a4e8305507475d7890205184946a25cf45e7Aurimas Liutikasimport androidx.annotation.RestrictTo; 273de8a4e8305507475d7890205184946a25cf45e7Aurimas Liutikas 28415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banesimport java.util.Locale; 29415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 30415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes/** 31415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes * @hide 32415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes */ 338e10080c914d1ad0784394fa3026b85535535847Aurimas Liutikas@RestrictTo(LIBRARY_GROUP) 34415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banespublic class AllCapsTransformationMethod implements TransformationMethod { 35415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes private Locale mLocale; 36415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 37415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes public AllCapsTransformationMethod(Context context) { 38415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes mLocale = context.getResources().getConfiguration().locale; 39415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes } 40415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 41415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes @Override 42415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes public CharSequence getTransformation(CharSequence source, View view) { 43415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes return source != null ? source.toString().toUpperCase(mLocale) : null; 44415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes } 45415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes 46415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes @Override 47415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes public void onFocusChanged(View view, CharSequence sourceText, boolean focused, 48415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes int direction, Rect previouslyFocusedRect) { 49415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes } 50415f740df4981ef2f5fb462a50c7cf095cc21128Chris Banes}