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