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 17ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikaspackage androidx.emoji.widget; 18d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir 19ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; 20d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir 21d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.content.Context; 22d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.content.res.TypedArray; 2338746a682208c764867ffe4415d0b62fb22b5b9aAurimas Liutikasimport android.util.AttributeSet; 2438746a682208c764867ffe4415d0b62fb22b5b9aAurimas Liutikasimport android.view.View; 2538746a682208c764867ffe4415d0b62fb22b5b9aAurimas Liutikas 26ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.annotation.NonNull; 27ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.annotation.RestrictTo; 28ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.emoji.R; 29d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir 30d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir/** 31d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * Helper class to parse EmojiCompat EditText attributes. 32d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * 33d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * @hide 34d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir */ 35d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir@RestrictTo(LIBRARY_GROUP) 36d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirpublic class EditTextAttributeHelper { 37121179956e5084ce4f69730e81e8ded76136c936Aurimas Liutikas static final int MAX_EMOJI_COUNT = Integer.MAX_VALUE; 38d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir private int mMaxEmojiCount; 39d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir 40410ea048366f492ff9908c1dbe91160da87792fcSiyamed Sinir public EditTextAttributeHelper(@NonNull View view, AttributeSet attrs, int defStyleAttr, 41410ea048366f492ff9908c1dbe91160da87792fcSiyamed Sinir int defStyleRes) { 42fb15b88b8ff336c2f8c2dff88e55eaba3491349aSiyamed Sinir if (attrs != null) { 43d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir final Context context = view.getContext(); 44d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.EmojiEditText, 45410ea048366f492ff9908c1dbe91160da87792fcSiyamed Sinir defStyleAttr, defStyleRes); 46121179956e5084ce4f69730e81e8ded76136c936Aurimas Liutikas mMaxEmojiCount = a.getInteger(R.styleable.EmojiEditText_maxEmojiCount, MAX_EMOJI_COUNT); 47d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir a.recycle(); 48d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir } 49d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir } 50d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir 51d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir public int getMaxEmojiCount() { 52d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir return mMaxEmojiCount; 53d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir } 54d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir} 55