EditTextAttributeHelper.java revision 121179956e5084ce4f69730e81e8ded76136c936
1d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir/* 2d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * Copyright (C) 2017 The Android Open Source Project 3d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * 4d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * Licensed under the Apache License, Version 2.0 (the "License"); 5d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * you may not use this file except in compliance with the License. 6d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * You may obtain a copy of the License at 7d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * 8d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * http://www.apache.org/licenses/LICENSE-2.0 9d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * 10d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * Unless required by applicable law or agreed to in writing, software 11d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * distributed under the License is distributed on an "AS IS" BASIS, 12d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * See the License for the specific language governing permissions and 14d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * limitations under the License. 15d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir */ 16d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir 17d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirpackage android.support.text.emoji.widget; 18d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir 19d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport static android.support.annotation.RestrictTo.Scope.LIBRARY_GROUP; 20d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir 21d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.content.Context; 22d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.content.res.TypedArray; 23d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.support.annotation.NonNull; 24d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.support.annotation.RestrictTo; 25d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.support.text.emoji.R; 26d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.util.AttributeSet; 27d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.view.View; 28d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir 29d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir/** 30d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * Helper class to parse EmojiCompat EditText attributes. 31d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * 32d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * @hide 33d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir */ 34d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir@RestrictTo(LIBRARY_GROUP) 35d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirpublic class EditTextAttributeHelper { 36121179956e5084ce4f69730e81e8ded76136c936Aurimas Liutikas static final int MAX_EMOJI_COUNT = Integer.MAX_VALUE; 37d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir private int mMaxEmojiCount; 38d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir 39d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir public EditTextAttributeHelper(@NonNull View view, AttributeSet attrs, int defStyleAttr) { 40d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir if (view != null && attrs != null) { 41d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir final Context context = view.getContext(); 42d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.EmojiEditText, 43d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir defStyleAttr, 0); 44121179956e5084ce4f69730e81e8ded76136c936Aurimas Liutikas mMaxEmojiCount = a.getInteger(R.styleable.EmojiEditText_maxEmojiCount, MAX_EMOJI_COUNT); 45d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir a.recycle(); 46d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir } 47d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir } 48d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir 49d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir public int getMaxEmojiCount() { 50d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir return mMaxEmojiCount; 51d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir } 52d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir} 53